Sommario:
2025 Autore: John Day | [email protected]. Ultima modifica: 2025-01-13 06:57
Questo istruibile è stato realizzato per un progetto scolastico.
Abbiamo dovuto creare un linefollower con alcune specifiche:
- Doveva essere economico con un target price di 50€.
- Il più veloce possibile: > 0,5 m/s.
- Larghezza della linea: 1,5 cm / raggio di una curva: 10 cm / intersezioni possibili (l'auto deve andare dritta).
- Il linefollower deve funzionare in condizioni di luce normali (luci TL, luce solare, flash della fotocamera, …).
- Massimo dimensioni 12mm x 12mm.
- Hardware semplice: 1 alimentatore, motori CC economici, ponte H, …
- Array di sensori di luce (min. 6).
- Controllore PID.
- Comunicazione senza fili (infrarossi, Bluetooth, …).
- 1 pulsante start/stop, il linefollower si avvia con gli ultimi valori impostati (anche in assenza di alimentazione).
- Tutte le impostazioni possono essere modificate tramite un semplice programma per PC (Kp, Ki, Kd, debug, velocità massima, …).
- Il prodotto finale deve essere un PCB (design) autocostruito.
- Utilizzare componenti smd ove necessario.
Iniziamo.
Passaggio 1: concetti e componenti
Inizi questo progetto facendo alcune scelte. Questi sono: controller, comunicazione, H-bridge, alimentazione, sensori e motori. Queste scelte dipenderanno l'una dall'altra.
Le mie scelte sono state:
Micro controller: atmega32u4 (chip arduino leonardo) necessita di 5VComunicazione: RN-42 (Bluetooth) necessita di 3, 3VPower: Lio-ion 18650 2 x 4.2V 8, 4V3, 3V: UA78M33CDCYR5V: UA78M05CKVURG3H-bridge: TB6612FNGMotors (: Polulu 50/1 test) e 30/1 (velocità) Pulsanti: B3SN-3112PSensori: microelettronica SHARP GP2S700HCP
Passaggio 2: creare lo schema
Per fare gli schemi, guarda nelle schede tecniche e vedrai come tutto deve essere collegato. Gli schemi possono essere realizzati in diversi programmi (DipTrace, Eagle, EasyEDA, …).
Se vuoi usare i miei puoi scaricarli qui.
Passaggio 3: PCB
Quando ottieni il tuo PCB dovrai saldare tutto ad esso. Assicurati di non cortocircuitare i componenti.
Passaggio 4: programma (arduino)
Tutti i calcoli sono nell'arduino e i valori possono essere modificati da un programma diverso (vedi passaggio successivo). È possibile scaricare il programma completo.
Passaggio 5: programma (Visual Basic)
Ho scritto rapidamente un programma in Visual Basic che può scrivere valori sul linefollower, ci sono anche alcune funzionalità extra.
Il programma e il codice sono scaricabili qui.
Passaggio 6: testare tutto sul PCB
Ora dovrai testare tutto.
Se non ci sono problemi puoi iniziare a modificarlo e farlo andare più veloce. (Altrimenti dovrai trovare cosa potrebbe causare il problema e poi risolverlo.)
A tale scopo, modificare il PID, la velocità e il tempo di ciclo.
Questo cambierà con ogni linefollower
Per me i valori erano (per una velocità di 0,858 m/s motori di 30:1):- Kp: 4, 00-Ki: 0, 00-Kd: 26, 00-Velocità: 140-Ciclo: 2000
Se i tuoi valori PID sono troppo alti, il linefollower rileverà troppa distorsione.
Passaggio 7: risultato finale
Alla fine abbiamo creato un linefollower con tutte le specifiche che ci hanno fornito e abbiamo raggiunto una velocità di 0,858 m/s. Questa è la velocità più veloce mai vista in questo progetto scolastico. Se vuoi tutti i documenti che sono in questo istruttivo e altro ancora, usa il link qui sotto. (Alcuni sono in olandese)
drive.google.com/drive/folders/169LRTWpR2k…
Il mio blog (anche in olandese).
linefollower20182019syntheseproject.blogsp…
Se hai domande non esitare a chiedere.