Quadrocopter och BLDC styrning

Planering och tankar kring eventuella framtida projekt.
Leon23
Inlägg: 74
Blev medlem: 24 februari 2010, 11:43:47

Quadrocopter och BLDC styrning

Inlägg av Leon23 »

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
floppen
Inlägg: 109
Blev medlem: 14 september 2012, 13:28:32

Re: Quadrocopter och BLDC styrning

Inlägg av floppen »

Hej

Vad gäller infineons XMC så tror jag det är ett bra val, Troligt den bästa ARMen för motorkontroll nu.
Men jag hade nog gjort det enkelt och kört med 4st XMC1300 istället, 1/motor och då gjort eget fartreglage typ men med utgång för servo så man kan styra pitch också ev även ytterligare en kanal.
Tror du vill slippa långa kablar till motorena "Störningar mm", Minus med ett kort blir just detta om du inte flyttar ut fetarna till motorn men då tappar du ju lite din idé ändå.

Vad gäller radio så titta på MRF24WG0MA / MB från Microchip, Denna kan du köra softAP på, Stack mm finns "Gratis om du kör Pic" men går nog lätt att porta så även Dave kör den.
Sköj projekt, Leker själv med en XMC1300 "digital kraft"
Leon23
Inlägg: 74
Blev medlem: 24 februari 2010, 11:43:47

Re: Quadrocopter och BLDC styrning

Inlägg av Leon23 »

Har fått ordning på större delarna av schemat nu tror jag och funderat lite över mjukvaru-arkitektur.

Som jag tidigare skrivit är det inte bestämt hur kommunikation med smartphone kommer ske. Det verkar krävas en del mjukvaru-pill för att ens få en LED att lysa och kan väl tänka mig köpa mig bort från det i detta projekt. Har ni tips på BT4.0 moduler som man snabbt kommer igång med?

Sneglat lite på RFDuino; Tanken är att i så fall göra en footprint för en blåtandsmodul, exempelvis RFD22301 eller liknande och prata I2c/spi med den för att ta emot börvärden som min uC sen får realisera i motorstyrningen.

Förslag mottages tacksamt :-)

//O
Leon23
Inlägg: 74
Blev medlem: 24 februari 2010, 11:43:47

Re: Quadrocopter och BLDC styrning

Inlägg av Leon23 »

Floppen: Tror faktiskt det är mindre komplext att realisera, om det går i HW med antalet pinnar, på en uC.

Tror jag skrotar idén med WiFi tills vidare, verkar vara för mycket SW pill :(
Användarvisningsbild
netrunner
Inlägg: 5510
Blev medlem: 4 februari 2005, 12:26:05
Ort: 127.0.0.1

Re: Quadrocopter och BLDC styrning

Inlägg av netrunner »

En ESC är ju bara en trippel-H brygga med P-FET och N-FET, samt att mikrodatorn kan mäta på 3-fas strömmen för att veta när det är dax att slå över till nästa lindning. Mikrodatorn brukar bara den billigaste som finns som har 10 lediga ben. (6 + 3 + 1).

En ESC kostar ju ganska mycket, runt 7 USD + frakt och kan man få ner priset på mikrodatorn så spara man lite. Det skulle alltså vara intressant med en 4 / 6 / 8 motors ESC där en mikrodator sköter allt ... och billigare. Mikrodatorn kan ju vara lämplig arduino då det inte finns några prestandakrav. Får man den att funka bra så kommer kineserna att tillverka den om hårdvara och mjukvara är öppen.

Ska du ha en telefon som autopilot är frågan om inte lagget i kommunikationen och bristen på precision kommer att stoppa projektet. Som det är idag uppdateras ESC 50 - 180ggr per sekund direkt från mikrodatorn. Att infoga lagg där (WiFi)... är nog inte så bra.

Att ha en telefon / platta som fjärrkontroll är inte så bra då det är viktigt att kunna ha blicken på dronen hela tiden och inte behöva titta ner för att hitta strömbrytare och inställningar. Gaspådraget måste kunna finjusteras hela tiden. Att titta ner för att hitta inställningar går inte.
Leon23
Inlägg: 74
Blev medlem: 24 februari 2010, 11:43:47

Re: Quadrocopter och BLDC styrning

Inlägg av Leon23 »

Vet inte hur lågt man kan trycka ner latencyn, men känns som blåtand är bättre ur det perspektivet än Wifi.
Tanken är att kunna ha ögonen på dronen, styra yaw/roll/pitch med telefon och gaspådrag med nån form av scroll-bar som regleras upp/ner med vänster tumme.

Det verkar ju funka tillräckligt bra för andra iaf,

:-)
Användarvisningsbild
netrunner
Inlägg: 5510
Blev medlem: 4 februari 2005, 12:26:05
Ort: 127.0.0.1

Re: Quadrocopter och BLDC styrning

Inlägg av netrunner »

Man ska ju ha ganska många ESC så ofta köper man den billigaste och sen laddar man en ny firmware som heter SimonK. Det är öppen kod som gör att en vanlig ESC kan uppdateras 150 - 180ggr i sekunden istället för vanliga 50ggr. Det gör stor skillnad.

Det skulle ju kunna vara intressant att modifiera SimonK så att den motsvara 4 / 6 / 8 ESC med en större arduino.

Den film du länkar till är en drone med automatiskt höjdhållning. Ofta är det med barometer / ultraljuds-sonar. Då är inte gasreglaget så viktigt men man kan få andra problem relaterat till sensorerna. Samt att den inte hjälper dig när du ska hitta "dragläge" vid start.

Har du en drone på 3000gram så måste ju motorerna ge exakt 3000gram i lyftkraft för att du inte ska stiga / sjunka.

Om du på grund av något anledning ger 3002gram så stiger dronen och är du inomhus är det inte många sekunder innan du slår i taket.

Tittar man på tex Arducopter (350kr) som är öppen kod och har utvecklats i ca 10år så har den ca 15 - 20 så kallade "flight mode" där programvaran hjälper piloten med olika former av automatik och beräkningar.

Vill du verkligen göra en insats för drones så är du troligen mer än välkommen att bidra till arducopter med fler funktioner.

Även efter 10år så saknas vissa saker som tex, automatisk utfällning av landningsställ och andra "högnivå funktioner".
Leon23
Inlägg: 74
Blev medlem: 24 februari 2010, 11:43:47

Re: Quadrocopter och BLDC styrning

Inlägg av Leon23 »

Estimering av höjd tänkte jag kunde ske med ultraljudssensor kombinerat med gyrot och aktuella vinklar, barometer verkar vara för känsligt..

Tänkte man skulle programmera två körlägen; ett 10DOF där höjden regleras med scrollbar och höjdestimatorn, och ett annat där höjden är "open-loop", dvs referenshastigheter skickas ut mot alla fyra motorer mot ett lämpligt värde från scrollbaren, så får roll/pitch/yaw- regulatorerna sköta offset..
Leon23
Inlägg: 74
Blev medlem: 24 februari 2010, 11:43:47

Re: Quadrocopter och BLDC styrning

Inlägg av Leon23 »

Kan ha hittat en blåtandsmodul som kanske kan funka för ändamålet.
http://redbearlab.com/nrf51822-sdk/

Har inte programmerat blåtand innan. Kravet är att det ska funka med både ios och android, dvs för apples sida gäller BLE
Vilhelmsson
Inlägg: 381
Blev medlem: 21 mars 2012, 12:05:59
Ort: Malmö

Re: Quadrocopter och BLDC styrning

Inlägg av Vilhelmsson »

Du har inte funderat på 3DR ? bra räckvidd billig finns färdigt protokoll apm och multiwii :D

http://www.ebay.com/itm/3DR-Radio-Telem ... 5b0216f671
Leon23
Inlägg: 74
Blev medlem: 24 februari 2010, 11:43:47

Re: Quadrocopter och BLDC styrning

Inlägg av Leon23 »

Coolt, inte sett de innan. Dock har de fortfarande nackdel med att de kräver en lös sladd + antenn från mobil hängandes. Kan dock säkert funka bra på längre avstånd.
Orginalplanen var BT kort range, sen en eventuellt ett annat pcb för long range
Leon23
Inlägg: 74
Blev medlem: 24 februari 2010, 11:43:47

Re: Quadrocopter och BLDC styrning

Inlägg av Leon23 »

Just nu står det mellan följande:
Kort range (Bluetooth LowEnergy):
- nRF51822 eller nRF8001 (Nordic) Pris: 3 Euro. Range: ca 50m praktiskt enligt användare. +4dBm. (IMU Duino)
- RFD22301 (RF Digital). Pris: 12-13 Euro. (RFduino)
- CC2541 (Texas). Pris: 2-3 Euro. Range: ca 50m praktiskt enligt användare. +0dBm.
- BLE121 (Bluegiga Long Range). Pris: 15Euro, Range: upp till 450m. +8dBm.

Long range (Xbee/433MHz):
- 3D3. Pris: 200kr
- Xbee. Pris: 400kr?

Tänker mig båda pratar med min huvudsakliga uC via SPI. Då jag är lat vill jag jobba med den som har mest biblotek och färdiga low level drivers som möjligt. Pris är inte super noga..
Jämförelsesite: http://www.argenox.com/library/wp_bluetooth.php
Någon som har praktisk erfarenhet av dessa?
Skriv svar