Quadrocopter och BLDC styrning
Postat: 18 mars 2014, 22:10:55
Hej!
Min plan är att bygga (som många andra gjort förut) en quadrocopter. Det jag tänkte göra lite annorlunda är att istället för att traditionellt använda separata ESCs (electronic speed controllers), så vill jag styra respektive BLDC motor från en och samma cpu (sensorlöst). Jag vill oxå satsa lite extra på HMI't och min tanke är att istället för att designa en helt ny handkontroll så tänkte jag utnyttja en smartphone som ger börvärden (roll-, pitch-, yaw), som Quadrocoptern sen skall realisera.
För att göra detta tänker jag använda en Infineon processor som bygger på CortexM4 i BGA kapsel (XMC4500). För att klara av 4x sensor BLDC styrning behövs så mycket som möjligt av jobbet läggas ut på perferienheter, och det ser ut som man kan använda CCU80 och CCU81 för avancerad trefasmotorstyr (dötidsgenerering, korrekta strömsampel mm). Tittar man i databladen så ser man att det är 2 compare register till varje CCU80 modul, vilket betyder att om det finns pinnar över (vilket det verkar göra i BGA kapsel) så bör det således gå att styra upp till 4 motorer. Vidare har cpun i denna kapsel 26 st AD ingångar, där jag tänkte mig att man mäter respektive fasspänning och fasström. Detta kommer alltså förbruka 24 AD ingångar. Lägg till en AD ingång för att läsa av mellanledsspänning så är det bara en till övers, phu.
För att estimera aktuell roll/yaw/pitch kommer jag använda mig av MPU9250 (acc-, gyro-, kompass) krets som jag kommer prata med via SPI.
Vad är gjort idag?
- HelloWorld och andra applikationer med CPU
- Börjat experimentera att styra en BLDC motor
- Verifierat att det går att styra 2 motorer med en CCU modul
- Fått ut bra värden och realiserat komplementärfilter för att estimera roll och pitch, dock vill jag arbeta vidare med denna med kalmanfiltrering och se om jag får ut bra kompassvärden också, vill försäkra mig om att de ej störs när det mycket kräm ut mot motorn
- Påbörjat schema för BGA kapsel.
Det jag känner att jag skulle vilja ha lite input är framför allt hur man kan prata med sin μC med smartphone eller trådlöst på något annat bra sätt. Min första tanke var att se om jag kunde utnyttja CC3000 och prata med den över WiFi, men vad jag har förstått kan inte den agera AcessPunkt, utan i så fall får telefonen göra det. Detta begränsar ju räckvidden ganska kraftigt, eller så får man ha en router vid sidan av när man ska köra, men det är ju lite bökigt. Dock tror jag i första hand Quadrocoptern kommer användas inomhus, och då bör ett avstånd på ca 10 meter fungera OK. Man kanske kan ha två kontrollers till den?
Har även funderingar på om man kan ta regleren ett steg till och göra den till en 10 DOF, dvs reglera även höjd. För att göra detta kanske man kan använda sig av en ultraljudssensor. Kanske i kombo med en barometer på något sätt, att man kan få till en höjdestimering som inte sticker iväg när quadrocoptern går över ett föremål? Vem vet..
Funderar även på att kanske ha med GPS för att göra det möjligt att göra den autonom.
Är helt grön vad gäller kamera och bildtrafik med μC. Det kanske är möjligt att montera en kamera och få upp en display på telefonen?
Kanske ska skrota WiFi kommunikation och istället köra bluetooth? Räckvidd ungefär samma tänker jag?
Ja som ni märker är det många delsteg och det kommer ta månader innan saker börjar hända på riktigt. Har ni input får ni gärna dela med er av era idéer.
Tack tack
/Oscar
Min plan är att bygga (som många andra gjort förut) en quadrocopter. Det jag tänkte göra lite annorlunda är att istället för att traditionellt använda separata ESCs (electronic speed controllers), så vill jag styra respektive BLDC motor från en och samma cpu (sensorlöst). Jag vill oxå satsa lite extra på HMI't och min tanke är att istället för att designa en helt ny handkontroll så tänkte jag utnyttja en smartphone som ger börvärden (roll-, pitch-, yaw), som Quadrocoptern sen skall realisera.
För att göra detta tänker jag använda en Infineon processor som bygger på CortexM4 i BGA kapsel (XMC4500). För att klara av 4x sensor BLDC styrning behövs så mycket som möjligt av jobbet läggas ut på perferienheter, och det ser ut som man kan använda CCU80 och CCU81 för avancerad trefasmotorstyr (dötidsgenerering, korrekta strömsampel mm). Tittar man i databladen så ser man att det är 2 compare register till varje CCU80 modul, vilket betyder att om det finns pinnar över (vilket det verkar göra i BGA kapsel) så bör det således gå att styra upp till 4 motorer. Vidare har cpun i denna kapsel 26 st AD ingångar, där jag tänkte mig att man mäter respektive fasspänning och fasström. Detta kommer alltså förbruka 24 AD ingångar. Lägg till en AD ingång för att läsa av mellanledsspänning så är det bara en till övers, phu.
För att estimera aktuell roll/yaw/pitch kommer jag använda mig av MPU9250 (acc-, gyro-, kompass) krets som jag kommer prata med via SPI.
Vad är gjort idag?
- HelloWorld och andra applikationer med CPU
- Börjat experimentera att styra en BLDC motor
- Verifierat att det går att styra 2 motorer med en CCU modul
- Fått ut bra värden och realiserat komplementärfilter för att estimera roll och pitch, dock vill jag arbeta vidare med denna med kalmanfiltrering och se om jag får ut bra kompassvärden också, vill försäkra mig om att de ej störs när det mycket kräm ut mot motorn
- Påbörjat schema för BGA kapsel.
Det jag känner att jag skulle vilja ha lite input är framför allt hur man kan prata med sin μC med smartphone eller trådlöst på något annat bra sätt. Min första tanke var att se om jag kunde utnyttja CC3000 och prata med den över WiFi, men vad jag har förstått kan inte den agera AcessPunkt, utan i så fall får telefonen göra det. Detta begränsar ju räckvidden ganska kraftigt, eller så får man ha en router vid sidan av när man ska köra, men det är ju lite bökigt. Dock tror jag i första hand Quadrocoptern kommer användas inomhus, och då bör ett avstånd på ca 10 meter fungera OK. Man kanske kan ha två kontrollers till den?
Har även funderingar på om man kan ta regleren ett steg till och göra den till en 10 DOF, dvs reglera även höjd. För att göra detta kanske man kan använda sig av en ultraljudssensor. Kanske i kombo med en barometer på något sätt, att man kan få till en höjdestimering som inte sticker iväg när quadrocoptern går över ett föremål? Vem vet..
Funderar även på att kanske ha med GPS för att göra det möjligt att göra den autonom.
Är helt grön vad gäller kamera och bildtrafik med μC. Det kanske är möjligt att montera en kamera och få upp en display på telefonen?
Kanske ska skrota WiFi kommunikation och istället köra bluetooth? Räckvidd ungefär samma tänker jag?
Ja som ni märker är det många delsteg och det kommer ta månader innan saker börjar hända på riktigt. Har ni input får ni gärna dela med er av era idéer.
Tack tack
/Oscar