Stap 2: Wat we willen verkrijgen? En hoe?
Dit navigatiesysteem dead reckoning wordt beïnvloed door cumulatieve fout; de precisie van de meting moet hoog zijn om een kleine fout cirkel na een lange weg zijn. Dus, na enkele goede resultaten met zelfgemaakte encoders, heb ik besloten om iets beter te gebruiken: een paar 12V-200 rpm motoren, aangesloten op een paar van 300 Count Per revolutie (cpr) encoders, zowel beschikbaar bij vele internetwinkels robotica gericht.
Basisprincipes
Om te vangen alle de pulsen gegenereerd door de 300 cpr-encoder op een 3000 rpm motor in 4 x decodering methode (120 kHz), we speciale hardware nodig voor elke encoder (QEI = Quadrature Encoder Interface). Na wat experimenteren met een dubbele PIC18F2431, vastbesloten ik dat de juiste upgrade een dsPIC is. In het begin waren ze twee dsPIC30F4012 motor controllers controle wielen positie en snelheid, voor het uitvoeren van odometry en gegevens van de twee motors om een dsPIC30F3013 te verstrekken. Dit algemene doel DSC is krachtig genoeg om gegevens ophalen, doen sommige trigonometriefuncties om te berekenen coördinaten van de positie en opslaan van gegevens met betrekking tot het pad bedekt met het oog op een kaart van het veld, alles op een zeer hoog tempo.
Wanneer de Raad van bestuur en de programma's waren bijna voltooid, bracht Microchip een nieuwe, krachtige 28-pins SPDIP in de dsPIC33F serie voor zowel motorcontroller (MC) en voor algemeen gebruik (GP) versies. Ze zijn aanzienlijk sneller dan de dsPIC30F, ze hebben veel meer beschikbaar programmageheugen en RAM (handig voor veldtoewijzing), ze vereisen minder stroom (goed voor een robot batterijbedreven) en hun vermogens DMA vereenvoudigen veel I/O operaties.
Belangrijkst, zijn dit de eerste motor controllers van de Microchip met twee QEIs op dezelfde chip. Laten we beginnen een nieuwe poort weer! De logische blokdiagram is vergelijkbaar met de voor het vorige bestuur , maar de hardware en software zijn veel eenvoudiger sinds dat ik kan gebruik maken van één DSC slechts in plaats van drie . Er is geen behoefte aan een snelle communicatie tussen de begeleider en de motor controllers om te wisselen van navigatie parameters. Elk proces is eenvoudig te synchroniseren omdat het op dezelfde chip. Het perifere pin select vermogen van de dsPIC33F-serie verder vereenvoudigt de PCB, zodat een interne verbinding van randapparaten en een grotere flexibiliteit.
Dit brengt ons bij de "dsPIC gebaseerd navigatie Control board" of dsNavCon voor kort. Dit board is ontworpen als een onderdeel van een meer complex systeem. In een volledige explorer robot, zullen andere platen beheersen, geluid, licht, gas sensoren, evenals bumpers en ultrasone range finders te vinden van doelen en het vermijden van hindernissen.
Als een standalone board, dsNavCon kan ook worden gebruikt voor een eenvoudige "lijn volgeling" robot, iets complexer als een robot voor een odometry en dead-reckoning wedstrijd, of een zogenaamde "kan robot" (voor kan verzamelen wedstrijden). Er is nog tal van gratis programmageheugen toe te voegen code voor dergelijke taken. Met klein of geen wijzigingen in software kan het ook gebruikte standalone voor een externe gecontroleerde voertuig, de bidirectionele RF-modem gebruiken met een soort van slimme afstandsbediening. Deze afstandsbediening kunt verzenden complex commando's zoals "Verplaats FWD 1m," "turn 15° links," "looppas FWD op 50 cm/s," "Ga naar X, Y coördinaten," of iets dergelijks.
De Raad van bestuur en de robot ook zijn ontworpen om te worden gemaakt door iemand thuis zonder professionele gereedschappen en apparatuur.