Sommario:

ROBOT IMPIANTO: 10 passaggi
ROBOT IMPIANTO: 10 passaggi

Video: ROBOT IMPIANTO: 10 passaggi

Video: ROBOT IMPIANTO: 10 passaggi
Video: Robot tira fili a mani libere KL-100 2024, Novembre
Anonim
Image
Image
IMPIANTI ROBOT
IMPIANTI ROBOT

A tutti piace avere piante in casa, ma a volte con la nostra vita frenetica non troviamo il tempo per prenderci cura di loro. Da questo problema è nata un'idea: perché non costruire un robot che se ne prendesse cura per noi?

Questo progetto consiste in un impianto-robot che si prende cura di se stesso. L'impianto è integrato nel robot e sarà in grado di innaffiarsi e trovare luce evitando gli ostacoli. Ciò è stato possibile utilizzando diversi sensori sul robot e sull'impianto. Questo Instructable mira a guidarti attraverso il processo di creazione di un robot per piante in modo da non doverti preoccupare delle tue piante ogni giorno!

Questo progetto fa parte di Bruface Mechatronics ed è stato realizzato da:

Mercedes Arévalo Suárez

Daniel Blanquez

Baudouin Cornelis

Kaat Leemans

Marcos Martínez Jiménez

Basile Thisse

(Gruppo 4)

Fase 1: LISTA DELLA SPESA

LISTA DELLA SPESA
LISTA DELLA SPESA
LISTA DELLA SPESA
LISTA DELLA SPESA
LISTA DELLA SPESA
LISTA DELLA SPESA

Ecco un elenco di tutti i prodotti necessari per costruire questo robot. Per ogni pezzo sottolineato è disponibile un link:

I motori stampati in 3D supportano X1 (copia in 3D)

Ruote stampate in 3D + connessione ruota-motore X2 (copia in 3D)

Batterie AA Nimh X8

Rotolo di carta abrasiva X1

Arduino Mega X1

Ruota orientabile a sfere X1

Portabatterie X2

Tagliere per prove X1

Tagliere da saldare X1

Motori DC (con encoder) X2

Cerniere X2

Igrometro X1

Resistori dipendenti dalla luce X3

Maglioni uomo-uomo e uomo-donna

Scudo motore X1

Pianta X1 (questo dipende da te)

Vaso per piante X1

Supporto per piante X1 (stampato in 3D)

Tubo di plastica X1

Resistenze di diverso valore

Gratta carta X1

viti

Sensori nitidi X3 (GP2Y0A21YK0F 10-80 cm)

Interruttore X1

Pompa acqua X1

Serbatoio dell'acqua (piccolo Tupperware) X1

fili

Si prega di notare che queste scelte sono il risultato di vincoli di tempo e budget (3 mesi e 200€). Altre scelte possono essere fatte a propria discrezione.

SPIEGAZIONE DELLE DIVERSE SCELTE

Arduino Mega su Arduino Uno: in primo luogo, dovremmo anche spiegare il motivo per cui abbiamo usato Arduino. Arduino è una piattaforma di prototipazione elettronica open source che consente agli utenti di creare oggetti elettronici interattivi. È molto popolare sia tra gli esperti che tra i principianti, il che contribuisce a trovare molte informazioni a riguardo su Internet. Questo può tornare utile quando hai un problema con il tuo progetto. Abbiamo scelto un Arduino Mega su uno perché ha più pin. Infatti, per il numero di sensori che utilizziamo, uno non offriva abbastanza pin. Un Mega è anche più potente e potrebbe essere utile se aggiungiamo alcuni miglioramenti come un modulo WIFI.

Batterie Nimh: una prima idea è stata quella di utilizzare batterie LiPo come in molti progetti robotici. Le LiPo hanno una buona velocità di scarica e sono facilmente ricaricabili. Ma presto ci siamo resi conto che LiPo e caricabatterie erano troppo costosi. Le uniche altre batterie adatte a questo progetto sono le Nimh. In effetti sono economici, ricaricabili e leggeri. Per alimentare il motore ne avremo bisogno 8 per ottenere una tensione di alimentazione da 9,6V (scaricato) a 12V (completamente carico).

Motori CC con encoder: Considerando l'obiettivo principale di questo attuatore, fornire energia di rotazione alle ruote, abbiamo scelto due motori CC anziché servomotori che hanno limitazioni nell'angolo di rotazione e sono progettati per compiti più specifici in cui è necessario definire la posizione con precisione. Il fatto di avere degli encoder aggiunge anche la possibilità di avere maggiore precisione se necessario. Nota che alla fine non abbiamo usato gli encoder perché ci siamo resi conto che i motori erano abbastanza simili e non avevamo bisogno del robot per seguire con precisione una linea retta.

Ci sono molti motori DC sul mercato e ne stavamo cercando uno che si adattasse al nostro budget e al nostro robot. Per soddisfare questi vincoli due importanti parametri ci hanno aiutato a scegliere il motore: la coppia necessaria per muovere il robot e la velocità del robot (per trovare i giri necessari).

1) Calcola il numero di giri

Questo robot non avrà bisogno di rompere la barriera del suono. Per seguire la luce o seguire qualcuno in una casa sembra ragionevole una velocità di 1 m/so 3,6 km/h. Per tradurlo in giri usiamo il diametro delle ruote: 9cm. I giri/min sono dati da: giri/min = (60*velocità(m/s))/(2*pi*r) = (60*1)/(2*pi*0.045) = 212 giri/min.

2) Calcolare la coppia massima necessaria

Poiché questo robot si evolverà in un ambiente piatto, la coppia massima necessaria è quella per avviare il movimento del robot. Se consideriamo che il peso del robot con l'impianto e ogni componente è di circa 3 chili e sfruttando le forze di attrito tra le ruote e il terreno possiamo facilmente trovare la coppia. Considerando un coefficiente di attrito pari a 1 tra il suolo e le ruote: Forze di attrito (Fr)= coeff. * N (dove N è il peso del robot) questo ci dà Fr = 1 * 3 * 10 = 30 N. La coppia per ogni motore può essere trovata come segue: T = (Fr * r)/2 dove r è la raggio delle ruote quindi T = (30*0.045)/2 = 0,675 Nm = 6,88 kg cm.

Queste le caratteristiche del motore che abbiamo scelto: a 6V 175 rpm e 4 kg cm a 12V 350 rpm e 8 kg cm. Sapendo che sarà alimentato tra 9.6 e 12V eseguendo un'interpolazione lineare appare chiaramente che i vincoli di cui sopra saranno rispettati.

Sensori di luce: abbiamo scelto resistori dipendenti dalla luce (LDR) perché la loro resistenza varia rapidamente con la luce e la tensione sull'LDR può essere facilmente misurata applicando una tensione costante su un partitore di tensione contenente l'LDR.

Sensori taglienti: servono per evitare gli ostacoli. I sensori di distanza nitidi sono economici e facili da usare, il che li rende una scelta popolare per il rilevamento e la distanza di oggetti. In genere hanno velocità di aggiornamento più elevate e intervalli di rilevamento massimi più brevi rispetto ai telemetri sonar. Sul mercato sono disponibili molti modelli diversi con diversi range di funzionamento. Poiché vengono utilizzati per rilevare gli ostacoli in questo progetto, abbiamo scelto quello con un raggio di azione di 10-80 cm.

Pompa dell'acqua: La pompa dell'acqua è una semplice pompa leggera e non troppo potente compatibile con il range di tensione dei motori per utilizzare la stessa alimentazione per entrambi. Un'altra soluzione per alimentare l'impianto con acqua era quella di avere una base d'acqua separata dal robot, ma è molto più semplice averne una sul robot.

Igrometro: Un igrometro è un sensore di umidità da interrare. È necessario poiché il robot ha bisogno di sapere quando la pentola è asciutta per inviarci acqua.

Fase 2: PROGETTAZIONE MECCANICA

DISEGNO MECCANICO
DISEGNO MECCANICO
DISEGNO MECCANICO
DISEGNO MECCANICO
DISEGNO MECCANICO
DISEGNO MECCANICO
DISEGNO MECCANICO
DISEGNO MECCANICO

Fondamentalmente, il design del robot sarà costituito da una scatola rettangolare, con tre ruote sul lato inferiore e un coperchio che si apre sul lato superiore. La pianta verrà posizionata sopra il serbatoio dell'acqua. Il vaso per piante viene posizionato nel fissaggio del vaso per piante che è avvitato sulla tavola superiore del robot. Il serbatoio dell'acqua è un piccolo Tupperware graffiato sulla tavola superiore del robot e anche la pompa dell'acqua è graffiata nella parte inferiore del serbatoio dell'acqua, quindi tutto può essere facilmente rimosso quando si riempie il Tupperware con acqua. Viene praticato un piccolo foro nel coperchio del serbatoio a causa del tubo dell'acqua che entra nel vaso e dell'alimentazione della pompa che entra nella scatola. Viene così praticato un foro nella tavola superiore della scatola e attraverso questo foro passano anche i cavi dell'igrometro.

Innanzitutto volevamo che il robot avesse un design accattivante, per questo abbiamo deciso di nascondere la parte elettronica all'interno di una scatola, lasciando appena fuori la pianta e l'acqua. Questo è importante poiché le piante fanno parte della decorazione della casa e non dovrebbero influenzare visivamente lo spazio. I componenti nella scatola saranno facilmente accessibili attraverso un coperchio sul lato superiore, e le coperture laterali avranno i fori necessari in modo che sia facile, ad esempio, accendere il robot o collegare l'Arduino a un laptop se vogliamo per programmarlo di nuovo.

I componenti nella scatola sono: l'Arduino, il controller del motore, i motori, l'LDR, i portapile, la breadboard e le cerniere. L'Arduino è montato su piccoli pilastri in modo che il suo fondo non sia danneggiato e il controller del motore sia montato sopra l'Arduino. I motori vengono avvitati ai fissaggi del motore e i fissaggi dei motori vengono quindi avvitati alla tavola inferiore della scatola. Gli LDR sono saldati su un piccolo pezzo di breadboard. A questa breadboard vengono incollate delle mini tavole di legno per avvitarlo alle facce laterali del robot. C'è un LDR davanti, uno sul lato sinistro e uno sul lato destro in modo che il robot possa conoscere la direzione con la massima quantità di luce. I portapile sono graffiati alla faccia inferiore della scatola per rimuoverli facilmente e cambiare le pile o ricaricarle. Quindi le breadboard vengono avvitate alla tavola inferiore con dei pilastrini di forma triangolare con fori della forma dell'angolo della breadboard per sostenerla. Infine si avvitano le cerniere sulla faccia posteriore e sulla faccia superiore.

Sulla faccia frontale verranno avvitati direttamente tre taglienti per rilevare ed evitare al meglio gli ostacoli.

Sebbene il design fisico sia importante non possiamo dimenticare la parte tecnica, stiamo costruendo un robot e dovrebbe essere pratico e, per quanto possibile, dovremmo ottimizzare lo spazio. Questa è la ragione per scegliere una forma rettangolare, è stato il modo migliore per disporre tutti i componenti.

Infine, per il movimento, il dispositivo avrà tre ruote: due motorizzate standard nella parte posteriore e una ruotante a sfera nella parte anteriore. Sono visualizzati in una guida a tre cicli, configurazione, sterzo anteriore e guida posteriore.

Fase 3: PRODUZIONE DI PARTI

PARTI DI PRODUZIONE
PARTI DI PRODUZIONE
PARTI DI PRODUZIONE
PARTI DI PRODUZIONE
PARTI DI PRODUZIONE
PARTI DI PRODUZIONE

L'aspetto fisico del robot può essere modificato in base al tuo interesse. Vengono forniti i disegni tecnici, che possono funzionare come una buona base durante la progettazione del proprio.

Parti tagliate al laser:

Tutte e sei le parti che compongono la cassa del robot sono state tagliate al laser. Il materiale utilizzato per questo è stato il legno riciclato. Questa scatola potrebbe anche essere realizzata in plexiglas che è un po' più costoso.

Parti stampate in 3D:

Le due ruote standard posizionate sul retro del robot sono state stampate in 3D in PLA. Il motivo è che l'unico modo per trovare ruote che soddisfacessero tutte le esigenze (adattarsi ai motori DC, dimensioni, peso…) era progettarle noi stessi. Anche la fissazione del motore è stata stampata in 3D per motivi di budget. Quindi anche il supporto del vaso, i pilastri che sostengono l'Arduino e gli angoli che sostengono la breadboard sono stati stampati in 3D perché avevamo bisogno di una forma particolare che si adattasse al nostro robot.

Fase 4: ELETTRONICA

ELETTRONICA
ELETTRONICA
ELETTRONICA
ELETTRONICA
ELETTRONICA
ELETTRONICA

Sensori acuti: i sensori acuti hanno tre pin. Due di questi sono per l'alimentazione (Vcc e Ground) e l'ultimo è il segnale misurato (Vo). Per l'alimentazione abbiamo il voltaggio positivo che può essere compreso tra 4,5 e 5,5 V quindi utilizzeremo i 5V dell'Arduino. Vo sarà collegato ad uno dei pin analogici dell'Arduino.

Sensori di luce: i sensori di luce necessitano di un piccolo circuito per poter funzionare. L'LDR è messo in serie con un resistore da 900 kOhm per creare un partitore di tensione. La massa è collegata al pin della resistenza non collegata alla LDR e la 5V dell'Arduino è collegata al pin della LDR non collegata alla resistenza. Il pin del resistore e dell'LDR collegati tra loro è cablato a un pin analogico dell'Arduino per misurare questa tensione. Questa tensione varierà tra 0 e 5V con 5V corrispondenti alla piena luce e vicino allo zero corrispondente al buio. Quindi l'intero circuito verrà saldato su un piccolo pezzo di breadboard che può essere inserito nelle assi laterali del robot.

Batterie: Le batterie sono costituite da 4 pile tra 1.2 e 1.5 V ciascuna quindi tra 4.8 e 6V. Mettendo in serie due portapali abbiamo tra 9,6 e 12 V.

Pompa dell'acqua: La pompa dell'acqua ha una connessione (presa di alimentazione) dello stesso tipo dell'alimentazione dell'Arduino. Il primo passo è tagliare la connessione e denudare il filo in modo da avere il filo per massa e il filo per tensione positiva. Poiché vogliamo controllare la pompa, la metteremo in serie con un transistor controllabile in corrente utilizzato come interruttore. Quindi verrà messo un diodo in parallelo alla pompa per evitare correnti di ritorno. La gamba inferiore del transistor è collegata alla massa comune di Arduino/batterie, quella centrale a un pin digitale di Arduino con una resistenza da 1kOhm in serie per trasformare la tensione dell'Arduino in corrente e la gamba superiore al cavo nero di la pompa. Quindi il cavo rosso della pompa viene collegato al voltaggio positivo delle batterie.

Motori e schermo: lo schermo deve essere saldato, viene spedito non saldato. Fatto ciò viene posizionato sull'Arduino ritagliando tutte le intestazioni dello shield nei pin dell'Arduino. Lo shield verrà alimentato con le batterie e quindi alimenterà Arduino se è presente un jumper (pin arancioni in figura). Fare attenzione a non mettere il ponticello quando l'Arduino è alimentato da un altro mezzo rispetto allo scudo poiché l'Arduino alimenterebbe lo scudo e potrebbe bruciare la connessione.

Breadboard: tutti i componenti verranno ora saldati sulla breadboard. Il terreno di un portapila, dell'Arduino, del controller del motore e di tutti i sensori sarà saldato su una stessa fila (sulle nostre file di breadboard hanno lo stesso potenziale). Quindi il cavo nero del secondo portapalo verrà saldato sulla stessa fila del rosso del primo portapalo il cui terreno è già saldato. Verrà quindi saldato un cavo sulla stessa fila del cavo rosso del secondo portapila corrispondente ai due in serie. Questo cavo sarà collegato a un'estremità dell'interruttore e l'altra estremità sarà collegata con un filo saldato sulla breadboard su una riga libera. Su questa riga verranno saldati il cavo rosso della pompa e l'alimentazione del controllore motore (l'interruttore non è rappresentato in figura). Quindi i 5V dell'Arduino verranno saldati su un'altra riga e la tensione di alimentazione di ogni sensore sarà saldata sulla stessa riga. Prova a saldare un ponticello sulla breadboard e un ponticello sul componente quando è possibile in modo da poterli scollegare facilmente e l'assemblaggio dei componenti elettrici sarà più semplice.

Fase 5: PROGRAMMAZIONE

PROGRAMMAZIONE
PROGRAMMAZIONE

Diagramma di flusso del programma:

Il programma è stato mantenuto piuttosto semplice utilizzando la nozione di variabili di stato. Come puoi vedere nel diagramma di flusso, questi stati inducono anche una nozione di priorità. Il robot verificherà le condizioni in questo ordine:

1) Nello stato 2: la pianta ha abbastanza acqua con la funzione umidità_livello? Se il livello di umidità misurato dall'igrometro è inferiore a 500, la pompa sarà azionata fino a quando il livello di umidità non supera i 500. Quando l'impianto ha acqua a sufficienza il robot passa allo stato 3.

2) Nello stato 3: Trova la direzione con più luce. In questo stato la pianta ha abbastanza acqua e deve seguire la direzione con più luce evitando gli ostacoli. La funzione light_direction fornisce la direzione dei tre sensori di luce che riceve più luce. Il robot aziona quindi i motori per seguire quella direzione con la funzione follow_light. Se il livello di luce è al di sopra di una certa soglia (enough_light) il robot si ferma per seguire la luce poiché ne ha abbastanza in questa posizione (stop_motors). Per evitare ostacoli sotto i 15 cm seguendo la luce, è stata implementata una funzione ostacolo per restituire la direzione dell'ostacolo. Per evitare correttamente gli ostacoli è stata implementata la funzione evitare_ostacolo. Questa funzione aziona il motore sapendo dove si trova l'ostacolo.

Passaggio 6: ASSEMBLAGGIO

MONTAGGIO
MONTAGGIO
MONTAGGIO
MONTAGGIO
MONTAGGIO
MONTAGGIO

L'assemblaggio di questo robot è in realtà piuttosto semplice. La maggior parte dei componenti è avvitata alla scatola per garantire che rimangano al loro posto. Quindi si graffiano il portapali, il serbatoio dell'acqua e la pompa.

Fase 7: ESPERIMENTI

Di solito, quando si costruisce un robot le cose non vanno lisce. Sono necessari molti test, con le successive modifiche, per ottenere il risultato perfetto. Ecco una mostra del processo del robot dell'impianto!

Il primo passo è stato montare il robot con motori, Arduino, controller motore e sensori di luce con una breadboard di prototipazione. Il robot sta andando nella direzione in cui ha misurato più luce. È stata decisa una soglia per fermare il robot se ha abbastanza luce. Mentre il robot scivolava sul pavimento, abbiamo aggiunto della carta abrasiva sulle ruote per simulare un pneumatico.

Quindi i sensori taglienti sono stati aggiunti alla struttura per cercare di evitare gli ostacoli. Inizialmente erano stati posizionati due sensori sulla faccia anteriore ma ne è stato aggiunto un terzo al centro perché i sensori taglienti hanno un angolo di rilevamento molto limitato. Infine, abbiamo due sensori alle estremità del robot che rilevano ostacoli a sinistra oa destra e uno al centro per rilevare se c'è un ostacolo davanti. Gli ostacoli vengono rilevati quando la tensione sul tagliente supera un certo valore corrispondente ad una distanza di 15cm dal robot. Quando l'ostacolo è su un lato il robot lo evita e quando un ostacolo è nel mezzo il robot si ferma. Si prega di notare che gli ostacoli sotto i taglienti non sono rilevabili, quindi gli ostacoli devono avere una certa altezza per essere evitati.

Successivamente, sono stati testati la pompa e l'igrometro. La pompa invia acqua fintanto che la tensione dell'igrometro è inferiore a un certo valore corrispondente a un vaso asciutto. Questo valore è stato misurato e determinato sperimentalmente mediante prove con piante in vaso secche e umide.

Alla fine tutto è stato testato insieme. La pianta prima controlla se ha acqua a sufficienza e poi inizia a seguire la luce evitando gli ostacoli.

Fase 8: PROVA FINALE

Ecco i video di come funziona finalmente il robot. Spero ti sia piaciuto!

Step 9: COSA ABBIAMO IMPARATO CON QUESTO PROGETTO?

Sebbene il feedback complessivo di questo progetto sia ottimo perché abbiamo imparato molto, siamo stati piuttosto stressati durante la sua costruzione a causa delle scadenze.

Problemi riscontrati

Nel nostro caso abbiamo avuto diversi problemi durante il processo. Alcuni erano facili da risolvere, ad esempio quando la consegna dei componenti è stata ritardata abbiamo semplicemente cercato negozi in città dove potevamo acquistarli. Altri richiedono un po' più di riflessione.

Sfortunatamente, non tutti i problemi sono stati risolti. La nostra prima idea è stata quella di combinare le caratteristiche degli animali domestici e delle piante, ottenendo il meglio da ciascuno. Per le piante potremmo farlo, con questo robot potremo avere una pianta che decora le nostre case e non dovremo prendercene cura. Ma per gli animali domestici, non abbiamo trovato un modo per simulare l'azienda che fanno. Abbiamo pensato a diversi modi per farlo seguire alle persone e abbiamo iniziato a implementarne uno ma ci è mancato il tempo per finirlo.

Ulteriori miglioramenti

Anche se ci sarebbe piaciuto ottenere tutto ciò che volevamo, l'apprendimento con questo progetto è stato fantastico. Forse con più tempo potremmo ottenere un robot ancora migliore. Qui vi suggeriamo alcune idee per migliorare il nostro robot che forse alcuni di voi vorranno provare:

- Aggiunta di led di diverso colore (rosso, verde, …) che indicano all'utente quando il robot deve essere caricato. La misurazione della batteria può essere effettuata con un partitore di tensione avente una tensione massima di 5V quando la batteria è completamente carica per misurare questa tensione con un Arduino. Quindi si accende il led corrispondente.

- Aggiunta di un sensore dell'acqua che informa l'utente quando il serbatoio dell'acqua deve essere riempito (sensore di altezza dell'acqua).

- Creazione di un'interfaccia in modo che il robot possa inviare messaggi all'utente.

E ovviamente, non possiamo dimenticare l'obiettivo di far sì che segua le persone. Gli animali domestici sono una delle cose che le persone amano di più, e sarebbe bello se qualcuno riuscisse a far sì che il robot simuli questo comportamento. Per facilitarlo, qui forniremo tutto ciò che abbiamo.

Passaggio 10: come convincere il robot a seguire le persone?

Image
Image
Come convincere il robot a seguire le persone?
Come convincere il robot a seguire le persone?
Come convincere il robot a seguire le persone?
Come convincere il robot a seguire le persone?

Abbiamo capito che il modo migliore per farlo sarebbe usare tre sensori a ultrasuoni, un emettitore e due ricevitori.

Trasmettitore

Per il trasmettitore, vorremmo avere un ciclo di lavoro del 50%. Per fare questo, devi usare un timer 555, noi avevamo usato il NE555N. Nella foto puoi vedere come dovrebbe essere costruito il circuito. Ma dovrai aggiungere un condensatore extra all'uscita 3, 1µF per esempio. I resistori e i condensatori sono calcolati con le seguenti formule: (immagini 1 e 2)

Poiché è desiderabile un ciclo di lavoro del 50%, t1 e t2 saranno uguali tra loro. Quindi con un trasmettitore a 40 kHz, t1 e t2 saranno pari a 1,25*10-5 s. Quando prendi C1 = C2 = 1 nF, R1 e R2 possono essere calcolati. Abbiamo preso R1= 15 kΩ e R2= 6.8 kΩ, assicurati che R1>2R2!

Quando abbiamo testato questo circuito sull'oscilloscopio, abbiamo ottenuto il seguente segnale. La scala è 5 µs/div quindi la frequenza in realtà sarà di circa 43 kHz. (Immagine 3)

Ricevitore

Il segnale di ingresso del ricevitore sarà troppo basso per consentire all'Arduino di elaborare in modo accurato, quindi il segnale di ingresso deve essere amplificato. Questo sarà fatto realizzando un amplificatore invertente.

Per l'opamp, abbiamo usato un LM318N, che abbiamo alimentato con 0 V e 5 V dall'Arduino. Per fare ciò, abbiamo dovuto aumentare la tensione attorno al segnale che oscilla. In questo caso sarà logico elevarlo a 2,5 V. Poiché la tensione di alimentazione non è simmetrica, dobbiamo anche posizionare un condensatore prima del resistore. In questo modo, abbiamo anche realizzato un filtro passa-alto. Con i valori che avevamo usato, la frequenza doveva essere maggiore di 23 kHz. Quando abbiamo usato un'amplificazione di A=56, il segnale sarebbe andato in saturazione, il che non è buono, quindi abbiamo usato invece A=18. Questo sarà ancora sufficiente. (Immagine 4)

Ora che abbiamo un'onda sinusoidale amplificata, abbiamo bisogno di un valore costante in modo che Arduino possa misurarlo. Un modo per farlo è creare un circuito rilevatore di picco. In questo modo possiamo vedere se il trasmettitore è più lontano dal ricevitore o in un angolo diverso da prima avendo un segnale costante che è proporzionale all'intensità del segnale ricevuto. Poiché abbiamo bisogno di un rilevatore di picco di precisione, inseriamo il diodo, 1N4148, nell'inseguitore di tensione. In questo modo, non abbiamo alcuna perdita di diodo e abbiamo creato un diodo ideale. Per l'opamp abbiamo usato lo stesso della prima parte del circuito e con la stessa alimentazione, 0 V e 5V.

Il condensatore parallelo deve avere un valore alto, quindi si scaricherà molto lentamente e vediamo ancora il tipo dello stesso valore di picco del valore reale. Anche la resistenza sarà posta in parallelo e non sarà troppo bassa, perché altrimenti la scarica sarà maggiore. In questo caso sono sufficienti 1,5µF e 56 kΩ. (Immagine 5)

Nella foto si vede il circuito totale. Dove è l'output, che andrà in Arduino. E il segnale AC a 40 kHz sarà il ricevitore, dove l'altra estremità sarà collegata a terra. (Immagine 6)

Come abbiamo detto in precedenza, non abbiamo potuto integrare i sensori nel robot. Ma forniamo i video dei test per dimostrare che il circuito funziona. Nel primo video si vede l'amplificazione (dopo il primo OpAmp). C'è già un offset di 2,5V sull'oscilloscopio quindi il segnale è nel mezzo, l'ampiezza varia quando i sensori cambiano direzione. Quando i due sensori sono uno di fronte all'altro, l'ampiezza del seno sarà maggiore rispetto a quando i sensori hanno un angolo o una distanza maggiore tra entrambi. Sul secondo video (l'uscita del circuito), si può vedere il segnale rettificato. Anche in questo caso, la tensione totale sarà maggiore quando i sensori sono uno di fronte all'altro rispetto a quando non lo sono. Il segnale non è completamente dritto a causa della scarica del condensatore ea causa dei volt/div. Siamo stati in grado di misurare un segnale costante decrescente quando l'angolo o la distanza tra i sensori non era più ottimale.

L'idea era quindi quella di fare in modo che il robot avesse il ricevitore e l'utente il trasmettitore. Il robot potrebbe fare un giro su se stesso per rilevare in quale direzione l'intensità era più alta e potrebbe andare in quella direzione. Un modo migliore potrebbe essere avere due ricevitori e seguire il ricevitore che rileva la tensione più alta e un modo ancora migliore è mettere tre ricevitori e posizionarli come l'LDR per sapere in quali direzioni viene emesso il segnale dell'utente (dritto, sinistra o destra).

Consigliato: