Monocopter experimenteel ontwerp
- luppie
- Beheerder
- Berichten: 1731
- Lid geworden op: do aug 12, 2010 9:29 pm
- Locatie: Double-u monkeyfield
- Contacteer:
Re: Monocopter experimenteel ontwerp
Hey Han als je vliegtuig voor de 4e keer neer stort ga je toch ook weer vliegen? Anders was je ook al lang gestopt
Heb je vragen over foto's op het forum of andere privacy gevoelige dingen, stuur dan een pb of email naar mij.
- luppie
- Beheerder
- Berichten: 1731
- Lid geworden op: do aug 12, 2010 9:29 pm
- Locatie: Double-u monkeyfield
- Contacteer:
Re: Monocopter experimenteel ontwerp
Zaterdag een proefvlucht gedaan maar hij vloog niet goed. Problemen waren oa
1. de 3 blads propeller vloog snel van de propsaver af omdat hij er niet lekker aan wil.
2. het lanceerpootje was te zwak en te kort.
3. waarschijnlijk de stand van de motor verkeerd. toen de prop er af vloog ging hij opeens wel omhoog.
4. roer aan de vleugel is misschien wat te klein.
Ik heb nu de motor een paar centimeter richting het zwaartepunt verschoven waardoor er minder krachten op de motor er prop komen. Ook heeft dit een positieve invloed op het zwaartepunt want ik moest lood toevoegen. Ik neem de volgende keer een stuk schuim mee om het roer mee te vergroten.
Ook heb ik in software gisteren vooruitgang geboekt. Het is mij gelukt om de code om op hoge snelheid de ontvanger te lezen (via pinchange interrupts) en de code voor het lezen van het kompas op hogere snelheid (75Hz) samen te voegen in één code.
Dit was voor mij een grote uitdaging door het gebrek aan kennis/ervaring met programmeren. De code is maar liefst al 14 pagina's lang en word enkel maar gebruikt om de gegevens te lezen. Het echte rekenwerk moet met de verkregen data nog gebeuren.
hier een stukje voorbeeldcode hoe ik een lampje laat branden wanneer het noorden voorkant is plus 50 graden om de brandtijd van het lampje wat te verlengen.
En het werkt ook nog
1. de 3 blads propeller vloog snel van de propsaver af omdat hij er niet lekker aan wil.
2. het lanceerpootje was te zwak en te kort.
3. waarschijnlijk de stand van de motor verkeerd. toen de prop er af vloog ging hij opeens wel omhoog.
4. roer aan de vleugel is misschien wat te klein.
Ik heb nu de motor een paar centimeter richting het zwaartepunt verschoven waardoor er minder krachten op de motor er prop komen. Ook heeft dit een positieve invloed op het zwaartepunt want ik moest lood toevoegen. Ik neem de volgende keer een stuk schuim mee om het roer mee te vergroten.
Ook heb ik in software gisteren vooruitgang geboekt. Het is mij gelukt om de code om op hoge snelheid de ontvanger te lezen (via pinchange interrupts) en de code voor het lezen van het kompas op hogere snelheid (75Hz) samen te voegen in één code.
Dit was voor mij een grote uitdaging door het gebrek aan kennis/ervaring met programmeren. De code is maar liefst al 14 pagina's lang en word enkel maar gebruikt om de gegevens te lezen. Het echte rekenwerk moet met de verkregen data nog gebeuren.
hier een stukje voorbeeldcode hoe ik een lampje laat branden wanneer het noorden voorkant is plus 50 graden om de brandtijd van het lampje wat te verlengen.
Code: Selecteer alles
if (headingDegrees > 0 && headingDegrees < 50) //wanneer heading groter is als 0 en kleiner als 50
{digitalWrite (13, HIGH); // dan mag het ledje aan
}
else
{digitalWrite (13, LOW); //anders ledje uit
Heb je vragen over foto's op het forum of andere privacy gevoelige dingen, stuur dan een pb of email naar mij.
- Erikf
- Lid
- Berichten: 779
- Lid geworden op: za sep 24, 2011 4:41 pm
- Contacteer:
Re: Monocopter experimenteel ontwerp
Volgens mij ben je 1 poging vergeten te vermelden staat helaas niet op film : de monocopter ging zeker wel de lucht in, en bleef daar ook even. Het was een gaaf gezicht en ook een gaaf geluid
Je bent te bescheiden
Mooi dat je met het programma verder bent gekomen. Op naar de volgende stap
Je bent te bescheiden
Mooi dat je met het programma verder bent gekomen. Op naar de volgende stap
Groeten,
Erik
Erik
- luppie
- Beheerder
- Berichten: 1731
- Lid geworden op: do aug 12, 2010 9:29 pm
- Locatie: Double-u monkeyfield
- Contacteer:
Re: Monocopter experimenteel ontwerp
Poging 1 op het veld staat wel op film. Er waren 2 mensen aan het filmen waaronder Frans volgens mij dus wanneer die het filmpje nog hebben..... mag het ook naar mij sturen dan plaats ik hem wel.
Ik stond wel even te kijken dat ik een applaus kreeg toen hij even los kwam
Ik heb voor de liefhebber de code even toegevoegd als bijlage bij dit bericht want hij is wat groot om zo te plaatsen.
Ik stond wel even te kijken dat ik een applaus kreeg toen hij even los kwam
Ik heb voor de liefhebber de code even toegevoegd als bijlage bij dit bericht want hij is wat groot om zo te plaatsen.
- Bijlagen
-
- pin_change_interrupt_met_HMC5883L.ino
- arduino IDE bestand
- (10.55 KiB) 268 keer gedownload
-
- pin_change_interrupt_met_HMC5883L.txt
- kladblok bestand
- (10.94 KiB) 248 keer gedownload
Heb je vragen over foto's op het forum of andere privacy gevoelige dingen, stuur dan een pb of email naar mij.
- luppie
- Beheerder
- Berichten: 1731
- Lid geworden op: do aug 12, 2010 9:29 pm
- Locatie: Double-u monkeyfield
- Contacteer:
Re: Monocopter experimenteel ontwerp
hey Erik het is gelukt! deel 1 van de software heb ik werkend. Dus ik bepaal met de zender waar de voorkant van de monocopter is. wanneer de voorkant van de monocopter daadwerkelijk voorbij zijn vliegrichting draait gaat er een lampje branden zodat ik weet dat daar de voorkant is.
Ik moet nu zien dat yaw een langere waarde krijgt dus ipv 1 graad meerdere graden omdat het kompas hele stukken overslaat bij het uitlezen en dus mis ik vaak de juiste waarde.
Code: Selecteer alles
yawinput = ((unYAWIn/100)-14); //maakt van 1000 tot 2000 (unYAWIn signaal) een getal van -5 tot +5
newyaw = constrain(newyaw, 0, 360); //(limiteer de waarde van newyaw van 0 tot 360)
if (yaw > 360) //wanneer yaw groter is als 360..
{
newyaw= 0; //word newyaw 0.
}
if (yaw < 0) //wanneer yaw kleiner is als 0...
{
newyaw= 360; // word newyaw 360.
}
yaw = (newyaw + yawinput); //nieuwe vliegrichting is newyaw + yawinput (-5 tm +5)
newyaw=yaw; //newyaw word gelijk aan yaw zodat bij de volgende loop yawinput bij het nieuwe getal word opgeteld
if (headingDegrees == yaw) //is yaw gelijk aan kompasrichting?
{digitalWrite (13, HIGH); // dan mag het ledje aan
}
else
{digitalWrite (13, LOW); //anders ledje uit
}
Heb je vragen over foto's op het forum of andere privacy gevoelige dingen, stuur dan een pb of email naar mij.
- Erikf
- Lid
- Berichten: 779
- Lid geworden op: za sep 24, 2011 4:41 pm
- Contacteer:
Re: Monocopter experimenteel ontwerp
Goe gedaan weer een stapje verder
Ik zie nog wel een verbeterpuntje. 0 graden is het zelfde als 360 graden. Als je dus van 0 graden naar -1 graden gaat maakt het programma er weer 360 van, dus springt de richting 1 graad terug. De andere kant op eigenlijk hetzelfde: van 361 naar 0 graden..........
In de praktijk zal je het waarschijnlijk niet merken maar voor de netheid zou de 0 een 1 moeten zijn of 360 moet dan 359 zijn, maar dat kun je kiezen. Zelf zou ik van 360 359 maken zodat recht vooruit 0 graden is.
Ik zie nog wel een verbeterpuntje. 0 graden is het zelfde als 360 graden. Als je dus van 0 graden naar -1 graden gaat maakt het programma er weer 360 van, dus springt de richting 1 graad terug. De andere kant op eigenlijk hetzelfde: van 361 naar 0 graden..........
In de praktijk zal je het waarschijnlijk niet merken maar voor de netheid zou de 0 een 1 moeten zijn of 360 moet dan 359 zijn, maar dat kun je kiezen. Zelf zou ik van 360 359 maken zodat recht vooruit 0 graden is.
Groeten,
Erik
Erik
- ph-svv
- Lid
- Berichten: 1393
- Lid geworden op: wo jun 06, 2012 2:08 pm
- Locatie: Ede
- Contacteer:
Re: Monocopter experimenteel ontwerp
360 is inderdaad gelijk aan 0.
in de luchtvaart hebben ze het ook over 0 tot 359 graden.
Mooi man
verstuurd vanaf mijn Android telefoon
in de luchtvaart hebben ze het ook over 0 tot 359 graden.
Mooi man
verstuurd vanaf mijn Android telefoon
Groet Sander,
Mijn Hangar
Het denkwerk neemt altijd een significant deel van de totale bouwtijd in beslag,
vandaar dat mijn kisten nog niet af zijn
Mijn Hangar
Het denkwerk neemt altijd een significant deel van de totale bouwtijd in beslag,
vandaar dat mijn kisten nog niet af zijn
- luppie
- Beheerder
- Berichten: 1731
- Lid geworden op: do aug 12, 2010 9:29 pm
- Locatie: Double-u monkeyfield
- Contacteer:
Re: Monocopter experimenteel ontwerp
Ik had gisteren de code nog aangepast zodat het ledje langer blijft branden. dat was nog een hele kluif maar het werkt wel.
hier een plaatje om de code duidelijk te maken
hier een plaatje om de code duidelijk te maken
Code: Selecteer alles
yawinput = ((unYAWIn/100)-14); //maakt van 1000 tot 2000 (unYAWIn signaal) een getal van -5 tot +5
newyaw = constrain(newyaw, 0, 360); //(limiteer de waarde van newyaw van 0 tot 360)
if (yaw > 359) //wanneer yaw groter is als 359..
{
newyaw= 0; //word newyaw 0.
}
if (yaw < 0) //wanneer yaw kleiner is als 0...
{
newyaw= 359; // word newyaw 359.
}
yaw = (newyaw + yawinput); //nieuwe vliegrichting is newyaw + yawinput (-5 tm +5)
newyaw=yaw; //newyaw word gelijk aan yaw zodat bij de volgende loop yawinput bij het nieuwe getal word opgeteld
/* om het ledje langer te laten branden moet hij aan gaan wanneer yaw +/-10 graden voorbij headingDegrees gaat.
Om de +/- 10 graden in stand te houden rondom 0 en 359 graden de volgende formule
*/
yawmin = (yaw -10); //ondergrens dat lampje brand
yawplus = (yaw +10); // bovengrens dat lampje brand
yawverschilPLUS = (10 - (359 - yaw)); // 10 min het verschil tussen 359 en yaw (dat aan 0 moet worden opgeteld).
yawverschilMIN = (10 - yaw ); // 10 min het verschil tussen 0 en yaw (dat van 359 moet worden afgetrokken).
// rechtsom draaien (graden worden meer)
if (yawmin > 349) //wanneer yawmin kleiner is als 349 (dan is yaw 359)
{
yawmin= 359 - yawverschilMIN; //yawmin word 359 - yaw verschilMIN.
}
if (yawplus > 359) //wanneer yawplus groter is als 359..
{
yawplus = yawverschilPLUS; //word yaplus word 0 + yawverschilPLUS.
}
//linksom draaien (graden worden minder)
if (yawmin < 0) //wanneer yawmin kleiner is als 0...
{
yawmin= 359 - yawverschilMIN; // yawmin word 359 - yawverschilMIN.
}
if (yawplus < 10) //wanneer yaw kleiner is als 10...
{
yawplus= yawverschilPLUS; // word yawplus word 0 + yawverschilPLUS.
}
if (headingDegrees >= yawmin && headingDegrees <= yawplus) //is de waarde van kompas tussen yawmin en yawplus?
{digitalWrite (13, HIGH); // dan mag het ledje aan
}
else
{digitalWrite (13, LOW); //anders ledje uit
}
Heb je vragen over foto's op het forum of andere privacy gevoelige dingen, stuur dan een pb of email naar mij.
- eric_laermans
- Berichten: 93
- Lid geworden op: za sep 14, 2013 9:14 am
- Contacteer:
Re: Monocopter experimenteel ontwerp
Ik volg dit draadje al een tijdje met stijgende interesse. Een vraag die m'n gedachten kruiste... Heeft het zin de 'stationary pitch' zo laag mogelijk te houden om de bestuurbaarheid te vergroten? Ik kan me voorstellen dat bij een groot aantal rotaties per tijdseenheid de nauwkeurigheid ook groter moet zijn, vandaar.
- luppie
- Beheerder
- Berichten: 1731
- Lid geworden op: do aug 12, 2010 9:29 pm
- Locatie: Double-u monkeyfield
- Contacteer:
Re: Monocopter experimenteel ontwerp
De pitsh ofwel de invalshoek van de vleugel zal afhankelijk zijn van zijn gewicht ten opzichte van de draaisnelheid. Dus ik zou met een kleine invalshoek maar grote draaisnelheid kunnen werken of andersom.
Een hoge snelheid heeft als voordeel dat het stabiel vliegt het nadeel is dat je computer zijn berekeningen ook sneller moet doen. Vooral de rekensnelheid (meetsnelheid) bepaald straks de nauwkeurigheid en die rekensnelheid snelheid is nu nog te laag.
Een hoge snelheid heeft als voordeel dat het stabiel vliegt het nadeel is dat je computer zijn berekeningen ook sneller moet doen. Vooral de rekensnelheid (meetsnelheid) bepaald straks de nauwkeurigheid en die rekensnelheid snelheid is nu nog te laag.
Heb je vragen over foto's op het forum of andere privacy gevoelige dingen, stuur dan een pb of email naar mij.