Bouwverslag Gry Maritha

Discussie in 'Bouwverslagen - Schepen' gestart door JaFa, 7 mei 2013.

  1. marten77

    marten77

    Lid geworden:
    22 jul 2007
    Berichten:
    2.325
    Locatie:
    Gouda
    Hallo JaFa,

    We hebben elkaar al even gesproken per mail...
    Maar ik weet zeker, dat er meer mensen wel zo'n servo-slow functie willen kunnen maken :)

    Hier de code, waarbij een luik via een servo signaal word aangestuurd en het tweede luik via twee MultiSwitch kanalen:
    Code:
    #include <VarSpeedServo.h>
    
    #define Minpos1  40  //
    #define Maxpos1  130 //
    #define snelheid1  1  // Hoe hoger, hoe sneller de servo zal bewegen
    #define Minpos2  40  //
    #define Maxpos2  130 //
    #define snelheid2  1  // Hoe hoger, hoe sneller de servo zal bewegen
    
    #define MSinput1  2  // MultiSwitch nummer 1 naar digital pin 2.
    #define MSinput2  3  // MultiSwitch nummer 2 naar digital pin 3.
    #define MSinput3  4  // MultiSwitch nummer 1 naar digital pin 4.
    #define MSinput4  5  // MultiSwitch nummer 2 naar digital pin 5.
    
    VarSpeedServo luiken_voor;  //servo om de luiken te laten bewegen
    VarSpeedServo luiken_achter;  //servo om de luiken te laten bewegen
    
    int pos1;
    int pos2;
    
      void setup()
    {
      luiken_voor.attach(7);  //plaats de servo op pin 7
      luiken_achter.attach(8);  //plaats de servo op pin 8
    
      pinMode(MSinput1, INPUT_PULLUP);  //
      pinMode(MSinput2, INPUT_PULLUP);  //
      pinMode(MSinput3, INPUT_PULLUP);  //
      pinMode(MSinput4, INPUT_PULLUP);  //
    
      pos1 = Minpos1;  // Start waarde voor servo positie pos1
      pos2 = Maxpos2;  // Start waarde voor servo positie pos2
       
    }
    
      void loop()
      {
      if(digitalRead(MSinput1) == LOW){pos1 = Maxpos1;}
      if(digitalRead(MSinput2) == LOW){pos1 = Minpos1;}
    
      if(digitalRead(MSinput3) == LOW){pos2 = Maxpos2;}
      if(digitalRead(MSinput4) == LOW){pos2 = Minpos2;}
    
      delay(10);
       
      luiken_voor.write(pos1,snelheid1,false);  // laat de servo naar de variabele 'pos1' gaan
      luiken_achter.write(pos2,snelheid2,false);  // laat de servo naar de variabele 'pos2' gaan
      }
    
    Voor bovenstaande dien je wel een library te installeren !
    Namelijk deze: https://github.com/netlabtoolkit/VarSpeedServo.git
    Voor meer info betreft deze library, zie hier: https://github.com/netlabtoolkit/VarSpeedServo
    Have fun en ga zo door :thumbsup:
     
    Laatst bewerkt: 5 aug 2016
  2. JaFa

    JaFa

    Lid geworden:
    20 jun 2010
    Berichten:
    951
    Locatie:
    Leuven (Belgie)
    Hey bedankt Marten, het eerste wat ik moet uitzoeken is #define Snelheid#, daar 1 het traagste nummer is moet ik eerst weten nog het nog niet te snel is... ik veronderstel dat 255 de servo standaard snelheid zal zijn maar dat moet ik allemaal testen... Zodra alles binnen is probeer ik het een en ander, ik zal hiervan ook een uitgebreide video maken voor de kijkers ;-)
     
    Dennist vindt dit leuk.
  3. marten77

    marten77

    Lid geworden:
    22 jul 2007
    Berichten:
    2.325
    Locatie:
    Gouda
    Welke hoek maken je servo's voor de luiken ?
    Ik kan zo eens kijken en zien, hoe langzaam een standaard servo op waarde 1 gaat.

    In de library kon ik zo snel geen berekening vinden.
     
  4. marten77

    marten77

    Lid geworden:
    22 jul 2007
    Berichten:
    2.325
    Locatie:
    Gouda
    Bij deze een video:


    Lijkt mij langzaam genoeg ;)
    De servo verdraait zich daar totaal 90 graden en dat neemt al ongeveer 30 seconden in beslag !
     
  5. JaFa

    JaFa

    Lid geworden:
    20 jun 2010
    Berichten:
    951
    Locatie:
    Leuven (Belgie)
    Hey Marten het probleem is dat ik een winch servo gebruik, deze draait een kabel op, hij doet in totaal 2,3 toeren nu de winchservo gebruikt een gewone, 90gr pot, dus ik denk dat ik jou snelheid gewoon kan overnemen in hetzelfde tijdsframe.
     
  6. marten77

    marten77

    Lid geworden:
    22 jul 2007
    Berichten:
    2.325
    Locatie:
    Gouda
    Hoi Jan,

    Mocht het zo zijn, dat een stap van één grade te groot blijkt te zijn...
    Dan kan je ook gebruik maken van een andere functie.
    Waardoor de resolutie veel breder en dus ook veel nauwkeuriger is.

    We hebben nog wel even contact, zodra je de bestelde Arduino board in huis hebt :thumbsup:
     
  7. JaFa

    JaFa

    Lid geworden:
    20 jun 2010
    Berichten:
    951
    Locatie:
    Leuven (Belgie)
    Hey mannen, een kleine vraag, in mijn F14 zit een vrij standaard 12v nimh kan ik deze gewoon vervangen door een lipo s3 of ga ik dan problemen krijgen met de zender gezien de lipo een beetje meer potentiaal heeft?
     
  8. beagle

    beagle

    Lid geworden:
    8 okt 2014
    Berichten:
    513
    Locatie:
    Antwerpen- Belgie
    hoeveel mAH heeft jouw NimH?
    in mijn FC16/Boat-truck zat standaard een 1500mAh en ik heb die nog nooit leeg kunnen varen.
    ik was het eerder moe dan dat de zender batterij aan opladen toewas.

    Om een idee te geven. ik heb eens als test de zender op laten staan en gaan kijken tot wanner de spanning aan zijn minimum kwam.... en dat bleek +/-8 uur te zijn. 8 uur varen dat is lang hoor...
     
  9. JaFa

    JaFa

    Lid geworden:
    20 jun 2010
    Berichten:
    951
    Locatie:
    Leuven (Belgie)
    Hey Beagle, wel mij F14 is niet echt standaard, er zitten 3 multiprop's en 2 multiswitchen in en alles loopt op een 4000mAh (4a) NimH, maar deze haalt niet veel meer dan een uur of 4 dus ik vrees dat die multi's veel stroom vreten
    Vandaar dat ik er een s3 in wil, dan kan ik makkelijk 10A zetten zodoande er een eeuwigheid uithalen... mijn vraag was echter of de zenderelektronica last heeft van de 2 a 3 volt extra van de lipo, misschien al iemand dit geprobeerd alvorens ik een "dure" rookmachine heb...
     
  10. Tinus-online

    Tinus-online

    Lid geworden:
    28 feb 2009
    Berichten:
    338
    Locatie:
    Goudswaard
    Ik heb een 3S werkend in mijn F14, de print kan er wel tegen. :)
     
  11. Baggeraar

    Baggeraar

    Lid geworden:
    31 jan 2010
    Berichten:
    15.448
    Locatie:
    H&NF
    Ik kan met 5 multipropmodules makkelijk 6 uur achter elkaar varen.
    als ik dan een dag of wat later dan nog eens 5 uur vaar gaat dat ook.
    met 9,6V 4300mAh
     
  12. Broeckx Ronny

    Broeckx Ronny

    Lid geworden:
    28 sep 2008
    Berichten:
    875
    Locatie:
    Hulshout Belgie
    Veel meer dan die 12Volt moet je toch niet op een F14 zetten , dat beknot de levensduur van de print enorm .
    Ik heb een 10,8 volt NimH batterij 4300mAh er in zitten en twee multiswitchprop , kan makkelijk 10Hr (twee dagen varen) zonder dat het spanningsmetertje zakt .
    Ik vernieuw wel alle twee jaar de batterij door een nieuwe , denk dat dat ook een grote rol speelt .
    Groetjes
    Ronny
     
  13. Baggeraar

    Baggeraar

    Lid geworden:
    31 jan 2010
    Berichten:
    15.448
    Locatie:
    H&NF
    Aparte spanning.............
    9 cellen?
    Ik meen dat het al erg vol is met een 8 cel 4300mAh.
     
  14. JaFa

    JaFa

    Lid geworden:
    20 jun 2010
    Berichten:
    951
    Locatie:
    Leuven (Belgie)
    Hey Ronny ik denk dat ik dat maar eens ga doen de batterij vervangen want het is inderdaad niet normaal,net getest, als je ziet dat de zender 0,3 _0,5a trekt dat hij zo snel plat is.

    Ondertussen ben ik al 2 dagen alle electronica en aansluitingen aan het voorbereiden om hem finaal in elkaar te zetten.
    Een aantal dingen worden waarschijnlijk nog vervangen door een aduino sturing maar het merendeel werkt al behoorlijk.

    vanavond werk ik het cosmetische af van de boegsectie foto's volgen...

    ps. Harm ik heb er 10cel 4000mAh in zitten
     
  15. JaFa

    JaFa

    Lid geworden:
    20 jun 2010
    Berichten:
    951
    Locatie:
    Leuven (Belgie)
    Vanmorgen heb ik de Nano's binnen gekregen, ook de shield printjes (zeg maar kleine moederbordjes) zijn er, deze laatste zijn gewoon makkelijk voor het testen ik kan er de servo's rechtstreeks op vast pinnen alsmede rechtstreeks een voeding erop zetten, waarschijnlijk word dit gewoon een UBEC van 5V5A maar dat is allemaal nog te bezien.

    Vanavond eens bekijken of ik wat beweging krijg in de servo's en of ze traag genoeg lopen...

    Eerst zal ik maar eens zoeken of ik nog winches heb wat uitbouwen heb ik maar weinig zin in en testen in de boot vind ik niet echt optimaal.

    De Arduino moet initieel 2 winches laten werken dit vanuit een potentiometer op de multiprop.

    Daarna zou ik graag nog heet zijluik en de lift willen integreren en als laatste de 2 anker winches...

    Mocht dat alles kunnen ben ik niet slecht af, op dit ogenblik lopen al deze functies op een multiprop maar waarschijnlijk is een switch makkelijker voor een aantal dingen, dit moet in een later stadium nog worden gecombineerd met een sound module daar de startpuls dan ook sound zal starten in functie van die timing...

    Al bij al is dit gewoon veel sukkel werk en testen en proberen.
     
  16. Broeckx Ronny

    Broeckx Ronny

    Lid geworden:
    28 sep 2008
    Berichten:
    875
    Locatie:
    Hulshout Belgie
    Inderdaad , 10,8Volt en negen cellen . Het is juist mogelijk om één cel op de zijkant van het "gebruikelijke" pakket te solderen . Het pakket zit dan ook goed vast . En waarom 10,8 Volt , dat is een keuze die ik heb gemaakt na enkele vaststellingen vroeger voor de 2,4GHz . We vaarden toen allemaal op de 40Mhz met onze F14 en het bleek toen dat indien we vaarden met twee kristallen die dichtbij mekaar lagen bvb 40,720 en 40,730 , we mekaar toch stoorden als we wat verder van de zender af waren . Onze zenders hadden een pakket op 9,6Volt en toen we één cel meer staken , naar 10,8Volt gingen , konden we veel verder varen alvorens er storingen optraden .We zaten dan wel aan het eind van de vijver , zodus dat was genoeg voor ons .
    Daarom ben ik dit blijven doen maar nu dat de meesten zijn overgeschakelt naar 2,4GHZ zijn er geen problemen meer, ik heb bijna alle frequentie's ter beschikking . Zelf vind ik het zonde om over te schakelen naar 2,4GHZ want dan moet ik grote investeringen gaan doen en mijn trouwe F14 (vier stuks) met multiswitch en multiprop doen het nog uitstekend .
    Groetjes
    Ronny
     
  17. JaFa

    JaFa

    Lid geworden:
    20 jun 2010
    Berichten:
    951
    Locatie:
    Leuven (Belgie)
    Hey Ronny, ik had er een 10 cel in zitten, dus 12v, dit werkte goed maar waarschijnlijk eens foutief opgeladen of zo nu deze was reeds 4 a 5 jaar oud, ondertussen is ze vervangen door een andere, alles lijkt op dit moment normaal.

    Maar aangezien ik de zender momenteel enkel gebruik om functies uit te testen zal een "tijds" test nog niet voor meteen zijn al moet ik zeggen dat het wel stilaan eens tijd word dat ze vaart!!!

    Al die toeters en bellen is heel leuk maar de bedoeling is toch er ook eens van te kunnen genieten. Bij mijn volgend model ga ik dat in fases doen zodat ik toch ook er wat mee kan "spelen".

    Ikzelf heb mijn F14 omgezet naar 2,4 omdat ik storingen ondervond met de 40Mhz vooral gerelateerd aan de 3 multiprops en 2 multiswitches naderhand was dat opgelost, ondertussen ben ik er achter dat ik er met andere zenders of een andere setup ook wel was geraakt met waarschijnlijk heel wat minder problemen...

    het is alleszins opgelost dus dat is een goede zaak,

    het arduino project loopt ondertussen als moet ik ik zeggen nog ver van perfect (waarschijnlijk mijn onkunde)

    zodra ik het volledig werkend heb geeft ik een totaal overzichtje, waarschijnlijk kunnen heel veel modelbouwers hier wel iets mee doen, complexe servo en licht functies voor 1,5€ veel goedkoper gaat het niet worden vrees ik...
     
  18. JaFa

    JaFa

    Lid geworden:
    20 jun 2010
    Berichten:
    951
    Locatie:
    Leuven (Belgie)
    Naar goede gewoonte een update, in het vorig verslag was te zien hoe de cargo luiken, voor en achter werkten. Echter zoals door Harm opgemerkt liepen deze veel te snel, er stonden reeds servo vertragers op maar het duurde maar zo'n 9's voor ze volledig open waren.

    Tijd om dit eens anders aan te pakken met met de hulp van een forum lid (Marten77) waar een groot deel van de eer naar toe gaat moet ik zeggen, werd ik geïntroduceerd in de wondere wereld van arduino, als leek denk ik dan ook dat het goed is om dit eens uit te schrijven daar ik meen dat vele modelbouwers hier gebruik van kunnen maken.

    Allereerst eens wat rondgeneusd op enkele Chinese sites en een Arduino Nano aangeschaft, als ook een shield, dit laatste is niet anders dan een klein moederbordje wat het gemakkelijk maakt de servo's rechtstreeks in te pluggen. Dit is geen noodzaak maar voor een eerste projectje wel makkelijk er moet veel (lees heeeeeeel veel)
    getest worden dus in en uitpluggen is geen overbodigheid.

    Dit is het setje:

    [​IMG]


    De voeding is makkelijk aan te sluiten via de klemmen (daarvoor had ik dit shieldje gekozen) en het setje is mooi te monteren de prijs samen was net geen 4€. (Je ziet dat Chinezen niet echt recht kunnen solderen maar ja...)

    Na het voorbeeld van Marten zijn programma te hebben doorspit en hier en daar wat te hebben aangepast was het tijd voor de eerste testen (hierover zijn wel 3 weken heen gegaan :hammer:)

    Hier is het programma, als je het gewoon doorleest is het wel duidelijk er staat een hoop commentaar achter de code zodat ik niet vergeet wat er gebeurt en om dingen duidelijk te maken...

    Code:
    // Gry Maritha Hatch speed regulation MULTIPROP, Fronthatch, Rearhatch, Sidehatch, Lift (anchors would be 5 and 6ste servo)
    
    
    #include <VarSpeedServo.h>
    
    #define RCmax     2200   // DIT IS HET INPUT SIGNAAL MET DE LIMIETWAARDEN
    #define RCmid     1500   //
    #define RCmin     800    //
    #define TimeOut   260000 //
    
    #define Minpos1    10  // Fronthatch
    #define Maxpos1    170 //
    #define Speed1     1  // Hoe hoger, hoe sneller de servo zal bewegen (tussen 1 en 255)
    #define Minpos2    45  // RearHatch d25 2 toeren is 157mm verplaatsing, voor 3,2rpm d15mm  voor bobijn d7 => 157/(7*3,14) ca7,3rpm
    #define Maxpos2    110 // de hoeksnelheid word bepaald dus meer toeren duurt langer
    #define Speed2     1  //
    #define Minpos3    40  // Sidehatch
    #define Maxpos3    130 //
    #define Speed3     10  //
    // #define Minpos4    40  // Lift (dit moeten we even bekijken pos beneden = Minpos4 uitgeschoven = Maxpos4 en hiervoor (midden is juist voor de uitschuif)
    // #define Maxpos4    130 //
    // #define Speed4     10  // 
    
    //#define Minpo5     40  // AnchorLeft
    //#define Maxpos5    130 //
    //#define Speeddown5 255  // vallen
    //#define Speedup5     1  //  ophalen
    //#define Minpos6    40  // AnchorRight
    //#define Maxpos6    130 //
    //#define Speeddown6 255  // valsnelheid
    //#define Speedup6     1  // ophaal snelheid
    
    
    #define RCport1    2   // Pin 4 van de MULTIPROP naar digitale pin 2 van de Arduino
    #define RCport2    3   // 5MP naar D3
    //#define RCport3    4   //
    //#define RCport4    5   //
    //#define RCport5    6   //
    //#define RCport6    7   //
    
    VarSpeedServo Fronthatch;  //servo om de voorluiken te laten bewegen
    VarSpeedServo Rearhatch;   //servo om de achterluiken te laten bewegen
    VarSpeedServo Sidehatch;   //servo om het zijluik te laten bewegen
    // VarSpeedServo Lift;        //servo om de lift te laten bewegen
    
    //VarSpeedServo AnchorLeft;  //servo om de linker anker te laten bewegen
    //VarSpeedServo AnchorRight; //servo om de rechter anker te laten bewegen
    
    int RCpulse1;
    int RCpulse2;
    //int RCpulse3;
    //int RCpulse4;
    //int RCpulse5;
    //int RCpulse6;
    
    
    int pos1;
    int pos2;
    int pos3;
    int pos4;
    
    //int pos5;
    //int pos6;
    
    
      void setup()
    {
      Fronthatch.attach(6);   //plaats de servo op pin 7
      Rearhatch.attach(7);    //plaats de servo op pin 8
      Sidehatch.attach(9); 
      Lift.attach(10);
      //AnchorLeft.attach(11);
      //AnchorRight.attach(12);
      pos1 = Minpos1;  // Start waarde voor servo positie FrontHatch (dicht)
      pos2 = Maxpos2;  // Start waarde voor servo positie Rearhatch (dicht)
      pos3 = Maxpos3;  // Start waarde voor servo positie Sidehatch (dicht)
      pos4 = Maxpos4;  // Start waarde voor servo positie Lift  (onder)
      //pos5 = Maxpos5;  // Start waarde voor servo positie AnchorLeft  (op)
      //pos6 = Maxpos6;  // Start waarde voor servo positie AnchorRight  (op)
    
        
    }
    
      void RCread(){ // hier worden beide RC inputs ingelezen
      RCpulse1 = pulseIn(RCport1, HIGH, TimeOut);  // Reading the pulse from the receiver
      RCpulse2 = pulseIn(RCport2, HIGH, TimeOut);  // Reading the pulse from the receiver
      //RCpulse3 = pulseIn(RCport4, HIGH, TimeOut);
      //RCpulse4 = pulseIn(RCport5, HIGH, TimeOut);
      //RCpulse5 = pulseIn(RCport6, HIGH, TimeOut);
      //RCpulse6 = pulseIn(RCport7, HIGH, TimeOut);
    //  Serial.print("RCpulse1 = ");
    //  Serial.println(RCpulse1);
      }
    
       void loop()
      {
        RCread(); // Ga naar RCread, om de RC inputs in te lezen.
      
        if(RCpulse1 > RCmin && RCpulse1 < RCmax){ // Zijn ze binnen een veilige zone, dan voer onderstaande uit:
          if(RCpulse1 > RCmid + 200){pos1 = Maxpos1;}
          if(RCpulse1 < RCmid - 200){pos1 = Minpos1;}
    
          if(RCpulse2 > RCmid + 200){pos2 = Maxpos2;}
          if(RCpulse2 < RCmid - 200){pos2 = Minpos2;}
      
        }
        Fronthatch.write(pos1,Speed1,false);             // laat de servo naar de variabele 'pos1' gaan
        Rearhatch.write(pos2,Speed2,false);             // laat de servo naar de variabele 'pos2' gaan
      }
    
    De Arduino werkt met input van mijn multiprop, erg simpel het PWM signaal -200 gaat naar de minimale positie van de servo en het PWM signaal +200 naar de maximale, dit met een zelf te bepalen snelheid.

    Nu dit bovenste lijkt allemaal heel simpel maar ik moet zeggen kijk eerste proeven waren volledig mislukt, het geheel luisterde niet jitter op de servo's, geen stabiele eindposities, automatisch teruglopen van servo's moet ik nog doorgaan?

    Hieronder een film van de eerste testen, hierna was het dik balen :mad::confused::(!!!



    Hiermee kon ik dus niets, daarnaast kwam ik ook tot de conclusie dat mijn tech-rek helemaal niet was voorzien voor dit soort dingen dus een verbouwing drong zich op...
     
    MikeMohawk en marten77 vinden dit leuk.
  19. JaFa

    JaFa

    Lid geworden:
    20 jun 2010
    Berichten:
    951
    Locatie:
    Leuven (Belgie)
    De aanpassing van het Tech-rek naar Arduino, wel veel werk is het geweest en eerlijk het is nooit fijn om iets wat eigenlijk wel min of meer werkte terug af te breken en herop te bouwen.

    Tegelijk heb ik afscheid genomen van mijn zelfbouw ESC's en volgregulators, ik heb er 2 BEC's ingebouwd van elk 20A dat moet volstaan voor alle servo's Multi-Prop's en -Switches alsmede voor de Arduino. Voor de ESC's ben ik gegaan voor 2 easy's deze "piepen" ook niet en zijn zoals het er staat heel, makkelijk in gebruik, je sluit ze aan en doet vervolgens helemaal niets en ze werken gewoon.

    Weer veel bla bla dit is het geworden:

    [​IMG]

    Bovenaan zie de de ESC's L-R en boegschroef, rechts daarvan 3ESC's voor de hoofd kraan, daaronder de 2BEC's met daarachter de USM sound module, De blauwe "doosjes" zijn 2 multiprops voor elk 8 servo's en daarachter de in parallel met de USM geplaatste Multiswitch (15A)

    Het geheel werkt naar behoren en een groot deel van de USM is ondertussen geprogrammeerd maar daarover een volgende keer meer.

    Tijd om verder te gaan met de Arduino, na het tegenvallend resultaat was het programma al grotendeels herschreven voor het gebruik met de multiswitch.

    Waarom? Wel ik ging ervan uit dat het signaal van de Multiprop niet stabiel was, servo's liepen mooi maar met de Arduino was het onstabiel.
    Vandaar het idee om de multiswitch te gaan gebruiken hiervoor, dit signaal is immers altijd 1 of 0 (aan of uit).

    Hieronder een voorbeeldje van het andere programma:

    Code:
    // GryMaritha luiken met MULTISWITCH programma FINAL 3/09/16
    
    
    
    #include <VarSpeedServo.h>
    
    #define Minpos1  40  //   de laagste servostand deze moet proefondervindelijk worden bepaald per servo
    #define Maxpos1  130 //   de hoogste servostand (idem)
    #define snelheid1  1  // de snelheid 1 = laagste 255 is servo snelheid (1 = ca 30s voor 180°)
    #define Minpos2  40  //
    #define Maxpos2  130 //
    #define snelheid2  1  //
    #define Minpos3  40  //
    #define Maxpos3  130 //
    #define snelheid3  1  // DIT MOET 19S DUREN
    
    
    #define MSinput1  2  // MultiSwitch nummer 1 naar digital pin 2.
    #define MSinput2  3  // MultiSwitch nummer 2 naar digital pin 3.
    #define MSinput3  4  // MultiSwitch nummer 1 naar digital pin 4.
    #define SNDoutput1  5  // signaal 1 naar soundcard zit op pin 5 dit kan ook op een analoge pin de soundcard is niet pikey
    #define SNDoutput1  6  // signaal 2 naar soundcard zit op pin 6
    #define SNDoutput1  7  // signaal 3 naar soundcard zit op pin 7
    
    
    VarSpeedServo fronthatch;  //servo om de luiken te laten bewegen
    VarSpeedServo Rearhatch;  //servo om de luiken te laten bewegen
    VarSpeedServo Sidehatch;  //servo om de luiken te laten bewegen
    
    int pos1; // de veranderelijke variable voor positie 1 het voorluik
    int pos2;
    int pos3;
    
      void setup()
    {
      Fronthatch.attach(7);  //plaats de servo op pin 7
      Rearhatch.attach(8);  //plaats de servo op pin 8
      Sidehatch.attach(9);     // servo op 9
    
      pinMode(MSinput1, INPUT_PULLUP);  // waarom niet gewoon INPUT omdat hij dan minimaal 3V moet zijn nu is hij altijd "Hoog" of Nul
      pinMode(MSinput2, INPUT_PULLUP);  //
      pinMode(MSinput3, INPUT_PULLUP);  //
      pinMode(SNDoutput1, OUTPUT);  //    Dit is de output voor de SOUNDCARD
      pinMode(SNDoutput2, OUTPUT);  //
      pinMode(SNDoutput3, OUTPUT);  //
    
      pos1 = Minpos1;  // Start waarde voor servo positie pos1 dit kan Minpos 1 of Maxpos1 zijn voor transport is alles beter dicht vandaar minposition
      pos2 = Minpos2;  // Start waarde voor servo positie pos2
      pos3 = Minpos3;  // Start waarde voor servo positie pos2
      
    }
    
      void loop()
      {
      if(digitalRead(MSinput1) == high){pos1 = Maxpos1;} else{pos1 = minpos1;} // FRONTHATCH Hier lees je de puls is hij hoog gaat het luik open, laag sluit het.
      if(digitalRead(MSinput2) == high){pos2 = Maxpos2;} else{pos2 = minpos2;} // REARHATCH
      if(digitalRead(MSinput1) == high){pos1 = Maxpos1;} else{pos1 = minpos1;} // SIDEHATCH
    
      delay(10);
      
      Fronthatch.write(pos1,snelheid1,false);  // laat de servo naar de variabele 'pos1' gaan // hier moet nog een signaal naar de SND card gaan
      Rearhatch.write(pos2,snelheid2,false);  // laat de servo naar de variabele 'pos2' gaan 
      Sidehatch.write(pos3,snelheid3,false);  // deze snelheid moet 19 of 20 seconden zijn
    
      }
    
    Vooraleer ik dit alles wilde testen heb ik toch eerst eens het bestaande MultiProp programmaatje laten lopen, en dit in combinatie met het nieuwe tech-rek liep "cristalsharp"
    geen jitter, geen teruglopen niets van dat alles.
    En ja toen drong het me door nu loop alles op één voedingsbron alle batterijen zitten op het tech-rek met de neutraal gelinkt, dit was bij de eerste test niet en de Arduino houd er dus niet van als het input signaal en het output signaal niet van dezelfde bron komt, of toch minstens negatief gekoppelde bronnen (hier kwam ik achter door nog wat te testen).

    Bij deze het resultaat:



    Je ziet het zaakje loopt scherp exact zoals het moet.

    Hierna is er nog veel getest in verband met de loop van de winches, lang verhaal kort gemaakt, de code baseert zich op de hoeksnelheid van de potentiometer in de servo.

    De slaglengte van de servo (lees het aantal toeren van de winches) wordt vooraan in het programma bepaald, en aangepast aan het model zodat de luiken niet overstretchen.

    Nu als de snelheid in functie is van de hoeksnelheid is, komt de diameter van de winch-tondel mee in de berekening natuurlijk, ik zag tijdens het testen dat de 1,5 toeren winches door de lage snelheid die ze liepen wat stotterde. de 4 toeren en 6 toeren hadden dit niet en liepen veel veel geleidelijker.

    Je hoort het al het geheel moet nu vervangen worden door 6 toeren winches, ik denk dat ik hiermee de slag van de deuren tussen de 60 en 75 sec krijg ruimschoots genoeg denk ik.

    Hieronder zie je de test met de 2 toeren winches deze doet er 27 sec over al een hele verbetering ten opzichte van de eerste instelling hieronder zie je beide:

    Eerste opstelling ca 9sec voor de opening:



    En dit is de test met de Arduino, deze duur zo's 27sec al heel wat beter maar met de 6 toeren winches met tondels van 7mm ipv25mm zal dit zo'n 73sec worden en mooi geleidelijk.



    Je ziet dat de afstanden nog niet goed zijn afgesteld maar dat komt allemaal later.
    Het volgende is de andere winches en het aanpassen van het programma zodat ook de USM wordt gecommandeerd, het lijkt allemaal niet veel maar er gaat toch wel wat tijd inzitten.

    Tot de volgende Update, laat maar weten wat je er van vind...
     
    Laatst bewerkt: 5 sep 2016
    kockmans, MikeMohawk, Dennist en 3 anderen vinden dit leuk.
  20. Macrabbit

    Macrabbit Vriend van modelbouwforum.nl

    Lid geworden:
    16 mei 2010
    Berichten:
    2.353
    Locatie:
    Julianadorp
    Hallo Jan,

    Dit gaat allemaal boven mijn pet maar vind het wel reuze interessant. Lijkt me wel een hele mooie manier om vele werkende componenten op je schip te realisereen. Wie weet, iets voor de toekomst?
     

Deel Deze Pagina