Bouwverslag: zelfbouw flight controler op basis van Arduino Uno

Ik zou bijna jaloers worden. Ik zou ook graag de uitdaging aan gaan maar aangezien ik al meer dan 20 jaar 5 dagen per week professioneel code zit te kloppen kan ik me er 's avonds niet meer toe zetten.
Ik zit ook de hele dag achter de computer :( Maar het hoef ook niet van de ene op de andere dag af toch? ;) Zo verwacht ik zelf echt niet binnen een paar weken op gps te kunnen vliegen. Zelf vindt ik het gewoon leuk om te puzzelen (hacken) om de code steeds te verbeteren. En ik zie wel hoe ver ik kom.

Wat bedoel je trouwens met "horizon mode"?

Deze heeft iig alvast de druk, acceleratie, gyro, etc. allemaal via i2c.
Mooi bordje :cool:
 
Bouwdraadje weet ik nog niet, maar waarschijnlijk wel.
Ook die ga ik volgen.


Horizon mode is als de X of Y as stick minder dan 200 off-center is, dan is de quad in stabiliteitsmode. Als de waarde daar buiten komt gaat de software over in ongestabilizeerd. Zo kun je looping maken en toch gestabiliseerd landen of hoveren.

De X en Y as worden afzonderlijk beoordeeld en afgehandeld. De overgang naar ongestabilizeerd moet natuurlijk zo vloeiend mogelijk zodat je er bijna niks van merkt.

Ik ben nog al RSI gevoelig en merk goed wanneer ik 's avonds ook nog veel PC werk doe. Daar heb ik snel last van.
 
Horizon mode is als de X of Y as stick minder dan 200 off-center is, dan is de quad in stabiliteitsmode. Als de waarde daar buiten komt gaat de software over in ongestabilizeerd. Zo kun je looping maken en toch gestabiliseerd landen of hoveren.
Ok, helder.

Tja, als je snel last hebt van rsi moet je inderdaad geen programma in de avonduren gaan schrijven. Dan ben je zeker aan de beurt :(

Inmiddels heb ik de versnellingssensor ook betrokken in de hoogteregeling. Vanavond de eerste testen gedaan en dat werkt best mooi.

Ik hoop alleen dat het binnenkort weer wat rustiger weer wordt zodat ik de eerste testen met de gps kan doen. Misschien volgende week een keer.
 
Ik heb inmiddels een test opstelling gemaakt, met een Due, de sensor, en een bluetooth dongle die aan 1 van de seriele poorten zit zodat ik de basis luchtdruk kan instellen.
Zit nu alleen nog te vogelen hoe de motor waarden te gaan bepalen, zal wel stukje verdiepen worden in de materie hoe een Quad exact werkt, ik vlieg ze al wel, maar de exacte werking is me nog onduidelijk :(
 
Misschien is het handig om bij het begin te beginnen. Haal eerst de ontvangersignalen binnen en laat de quad vliegen op alleen de gyro's. Daarna de boel uitbouwen met de versnellingssensor, druksensor, gps, enz. Zo kan je blijven testen op een vliegende quad.

Op het bureau lijken veel zaken goed te werken. Maar vaak verknallen de vliegeigenschappen van de quad de theorieën ;-) Het is dus belangrijk om op een werkende en vliegende quad te kunnen testen. En dan kan je beter bij het begin beginnen.
 
Misschien is het handig om bij het begin te beginnen. Haal eerst de ontvangersignalen binnen en laat de quad vliegen op alleen de gyro's. Daarna de boel uitbouwen met de versnellingssensor, druksensor, gps, enz. Zo kan je blijven testen op een vliegende quad.

Op het bureau lijken veel zaken goed te werken. Maar vaak verknallen de vliegeigenschappen van de quad de theorieën ;-) Het is dus belangrijk om op een werkende en vliegende quad te kunnen testen. En dan kan je beter bij het begin beginnen.

Ontvanger signalen heb ik al voor elkaar, inclusief de normalizatie, gezien ik PPM heb met mn Futuba, dit zet ik al om naar een PWM binnen de due, zodat ik hier makkelijk mee kan rekenen. zodra ik het frame ed. binnen heb kan ik 's beginnen met het testen van de sturingen, en dan ook een eigen draadje starten ;)
 
Het is weer even stil geweest wat betreft mijn vorderingen. Maar dat betekend niet dat we stil hebben gezeten. De afgelopen dagen ben ik op zoek gegaan naar nieuwe methoden om de meetwaarde van de druksensor te verbeteren. Dit was:

full


En is nu:

full

In de laatste grafiek staat de quad op het bureau. Vervolgens gaat de quad in 5 seconden naar het plafond (150 cm hoger). Daarna met dezelfde snelheid tot op de grond. Na een paar seconden zo snel mogelijk naar het plafond. Na een paar seconden weer snel naar de grond met een kleine vertraging op het eind. Vervolgens weer rustig op het bureau.

Met deze nieuwe methode heb ik om de 10cm een reproduceerbare meting :cool: Hopelijk kan ik snel een test doen om te kijken hoe dit in de praktijk werkt.
 
Laatst bewerkt door een moderator:
Hoe is dit afgelopen Andre?

Ik heb het inderdaad getest. Dat had ik natuurlijk met zo weinig mogelijk wind willen doen, maar ja. Dat zat er ff niet in.

Maar het werkt uitstekend! Eigenlijk precies zoals ik had verwacht. Als de stick over de helft gaat, dan wordt de accel niet meer meegerekend en blijft alleen de gyro over.

Ik kon dus een looping maken al was de circel van de looping wel iets groter dan normaal. Er is iets verlies van de expo vanwege wat compensatie tijdens de overgang naar ongestabilizeerd.

Hopelijk kan ik dit weekend nog een paar keer goed testen met minder wind, maar voor nu ben ik zeer tevreden.
 
Mooi om te horen dat het goed bevalt Andre. En mooi gemaakt!

Zelf ben ik gisteren tegen de digitale muur op gelopen, het programma was te groot geworden..... :(

full



Nu ben ik dus bezig om het programma door te lopen om het compacter te maken. Dat gaat erg goed en heb alweer 4kb vrij kunnen maken. Daarnaast wil ik de hoogteregeling naar de I2C to PWM converter brengen. Scheelt me weer veel rekenwerk (tijd) en 3kb aan programma omvang. De strijd is dus nog niet voorbij :cool:

Wel bijzonder dat ik bijna 1000 regels code geproduceerd heb..... inclusief schaars commentaar. Pfff..... :rolling:
 
Laatst bewerkt door een moderator:
Mooi om te horen dat het goed bevalt Andre. En mooi gemaakt!

Zelf ben ik gisteren tegen de digitale muur op gelopen, het programma was te groot geworden..... :(

full



Nu ben ik dus bezig om het programma door te lopen om het compacter te maken. Dat gaat erg goed en heb alweer 4kb vrij kunnen maken. Daarnaast wil ik de hoogteregeling naar de I2C to PWM converter brengen. Scheelt me weer veel rekenwerk (tijd) en 3kb aan programma omvang. De strijd is dus nog niet voorbij :cool:

Wel bijzonder dat ik bijna 1000 regels code geproduceerd heb..... inclusief schaars commentaar. Pfff..... :rolling:

Ja, die melding ken ik inmiddels ook wel.
Met 1 compiler define heb je er 8kb bij: #define HardwareSerial_h

Dat zorgt er voor dat de seriele library niet wordt meegenomen in de binary die in de Arduino wordt geladen. Probeer maar. Maar dan kun je dus niet de seriele poort gebruiken om iets te monitoren.

1000 regels, da's al aardig wat idd.
 
Laatst bewerkt door een moderator:
Met 1 compiler define heb je er 8kb bij: #define HardwareSerial_h
........
Probeer maar.
Ik neem aan dat het een define-optie is bij de Aeroquad is? Als ik bij de Arduino de seriele poort niet start scheelt dat ongeveer "maar" 1kb. 8kb is inderdaad een "mooi" cadeau :(
 
Ik neem aan dat het een define-optie is bij de Aeroquad is? Als ik bij de Arduino de seriele poort niet start scheelt dat ongeveer "maar" 1kb. 8kb is inderdaad een "mooi" cadeau :(

Nee, Aeroquad raad het zelfs af.

Misschien doordat er in Aeroquad veel code uitgeschakeld moet worden door die define, simpelweg ondat het anders niet compileert, dat de meeste winst in de code van Aeroquad zelf zit.

Ik kreeg er 8kb bij, en daar was ik natuurlijk heel blij mee. Daardoor kon ik de baro/hoogte sensor gebruiken en ook mijn eigen horizon code.

Daaruit blijkt maar weer hoe "bloated" de Aeroquad software eigenlijk is.
 
Vandaag de nieuwe algoritme kunnen testen voor de altitude hold functie. Werkt best aardig dacht ik zo 8-)

 
Laatst bewerkt door een moderator:
Bedankt voor het compliment! Een goede sensor is inderdaad belangrijk. Maar op de juiste manier er mee omgaan net zo ;-)
 
Bedankt voor het compliment! Een goede sensor is inderdaad belangrijk. Maar op de juiste manier er mee omgaan net zo ;-)

Inderdaad. De Aeroquad code rammelt. Daar klaagt iedereen op het Aeroquad forum over. Maar goed, het is ook geen functie wat ik veel zal gebruiken.

Door je filmpje zag ik ook een ander filmpje van je op youtube. Jij kan heel aardig heli sturen ook. 8O8O8O
 
Back
Top