Stuurautomaat boot

Bij het begin beginnen; Ik ben al een poos bezig met een stuurautomaat voor een 1:1 9 meter plezierjachtje. Alle hardware is nu ingebouwd en het werkt min of meer, maar niet goed genoeg. Ik kom er niet uit of dit nu aan de finetuning van het systeem ligt, of dat er meer nodig is. De hardware zoals die nu ingebouwd is;
- Kompassensor via i2c wat goed lijkt te werken met een gemiddelde van 10 metingen, kompas is zichtbaar op lcd
- Arduino Mega
- 20x4 lcd + drukknoppen om instelling te kunnen veranderen en de stuurautomaat aan/uit te zetten
- Elektro hydraulische pomp (EHP) en 2 relais', linksom en rechtsom. Deze werkt goed via de handbediening.

Bedoeling is om als de boot op de goede koers ligt deze koers met 1 druk vast te leggen en de stuurautomaat doet de rest. Met de huidige code slingert de boot door het water, of doet andere dingen die ik niet thuis kan brengen. Op het lcd zijn er 3 instellingen die gewijzigd kunnen worden;
- Dode zone waarin de koers mag schommelen zonder dat stuurautomaat ingrijpt.
- "On time" van de relais' als de koers buiten de dode zone komt.
- Vaste intervaltijd tussen de metingen.

Met het lcd kan ik elk van deze 3 parameters beinvloeden, maar zoals gezegd werkt het niet goed na vanmiddag een paar uurtjes testen. Belangrijkste code die er nu gebruikt word;

    if((gemeten koers > (ingestelde koers + dodezone)) && (intervaltijd verstreken) && (voorlaatste koersmeting >= gemeten koers)){
relais aan;
delay(ingestelde tijd);
relais uit;

delay even voor de duidelijkheid, in de echte code iets netter opgelost.

Na uiteraard veel Googelen kom ik er niet uit of dat deze setup voldoende is.
- EHP met PWM gaan aansturen? De pomp werkt al redelijk traag, met de kortst mogelijke "on time" van de relais' hoor je de pomp kort lopen, maar reageert de boot nauwelijks.
- Roerstandsensor toevoegen? Vraag me af of dat wat toevoegd, de gemeten kompaskoers is immers doorslaggevend. Roerstand verteld niets over wind, golven en stroming. Verleieren houd ik in dit stadium nog buiten beschouwing, eventueel later toe te voegen.
- Toch naar een PID regeling toe? Dan graag wat meer uitleg hoe dit toe te passen in deze setup.

Iemand die hier zijn licht op kan laten schijnen?

Gr.

Erik

sturen is moeilijk.

wat je doet is, bij een koersafwijking de boot terugsturen naar de gewenste koers. dat doe je met roeruitslag. na gegeven roer blijft de boot doorsturen tot de volgende (meetbare) koersafwijking maar nu aan de andere kant van de gewenste koers. en daarna stuurt het geheel weer terug.

als de boot zijn opgegeven koers nadert zal je de koersveranderinghoeksnelheid eruit moeten halen met tegenroer. een boot blijft alleen op koers als de koersveranderinghoeksnelheid nul is.
dat tegenroer geef je een @ 2 grd voor de opgegeven koers, hoeksnelheid eruit en verder varen.

succes, Anne

EricP

mét CE

Elke commerciële stuurautomaat heeft een roerstandindicatie. De truc is waarschijnlijk dat men eerst even uitvlooit bij welke roerstand het schip rechtuit vaart. Dan weet je dus ook dat wanneer je bijna op koers ligt, je bij die roerstand min of mee rechtuit zult varen.

Als je pas gaat corrigeren als je je afwijking de andere kant op hebt, dan krijg je het gedrag wat jij beschrijft: slingeren.

Op 24 november 2013 22:34:26 schreef EricP:
Elke commerciële stuurautomaat heet een roerstandindicatie.

Dat was in ieder geval niet zo bij de helmstokstuurautomaat die ik uit elkaar heb gesloopt. Het is allemaal heel logisch wat jullie schrijven, maar volgens mij zal een boot (en zeker mijn motorboot) nooit op koers blijven door de wind. Dus de stuurautomaat zal continu moeten regelen waarbij de roerstand maar 1 onderdeel van de koers is.

Gr.

Erik

De code is te simpel. Je moet berekenen hoeveel succes er is met sturen en of sturen wel nodig is.

Je kan beter het koersverschil zo vaak mogelijk per seconde bepalen, geen delay, dat is zonde van de rekenkracht. Aan de hand van het verschil ga je bepalen of deze buiten je marge valt, zoja dan dan kan je 'scorepunten' toekennen aan je stuuraktie. Zo nee dan haal je 'scorepunten' van je stuuraktie af.

Zit je echter ver buiten je marge maar merk je toch dat de koers verbetert sinds je vorige meting dan dan kan je ook 'scorepunten' aftrekken, blijkbaar is de boot al de goede kant op aan het keren en hoeft er minder gestuurd te worden.

In een ander proces (loopje) kijk je dan hoe de scorepunten staan en wat je dan met je pomp moet doen. Je moet scorepunten bijhouden voor links en rechts. Het kan namelijk zijn dat je 10 graden teveel naar links gaat maar 10 ms ervoor nog 15 graden teveel naar links ging, dan is er blijkbaar iets aan de hand waardoor flink naar rechts sturen niet meer nodig is. (waarschijnlijk een stuuraktie van enkele ogenblikken eerder)

Dag Erik,

Op 24 november 2013 22:07:36 schreef erik1234:- Toch naar een PID regeling toe? Dan graag wat meer uitleg hoe dit toe te passen in deze setup.

Die heb je onbewust al gebouwd.

Kp(Versterking)= ∞ (oneindig). Dit komt omdat in jouw opstelling bij het kleinste verschil tussen gewenste en echte koers het roer een vast ingestelde tijd draait. De dode band die je hebt ingebouwd heeft hierop geen enkele invloed.
Ki (Nasteltijd) = de geheugenwerking van het roer.
Kd = afwezig

Deze hoge Kp waarde is de reden dat de boot niet stabiel is (oscillatie). Haal deze naar beneden tot deze in een bereik ligt tussen:
- Boot vaart met een constante afwijking van de koers (Lage Kp)
- Je hebt nog bootslingering maar deze deint uit (Hogere Kp)

SW-matig kan dit doen door de tijd dat het roer draait delay(ingestelde tijd); afhankelijk te maken van het verschil
tussen de gewenste en werkelijke koers (PWM). Nu is deze constant. Jouw boot is een traag proces wat betekend dat Kp ook heel laag moet zijn.

Je kan ook zoals hierboven al iemand zei een roer met servo (positiefeedback) gebruiken. De Ki (Nasteltijd) kan je SW-matig bouwen met een teller die bv van -45 tot +45 graden telt (roerstand). De snelheid van op-/aftellen moet proportioneel zijn met het verschil tussen gewenste en echte koers.
- Is dit weinig dan telt de teller ook heel langzaam (roer gaat traag, heel traag zelfs).
- Is dit veel dan telt de teller snel.
- Is er geen verschil dan stopt de teller maar behoudt wel zijn laatste waarde om zo het roer in de juiste stand te houden.

Groetjes

EricP

mét CE

Dat was in ieder geval niet zo bij de helmstokstuurautomaat die ik uit elkaar heb gesloopt.

Vast een Yachtie-toy? Werkte het ook?? Zelfs een Navico van 25 jaar geleden moest even 'inleren' als je 'm aan zette

Het is allemaal heel logisch wat jullie schrijven, maar volgens mij zal een boot (en zeker mijn motorboot) nooit op koers blijven door de wind. Dus de stuurautomaat zal continu moeten regelen waarbij de roerstand maar 1 onderdeel van de koers is.

Ja, dat klopt. Maar wel een belangrijk onderdeel. Het ding moet wel weten hoeveel er bij geregeld wordt. Je ziet normaal dat wanneer de automaat besluit bij te regelen (dat besluit wordt genomen nav. de koersafwijking en de tijd dat die duurt, 'seastate flter'), de roeruitslag afhankelijk is van de afwijking. Dan kijkt het ding het eens een paar seconden aan. Als het bootje niet voldoende reageert, dan volgt er meer roeruitslag, zijn we op de goede weg, dan wordt het roer weer wat terug gedraaid.
Je merkt ook dat het ding continu 'keer' bij welke roerstand er ongeveer rechtuit gevaren wordt. Als je zeilt en je trekt er een lapje bij, dan zal de trim wat veranderen. Je ziet bij het zetten even die slinger, die wordt steeds kleiner en na een paar minuten gaan we weer mooi rechtuit - alleen staat er nou een paar graden roer onder.

Die regeling is iets complexer dan wat jij tot op heden hebt - al kan ik je het exacte algoritme niet geven (en dat zal ook wel per fabrikant verschillen; de ene doet het ook beter dan de andere). verder heb je bij die dingen ook de wereld aan parameters. Daar moet je in den beginne ook wat mee spelen om je bootje zo min mogelijk te laten slingeren - corrigeer je te weinig, dan schiet het niet op. Maar corrigeer je teveel dan stuurt dat ding zich rot en per saldo schiet het ook niet op. Wat 'teveel' en 'te weinig' is, is ook afhankelijk van de omstandigheden op het water en daar komt het 'zelf lerend' van een aantal van die dingen mooi van pas - als de basis parameters een beetje redelijk zijn.

Sonytech

Overleden

Op 24 november 2013 22:34:26 schreef EricP:
De truc is waarschijnlijk dat men eerst even uitvlooit bij welke roerstand het schip rechtuit vaart.

Er is niet één specifieke roerstand is waarbij een boot rechtuit vaart. Om de invloeden van wind en stroming te compenseren zal je de roerstand telkens daarop moeten aanpassen.

"Verbaas u niet, verwonder u slechts."

Niet alle professionele stuur automaten werken met een roerstand feedback.
er word vaak zat een analoog signaal afgegeven aan de stuursysteem.

heb je dit niet en stuur je alleen maar zwart/wit aan dan heb je wel een feedback van je roer nodig omdat je piloot moet weten hoever je hem uitstuurt.

nu zit je met het volgende probleem om je boot recht te krijgen.
(ik doe regelmatig een proefvaart met de zeevaart.)

de basis settings die je het meest gebruikt zijn je rudder/ counter rudder waardes.
hier moet je mee spelen.

de rudder waarde gebruik je om je schip van de ene koers naar de andere koers te sturen. maak je maar een wijziging van 10 graden
dan hoeft er niet veel uitgestuurd te worden. maak je een grotere wijziging dat natuurlijk meer.

nu gaat de piloot kijken hoe snel hij naar de ingestelde koers gaat (afhankelijk van de snelheid)
komt hij in de buurt dan wordt zijn roer terug gestuurd naar midschips. hij kijkt dan ook meteen naar je draaisnelheid en gaat hier op compenseren (je counter rudder waarde).

met deze waardes moet je proef ondervindelijk spelen. hier zijn niet echt vast waardes voor.

een goed punt om mee te beginnen is je rudder de helft van je waarde te geven en je counter rudder daar een punt onder.
rudder 5
counter rudder 4 (op een schaal van 10)

Let wel op dat het slingeren van je schip zeer afhankelijk is van de snelheid die je vaart.

ik heb hier nog wel meer info liggen maar dan ga je er echt heel diep op in

hoe hoger in de mast aan het werk, hoe mooier het uitzicht
Lambiek

Special Member

Ik denk dat je het zo niet goed gaat krijgen.
Je moet er voor zorgen dat je een proportioneel regel gedrag gaat krijgen.

Je hebt terugkoppeling van je roer nodig, maar ook de stand van de wind is belangrijk. Je moet eigenlijk een soort dynamic position system creéren, maar dan varend. Dat kan met DPS trouwens ook.

Je zal je software dus goed voor elkaar moeten hebben.

Als je haar maar goed zit, GROETEN LAMBIEK.
Sonytech

Overleden

Je hebt terugkoppeling van je roer nodig, maar ook de stand van de wind is belangrijk.

De stand van het roer is in principe helemaal niet interessant voor een stuurautomaat.

Zoals de TS in z'n openingspost al aangeeft is de gemeten kompaskoers de belangrijkste input voor de automaat.

"Verbaas u niet, verwonder u slechts."

de kompas koers is inderdaad het belangrijkst. je wilt weten waar je heen gaat.

maar een feedback van je roer kan hier ook een heel stuk bij helpen. omdat de piloot de roeruitslag geeft. en als je dat niet analoog doet dan wil/moet je eigenlijk een feedback hebben.

analoog kan ook prima. dan geeft je piloot ook aan wat je roer uitslag is. hier zit alleen geen feedback op omdat dit in het stuursysteem zelf gebeurt.

ik denk dat je op dit moment met te veel onbekende variabelen zit waardoor je dit niet afgeregeld krijgt.

maak eerst eens een lijst met wat het schip zou kunnen beïnvloeden om van de koers af te wijken en ga hier mee verder.

hoe hoger in de mast aan het werk, hoe mooier het uitzicht

Wel of geen roer-feedback daar zijn de deskundigen het dus ook niet over eens. Zoals leip11 al schrijft zijn er veel onbekende variabelen, het systeem zal sowieso proefondervindelijk afgeregeld moeten worden. Vandaar dat ik dat lcd al heb toegevoegd, anders had 1 ledje en 1 drukknopje volstaan.

Ik begin ervan overtuigd te raken dat een PID regeling de enige manier is, regeltechniek was op de MTS alleen niet mijn sterkste vak. Ik zal deze week eens proberen een stukje code te schrijven met die PID erin en leg het ter goedkeuring aan jullie voor. Heb er al wel veel over gelezen, maar dat gaat me meestal de pet te boven. De uitleg van YokoTsuno licht al een stukje van de sluier op.

Gr.

Erik

nu zou ik een piloot zoiezo niet met alleen een ledje en een drukknopje laten werken. ik wil altijd een uitlezing wat mijn piloot doet. (maar dat terzijde)

wel of geen feedback heeft er voor mij mee te maken of je je piloot een analoog signaal laat sturen of zelf direct de kleppen aanstuurt.

in het eerste geval zit er ook een feedback in het roer maar dan in het systeem zelf en niet in de piloot.

in het andere geval wordt het bekeken door de autopilot.
maar in bijde gevallen geeft de autopiloot een bepaalde roerstand uit. afhankelijk het verschil tussen de set course and the true course.

linksom of rechtsom moet je toch iets van een terugkoppeling van je roer hebben.

onderstaande dropbox link is een verslag wat door studenten gemaakt is ism met een collega van mij.
hier staat een hoop info in. maar voldoende lees voor om het te kunnen begrijpen. ook de formules staan erbij met uitleg

https://www.dropbox.com/s/blkulxtgjvx8fdq/stuurautomaten.pdf

nu zou je ook nog een adaptive piloot kunnen creëren. maar dat gaat nog een stukje verder.

nu vraag ik me nog effe af over je kompas.
hoe stabiel is die als je op de hand een rechte koers vaart? en waar staat die gemonteerd?
mocht je meer info nodig hebben dan hoor ik het wel

[Bericht gewijzigd door Henry S. op maandag 25 november 2013 21:15:29 (6%)

hoe hoger in de mast aan het werk, hoe mooier het uitzicht
Lambiek

Special Member

Hoe denk je dat die DPS systemen werken. Die krijgen overal terug meldingen vandaan, dan hoeft dat hier niet zo precies natuurlijk.

En wat denk je met PID te bereiken zonder feedback, helemaal niets dus.

Als je haar maar goed zit, GROETEN LAMBIEK.

Leip11- Ik heb vanavond wat te doen met die link van je.

Kompas is deze; https://www.sparkfun.com/products/7915 en werkt zeer nauwkeurig voor zover ik dat kan beoordelen. Het ding ligt nu op het dak van de stuurhut en zal later hoog in het mastje gemonteerd worden.

Lambiek - Nu moet je me toch aub uitleggen hoe je 2 feedback signalen kan combineren in 1 PID. Een roerstandmeter zit al gemonteerd, het analoge signaal is redelijk simpel naar de arduino te voeren.

Gr.

Erik

Erik,

ik denk dat lambiek er van uit gaat dat je geen feedback hebt (ik ook trouwens). en ik zou die zeker in je piloot invoeren.

voor je kompas zou ik hem op deze hoogte houden of anders op de waterlijn. dit omdat hoe hoger je hem hangt (zeker op een zeilboot) hoe meer hij last van schommelingen dus afwijkingen heeft.

standaard advies van fabrikanten is om hem zo laag mogelijk in het schip op de waterlijn te zetten.

ik zou je heading invoer op minimaal 10hz per seconden zetten om een betrouwbare waarde binnen te krijgen. professionele autopiloten accepteren niet minder (mag ook niet volgens IMO rules)

hoe hoger in de mast aan het werk, hoe mooier het uitzicht
Lambiek

Special Member

Op 25 november 2013 17:01:25 schreef leip11:
ik denk dat lambiek er van uit gaat dat je geen feedback hebt (ik ook trouwens). en ik zou die zeker in je piloot invoeren.

Inderdaad, ik zie ook nergens dat daar over gesproken wordt. En nogmaals zonder dat gaat het niet werken.

@ erik1234,
Wat gebeurt er nu als de autopiloot aanstaat, kan je dan je stuur verdraaien, als dat zo is werkt het dus voor geen meter. Als je hem iets kan verdraaien ben je in idergeval op de goede weg, maar moet er nog wat verbeterd worden.

Als je haar maar goed zit, GROETEN LAMBIEK.

Kompas word 1x per cyclus uitgelezen en na 10 metingen word er een gemiddelde genomen. Weet niet hoe snel die Arduino loopt, maar ik zal dat, denk ik, nog gaan aanpassen naar een gemiddelde over 100 samples. Het gaat om een motorboot, een beetje zeegang zoek ik niet op, dus een beetje helling is hier niet in het spel.

Lambiek, begrijp niet wat je bedoeld met stuur verdraaien. Pomp is aangesloten op een hydraulische stuurinrichting. Met het stuur kan ik sturen als de pomp niet draait. Het systeem is gewoon zo, en wel zo veilig om niet afhankelijk te zijn van electronica.

Gr.

Erik

ik weet niet hoelang een cyclus duurt. maar om een stabiele waarde te hebben zit je toch rond de 10hz.
en ik weet niet of het handig is om een gemiddelde van 10 metingen te nemen. aangezien dit dan om de 1 seconden gerefresht wordt krijg je alsnog een afwijking. nu weet ik ook niet of je een 10de achter de komma kijkt maar hier zit je dan al snel aan een verschil met een kleine slinger in je boot.

zeegang zal je dan zeker niet echt veel krijgen. maar dan is het ook niet nodig om hem boven in de mast te zetten. het is geen gps kompas

lambiek bedoeld wat gebeurt er als je de autopiloot bekrachtigt. kan je dan nog steeds met het handwheel sturen? dit moet namelijk niet mogelijk zijn. het roer moet vastgehouden worden door de stuurmachine.

als dit dus niet gebeurt loopt je roer vrij op het moment dat je hem niet aanstuurt. dan is het ook niet mogelijk om je boot goed op koers te houden aangezien je roer een eigen leven gaat lijden.

hoe hoger in de mast aan het werk, hoe mooier het uitzicht
Lambiek

Special Member

Op 25 november 2013 20:14:28 schreef erik1234:
Lambiek, begrijp niet wat je bedoeld met stuur verdraaien.

Als je autopiloot aanstaat, zou je het stuur niet mogen/kunnen verdraaien. Als het goed is wordt het een soort servo systeem.

Pomp is aangesloten op een hydraulische stuurinrichting. Met het stuur kan ik sturen als de pomp niet draait.

Dat is als de autopiloot uit staat.

Het systeem is gewoon zo, en wel zo veilig om niet afhankelijk te zijn van electronica.

Dat moet ook, je moet niet afhangkelijk zijn van de elektronica.
Dat is in dit geval een hulp middel.

Maar leg nu eens uit hoe je het precies gedaan hebt met de hydraulische stuur inrichting/pomp.
Heb je een aparte stuurpomp en een aparte hydrauliek pomp?

Als je haar maar goed zit, GROETEN LAMBIEK.
EricP

mét CE

Er is niet één specifieke roerstand is waarbij een boot rechtuit vaart. Om de invloeden van wind en stroming te compenseren zal je de roerstand telkens daarop moeten aanpassen.

Dat is dus ook een doorlopend proces... Anders zou het niet zo spannend zijn natuurlijk.

Niet alle professionele stuur automaten werken met een roerstand feedback.

Welke niet??

voor je kompas zou ik hem op deze hoogte houden of anders op de waterlijn. dit omdat hoe hoger je hem hangt (zeker op een zeilboot) hoe meer hij last van schommelingen dus afwijkingen heeft.

Als het goed is, dus niet... Maar dat hangt sterk af van de kwaliteit kompas. Als-ie er wel veel last van heeft, dan is-ie dus niet geschikt voor gebruik aan boord...

dit moet namelijk niet mogelijk zijn. het roer moet vastgehouden worden door de stuurmachine.

Dat hangt sterk van je stuursysteem af. Ik ken genoeg semi-professionele automaten die een roeruitslag afdwingen. Draai jij met je (nood)stuurpompje de boel ergens anders heen, dan draait de automaat het ding vrolijk weer terug. erg handig als je kinderen wilt laten sturen: zet je seastatefilter op 10 graden. Zolang ze min of meer rechtuit varen, dan sturen ze zelf. Zitten ze er naast, dan tikt de stuurautomaat ff terug. Paar graden van koers kan meestal voor een half uurtje geen kwaad :)
Het hele verhaal gaat natuurlijk niet op als geen mechanische (nood)pomp hebt, maar altijd 'drive by wire' hebt omdat je roer bijvoorbeeld te groot is om op de hand te kunnen draaien bij een beetje zeegang. Voor een jacht niet van toepassing.

Ik ken fatsoenlijk sturende stuurautomaten niet anders dan 'zelf lerend' en een roeruitslag forcerend (die afhankelijk is van wat ze geleerd hebben over het stuurgedrag van het schip). Zodra je richting de gewenste koers gaat, dan verminderen ze roeruitslag en als je er bent, staat het roer weer zo als waar je voor dat de correctie begon mee rechtuit voer - ook als dat betekent dat je 10o roeruitslag nodig hebt om onder die omstandigheden min of meer rechtuit te varen.

Als je dit voor elkaar hebt, dan kun je nog een stukje verder: laat het ding naar een waypoint toe sturen. Er handig als je in een TSS strak langs de tonnenlijn wilt varen. Maar goed... eerst maar eens rechtdoor.

Heb dat documentje van dropbox eens doorgelezen, halverwege ben ik afgehaakt. Staat allemaal zeer mooi beschreven, maar veel gaat mijn pet te boven. PID snap ik in de basis wel.

Denk dat ik toch maar met PID aan de slag moet. Er staat een PID library op de Arduino site waar ik meer vertrouwen in heb dan mijn eigen programmeerkunsten. Dit is een library voor 1 relais om bijv. een temperatuur te regelen, maar volgens mij moet 'ie om te bouwen zijn naar 2 relais'

code:

void loop()
{
  Input = analogRead(0);
  myPID.Compute();

  /************************************************
   * turn the output pin on/off based on pid output
   ************************************************/
  unsigned long now = millis();
  if(now - windowStartTime>WindowSize)
  { //time to shift the Relay Window
    windowStartTime += WindowSize;
  }
  if(Output > now - windowStartTime) digitalWrite(RelayPin,HIGH);
  else digitalWrite(RelayPin,LOW);

}

Maar daar gaan we als er een roersensor toegevoegd moet worden. "Input = analogRead(0);" is natuurlijk om te bouwen naar de waarde van de kompassensor. Maar hoe krijg je de roersensor er dan ook nog in verwerkt?

Gr.

Erik

Niet alle professionele stuur automaten werken met een roerstand feedback.
Welke niet??

bijna alle kunnen zonder feedback werken. ze sturen dan alleen een analoog signaal naar het stuursysteem en daar zit dan een feedback in. hij kijkt dan zelf niet naar het roer. (maar weet inprincipe wel wat de roerstand is omdat hij dat analoog uitstuurt.

voor je kompas zou ik hem op deze hoogte houden of anders op de waterlijn. dit omdat hoe hoger je hem hangt (zeker op een zeilboot) hoe meer hij last van schommelingen dus afwijkingen heeft.

Als het goed is, dus niet... Maar dat hangt sterk af van de kwaliteit kompas. Als-ie er wel veel last van heeft, dan is-ie dus niet geschikt voor gebruik aan boord...

heeft opzich niet zo heel veel met de kwaliteit te maken. ik heb het genoeg mee gemaakt dat als de kompassen te hoog geplaatst zijn ze hier zodanig last van hebben met sturen op de piloot dat het niet bij te regelen is. (maar ik kijk denk ik nu te veel naar de zeevaart)

dit moet namelijk niet mogelijk zijn. het roer moet vastgehouden worden door de stuurmachine.

en ook hier weer ben ik teveel zeevaart georiënteerd. ik kan als ik beneden op het stuursysteem direct de solenoids aanstuur terwijl de piloot aanstaat max 1 a 2 graden uitslaan en dan wordt die direct bijgeregeld.

ook ik ken genoeg adaptive(zelf lerende) piloten en werk daar ook genoeg mee. maar die hebben eigenlijk allemaal ook nog de mogelijkheid om als pid regelaar te werken.
ik denk eerst dat je toch de PID regeling goed aan de gang moet hebben voordat je dan naar de adaptive mogelijkheid gaat kijken. dan kan je het best met de kalman filter werken (staat een stuk in het document). maar dat is een stap verder

Maar daar gaan we als er een roersensor toegevoegd moet worden. "Input = analogRead(0);" is natuurlijk om te bouwen naar de waarde van de kompassensor. Maar hoe krijg je de roersensor er dan ook nog in verwerkt?

ik durf hier geen duidelijke uitspraken over te doen aangezien ik hier zelf software matig ook niet echt mee bezig ben geweest, maar denk dat je dit apart moet regelen ten opzichte van je koers. uiteindelijk moet je ze wel combineren. maar moet me daar ook nog weer eens goed op inlezen

[Bericht gewijzigd door leip11 op maandag 25 november 2013 23:33:23 (26%)

hoe hoger in de mast aan het werk, hoe mooier het uitzicht

Op 25 november 2013 16:55:19 schreef erik1234: Maar hoe krijg je de roersensor er dan ook nog in verwerkt?

Door 2 regelkringen in cascade te plaatsen.

-1ste regelkring: Setpoint = gewenste koers, terugkoppeling = kompasuitlezing
-2de regelkring: Setpoint = gewenste stand roer, terugkoppeling = feedback roerstand

Uitgang 1ste regelkring => ingang 2de.

Begin eerst met de laatste zonder je iets aan te trekken van de rest maw maak een regelkring die het roer correct positioneert aan de hand van een setpoint, bv -45 tot +45 graden.

Op 25 november 2013 20:14:28 schreef erik1234:Weet niet hoe snel die Arduino loopt,

Dit principe heeft ook zo zijn tekortkomingen. Een meting is beter niet afhankelijk van een cyclustijd. Een betere manier van werken is softwarematig of via interrupts een timer in te bouwen die op vaste tijdstippen een meting doet.