Over dit project
Dit is mijn tweede lijnvolgerrobot (versie 4). In tegenstelling tot de vorige heb ik het ontwerp van de print gemaakt met EasyEDA. Deze printplaat fungeert als het chassis van de robot. De PCB-productie is uitgevoerd door JLCPCB en ik moet zeggen dat ze mijn verwachtingen hebben overtroffen met een indrukwekkende kwaliteit en verzending in recordtijd.
De volgende video toont het eindresultaat van het prototype waarin ik de in TinkerCAD ontworpen 3D-modellen heb opgenomen.
In de volgende video laat ik de tests zien die zijn uitgevoerd met de Mini Motor Driver (MX1508).
In de volgende video laat ik de tests zien met de 8 CNY70 sensoren. Deze sensoren worden analoog gemeten, via poorten A0 t/m A7 van de Arduino Nano. Ik gebruik een eerste algoritme om de sensoren te kalibreren door het bereik van 0 tot 1000 te normaliseren, waarbij 0 de witte achtergrond vertegenwoordigt en 1000 de zwarte lijn. Na het voltooien van de kalibratie, komt het in de lus en start de leescyclus, waarbij de positie wordt berekend van 0 tot 7000, die respectievelijk de linkersensor naar de rechtersensor vertegenwoordigt. Deze positiewaarde wordt gebruikt om de proportionele fout P te berekenen. Het bereik van P is -3500 (links) tot 3500 (rechts), waarbij 0 de middelste waarde is. Het algoritme onthoudt de waarde van de positie van de laatste sensor (links of rechts) die de zwarte lijn heeft gedetecteerd, dit met als doel deze gegevens te gebruiken voor remacties en lijnherstel.
De laatste test met de schakeling voor 95% gemonteerd, wordt getoond in de volgende video. Een laatste stroomsterktetest met een maximaal verbruik van 200mA.
Dit is de nieuwste versie van de printplaat van de robot, klaar om te worden geproduceerd op JLCPCB.
Dit is het uitpakken.
In het laatste stuk en al met het totaal aan stukken, laat ik de montage van mijn eerste Speed Follower Robot zien.
Eindelijk en met veel moeite heb ik het volledig gebouwde prototype al, hieronder laat ik zien hoe je de code laadt (Code Load Mode), hoe je de sensoren kunt testen en natuurlijk de tests op de baan. Erg blij met de werking, de testcode weet de code heel goed te controleren. Ik heb een PID (Full) algoritme gebruikt om de correcties glad te strijken en de koers van de lijn terug te krijgen. Aangezien alles kan worden verbeterd, zal ik blijven spelen met de code om een efficiëntere versie te bereiken.
Als aanvulling deed ik de simulatie van deze robot in de Webots-applicatie. Het is nog steeds in het proces van verbetering, maar ik deel deze video zodat je een manier kunt waarderen om mechanische en logische tests (code) uit te voeren om een robot in een virtuele omgeving te besturen en die helpt om de werking van een fysiek gebouwde robot te begrijpen.
Code
Code om de Speed Line Follower Robot V4 te besturen
https://github.com/DrakerDG/Speed-Line-Follower-Robot/commit/12a807aed92c570dce12452064a5d6fe5053cb71