Er is weer veel gebeurd, althans op de computer vandaag:
Allereerst zijn we terug naar de originele setup gegaan, zijnde 6 servo's op de arduino.
dit was weer veel draden versteken en aanpassen (pfff).
Dan de introductie van een Hall sensor voor de positie bepaling van de kraan, hoe gaat dit gebeuren:
Ik ga in de schacht van de kraan op 5mm van elkaar gaten boren van 3mm en daarin kleine magneetjes kleven op de plaats waar de kraan een obstructie vormt, de sensor leest dit en de Arduino laat dan dingen toe of niet...
Initieel gebruik ik een A1122LUA) ik vond niets anders in India
, nu de 1344 is besteld en ik hoop dat deze minder gevoelig zal zijn. De 1222 is wel heel erg juist, 1mm is genoeg om geen signaal meer te hebben...
Daarnaast heb ik nog een relais geïntroduceerd om de ESC van de "kraan verdraaiing" te onderbreken als de hatch in beweging is en de kraan de veilige zone betreed.
Welke failsave is er nu:
- Hatch volledig dicht of volledig open en kraan in de gevaarzone, hatch blijft in positie.
- Als de hatch niet open of niet dicht is en de kraan loopt in de gevaarzone stop de kraan tot het luik in veiligheid is en gaat dan verder.
(Er is een veiligheidsoverlapping mogelijk (nu staat deze op 5°) maar dat moet nog op de boot zelf worden gestest.
Dit hangt ook af van de onderlinge snelheden natuurlijk.
Hier het stuk je code waar ik toch even op heb moeten denken...
Het lijkt niet zo veel maar al het testen heeft toch weer zo'n uurtje of 4 opgeslokt...
Oh ja, en dan nog iets...
Dank zij alle inspanningen en enkele geniale gedachten heeft Maarten grotendeels het " SPRINGEN" van de servo's bij opstart opgelost. Hoe, en wat?
Door de servo's te "binden" met de standaard write functie zonder de "Slow" functie hiervoor aan te roepen, gaan de servo's dus niet meer naar de volledige middenstand zijnde 1500ms, ze springen nog wel even bij het aanzetten van de stroom zoals je altijd hebt bij aanzetten van de Rx maar dat is niet echt meer een probleem, het is max 1° verplaatsing dus verwaarloosbaar,
Maarten bij deze:


Hoe dus wel zeer simpel:
Voilla, morgen probeer ik de kraan te modificeren en dan zien we wel wanneer de andere sensors binnen komen, misschien probeer ik het ook gewoon met deze... (eerst nog wat snijden en zagen in het model, niet echt mijn favoriete bezigheid daar alles nogal fragiele is).
Foto's en films volgen...
Allereerst zijn we terug naar de originele setup gegaan, zijnde 6 servo's op de arduino.
dit was weer veel draden versteken en aanpassen (pfff).
Dan de introductie van een Hall sensor voor de positie bepaling van de kraan, hoe gaat dit gebeuren:
Ik ga in de schacht van de kraan op 5mm van elkaar gaten boren van 3mm en daarin kleine magneetjes kleven op de plaats waar de kraan een obstructie vormt, de sensor leest dit en de Arduino laat dan dingen toe of niet...
Initieel gebruik ik een A1122LUA) ik vond niets anders in India

Daarnaast heb ik nog een relais geïntroduceerd om de ESC van de "kraan verdraaiing" te onderbreken als de hatch in beweging is en de kraan de veilige zone betreed.
Welke failsave is er nu:
- Hatch volledig dicht of volledig open en kraan in de gevaarzone, hatch blijft in positie.
- Als de hatch niet open of niet dicht is en de kraan loopt in de gevaarzone stop de kraan tot het luik in veiligheid is en gaat dan verder.
(Er is een veiligheidsoverlapping mogelijk (nu staat deze op 5°) maar dat moet nog op de boot zelf worden gestest.
Dit hangt ook af van de onderlinge snelheden natuurlijk.
Hier het stuk je code waar ik toch even op heb moeten denken...
Code:
// Rearhatch gaat enkel open als de kraan uit de parking positie is (Cranepos) gemeten door de Hallsensor !!! TESTED OK !!!
if(Pos2Read > Closepos2 + 5 && Pos2Read < Openpos2 - 5){
if(Cranepos == LOW){digitalWrite(CraneStop, HIGH);} // als de hatch niet dicht of open is (+/- 5) en de kraan loopt in opent de relais
else{digitalWrite(CraneStop, LOW);}}
else{digitalWrite(CraneStop, LOW);} //
if(Cranepos == HIGH){ // als de kraan weg is mag het open
if(RCpulse2 > RCmid + 200){Pos2 = Openpos2;} //
else if(RCpulse2 < RCmid - 200){Pos2 = Closepos2;}}
else if(Cranepos == LOW && Pos2Read >= Openpos2-5){Pos2 = Openpos2;} // als kraan daar is maar de het luik is open blijft het luik open
Het lijkt niet zo veel maar al het testen heeft toch weer zo'n uurtje of 4 opgeslokt...
Oh ja, en dan nog iets...
Dank zij alle inspanningen en enkele geniale gedachten heeft Maarten grotendeels het " SPRINGEN" van de servo's bij opstart opgelost. Hoe, en wat?
Door de servo's te "binden" met de standaard write functie zonder de "Slow" functie hiervoor aan te roepen, gaan de servo's dus niet meer naar de volledige middenstand zijnde 1500ms, ze springen nog wel even bij het aanzetten van de stroom zoals je altijd hebt bij aanzetten van de Rx maar dat is niet echt meer een probleem, het is max 1° verplaatsing dus verwaarloosbaar,
Maarten bij deze:





Hoe dus wel zeer simpel:
Code:
Fronthatch.attach (8); //plaats de servo op pin 8
Fronthatch.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
Rearhatch.attach (9); //plaats de servo op pin 9...
Rearhatch.write(Pos2);
Sidehatch.attach (10);
Sidehatch.write(Pos3);
Lift.attach (11);
Lift.write(Pos4);
Anchorleft.attach (12);
Anchorleft.write(Pos5);
Anchorright.attach (13);
Anchorright.write(Pos6);
Voilla, morgen probeer ik de kraan te modificeren en dan zien we wel wanneer de andere sensors binnen komen, misschien probeer ik het ook gewoon met deze... (eerst nog wat snijden en zagen in het model, niet echt mijn favoriete bezigheid daar alles nogal fragiele is).
Foto's en films volgen...