Bestaande Duw-sleepboot nabouwen

  • Topicstarter Topicstarter miky-mouse
  • Startdatum Startdatum
De PulsIn functie is het meest simpele, om een ontvanger PWM uit te lezen.
Zie bovenstaande code:
http://www.modelbouwforum.nl/threads/bestaande-duw-sleepboot-nabouwen.655/page-4#post-3659938

Zoals je ziet, heb ik geen Delay tijden ingevoerd, daar RX_var de juiste timing (rond de 50hz) bepaalt.
PulsIn wacht tot dat er weer een HIGH signaal op de pin komt en start dan pas de timer en gaat vervolgens verder met de routine.
De routine is zoals je ziet, zeer eenvoudig.

PPM is meer interessant, als je meerdere ontvanger PWM waardes tegelijk moet weten.
Inderdaad kun je dan niet meer de standaard Servo library gebruiken, daar beide Timer1 gebruiken.
 
Over de preciese aansturing weet Marten meer dan ik. Ik ben ook nog niet aan het testen toe. Ik heb jumperkabeltjes besteld, dat maakt het testen makkelijker.

Ik ga 3 kleine arduino's gebruiken.
1 voor de roeren, voor de juiste uitslag per roer en tegelijk als servovertrager (2 servo's, 1 ontvangerkanaal).
1 voor het hefgedeelte, dat zorgt voor de juiste volgorde en snelheid van het heffen. (combo van servo en stappenmotor)
en 1 voor de aansturing van de koppellieren, omdat ik dit ook met 2 stappenmotoren ga doen.
 
Het werkt inmiddels.
Dat het eerst niet werkte was omdat ik pin 0 gebruikte en zoals je weet test ik op de Uno.
Dus gewisseld naar pin 3, die wel PWM heeft...

Helaas blijven de servo's jutteren en brommen. Maar de eind afstelling is per servo, per kant te regelen.

Langzaam het script uitbreiden dus...

De Monitor uitlezen resulteerd in het volgende:
Stick op nul RX_in = 1492 / 1514
Stick links RX_in = 1936 / 1959
Stick rechts RX_in = 1086 / 1108


Als ik de ontvanger of de zender uitzet, gaan de beide servo's meer dan 90 graden dwars.
Dat is iets dat in mijn boot dus niet mag gebeuren !!!
Is dit op te lossen door buiten de RX_min en RX_max uit de ontvanger de servo's automatisch in de midden te zetten?
Dus als een soort failsave reageerd hij niet buiten de ontvangerwaarden.
Of anders door de maximum grenzen van de servo's op de arduino duidelijk vast te stellen.
 
Er zit nu nog geen failsafe functie in, deze dient er nog ingezet te worden.

Dat jitteren kan door diverse dingen veroorzaakt worden.
Onstabiele voeding en ook door die jumperkabels kan het jitteren ontstaan.
(Jouw RX_in waardes variëren nogal !)

De reden waarom pin-0 niet werkte, heeft te maken met de serial-monitor functie.
Deze maakt namelijk gebruik van de RX functie, die via pin-0 loopt.
(had daar even niet bij stil gestaan...)
 
Helaas blijven de servo's jutteren en brommen. Maar de eind afstelling is per servo, per kant te regelen.

Hallo Pergotje,

Ik ben zelf ook bezig met Arduino, PPM en servo's. Heb je al eens geprobeerd alle Serial gerelateerde code uit te zetten. Serial commando's zijn erg tijdrovend en dit kan de timing in je code behoorlijk dwars zitten.

Als je bij elke nieuwe waarde van een uitgang deze ook opslaat in een variabele, dan kun je bij het wegvallen van de ingang deze waarde gebruiken om de servo's in de laatst bekende stand te houden.
 
Ik werk nu nog met voeding per USB, ook voor de ontvanger en beide servo's. Niet ideaal maar voor de eerste test voldoende. Vandaar ook het voltage metertje ter controle.
 
7ec136478f6fd37e1ccc94ebb30b0496.jpg
 
De hefmast los in de boot gezet.
06fabbbcece99683b4f05f782f8978f7.jpg

Doordat er onderaan de mast ter hoogte van het vlak de 2 stappenmotoren hangen, heb ik gelijk een mooi tegengewicht aan de opbouw vast wat de slingering van de stuurhut bovenin zal opvangen.
41a833f8d6b1964d7b03a38ab1e85c1b.jpg



Inmiddels heb ik de roeren voorzien van tandriemwielen, die via een tussenas onderdeks verdwijnen. Volgend weekend controleren of het allemaal zo werkt als ik wil en dan de tandriemen op maat maken.
 
Laatst bewerkt:
Back
Top