Quadhelix - UAV

Berätta om dina pågående projekt.
Användarvisningsbild
LHelge
Inlägg: 1772
Blev medlem: 2 september 2007, 18:25:31
Ort: Östergötland
Kontakt:

Re: Quadhelix - UAV

Inlägg av LHelge »

Vad jag förstod så hade du redan programmerat om dina fartreglage för att ta emot signalen som i2c istället. Varför inte modifiera det programmet så de går att köra baklänges också. Det borde inte vara så svårt. Behöver du inspiration så har Microchip flera bra applikationsnötter om sensorlös BLDC-styrning.
niklascooke
Inlägg: 42
Blev medlem: 13 januari 2011, 15:54:00
Ort: Göteborg

Re: Quadhelix - UAV

Inlägg av niklascooke »

Hej,

Ja jag har modifierat dom till I2C, men det jag är orolig för då är att det kanske tar för lång tid att först bromsa ner propellern för att sedan börja snurra åt andra hållet. Jag tror det tar för lång tid. Men om detta var möjligt så hade man kunna flyga på dom mest konstiga sätt med lite datorkraft bakom. Uppochner inga problem.
ToPNoTCH
Inlägg: 5136
Blev medlem: 21 december 2009, 17:59:48

Re: Quadhelix - UAV

Inlägg av ToPNoTCH »

Låter fantasifullt att man den skulle klara att hålla balansen med motorbortfall genom att växla riktning.

För övrigt är det ju sensorless reglage vi talar här, och det känns som det lätt skulle kunna framkalla magisk rök, att ha rotation åt ett håll och kasta om åt andra.

Utan att ha fördjupat mig misstänker jag att man håller reda på varvtal genom att sampla back EMF.

Det borde rimligen vara så att de BLDC motorer man kan ändra riktning på är sensored.

Men det där med variabel pitch på propellern såg ju intressant ut. Med riktigt snabba servon så kanske det går.

Om inte annat kan man ju tänka sig rätt häftiga manövrar med sådana :tumupp:
Användarvisningsbild
hubben
Inlägg: 1754
Blev medlem: 7 september 2010, 11:46:58
Ort: Örviken

Re: Quadhelix - UAV

Inlägg av hubben »

Du lär ju knappast behöva snabbare servon än på en rc-helikopter...
Jag har en RC bil med en BLDC motor och ett enkelt kinafartreglage. Reglaget har både broms och back, och det sitter ingen sensor i den motorn... så nog fungerar det. Det enda du behöver göra för att "backa" är att växla 2 faser...
ToPNoTCH
Inlägg: 5136
Blev medlem: 21 december 2009, 17:59:48

Re: Quadhelix - UAV

Inlägg av ToPNoTCH »

Nää.. men du vet ju att man vill ha tail-servon som är snabba på helis av just den anledningen (jag skrev att jag trodde på teorin).

Det enkla kina reglaget, var väl ändå skapat för ändamålet ?
Då har det säkert koll på när den passerar 0 varv, och därmed åt vilket håll den roterar.

Tvivlar absolut inte på att din bil funkar, men det är inte samma sak som att det funkar på flyg reglagen.

Den borstlösa tekniken bygger på att man kastar om strömmen genom lindningarna med CPU kraft i stället för rotor/stator.

Det kniviga är att veta NÄR man skall kasta om för att justera varvtalet och hålla det.

Den vanligaste metoden är att exakt efter man har strömsatt lindningarna, slå av en kort stund (eiktigt kort) och mäta den ström som genereras av motorns egna
rotation (back EMF), på detta sätt kan man få reda på var motorn befinner sig och därmed få rätt timing på nästa puls man skall ge ut.

Om fartreglaget enbart har kod för en riktning kan man inte växla denna via mottagaren.
At man däremot kan kasta om polariteten är ju inte riktigt samma sak.

Jämför med en genomskinlig klocka, vänder du på den går den åt motsatt håll men du har inte rört mekaniken för det.

Nu var ju det en jävla jämförelse, men ett bra försök :P
Användarvisningsbild
hubben
Inlägg: 1754
Blev medlem: 7 september 2010, 11:46:58
Ort: Örviken

Re: Quadhelix - UAV

Inlägg av hubben »

hehe, jo, jag tänkte på swashservon. Tror du får bättre respons med ett "normalsnabbt" swashservo än med varierande motorhastighet ändå. Men det är klart, snabbare = bättre!

Självklart behöver du ett fartreglage med backfunktion för att kunna backa motorn, annars blir det ju svårt?
Det jag reagerade över var meningen att man behöver en motor med sensorer för att kunna ändra riktning, men det behöver man alltså inte.
Jag vet hur back EMF fungerar i teorin. ;-)
Användarvisningsbild
LHelge
Inlägg: 1772
Blev medlem: 2 september 2007, 18:25:31
Ort: Östergötland
Kontakt:

Re: Quadhelix - UAV

Inlägg av LHelge »

I och med att TS byggt om sina fartreglage för att ta in börvärdet via i2c istället för PWM så antar jag att han både har möjlighet att programmera om processorn på dem och tillgång till källkoden för mjukvaran.

De allra flesta mjukvaror för att styra en borstlös motor utan sensorer har en tabell med 6 kommuteringslägen (eventuellt ett sjunde för att bromsa). Tilsammans med tre halvbryggor skickas en PWM styrd ström in genom en motorterminal och ut genom en annan. Den tredje terminalen samplas under en "stabil" del av PWM perioden. När en nollgenomgång (Vin/2 genomgång) detekteras på den samplade signalen går man till nästa steg i kommutationstabellen efter en viss delay. Beroende på om man går framåt eller bakåt i denna så kommer motorn snurra framåt eller bakåt.

Genom att stänga den övre transistorn i alla halvbryggor och PWM:a de nedre så kan man med hjälp av de övre frihjulsdioderna och induktansen i motorlindningarna skapa en boost-regulator av motorn och på så sätt bromsa den genom att skicka en ström tillbaka i batteriet.

Om man skulle bromsa motorn tills den står hyffsat stilla och sedan byta riktning i kommutationstabellen borde det gå att få även ett flyg-reglage att gå baklänges.
Användarvisningsbild
hubben
Inlägg: 1754
Blev medlem: 7 september 2010, 11:46:58
Ort: Örviken

Re: Quadhelix - UAV

Inlägg av hubben »

Ah, så det man egentligen styr med "timingen" i reglagen är delayen från nollgenomgången tills man byter steg? Kortare delay = mer aggressiv timing?
Det låter så enkelt när du beskriver det, men jag har fått för mig att det är rätt svårt?
Användarvisningsbild
LHelge
Inlägg: 1772
Blev medlem: 2 september 2007, 18:25:31
Ort: Östergötland
Kontakt:

Re: Quadhelix - UAV

Inlägg av LHelge »

Nu vet jag inte riktigt hur du menar med timing, men jag skulle snarare tro att man har ett lågpassfilter på insignalen och timingen är tidskonstanten för detta filter. En längre timing innebär på så vis att en stor förändring i styrsignalen kommer gradvis ganska långsamt, medan en kortare timing gör att responsen kommer fortare. Den timing jag pratar om är väldigt beroende av motorns varvtal så den går inte att ställa in på förhand.

Nollgenomgången för back-emf kommer mitt på varje kommutationsperiod, så enklaste sättet att få den rätt i en microkontroller är att man startar en hårdvarutimer när man byter kommutationsläge (dvs när man hoppar ett steg i tabellen). När sedan nollgenomgången kommer så läser man av detta värde och vet att det är precis lika långt kvar tills man ska byta till nästa läge. Då laddar man en ny (eller samma) timer för att generera ett interrupt när den når samma värde och i det interruptet byter man till nästa kommutationsläge.

För att på ett vettigt sätt kunna sampla bemf:en så behövs det ett anti-alias filter på inkommande AD-omvandlare och detta kommer göra att signalen får en fasförskjutning vid höga varvtal. I vissa fall har man även ett digitalt filter imlementerat i microkontrollern som även detta ger en fasförskjutning. Därför korrigeras ofta den siffra man laddar i interrupt timern för att kompensera för detta vid väldigt höga varvtal.

Eftersom back-emf är beroende av varvtalet enligt

bemf = rpm / kv

rpm = motorns nuvarande varvtal
kv = motorkonstant maxvarvtal per volt

så kommer bemf att vara noll när motorn står still och lika stor som batterispänningen när motorn går på max varvtal. Eftesom det då inte går att sampla bemf när motorn står still startar man den i synkront läge tills motorn har tillräckligt varvtal för att lyckas låsa på bemf:en. I synkront läge stegar man bara fram i kommutationstabellen med en timer som går fortare och fortare.

Det är egentligen inte så svårt att bygga ett eget fartreglage, men rent ekonomiskt är det nog betydligt bättre att modifiera mjukvaran i ett man köpt från kina.
ToPNoTCH
Inlägg: 5136
Blev medlem: 21 december 2009, 17:59:48

Re: Quadhelix - UAV

Inlägg av ToPNoTCH »

Efterssom disskutionen uppstod i samband med redundans, så måste man även lista ut hur man skall kunna identifiera motor bortfall.

Genererar ESC, några "slave transmit" på I2C eller lyssnar dom bara ??.
Annars kan ju utblivet svar utgöra trigger kanske.

Jag kan inte riktigt släppa tanken på den variabla pitcen heller.
Helvet vad det skulle bli åka av om man kunde gå på konstant RPM :P

LHelge:
Jag har ju tittat lite på MultiWII koden.
Där sätter man ett "tomgångsvärde" för att man inte vill att motorerna skall stanna "mid air".
Jag tolkade som att syftet var att slippa delay som uppstår för att få snurr efter 0 RPM, och att man därmed kan få jobbigt med kontrollen vid avancerade manövrar.
Det får mig att fundera på om det är realistiskt att "balansera" genom konstanta byten av riktning, men teoretiskt borde man inte behöva det.
Den "ensamma" motorn borde väl bara behöva jobba åt fel håll i nödsituation, men det beror kanske på farkostens läge vid felet.
Fan det här blir lite rörigt. :wacko:
Användarvisningsbild
hubben
Inlägg: 1754
Blev medlem: 7 september 2010, 11:46:58
Ort: Örviken

Re: Quadhelix - UAV

Inlägg av hubben »

LHelge skrev:Nu vet jag inte riktigt hur du menar med timing, men jag skulle snarare tro att man har ett lågpassfilter på insignalen och timingen är tidskonstanten för detta filter. En längre timing innebär på så vis att en stor förändring i styrsignalen kommer gradvis ganska långsamt, medan en kortare timing gör att responsen kommer fortare. Den timing jag pratar om är väldigt beroende av motorns varvtal så den går inte att ställa in på förhand.
Timingen man ställer in i ESC:en har ingenting med förändring av throttelläge att göra utan det är helt enkelt någonting man ställer in för att olika motorer vill ha olika timing. Vissa kallar det "förtändning" och en högre mer aggressiv timing gör att motorn drar mer ström och går varmare, men ger mer effekt. Dock är det väldigt olika på motorer hur timinginställningen ska vara för att de ska gå bra. Får du timingfel börjar motorn hoppa som att den får fasfel, och det låter ju som att det skulle kunna vara så att man förskjuter delayen efter nollgenomgången med timingen. Hög timing = växla lite före dubbla tiden för att få "förtändning" och ge extra skjuts -> låg timing = vänta lite längre än dubbla tiden för att få en säker och stabil gång men tappa lite effekt. Kör du med för hög timing blir det ju då precis som ett fasfel då motorn bromsas upp istället för att fortsätta accelerera... Obs, jag har ingen fakta jag bara spånar. ;-)
Användarvisningsbild
LHelge
Inlägg: 1772
Blev medlem: 2 september 2007, 18:25:31
Ort: Östergötland
Kontakt:

Re: Quadhelix - UAV

Inlägg av LHelge »

Ok, ja det låter ju som att man kan ställa om så kommuteringen kommer ett par grader före eller efter mitten på fasen.
niklascooke
Inlägg: 42
Blev medlem: 13 januari 2011, 15:54:00
Ort: Göteborg

Re: Quadhelix - UAV

Inlägg av niklascooke »

hej,

Anledningen till min frånvaro är att jag håller på att planerar för ett nytt bygge som jag tänkte ha klar till våren med funktioner som GPS hold, Altitude hold, OSD och dom vanliga grejerna. Då kommer jag även skapa en bygg logg som kommer finnas i denna tråd när det är dags med massor av bilder, och kod om någon är intresserad.
Kretskorten är beställda i vitt :)

Mvh
Användarvisningsbild
PeterH
Inlägg: 8639
Blev medlem: 15 mars 2006, 15:57:10
Ort: Gävle/Valbo

Re: Quadhelix - UAV

Inlägg av PeterH »

Klart vi är intresserade! 8)
Användarvisningsbild
Andax
Inlägg: 4379
Blev medlem: 4 juli 2005, 23:27:38
Ort: Jönköping

Re: Quadhelix - UAV

Inlägg av Andax »

Såg att det kommit en intressant 6-dof IMU-sensorkrets SD746 i QNF40 (6x6x1.2 mm^3). Kan kanske vara intressant att sätta ihop ett litet kretskort med den på. Kanske något för Swech?

Länk till datablad
Skriv svar