Self balancing Raleigh Chopper inspirerade elektrisk skoter (39 / 39 steg)
Steg 39: Koden för din Arduino Mega
Här är koden bifogas som en textfil, inte som en Arduino skiss som Instructables har problem med skisser.
Det finns två versioner, en grundläggande och en mer avancerad en.
Få den "Grundläggande" versionen först, sedan gå på till nästa som har extra funktioner i det såsom riktning stabilisatorn, handbrake funktion, övervarv "leanback" för att stoppa dig att nå 100% effekt då falla av fronten (se nedan för förklaring av alla dessa).
Öppna textfilen, kopiera och klistra in den i en tom nya Arduino skiss sida, kompilera det (som för en Mega styrelse) sedan spara skissen på datorn.
Glöm inte att hämta FreeSix IMU biblioteket innan du försöker få detta att köra på din Arduino Mega.
Obs: 01/01/15 jag har också bara fäst en andra "Avancerat" version av koden där denna funktion är nu aktiverat som du kan prova.
Extra funktioner i denna mer avancerad version av koden:
Riktning stabilisatorn: Det finns en "riktning stabilisator" avsnitt i koden styrningen avsnitt.
Vad betyder det? Det innebär att om din maskin är driver långsamt vänster eller höger - "yaw," det kommer att fortsätta att göra detta. Om emellertid ett hjul träffar en sten till exempel och maskin gungor kraftigt dvs en snabb vända åt sidan, identifieras som denna programvara och försöka stå emot det plötsliga ofrivillig tur. Det betyder att du är mindre benägna att få snurrade runt och ramla åt sidan om ett hjul träffar något. Det fungerade bra i projekt som skateboard, var relativt enkelt och förlita sig inte på "yaw" uppskattningar, magnetkompass avläsningar (magnetometer) eller något sånt.
När du aktivera en av rattstångens spakar, är funktionen tillfälligt inaktiverad naturligtvis så det fortfarande styr när du vill! När du sänka rattstång hävstång, förvandlas till maskinen. Girhastigheten bygger långsamt upp över en sekund eller två, så ju längre du håller spaken snabbare det börjar vända. Med vanan kan du göra allt från mycket mild vänder piruetter blippande sväng spaken, fasta på plats om håller spaken nedåt (se video på öppna sidan). Den kantiga hastighet av roterande mäts av en gyro och satt till högst i koden så det inte blir snabbare och snabbare på obestämd tid. I framtida versioner av denna kod som jag får göra det hastighet känsliga, dvs du slår mer långsamt när man går snabbt så du inte plötsligt snurra i sidled.
Handbroms funktion: Även om du drar båda rattstångens spakar i denna version, kommer att maskinen luta sig tillbaka 5 grader och bromsa. Därför fungerar detta som typ av handbromsen.
Övervarv korrigering (leanback): Det också kommer att göra om makten att motorerna överstiger 70%. Detta stoppar maskinen går för fort och du faller av framsidan. Själv Balanserare får aldrig att nå 100% effekt annars finns det inget i reserv för att påskynda chassit under dig så du kan sedan sakta ner. Vid 100% effekt det skulle sakta börjar falla över framlänges (men samtidigt gå på max hastighet så förvänta sig att skada). Av automatiskt lutar tillbaka (för att bromsa) vid 70% effekt, bör det övertala dig att sakta ner som du kan känna det försöker motstå din lust att gå fortare.