Monocopter experimenteel ontwerp

Enkelblads helikopter, esdoornzaad, monocopter, roterende vleugel.
Plaats reactie
Gebruikersavatar
luppie
Beheerder
Berichten: 1730
Lid geworden op: do aug 12, 2010 9:29 pm
Locatie: Double-u monkeyfield
Contacteer:

Re: Monocopter experimenteel ontwerp

Bericht door luppie » do dec 19, 2013 5:32 pm

Hey Han als je vliegtuig voor de 4e keer neer stort ga je toch ook weer vliegen? :P 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.

Gebruikersavatar
luppie
Beheerder
Berichten: 1730
Lid geworden op: do aug 12, 2010 9:29 pm
Locatie: Double-u monkeyfield
Contacteer:

Re: Monocopter experimenteel ontwerp

Bericht door luppie » ma dec 23, 2013 2:34 pm

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.

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
En het werkt ook nog :P
Heb je vragen over foto's op het forum of andere privacy gevoelige dingen, stuur dan een pb of email naar mij.

Gebruikersavatar
Erikf
Lid
Berichten: 779
Lid geworden op: za sep 24, 2011 4:41 pm
Contacteer:

Re: Monocopter experimenteel ontwerp

Bericht door Erikf » ma dec 23, 2013 2:51 pm

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 :D
Je bent te bescheiden ;)

Mooi dat je met het programma verder bent gekomen. Op naar de volgende stap :)
Groeten,
Erik

Gebruikersavatar
luppie
Beheerder
Berichten: 1730
Lid geworden op: do aug 12, 2010 9:29 pm
Locatie: Double-u monkeyfield
Contacteer:

Re: Monocopter experimenteel ontwerp

Bericht door luppie » ma dec 23, 2013 3:13 pm

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 8-)

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) 208 keer gedownload
pin_change_interrupt_met_HMC5883L.txt
kladblok bestand
(10.94 KiB) 195 keer gedownload
Heb je vragen over foto's op het forum of andere privacy gevoelige dingen, stuur dan een pb of email naar mij.

Gebruikersavatar
luppie
Beheerder
Berichten: 1730
Lid geworden op: do aug 12, 2010 9:29 pm
Locatie: Double-u monkeyfield
Contacteer:

Re: Monocopter experimenteel ontwerp

Bericht door luppie » ma dec 23, 2013 7:20 pm

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. 8-)

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
  }
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.
Heb je vragen over foto's op het forum of andere privacy gevoelige dingen, stuur dan een pb of email naar mij.

Gebruikersavatar
Erikf
Lid
Berichten: 779
Lid geworden op: za sep 24, 2011 4:41 pm
Contacteer:

Re: Monocopter experimenteel ontwerp

Bericht door Erikf » ma dec 23, 2013 8:10 pm

Goe gedaan :!: weer een stapje verder :D

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

Gebruikersavatar
ph-svv
Lid
Berichten: 1393
Lid geworden op: wo jun 06, 2012 2:08 pm
Locatie: Ede
Contacteer:

Re: Monocopter experimenteel ontwerp

Bericht door ph-svv » ma dec 23, 2013 9:24 pm

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
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 ;)

Gebruikersavatar
luppie
Beheerder
Berichten: 1730
Lid geworden op: do aug 12, 2010 9:29 pm
Locatie: Double-u monkeyfield
Contacteer:

Re: Monocopter experimenteel ontwerp

Bericht door luppie » di dec 24, 2013 9:04 pm

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
Afbeelding

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.

Gebruikersavatar
eric_laermans
Berichten: 93
Lid geworden op: za sep 14, 2013 9:14 am
Contacteer:

Re: Monocopter experimenteel ontwerp

Bericht door eric_laermans » do dec 26, 2013 11:19 am

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.

Gebruikersavatar
luppie
Beheerder
Berichten: 1730
Lid geworden op: do aug 12, 2010 9:29 pm
Locatie: Double-u monkeyfield
Contacteer:

Re: Monocopter experimenteel ontwerp

Bericht door luppie » do dec 26, 2013 8:26 pm

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.
Heb je vragen over foto's op het forum of andere privacy gevoelige dingen, stuur dan een pb of email naar mij.

Plaats reactie