Afstandsbediening liertje.

Discussie in 'Model elektronica' gestart door Joska, 7 nov 2017.

  1. kha

    kha

    Lid geworden:
    18 okt 2012
    Berichten:
    95
    Locatie:
    Amersfoort
    Met een Arduino kan het zeker. Is wel even rekenen en proberen. Arduino met bijvoorbeeld een services shield kan voldoende servo’s aansturen en het programmeren is niet heel lastig. Dit is ook de basis van veel drone besturingen en at is veel complexer.
     
    Joska vindt dit leuk.
  2. ron van sommeren

    ron van sommeren Forum veteraan

    Lid geworden:
    31 aug 2002
    Berichten:
    29.332
    Locatie:
    halverwege Tiel & Nijmegen, tussen Maas & Waal
    Volgens mij misbruikt hier iemand die arme miskende visjes als excuus om lekker met techniek, radiobesturing en modelbouw bezig te zijn.
     
    Joska vindt dit leuk.
  3. Joska

    Joska

    Lid geworden:
    7 nov 2017
    Berichten:
    50
    Locatie:
    Winterswijk
    Naaaaaaaahhhh...... o_O

    Moet wel zeggen dat ik geen idee heb hoe ik dat programmeren aan moet pakken, en wat ik daar allemaal voor nodig heb.

    Wat zou ik eigenlijk nodig hebben om een servo uberhaupt al van links naar rechts te laten gaan?
    Of heb ik daar die Arduino al voor nodig?

    Oh, ja....., ennuuuhhh..... :hammer:

    https://www.miniinthebox.com/nl/moe...VVT28Bmmxj7VGw2ajDSU1go-dI7wzfFMaAoS-EALw_wcB

    Mvg, Joska.
     
    Laatst bewerkt: 7 jan 2018
  4. kha

    kha

    Lid geworden:
    18 okt 2012
    Berichten:
    95
    Locatie:
    Amersfoort
    Dan wordt het wel een heel grote uitdaging. Het is op zich niet heel moeilijk maar het kost wel veel tijd zoals alles wat je zelf maakt.
    Ik heb eigenlijk nog nooit iets gezien wat dit standaard doet. Zal wel te weinig vraag naar zijn. Als je iets simpelere wilt kan je het ook mechanisch maken net als bij een ruitenwisser. Dat is ook een motor die ronddraait en door een mechanische overbrenging een heen en weer gaande beweging creëert.
    Een servo heeft een puls nodig waarvan de lengte de stand van de servo bepaalt. Als je hem dus heen en weer wilt laten gaan heb je een pulsgenerator nodig die net als bij een looplicht de puls van de minimale naar de maximale lengte varieert en dan weer terug.
    Voor een Arduino heb je standaard bibliotheken voor het aansturen van servo’s en geef je een getal mee dat de positie bepaalt.
     
    Joska vindt dit leuk.
  5. Joska

    Joska

    Lid geworden:
    7 nov 2017
    Berichten:
    50
    Locatie:
    Winterswijk
    Anderhalve week geleden was ik op zoek naar een oplossing voor mijn probleempje.
    Had toen iets gevonden, maar niet opgeslagen... :hammer:
    Wist ook niet meer welke zoekterm ik had gebruikt om die oplossing weer terug te kunnen vinden.
    Nu kom jij met 1 woordje om de bocht zetten.....
    Ruitenwisser.......
    Dat deed bij mij de radertjes weer draaien,
    en ben met mijn vrienden Google en Youtube aan de slag gegaan, en voila! :rulez:



    Ook hier weet ik niet hoe ik dat ga realiseren,
    maar misschien hebben een stel andere vrienden van mij,
    Cad en 3D-Printing hier wel een gezamelijke oplossing voor. :thumbsup:
     
  6. Helicor

    Helicor

    Lid geworden:
    28 aug 2009
    Berichten:
    2.621
    Locatie:
    Drenthe
    Dit gaat helaas niet werken, omdat je gelijke heen- en weergaande slag snelheid wilt, en dat krijg je met het bovenstaande syteem dus niet.
    Het kan wel maar dan anders:

    Industrieel gebeurd dat mechanisch, met een dubbele worm die door de trommel wordt aangedreven; de overbrenging en de spoed op de dubbele worm zijn afhankelijk van de gewenste kabeldiameter.
    Maar zoek even op Google met de term
    winch spooling guide
    dan krijg je een heel aantal actuele toepassingen en zie je dergelijke plaatjes:
    http://static.heavyliftnews.com/med...293a0751ffc5f9c4c1640712af6a2df5c3bc45e_m.jpg
    Hier een filmpje:

    Maar ik betrwijfel of jou model dit allemaal nodig heeft, en of je de benodigde machinerieën hebt om dit te realiseren.
    Iets eenvoudiger, maar misschien voldoende, is even zoeken op
    cable follower

    Succes
    Cor
     
  7. ron van sommeren

    ron van sommeren Forum veteraan

    Lid geworden:
    31 aug 2002
    Berichten:
    29.332
    Locatie:
    halverwege Tiel & Nijmegen, tussen Maas & Waal
    [​IMG] [​IMG]

    Alleen de blauwe pulstreintjes zijn relevant voor het verhaal hier/nu.
    [​IMG]
     
    Laatst bewerkt: 9 jan 2018
  8. Joska

    Joska

    Lid geworden:
    7 nov 2017
    Berichten:
    50
    Locatie:
    Winterswijk
    @Helicor

    Winch spooling guide en Cable follower zijn de benamingen waar ik dus naar moest zoeken. :)
    Wat een opties en wat een mogelijkheden... :worship:

    Dankjewel voor je inbreng.
    Ik geloof dat ik nu weer een heleboel gegoogle voor de boeg heb
    om het juiste systeem uit te zoeken voor mijn projectje.
    Ik weet wel dat ik het ook nog eens zo licht mogelijk moet houden i.v.m. de stabilisatie van mijn ''bootje''.

    @ron van sommeren

    Oei, dat is zware materie voor een leek, zeg. :weetnie:
    Ik denk dat dit echter wel de juiste weg is....
    EERST het theoretische gedeelte, en dan pas de PRAKTISCHE uitvoering.
    Door mijn gebrek aan dit soort kennis doe ik het net andersom.
    Ik probeer iets in elkaar te zetten, en als het niet lukt dan ga ik pas zoeken naar antwoorden in de vorm van hulp zoals jullie mij die hier bieden.

    Zie nu wel in dat ik het iets beter had moeten overdenken.
    Voorlopig ga ik maar eens aan de slag met de hints van Cor. :)

    M.v.g., Joska.
     
  9. Roel van Essen

    Roel van Essen Forum veteraan

    Lid geworden:
    13 jul 2002
    Berichten:
    13.622
    Locatie:
    Betuwe
    Dit kun je vrij simpel oplossing met een servotester. Die kun je "los" van je RC-installatie op de servo zetten.
    Is in feite niets anders dan een soort puls-generator.
    Je hangt een geschikte voeding (4,8V) aan de servo-tester, je hangt de servo aan de servo-tester en het ding gaat heen en weer.
    Je kunt zelfs het tempo bepalen waarop hij heen en weer gaat...
     
  10. Joska

    Joska

    Lid geworden:
    7 nov 2017
    Berichten:
    50
    Locatie:
    Winterswijk
    En weer bedankt voor jouw bijdrage, Roel. :)
    Ik heb ondertussen al wel gezien dat de ene servo tester de andere niet is.
    Heb er eventueel wel eentje nodig waarmee ik de snelheid kan bepalen.

    Pffff..., war een filmpjes heb ik vandaag al bekeken, joh.
    Zou bijna wensen dat ik nu met mijn projectje op een plek was met schappen waar allemaal verschillende onderdelen keurig netjes uitgestald staan.
    Dan zou ik iets kunnen proberen.
    Nu bedenk ik iets, krijg een heleboel goede tips, maar dan moet ik weer wachten totdat mijn bestellingen weer binnen zijn, om er dan weer achter te komen dat het dan toch allemaal net niet is zoals ik het graag zou willen. ;)

    Denk dat ik hiervoor iets te ongeduldig ben.
    Zie graag resultaat. :)

    M.v.g., Joska.
     
  11. marten77

    marten77

    Lid geworden:
    22 jul 2007
    Berichten:
    2.325
    Locatie:
    Gouda
    @Joska

    Als ik het goed heb, gaan de kabels van de camera rechtstreeks naar beneden het water in?
    Indien ja, dan zou ik die twee oogjes zo laag mogelijk plaatsen, daar dit op de huidige positie het oprollen nadelig beïnvloed.
    Wellicht is dit al voldoende en hoef je dan niet te zitten pielen met een extra servo. (nu zitten de oogjes te dichtbij en wikkelt de kabel zich maar op èèn plek)

    Mocht die servo toch een noodzaak zijn, dan is inderdaad een Arduino een goede optie.
    Hiermee kun je de servo mooi langzaam laten bewegen.
    Als je de winch-servo parallel aanstuurt, dan zou je beide servo's met 1 kanaal kunnen aansturen en van beide de snelheid kunnen variëren.
    De winch-servo reageert als een normale ESC (zover ik begrepen heb) en je hulp-servo zul je middels de Arduino moeten aansturen.
    Gezien jezelf nog geen Arduino ervaringen hebt, ken je iemand die dat wel heeft?
    Hier overigens een fijne servo library: https://github.com/netlabtoolkit/VarSpeedServo
    Hiermee kun je zeer mooi de snelheden en posities bepalen.
    De Max en Min posities van de servo, werken van 0 tot 180 graden.
     
  12. ron van sommeren

    ron van sommeren Forum veteraan

    Lid geworden:
    31 aug 2002
    Berichten:
    29.332
    Locatie:
    halverwege Tiel & Nijmegen, tussen Maas & Waal
    Het gaat er in dit geval alleen om hoe de pulsjes en de pulstreintjes op de ontvangeruitgangen er uit moeten zien, qua spanning en tijden. Zo moeten ze ook uit een servotester en een Arduino o.i.d. komen.
    In het derde plaatje, blokdiagram van een ontvanger, kun je alle blokken overslaan, hier even niet relevant. Het gaat erom hoe de blauwe pulstreintjes uit/op de ontvangeruitgangen ('Servoflanschen') komen.

    Verder is het derde plaatje technisch verouderd, PPM en PCM zijn technieken van ruim 10jaar geleden. Gebruikt bij 27, 30, 35 en 40MHz zenders.
     
    Laatst bewerkt: 9 jan 2018
  13. Helicor

    Helicor

    Lid geworden:
    28 aug 2009
    Berichten:
    2.621
    Locatie:
    Drenthe
    Nog een kleinigheid: Als ik het goed heb, dan loopt er een 2 draads kabeltje naar de camera, toch?
    Dan zou ik op elk van de trommels een 1 aderig kabeltje leggen, dat is dunner en dus soepeler. Mogelijk een siliconen kabel gebruiken, die heeft een heel soepele mantel, en meestal een zeer fijndradige kern.
    Het vaste punt dan op beide trommels aan dezelfde kant, dan blijft de afstand tussen de kabels altijd gelijk.
    Mogelijk is dan een aandrukrol voldoende om de kabels gelijkmatig op te winden ( de "follower" dus).
    Cor
     
  14. ron van sommeren

    ron van sommeren Forum veteraan

    Lid geworden:
    31 aug 2002
    Berichten:
    29.332
    Locatie:
    halverwege Tiel & Nijmegen, tussen Maas & Waal
  15. Joska

    Joska

    Lid geworden:
    7 nov 2017
    Berichten:
    50
    Locatie:
    Winterswijk
    @marten77 & @Helicor
    .
    Hallo Marten en hallo Cor.
    Dank jullie voor jullie inbreng. :)

    Ja, de kabeltjes gaan idd rechtstreeks het water in.
    Echter is het ene kabeltje van de camera, terwijl het andere kabeltje er alleen voor dient te zorgen dat de camera niet gaat tollen.
    Mijn camera krijgt dan ook 3 bevestiging punten.
    Eentje van de camerakabel zelf aan de achterkant, en de andere twee punten staan aan weerszijden van de lens.
    Deze 2 bevestigingen lopen 5 cm hoger over naar 1 kabeltje.
    Ziet er dan ONGEVEER zo uit.

    [​IMG]

    Dat hoeklijntje met die twee schroefhaken er in dient ook alleen maar als voorbeeld.
    Probeerde duidelijk te maken wat de bedoeling was. ;)
    Het uiteindelijke ontwerp zal er iets verfijnder uit zien. ( Hoop ik. )

    Het zou idd zeer mooi zijn als ik beide servo's aan zou kunnen sturen met 1 kanaal.
    Scheelt een hoop handelingen op het moment van bedienen.
    En ik raak er hoe langer hoe meer van overtuigd, dat ALS ik de kabeltjes netjes opgerold wil hebben, ik niet aan een Arduino zal ontkomen.

    En nee, in mijn omgeving ken ik niemand die ervaring heeft met Arduino....

    @ron van sommeren.

    Ik denk dat ik ( Lees; iemand die er verstand van heeft. ) goed gebruik kan maken van jouw blokdiagram.

    Zie ook net je link van Ernst Grundmann.
    Die ga ik morgen eens even rustig bekijken. :koud:
    Ga zo dadelijk eerst even bij iemand op de koffie. :beer:

    Wens jullie een fijne avond. :thumbsup:
     
  16. marten77

    marten77

    Lid geworden:
    22 jul 2007
    Berichten:
    2.325
    Locatie:
    Gouda
    Je hebt mazzel :D
    Heb hier (nog niet getest) een sketch voor de Arduino:
    Code:
    // WikkelServo Voerboot project
    // Gemaakt door MdG-RC-Electronics "marten77"
    
    #include <VarSpeedServo.h>                                       // Dit is een externe bibliotheek trage servo beweging
    #include <EEPROM.h>
    
    #define RCmax      2200                                          // 
    #define RCmid      1500         
    #define RCmin       800 
    #define RCcor        15         
    #define TimeOut  260000 
    
    #define Aan 1
    #define Uit 0
    
    #define MaxPos1              170                                  // 
    #define MinPos1               10                                  //
    #define MidPos1      (MaxPos1 - MinPos1) / 2 
    #define MaxSpeed1            127 
    #define MinSpeed1             10 
    
    #define WikkelServoPin        8
    #define RCport1               4                                  // 
    
    VarSpeedServo WikkelServo;                                       //servo om het wikkelen te begeleiden
    
    int RCpulse1;                                                    // dit geeft de variable RCpulse1 een integerwaarde (een geheel getal tussen 0 en ...) in RCread! deze waarden kan vervolgens worden veranderds naar believe
    int Address1 = 0;
    int Address2 = 1;                                                 // EEProm adres 1 gebruiken we, om de laatste Pos1 op te slaan
    int Address3 = 2;                                                 // EEProm adres 2 gebruiken we, om de laatste Richting1 op te slaan
    
    byte Pos1;
    byte Speed1;
    byte ReadPos1;                                                 // hier maken we een uitlees var. aan voor de servo positie uit te lezen, dan kunnen we dingen starten vanaf een bepaalde servo positie alleen 3 wordt nu gebruikt
    byte Richting1;
    byte Richting1BackUp;
    
    void setup()
    {
      Richting1BackUp = EEPROM.read(Address3);
      if(Richting1BackUp == 0 && EEPROM.read(Address1) == 0)
       { // dit gebeurt maar eenmalig, i.v.m. de eerste opstart!
        EEPROM.write(Address1,MaxPos1);
        EEPROM.write(Address2,MaxPos1); 
        EEPROM.write(Address3,MaxPos1); 
        Richting1 = MaxPos1;}
      else {Richting1 = Richting1BackUp;}
     
      Pos1 = EEPROM.read(Address2);                                 // Start waarde voor servo positie
      ReadPos1 = EEPROM.read(Address2);                             // 
      Speed1 = MinSpeed1;                                           //   
    
      WikkelServo.attach  (WikkelServoPin);                        //plaats de servo op pin 8 (zie regel 20)
      WikkelServo.write(Pos1);                                     // deze regel zorgt ervoor dat tijdens de start, de servo naar de gewenste positie gaat of blijft op deze postitie en niet centered
    
      pinMode(RCport1, INPUT_PULLUP);                              //plaats de ontvanger op pin 4 (zie regel 21)                                    // 
     
    //Serial.begin(9600);
    }
    
    void RCread(){ // hier word de RC input ingelezen
      RCpulse1 = pulseIn(RCport1, HIGH, TimeOut);}                // Leest de ogenblikkelijke puls van de ontvanger
    
    void Hijsen()
      {
       Speed1 = map(RCpulse1, RCmin, RCmid-RCcor, MinSpeed1, MaxSpeed1);
       if(ReadPos1 > MaxPos1-1){Richting1 = MinPos1;}
       else if(ReadPos1 < MinPos1+1){Richting1 = MaxPos1;}
       else{Pos1 = Richting1;} // Pos1 is laatste richting
      }
     
    void Vieren()
      {
       Speed1 = map(RCpulse1, RCmid+RCcor, RCmax, MinSpeed1, MaxSpeed1); 
       if(ReadPos1 > MaxPos1-1){Richting1 = MinPos1;}
       else if(ReadPos1 < MinPos1+1){Richting1 = MaxPos1;}
       else{Pos1 = Richting1;} // Pos1 is laatste richting
      }
    
    void loop()
     {
        RCread(); // Ga naar RCread, om de RC input in te lezen.
       
        if(RCpulse1 > RCmin-RCcor && RCpulse1 < RCmax+RCcor)
         {                                                         // Zijn ze binnen een veilige zone, dan voer onderstaande uit:
          if(RCpulse1 >= RCmid-RCcor && RCpulse1 <= RCmid+RCcor)  // Stick in het midden
            {
             Pos1 = ReadPos1; 
             EEPROM.update(Address2, Pos1);
             EEPROM.update(Address3, Richting1);
            }
          else if(RCpulse1 > RCmid+RCcor){Vieren();} // 
          else {Hijsen();}       
         }
        else {Pos1 = MidPos1; Speed1 = MinSpeed1;}
       
        WikkelServo.write(Pos1,Speed1,false);                            // laat de servo naar de variabele 'pos1' gaan           
        ReadPos1 = WikkelServo.read();                                   // lees de positie van de servo
    
    //Serial.print("RCpulse1 = ");                                          // hiermee kan je de pulses meten en tonen als het bord is aangesloten op de seriele monitor.
    //Serial.println(RCpulse1); 
    //delay(1000);
     }
    
    Ik zal dit eerdaags ook even testen, ook vanwege het gebruik van de EEProm (geheugen).
    Dit deel is nodig, om bij de eerstvolgende opstart weer op de juiste manier door te gaan. (van uitgaande dat er tussendoor met de hand, niks word afgewikkeld) :hammer:

    Hetgeen wat bovenstaande doet, is uiteindelijk wat je graag zou willen.
    Je regelt met hetzelfde kanaal beide functies aan en de wikkelservo zal dan via de Arduino aangestuurd gaan worden.
    De Arduino zorgt ervoor, dat de servo constant heen en weer blijft gaan en dat in een variabele snelheid.
    Als de stick in het midden staat, dan stopt de servo direct en word er (indien nodig) de nodige info weer opgeslagen in het geheugen.
    Er zullen zeker nog wat zaken afgestemd moeten worden.
    O.a. de Max en Min posities, zo ook de Max en Min speed.
    Zo zullen er nog wel meer dingen zijn, die afgestemd moeten worden.

    Let wel, je dient wel die VarSpeedServo library te installeren, eer je hem kunt gebruiken !
    In de bijlage de .ino file

    Mocht je zover zijn, dan hoor ik het wel :thumbsup:
     

    Bijgevoegde bestanden:

  17. marten77

    marten77

    Lid geworden:
    22 jul 2007
    Berichten:
    2.325
    Locatie:
    Gouda
    Oohja, ik heb dit met Arduino IDE 1.6.8 gemaakt, deze kun je hier vinden:
    https://www.arduino.cc/en/Main/OldSoftwareReleases#previous

    Je kunt ook de nieuwste versie proberen, echter durf ik niet te garanderen dat alles zal werken.
    https://www.arduino.cc/en/Main/Software

    VarSpeedServo library: https://github.com/netlabtoolkit/VarSpeedServo/archive/master.zip

    Qua keuze van het type Arduino, ik zou je een Nano 5Volt aanraden.
    Deze zijn lekker compact en heeft een USB aansluiting, wat het programmeren makkelijker maakt.
     
  18. Helicor

    Helicor

    Lid geworden:
    28 aug 2009
    Berichten:
    2.621
    Locatie:
    Drenthe
    Ik denk dat ik het niet goed heb uitgelegd: Ik bedoel, dat je beter 2 stuks - éénaderige kabels kunt gebruiken, dan 1 stuks - twee aderige, dan wikkelen de draden op precies gelijke manier op, en is er geen verschil in dikte of stugheid van de kabels, dus zullen ze (hopelijk) op dezelfde manier opwikkelen.
     
  19. Joska

    Joska

    Lid geworden:
    7 nov 2017
    Berichten:
    50
    Locatie:
    Winterswijk
    @marten77

    Crimineel joh. :eek:
    Ik heb nu een tolk nodig, :hammer:
    Maar ben weer blij met je inbreng hoor. ;)
    Het ding is;
    Ik zit nu op spulletjes te wachten van Alie, en dat duurt soms even.
    Ik moet ook rekening houden met de ruimte die ik heb, dus het idee van dat filmpje zal het waarschijnlijk niet worden.
    Wil het toch voor elkaar zien te krijgen met een geleiding en een spindel met een platformpje waar ik de oogjes op kan maken.
    Maar daar heb ik dus ook een Arduino voor nodig om de servo's te programmeren.
    Pfffftttt...., en dat alles om het snoer mooi op te rollen. :p
    Maar...., in de tussen tijd vind ik het stiekem ook best wel leuk om te doen.

    Als ik de spulletjes binnen heb, dan post ik hier de foto's zoals ik het graag hebben wil, zodat er een beter beeld ontstaat van de bedoeling.

    Ik heb ondertussen je linkjes van de VarSpeedServo library en het WikkelServoProject opgeslagen voor later gebruik. :worship:
    Ook de Arduino IDE 1.6.8 heb ik al.
    Ik neem aan dat ik laatst genoemde op mijn laptop/pc moet installeren, en dan d.m.v. de USB aansluiting de Arduino moet programmeren.

    Ook heb ik gezocht naar de Arduino Nano 5 Volt, maar ik zie er daar best wel veel soorten van voorbij komen.
    Of maakt dat niet uit voor de bewerking(en) die hij moet uitvoeren.
    Wat wil ik eigenlijk graag?
    VOORLOPIG is dat;
    Hij moet er voor zorgen dat het platformpje op een bepaalde afstand over de spindel kan lopen, heen en terug in een continuous loop.
    De snelheid van die loop moet eventueel per winding ingesteld kunnen worden.
    Het zou mooi zijn als de snelheid van beide servo's op elkaar afgestemd kunnen worden.
    Hij moet in contact staan met de Futaba receiver.

    Wat ik nu ondertussen al wel van jullie geleerd heb is dat het allemaal tot de mogelijkheden behoort.

    Ben hier en daar al aan het informeren of er iemand in mijn buurt is die mij met het praktische gedeelte kan helpen.
    Zit nogal een verschil in tussen een idee HEBBEN en een idee UITVOEREN. :rofl:
    Kom ik nu ook achter. ;)

    Ik heb nog een lange weg te gaan. :p

    @Helicor

    Aha!
    NU snap ik het. :rulez:
    Maar DAT is iets waar ik mij niet aan waag.
    Ik ga eerst de gok nemen of het op deze manier werkt, en mocht het toch een probleem geven, dan ga ik jouw optie nog eens goed over denken.

    Tot zover weer bedankt. :bye:

    M.v.g., Joska.
     
  20. kha

    kha

    Lid geworden:
    18 okt 2012
    Berichten:
    95
    Locatie:
    Amersfoort
    Erg leerzaam zo.
     
    Joska vindt dit leuk.

Deel Deze Pagina