Cuprins:

ROBOTUL PLANTEI: 10 pași
ROBOTUL PLANTEI: 10 pași

Video: ROBOTUL PLANTEI: 10 pași

Video: ROBOTUL PLANTEI: 10 pași
Video: Cozonac cu 10 galbenusuri framantat la robot si la mana, reteta pentru incepatori - Gina Bradea 2024, Iulie
Anonim
Image
Image
ROBOTUL PLANTEI
ROBOTUL PLANTEI

Toată lumea se bucură să aibă plante acasă, dar uneori, cu viața noastră ocupată, nu găsim timp să avem grijă de ele. Din această problemă am venit cu o idee: De ce să nu construim un robot care să aibă grijă de el pentru noi?

Acest proiect constă dintr-un robot-plantă care are grijă de sine. Planta este integrată în robot și va putea să se udă singură și să găsească lumină evitând în același timp obstacolele. Acest lucru a fost posibil prin utilizarea mai multor senzori pe robot și instalație. Acest Instructable își propune să vă ghideze prin procesul de creare a unui robot de plante, astfel încât să nu vă faceți griji despre plantele dvs. în fiecare zi!

Acest proiect face parte din Bruface Mechatronics și a fost realizat de:

Mercedes Arévalo Suárez

Daniel Blanquez

Baudouin Cornelis

Kaat Leemans

Marcos Martínez Jiménez

Basile Thisse

(Grupa 4)

Pasul 1: LISTA DE CUMPĂRĂTURI

LISTA DE CUMPARATURI
LISTA DE CUMPARATURI
LISTA DE CUMPARATURI
LISTA DE CUMPARATURI
LISTA DE CUMPARATURI
LISTA DE CUMPARATURI

Iată o listă cu fiecare produs de care veți avea nevoie pentru a construi acest robot. Pentru fiecare piesă subliniată este disponibil un link:

Suport pentru motoare tipărite 3D X1 (copiere 3D)

Roți imprimate 3D + conexiune roată-motor X2 (copiați în 3D)

Baterii AA Nimh X8

Rola de hârtie abrazivă X1

Arduino Mega X1

Roată cu rotile cu bile X1

Suport baterie X2

Panou pentru testele X1

Panou de lipit X1

Motoare de curent continuu (cu codificator) X2

Balamale X2

Higrometru X1

Rezistențe dependente de lumină X3

Jumperi bărbați-bărbați și bărbați-femei

Scutul motorului X1

Plant X1 (depinde de tine)

Ghiveci de plante X1

Suport pentru plante X1 (imprimat 3D)

Tub de plastic X1

Rezistoare de valori diferite

Zgârie hârtie X1

Șuruburi

Senzori ascuțiți X3 (GP2Y0A21YK0F 10-80 cm)

Comutatorul X1

Pompa de apă X1

Rezervor de rezervor de apă (Tupperware mic) X1

Fire

Vă rugăm să rețineți că aceste alegeri sunt rezultatul constrângerilor de timp și buget (3 luni și 200 €). Alte alegeri pot fi făcute la propria voință.

EXPLICAȚII DIFERITE ALEGERI

Arduino Mega peste Arduino Uno: În primul rând, ar trebui să explicăm și motivul pentru care am folosit Arduino. Arduino este o platformă de prototipare electronică open-source care permite utilizatorilor să creeze obiecte electronice interactive. Este foarte popular atât între experți, cât și începători, ceea ce contribuie la găsirea multor informații despre aceasta pe internet. Acest lucru poate fi util atunci când aveți o problemă cu proiectul dvs. Am ales un Arduino Mega în locul unui Uno, deoarece are mai mulți pini. De fapt, pentru numărul de senzori pe care îl folosim, Uno nu a oferit suficiente pini. Un Mega este, de asemenea, mai puternic și ar putea fi util dacă adăugăm unele îmbunătățiri, cum ar fi un modul WIFI.

Baterii Nimh: O primă idee a fost utilizarea bateriilor LiPo ca în multe proiecte robotizate. LiPo are o rată de descărcare bună și se reîncarcă ușor. Dar ne-am dat seama curând că LiPo și încărcătorul erau prea scumpe. Singurele alte baterii potrivite pentru acest proiect sunt Nimh. Într-adevăr, acestea sunt ieftine, reîncărcabile și ușoare. Pentru a alimenta motorul, vom avea nevoie de 8 dintre ele pentru a obține o tensiune de alimentare de la 9,6 V (descărcat) la 12 V (complet încărcat).

Motoare de curent continuu cu codificatoare: Având în vedere obiectivul principal al acestui actuator, furnizarea de energie de rotație roților, am ales mai degrabă două motoare de curent continuu decât servomotoare care au limitare în unghiul de rotație și sunt proiectate pentru sarcini mai specifice în care poziția trebuie definită cu precizie. Faptul de a avea codificatoare adaugă, de asemenea, posibilitatea de a avea o precizie mai mare, dacă este necesar. Rețineți că în cele din urmă nu am folosit codificatoarele pentru că ne-am dat seama că motoarele erau destul de asemănătoare și nu aveam nevoie ca robotul să urmeze cu precizie o linie dreaptă.

Există o mulțime de motoare de curent continuu pe piață și căutam unul care să se potrivească bugetului și robotului nostru. Pentru a satisface aceste constrângeri, doi parametri importanți ne-au ajutat să alegem motorul: cuplul necesar pentru a mișca robotul și viteza robotului (pentru a găsi turațiile necesare).

1) Calculați rpm

Acest robot nu va trebui să rupă bariera sonoră. Pentru a urmări lumina sau pentru a urmări pe cineva într-o casă, o viteză de 1 m / s sau 3,6 km / h pare rezonabilă. Pentru a-l traduce în rpm folosim diametrul roților: 9cm. Rpm sunt date de: rpm = (60 * viteză (m / s)) / (2 * pi * r) = (60 * 1) / (2 * pi * 0,045) = 212 rpm.

2) Calculați cuplul maxim necesar

Deoarece acest robot va evolua într-un mediu plat, cuplul maxim necesar este cel pentru a porni robotul în mișcare. Dacă considerăm că greutatea robotului cu instalația și fiecare componentă este de aproximativ 3 kilograme și folosind forțele de frecare dintre roți și sol putem găsi cu ușurință cuplul. Având în vedere un coeficient de frecare de 1 între sol și roți: Forțe de frecare (Fr) = coeficient de frecare. * N (unde N este greutatea robotului) acest lucru ne dă Fr = 1 * 3 * 10 = 30 N. Cuplul pentru fiecare motor poate fi găsit după cum urmează: T = (Fr * r) / 2 unde r este raza roților deci T = (30 * 0,045) / 2 = 0,675 Nm = 6,88 kg cm.

Acestea sunt caracteristicile motorului pe care l-am ales: la 6V 175 rpm și 4 kg cm la 12V 350 rpm și 8 kg cm. Știind că va fi alimentat între 9,6 și 12 V intrând printr-o interpolare liniară, pare clar că vor fi îndeplinite constrângerile de mai sus.

Senzori de lumină: Am ales rezistențe dependente de lumină (LDR), deoarece rezistența lor variază rapid în funcție de lumină, iar tensiunea de pe LDR poate fi ușor măsurată prin aplicarea unei tensiuni constante pe un divizor de tensiune care conține LDR.

Senzori ascuțiți: sunt folosiți pentru a evita obstacolele. Senzorii de distanță ascuțită sunt ieftini și ușor de utilizat, făcându-i o alegere populară pentru detectarea și distanța obiectelor. În mod obișnuit, acestea au rate de actualizare mai mari și intervale de detectare maxime mai mici decât telemetrii sonarului. O mulțime de modele diferite sunt disponibile pe piață cu game de operare diferite. Deoarece sunt folosite pentru a detecta obstacolele din acest proiect, am ales cel cu o rază de funcționare de 10-80 cm.

Pompa de apă: Pompa de apă este o pompă ușoară și nu prea puternică, compatibilă cu gama de tensiune a motoarelor pentru a utiliza aceeași alimentație pentru ambele. O altă soluție pentru a alimenta planta cu apă a fost să ai o bază de apă separată de robot, dar este mult mai simplu să ai una pe robot.

Higrometru: un higrometru este un senzor de umiditate care trebuie introdus în pământ. Este necesar, deoarece robotul trebuie să știe când oala este uscată pentru a-i trimite apă.

Pasul 2: PROIECTARE MECANICĂ

DESIGN MECANIC
DESIGN MECANIC
DESIGN MECANIC
DESIGN MECANIC
DESIGN MECANIC
DESIGN MECANIC
DESIGN MECANIC
DESIGN MECANIC

Practic, designul robotului va consta dintr-o cutie dreptunghiulară, cu trei roți pe partea inferioară și un capac care se deschide în partea superioară. Planta va fi amplasată deasupra cu rezervorul de apă. Ghiveciul este plasat în fixarea ghivecelui care este înșurubat pe scândura superioară a robotului. Rezervorul de apă este un mic Tupperware zgâriat pe scândura superioară a robotului și pompa de apă este, de asemenea, zgâriată în fundul rezervorului de apă, astfel încât totul poate fi ușor îndepărtat atunci când reumpleți Tupperware cu apă. O mică gaură este făcută în capacul rezervorului din cauza tubului de apă care intră în ghiveci și a alimentației pompei care intră în cutie. Se face astfel o gaură în scândura superioară a cutiei, iar cablurile higrometrului trec de asemenea prin această gaură.

În primul rând, am dorit ca robotul să aibă un design atractiv, motiv pentru care am decis să ascundem partea electronică într-o cutie, lăsând chiar în afara uzinei și a apei. Acest lucru este important, deoarece plantele fac parte din decorarea casei și nu ar trebui să afecteze spațiul vizual. Componentele din cutie vor fi ușor accesibile printr-un capac din partea superioară, iar capacele laterale vor avea găurile necesare, astfel încât să fie ușor, de exemplu, să porniți robotul sau să conectați Arduino la un laptop dacă dorim pentru a o programa din nou.

Componentele din cutie sunt: Arduino, controlerul motorului, motoarele, LDR, suporturile piloților, panoul de control și balamalele. Arduino este montat pe stâlpi mici, astfel încât partea inferioară nu este deteriorată, iar controlerul motorului este montat deasupra Arduino. Motoarele sunt înșurubate la fixările motorului, iar fixările motoarelor sunt apoi înșurubate la scândura inferioară a cutiei. LDR sunt lipite pe o bucată mică de panou. Mini scândurile din lemn sunt lipite de această placă pentru a o înșuruba pe fețele laterale ale robotului. Există un LDR în față, unul în partea stângă și unul în partea dreaptă, astfel încât robotul să poată cunoaște direcția cu cea mai mare cantitate de lumină. Suporturile piloților sunt zgâriați pe fața inferioară a cutiei pentru a le scoate ușor și a schimba piloții sau a le reîncărca. Apoi, placa de prindere este înșurubată la scândura inferioară cu stâlpi mici de formă triunghiulară, cu găuri de forma colțului plăcii de prindere, pentru a o susține. În cele din urmă balamalele sunt înșurubate pe fața din spate și pe partea superioară.

Pe fața frontală, trei obiecte ascuțite vor fi înșurubate direct pentru a detecta și a evita obstacolele cât mai bune posibil.

Deși proiectarea fizică este importantă, nu putem uita de partea tehnică, construim un robot și ar trebui să fie practic și, pe cât posibil, ar trebui să optimizăm spațiul. Acesta este motivul pentru a alege o formă dreptunghiulară, a fost cel mai bun mod găsit pentru a aranja toate componentele.

În cele din urmă, pentru mișcare, dispozitivul va avea trei roți: două motorizate standard în spate și o ruletă cu bile în față. Acestea sunt afișate într-o tricicletă, configurație, direcție față și conducere spate.

Pasul 3: PIESE DE FABRICAȚIE

PIESE DE FABRICAȚIE
PIESE DE FABRICAȚIE
PIESE DE FABRICARE
PIESE DE FABRICARE
PIESE DE FABRICARE
PIESE DE FABRICARE

Aspectul fizic al robotului poate fi schimbat în funcție de interesul dvs. Sunt furnizate desene tehnice, ceea ce poate funcționa ca o bază bună atunci când vă proiectați propriile.

Piese tăiate cu laser:

Toate cele șase părți care alcătuiesc carcasa robotului au fost tăiate cu laser. Materialul folosit pentru aceasta a fost lemnul reciclat. Această cutie ar putea fi făcută și din plexiglas, care este puțin mai scump.

Piese imprimate 3D:

Cele două roți standard care sunt plasate în partea din spate a robotului au fost imprimate 3D în PLA. Motivul este că singura modalitate de a găsi roți care să răspundă tuturor nevoilor (potrivite în motoarele de curent continuu, dimensiune, greutate …) a fost să le proiectăm noi înșine. Fixarea motorului a fost, de asemenea, tipărită 3D din motive de buget. Apoi, suportul pentru ghiveci, stâlpii care susțin Arduino și colțurile care susțin panoul au fost, de asemenea, imprimate 3D, deoarece aveam nevoie de o formă specială care să se potrivească în robotul nostru.

Pasul 4: ELECTRONICĂ

ELECTRONICĂ
ELECTRONICĂ
ELECTRONICĂ
ELECTRONICĂ
ELECTRONICĂ
ELECTRONICĂ

Senzori ascuțiți: Senzorii ascuțiți au trei pini. Două dintre ele sunt destinate alimentației (Vcc și Ground), iar ultima este semnalul măsurat (Vo). Pentru alimentație avem tensiunea pozitivă care poate fi între 4,5 și 5,5 V, așa că vom folosi 5V de la Arduino. Vo va fi conectat la unul dintre pinii analogici ai Arduino.

Senzori de lumină: Senzorii de lumină au nevoie de un mic circuit pentru a putea funcționa. LDR este pus în serie cu un rezistor de 900 kOhm pentru a crea un divizor de tensiune. Pământul este conectat la pinul rezistorului care nu este conectat la LDR și 5V al Arduino este conectat la pinul LDR care nu este conectat la rezistor. Pinul rezistorului și LDR conectate între ele sunt conectate la un pin analogic al Arduino pentru a măsura această tensiune. Această tensiune va varia între 0 și 5V, cu 5V corespunzător luminii complete și aproape de zero corespunzător întunericului. Apoi, întregul circuit va fi lipit pe o bucată mică de panou care se poate încadra în scândurile laterale ale robotului.

Baterii: Bateriile sunt formate din 4 piloți între 1,2 și 1,5 V fiecare, deci între 4,8 și 6V. Punând două suporturi în serie avem între 9,6 și 12 V.

Pompa de apă: Pompa de apă are o conexiune (mufă de alimentare) de același tip cu alimentarea Arduino. Primul pas este tăierea conexiunii și deznodarea firului pentru a avea firul pentru masă și firul pentru tensiunea pozitivă. Deoarece vrem să controlăm pompa, o vom pune în serie cu un tranzistor controlabil de curent folosit ca întrerupător. Apoi, o diodă va fi pusă în paralel cu pompa pentru a preveni curenții înapoi. Piciorul inferior al tranzistorului este conectat la solul comun al Arduino / baterii, cel din mijloc la un pin digital al Arduino cu un rezistor de 1kOhm în serie pentru a transforma tensiunea Arduino în curent și piciorul superior la cablul negru al pompa. Apoi cablul roșu al pompei este conectat la tensiunea pozitivă a bateriilor.

Motoare și scut: Scutul trebuie lipit, este expediat fără lipire. Odată ce acest lucru este făcut, este plasat pe Arduino prin tăierea tuturor antetelor scutului în pinii Arduino-ului. Scutul va fi alimentat cu bateriile și apoi va alimenta Arduino dacă un jumper este pornit (pinii portocalii din figură). Aveți grijă să nu puneți jumperul atunci când Arduino este alimentat de un alt mijloc decât scutul, deoarece Arduino ar alimenta scutul și ar putea arde conexiunea.

Breadboard: toate componentele vor fi acum lipite pe breadboard. Pământul unui suport de grămadă, Arduino, controlerul motorului și al tuturor senzorilor va fi lipit pe același rând (pe rândurile noastre de panouri au același potențial). Apoi, cablul negru al celui de-al doilea suport de grămadă va fi lipit pe același rând cu roșul primului suport de grămadă al cărui pământ este deja lipit. Un cablu va fi apoi lipit pe același rând ca și cablul roșu al celui de-al doilea suport de grămadă corespunzător celor două din serie. Acest cablu va fi conectat la un capăt al comutatorului și celălalt capăt va fi conectat cu un fir lipit pe panoul de pe un rând liber. Cablul roșu al pompei și alimentarea controlerului motorului vor fi lipite pe acest rând (comutatorul nu este reprezentat pe figură). Apoi, 5V de la Arduino vor fi lipite pe un alt rând și tensiunea de alimentare a fiecărui senzor va fi lipită pe același rând. Încercați să lipiți un jumper pe panou și un jumper pe componentă atunci când este posibil, astfel încât să le puteți deconecta cu ușurință și asamblarea componentelor electrice va fi mai ușoară.

Pasul 5: PROGRAMARE

PROGRAMARE
PROGRAMARE

Organigrama programului:

Programul a fost păstrat destul de simplu folosind noțiunea de variabile de stare. După cum puteți vedea în diagrama de flux, aceste stări induc, de asemenea, o noțiune de prioritate. Robotul va verifica condițiile din această ordine:

1) În starea 2: Are planta suficientă apă cu funcția umiditate_nivel? Dacă nivelul de umiditate măsurat de higrometru este sub 500, pompa va funcționa până când nivelul de umiditate depășește 500. Când instalația are suficientă apă, robotul trece la starea 3.

2) În starea 3: Găsiți direcția cu cea mai mare lumină. În această stare, planta are suficientă apă și trebuie să urmeze direcția cu cea mai mare lumină, evitând în același timp obstacolele. Funcția light_direction oferă direcția celor trei senzori de lumină care primesc cea mai mare lumină. Robotul va acționa apoi motoarele pentru a urma acea direcție cu funcția follow_light. Dacă nivelul de lumină este peste un anumit prag (lumină suficientă), robotul se oprește pentru a urmări lumina, deoarece are suficient în această poziție (stop_motors). Pentru a evita obstacolele sub 15 cm în timp ce urmează lumina, a fost implementat un obstacol funcțional pentru a reveni la direcția obstacolului. Pentru a evita corect obstacolele a fost implementată funcția evite_obstacol. Această funcție acționează motorul știind unde se află obstacolul.

Pasul 6: ASAMBLARE

ASAMBLARE
ASAMBLARE
ASAMBLARE
ASAMBLARE
ASAMBLARE
ASAMBLARE

Asamblarea acestui robot este de fapt destul de ușoară. Majoritatea componentelor sunt înșurubate la cutie pentru a se asigura că își păstrează locul. Apoi, suportul piloților, rezervorul de apă și pompa sunt zgâriați.

Pasul 7: EXPERIMENTE

De obicei, la construirea unui robot lucrurile nu merg bine. Sunt necesare o mulțime de teste, cu următoarele modificări, pentru a obține rezultatul perfect. Iată o expoziție a procesului robotului vegetal!

Primul pas a fost montarea robotului cu motoare, Arduino, controler de motor și senzori de lumină cu o placă de protecție. Robotul merge doar în direcția în care a măsurat cea mai mare lumină. S-a decis un prag pentru a opri robotul dacă are suficientă lumină. În timp ce robotul aluneca pe podea, am adăugat hârtie abrazivă pe roți pentru a simula o anvelopă.

Apoi, senzorii ascuțiți au fost adăugați la structură pentru a încerca să evite obstacolele. Inițial, doi senzori au fost așezați pe fața frontală, dar un al treilea a fost adăugat în mijloc, deoarece senzorii ascuțiți au un unghi de detectare foarte limitat. În cele din urmă, avem doi senzori la extremitățile robotului care detectează obstacolele la stânga sau la dreapta și unul în mijloc pentru a detecta dacă există un obstacol în față. Obstacolele sunt detectate atunci când tensiunea pe ascuțit depășește o anumită valoare corespunzătoare unei distanțe de 15 cm față de robot. Când obstacolul este lateral, robotul îl evită și când un obstacol se află în mijloc, robotul se oprește. Vă rugăm să rețineți că obstacolele de sub ascuțite nu sunt detectabile, astfel încât obstacolele trebuie să aibă o anumită înălțime pentru a fi evitate.

După aceea, pompa și higrometrul au fost testate. Pompa trimite apă atâta timp cât tensiunea higrometrului este sub o anumită valoare corespunzătoare unei oale uscate. Această valoare a fost măsurată și determinată experimental prin testarea cu plante în ghiveci uscate și umede.

În cele din urmă, totul a fost testat împreună. Planta verifică mai întâi dacă are suficientă apă și apoi începe să urmeze lumina evitând obstacolele.

Pasul 8: TEST FINAL

Iată videoclipuri despre cum funcționează robotul în cele din urmă. Sper ca iti place!

Pasul 9: CE AM ÎNVĂȚAT CU ACEST PROIECT?

Deși feedback-ul general al acestui proiect este grozav, deoarece am învățat multe, am fost destul de stresați când l-am construit din cauza termenelor limită.

Probleme întâlnite

În cazul nostru, am avut mai multe probleme în timpul procesului. Unele dintre ele au fost ușor de rezolvat, de exemplu, când livrarea componentelor a fost întârziată, am căutat doar magazine în oraș unde le-am putea cumpăra. Alții necesită ceva mai multă gândire.

Din păcate, nu toate problemele au fost rezolvate. Prima noastră idee a fost să combinăm caracteristicile animalelor de companie și ale plantelor, obținând cele mai bune dintre ele. Pentru plante le-am putea face, cu acest robot vom putea avea o plantă care ne decorează casele și nu va trebui să ne ocupăm de ea. Dar pentru animalele de companie, nu am găsit o modalitate de a simula compania pe care o fac. Ne-am gândit la diferite modalități de a-i urmări pe oameni și am început să implementăm unul, dar ne-a lipsit timpul pentru ao termina.

Îmbunătățiri suplimentare

Deși ne-ar fi plăcut să obținem tot ce ne-am dorit, învățarea cu acest proiect a fost uimitoare. Poate cu mai mult timp am putea obține un robot și mai bun. Aici vă sugerăm câteva idei pentru a ne îmbunătăți robotul pe care poate unii dintre voi vor să le încerce:

- Adăugarea de leduri de diferite culori (roșu, verde, …) care indică utilizatorului când robotul trebuie încărcat. Măsurarea bateriei se poate face cu un divizor de tensiune cu o tensiune maximă de 5V atunci când bateria este complet încărcată pentru a măsura această tensiune cu un Arduino. Apoi ledul corespunzător este pornit.

- Adăugarea unui senzor de apă care să indice utilizatorului când rezervorul de apă trebuie umplut (senzor de înălțime a apei).

- Crearea unei interfețe astfel încât robotul să poată trimite mesaje utilizatorului.

Și, evident, nu putem uita de scopul de a-l face să urmeze oamenii. Animalele de companie sunt unul dintre lucrurile pe care oamenii le iubesc cel mai mult și ar fi minunat dacă cineva ar putea realiza că robotul simulează acest comportament. Pentru a o facilita, aici vom furniza tot ce avem.

Pasul 10: Cum să obții robotul să urmărească oamenii?

Image
Image
Cum să obții robotul să urmărească oamenii?
Cum să obții robotul să urmărească oamenii?
Cum să obții robotul să urmărească oamenii?
Cum să obții robotul să urmărească oamenii?

Am descoperit că cel mai bun mod de a face acest lucru ar fi utilizarea a trei senzori cu ultrasunete, un emițător și două receptoare.

Transmiţător

Pentru transmițător, am dori să avem un ciclu de funcționare de 50%. Pentru a face acest lucru, trebuie să utilizați un temporizator 555, noi am folosit NE555N. În imagine, puteți vedea cum ar trebui construit circuitul. Dar va trebui să adăugați un condensator suplimentar la ieșirea 3, 1µF de exemplu. Rezistențele și condensatoarele sunt calculate cu următoarele formule: (imaginile 1 și 2)

Deoarece este de dorit un ciclu de funcționare de 50%, t1 și t2 vor fi egale unul cu celălalt. Deci, cu un transmițător de 40 kHz, t1 și t2 vor fi egale cu 1,25 * 10-5 s. Când luați C1 = C2 = 1 nF, R1 și R2 pot fi calculate. Am luat R1 = 15 kΩ și R2 = 6,8 kΩ, asigurați-vă că R1> 2R2!

Când am testat acest lucru în circuit pe osciloscop, am primit următorul semnal. Scara este de 5 µs / div, astfel încât frecvența în realitate va fi de aproximativ 43 kHz. (Imaginea 3)

Receptor

Semnalul de intrare al receptorului va fi prea mic pentru ca Arduino să poată procesa cu precizie, astfel încât semnalul de intrare trebuie amplificat. Acest lucru se va face prin realizarea unui amplificator inversor.

Pentru opamp, am folosit un LM318N, pe care l-am alimentat cu 0 V și 5 V de la Arduino. Pentru a face acest lucru, a trebuit să ridicăm tensiunea în jurul semnalului care oscilează. În acest caz, va fi logic să-l ridicăm la 2,5 V. Deoarece tensiunea de alimentare nu este simetrică, trebuie să plasăm și un condensator înaintea rezistorului. În acest fel, am creat și un filtru high-pass. Cu valorile pe care le-am folosit, frecvența trebuia să fie mai mare de 23 kHz. Când am folosit o amplificare de A = 56, semnalul ar intra în saturație, ceea ce nu este bun, așa că am folosit în schimb A = 18. Acest lucru va fi în continuare suficient. (Imaginea 4)

Acum că avem o undă sinusală amplificată, avem nevoie de o valoare constantă, astfel încât Arduino să o poată măsura. O modalitate de a face acest lucru este de a crea un circuit de detectare a vârfurilor. În acest fel, putem vedea dacă emițătorul este mai departe de receptor sau într-un unghi diferit de cel anterior, având un semnal constant care este proporțional cu intensitatea semnalului primit. Deoarece avem nevoie de un detector de vârf de precizie, punem dioda, 1N4148, în următorul de tensiune. Procedând astfel, nu avem pierderi de diode și am creat o diodă ideală. Pentru opamp, am folosit același lucru ca în prima parte a circuitului și cu aceeași sursă de alimentare, 0 V și 5V.

Condensatorul paralel trebuie să aibă o valoare ridicată, deci se va descărca foarte lent și vedem în continuare tipul aceleiași valori de vârf ca și valoarea reală. Rezistorul va fi, de asemenea, plasat în paralel și nu va fi prea scăzut, pentru că altfel descărcarea va fi mai mare. În acest caz, este suficient 1.5µF și 56 kΩ. (Imaginea 5)

În imagine, circuitul total poate fi văzut. Unde este ieșirea, care va merge în Arduino. Iar semnalul AC de 40 kHz va fi receptorul, unde celălalt capăt al acestuia va fi conectat la sol. (Imaginea 6)

După cum am spus anterior, nu am putut integra senzorii în robot. Dar oferim videoclipurile testelor pentru a arăta că circuitul funcționează. În primul videoclip, amplificarea (după primul OpAmp) poate fi văzută. Există deja un offset de 2,5 V pe osciloscop, astfel încât semnalul este în mijloc, amplitudinea variază atunci când senzorii își schimbă direcția. Când cei doi senzori sunt orientați unul către celălalt, amplitudinea sinusului va fi mai mare decât atunci când senzorii au un unghi sau o distanță mai mare între ambii. În al doilea videoclip (ieșirea circuitului), semnalul rectificat poate fi văzut. Din nou, tensiunea totală va fi mai mare atunci când senzorii sunt orientați unul față de celălalt decât atunci când nu sunt. Semnalul nu este complet drept din cauza descărcării condensatorului și din cauza volților / div. Am putut măsura un semnal constant în scădere atunci când unghiul sau distanța dintre senzori nu mai erau optime.

Ideea a fost aceea de a face robotul să aibă receptorul și utilizatorul să transmită. Robotul putea face o întoarcere asupra sa pentru a detecta în ce direcție intensitatea era cea mai mare și putea merge în acea direcție. O modalitate mai bună ar putea fi să aveți două receptoare și să urmăriți receptorul care detectează cea mai mare tensiune și o modalitate și mai bună este să puneți trei receptoare și să le așezați ca LDR pentru a ști în ce direcții este emis semnalul utilizatorului (drept, stanga sau dreapta).

Recomandat: