Go Down

Topic: Problema di lettura con l293D ed SRF05 (Read 366 times) previous topic - next topic

NightEagle

Salve a tutti

Premetto che sono nuovo del forum e del mondo di arduino. Sto costruendo un bot con un modellino tipo rover e per il movimento ho fatto una board per il controllo dei motori utilizzando degli integrati L293D. Allego lo schema elettrico che ho utilizzato per realizzare la scheda.
Per quanto riguarda l'alimentazione utilizzo una batteria LIPO da 7.4V e 5500 maH. Come si può vedere anche dallo schema elettrico, per alimentare i motori non utilizzo direttamente l'arduino. Sulla scheda sono predisposti due pin per collegare l'alimentazione esterna che proviene da uno step-down collegato alla batteria. Inoltre sulla scheda ho collegato le due masse( quella di arduino e quella esterna) ed ho inserito un condensatore tra il + ed il - dell'ingresso. Per evitare gli ostacoli utilizzo un sensore ad ultrasuoni SRF05. Il problema che sto riscontrando al momento riguarda la lettura dal sensore quando i motori sono in movimento. I dati sulla distanza li verifico stampandoli tramite la seriale. Quello che ho potuto verificare è che, posizionando il robottino su un supporto, ed analizzando i dati a motori spenti questi sono abbastanza regolari. tra una lettura e l'altra ci sono al massimo oscillazioni di uno o due cm. Quando invece aziono i motori i dati rilevati iniziano ad oscillare vistosamente. Ad esempio, misuro con costanza 138cm a motori spenti mentre accendendo i motori ottengo letture che, tipicamente di attestano attorno allo stesso valore, ma tra i vari risultati compaiono anche valori tipo 78, 45, 21... addirittura una volta è uscito anche 0. Ovviamente, quando spengo i motori il tutto torna a funzionare correttamente. Il sensore al momento è collegato al pin analogico A0. Inizialmente era collegato ad un pin digitale, quando poi mi sono accorto del problema ho provato a spostarlo su uno analogico ma senza risultati.
Cercando sul forum ho trovato alcuni che suggerivano di inserire una rete di disaccoppiamento sull'alimentazione esterna, più precisamente su questo link http://arduino.cc/forum/index.php/topic,19029.0.html
Il problema è che non viene specificato il valore dell'induttore da utilizzare e non saprei sinceramente che valore scegliere. Inoltre non sono sicuro che il disturbo proveniente dai motori dipenda o meno da un errore di collegamento nella scheda da me realizzata. Secondo voi il problema di lettura potrebbe dipendere dall'assenza di una rete di disaccoppiamento? Ci sono errori nella scheda che ho realizzato? Oppure dipende da altri fattori di cui non sto tenendo conto? Spero di essere stato chiaro nella descrizione del problema, qualora avessi tralasciato delle informazioni importanti vi prego di chiedermi i dettagli da aggiungere.

uwefed

Che motori stai usando? Deduco dallo schema che ne usi 4.
Ciao Uwe

NightEagle

si, sono 4 motori DC. Erano compresi nel rover che ho acquistato. Le specifiche tecniche dei motori, prese dal sito dal quale l'ho acquistato, sono le seguenti:

SPECIFICHE DEL MOTORE
• Output Mode: Two-way shaft output
• Gear ratio: 1:120
• No-load speed (3V): 90RPM
• No-load speed (6V): 180RPM
• No load current (3V): 120mA
• No load current (6V): 160mA
• Locked-rotor current (3V): 1.5A
• Locked-rotor current (6V): 2.8A
• Size: Long 55MM W 48.3MM high-23MM
• Weight: About 45g


Go Up