Autopilot till båt, med filmklipp

Berätta om dina pågående projekt.
Användarvisningsbild
Peter_L
Inlägg: 106
Blev medlem: 20 mars 2006, 03:27:49

Autopilot till båt, med filmklipp

Inlägg av Peter_L »

Jag har byggt en autopilot till min båt. Ska på båt semester nästa vecka, och fiska mycket, skönt att slippa tänka på ratten hela tiden. 8)


BildBild
BildBild

Jag har byggt den av en skruvdragarmotor från en 12v skruvdragare jag köpte på jula. Som arm använder jag en bit av skaftet från micromoppen frida, även den inhandlad på jula. I den sitter en gängstång som sjuter det smala röret fram eller tillbaka, i det smala röret sitter det en bult. Det finns en liten microbrytare som känner av när armen är fullt indragen, bra när man ska kalibrera den. På chunken har jag limmat fast en magnet och under chunken sitter en hallefekt switch som man räknar varv med. När man kalibrerar den så drar den in armen hela vägen in tills microbrytaren ger signal, då vet man att den är längst in på position/varv 0. Är armen längst ut så är den på position/varv 150.

Elektroniken i den består i en pic16F84, som driver tre relä, via en uln2003. Två reläer använder jag till polvändning, det andra reläet ström till motorn. Har även satt en stor diod vid reläet som ger ström till motorn. Den använder jag som broms. Först slår man av strömen till motorn direkt därefter polvänder man och den stannar på ett halvt varv.

Först byggde jag med ett rc fartreglage, tänkte att man kanske skulle vilja kunna köra den lite långsamare också. Men det bara krånglade och det visade sig att jag alltid körde på fullgas hela tiden. Så det blev reläer. Funderade på h-brygga ett tag men det blev smidigare med bara reläer.

Som det ser ut nu så har jag den kopplad till en bärbardata med gps och försöker skriva i hopp så bra kåd som möjligt så att båten ska gå så rakt som möjligt med minsta möjliga svängningar. Det är inte så lätt, håller på att experimentera en massa, vill ju att den ska kunna lära sig själv hur den ska styra i olika väderförhållanden och så, man ska ju inte behöva göra massa inställningar bara för att det börjat blåsa mer.

Nackdelen med gps(nmea) är att man bara får in data var tredje sekund unigefär. Har en ju digital kompassmodul liggande, kanske skulle ta och integrera den i min autopilot.

Om jag lyckas få i hopp någon bra kåd är tanken den att jag ska lägga in den direkt i pic:en och sedan kunna koppla autopiloten direkt till gps:en utan dator.

Här är en liten idé skiss i 3d jag ritade innan bygget, visar hur den funkar.
http://web.telia.com/~u36308569/apilot3d.avi

Här är en film på hur den funkar in real life
http://web.telia.com/~u36308569/apilot.avi
Användarvisningsbild
Adis
Inlägg: 1373
Blev medlem: 26 augusti 2003, 19:57:03
Skype: adis1987
Ort: Gävle
Kontakt:

Inlägg av Adis »

Fy fan vad roligt! :tumupp:
Användarvisningsbild
Maze
Inlägg: 435
Blev medlem: 8 juni 2004, 18:49:29
Ort: Göteborg

Inlägg av Maze »

Skulle det inte gå bra att kasadreglera rodret från GPSen ? Ena reglerkretsen styr rodret och använder kompasmodulen som givare. Detta system vill man ha så snabbt som möjligt så båten hela tiden går på inställd kurs oavsett störningar i form av vind och vågor. Sen låter man GPSen stå som givare för det andra systemet som skickar önskad kurs till första systemet. Fördelen med detta är att den andra reglerkretsen kan vara mycket långsammare vilket passar bra när GPSen ger lång dötid. Intressant projekt för övrigt :)
bearing
Inlägg: 11322
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Inlägg av bearing »

Får man bara var 3:dje sekund?

Jag får 1/sekund med min som är NMEA tror jag.
Användarvisningsbild
Peter_L
Inlägg: 106
Blev medlem: 20 mars 2006, 03:27:49

Inlägg av Peter_L »

Bild

Jag har en kompassmodul liggande, en CMPS03 från lawicel. Har testat att köra en rc-båt via den, men blandade resultat, den ska ligga väldigt plant för att ge bra värden, gungande båtar verkar den inte gilla. Men jag kommer nog att testa den i alle fall, kanske inte så farligt i en större båt.

Min gps garmin etrex Venture ger ut riktningen var tredje sekund unigefär (i $GPRMC). Mitt cf-gps kort lite oftare. En kompassmodul skulle ge datan direkt utan fördröjning alls.

Det jag vill är också att autopiloten ska jobba så lite som möjligt, tillexempel om båten drar åt höger, så ska den inte hålla på och korrigera, driva, korrigera, driva osv.. utan då ska den sätta rodret i så mycket vänstersväng att det kompenserar för driften och hålla det där så länge det behövs.

Gäller bara att ha tålamod och nerver att lyckas skriva i hopp sådant program. Fuzzy logic kanske :roll:
Användarvisningsbild
tecno
Inlägg: 27052
Blev medlem: 6 september 2004, 17:34:45
Skype: tecnobs
Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
Kontakt:

Inlägg av tecno »

:tumupp: härligt att se.

Kan du inte få till en enkel gyroupphängning till kompassmodulen?
Användarvisningsbild
MadModder
Co Admin
Inlägg: 30092
Blev medlem: 6 september 2003, 13:32:07
Ort: MadLand (Enköping)
Kontakt:

Inlägg av MadModder »

Hehe... en gyrostyrd platta med PID-styrning :P
Kan det inte gå med en slags "steady-cam"-mojäng, en tung pendel?
Användarvisningsbild
netrunner
Inlägg: 5510
Blev medlem: 4 februari 2005, 12:26:05
Ort: 127.0.0.1

Inlägg av netrunner »

nmea, bör ge dig varje sekund. Min GPS-puck från CO gör det i alla fall.

Om inte annat bör det gå att få PIC:en att läsa från GPS:en direkt. Så har man en 2x20 LCD där den visar vad som är den nuvarande kursen och den som är den önskade.
Användarvisningsbild
Peter_L
Inlägg: 106
Blev medlem: 20 mars 2006, 03:27:49

Inlägg av Peter_L »

Det är tänkt att jag ska koppla pic:en direkt till gps:en, anledningen till att jag har en bärbardator nu mellan gps:en och pic:en är ju att jag håller på och programmerar, försöker få till ett så bra program som möjligt. Sen när jag är klar med det ska jag skriva om det till picen och koppla gps:en direkt till picen. Det skulle vara jobbigt att behöva programera om picen varje gång man gör en liten ändring, speciellt när man är ute på sjön.

Jag ska testa med mer programmering innan jag börjar med kompass modul idén. Har ju en hel veckas båt semester programmerande att göra och hinner inte att sätta in kompassmodulen innan.

Det borde nog räcka med den riktning data jag har att tillgå nu.
Hur lång tid det är mellan datan beror ju på hur mycket övrig nmea
data som spottas ut också. En puck tillexempel matar ju inte ut lika mycket som en hand gps. Hand gps:en matar ju ut mycket fler meningar om, waipoint info, crosstrack error osv..

Styr man båten själv i lungt väder så är det inte alls så ofta man måste röra på rodret, tänkte att jag skulle göra något sånd i programet.

Tillexempel att autopiloten får bara röra på sig en gång var 30:de sekund, om inte felkursen överstiger x antal grader, då får den röra sig även att det inte gått 30 sekunder.
:humm:
Seven11
Inlägg: 547
Blev medlem: 13 maj 2004, 23:43:33

Inlägg av Seven11 »

bara röra sig var 30:e sekund?! fan va schysst om någonting bara dyker upp från ingenstans :lol:
Användarvisningsbild
DeVille
Inlägg: 2359
Blev medlem: 29 mars 2004, 15:04:22
Ort: Dalsländska skogen.
Kontakt:

Inlägg av DeVille »

Mycket intressant projekt!

Har en autopilot till segelbåten som fungerar enligt samma mekansika princip.

I den sitter det däremot någon form av kompass modul. Är väldigt känslig.
Den svänger ganska mycket i början för att sedan stabilisera kursen.


Får man fråga vilka vatten du trafikerar?

Lycka till i fortsättningen!
Gimbal
Inlägg: 7992
Blev medlem: 20 april 2005, 15:43:53

Inlägg av Gimbal »

Tycker också det låter märkligt med var tredje sekund även om det är en handhållen, du har inte råkat ställa gps'n i batterisparmode?

Hursomhelst, bra jobbat.
Användarvisningsbild
Peter_L
Inlägg: 106
Blev medlem: 20 mars 2006, 03:27:49

Inlägg av Peter_L »

Nu är jag hemma igen efter båtsemestern. Vi åkte från domsands båthamn i bankeryd (nordväst om jönköping). Upp till olshammar med skärgård längst upp i vättern och hade det jättebra. Vi åkte på tisdagen den 13:de juni och kom hem på fredagen.

När vi började vår resa så satt jag och programmerade och lyckades få i hopp ett jättebra program, som styrde båten nästan helt spikrakt, och som ställer in sig själv typ. Det bygger på två variablar, roderlägen för korrigera till höger respektive vänster.

Autopiloten räknar ju varv, position 0 = armen fullt indragen(högersväng), position 150 = fullt ute(vänstersväng).... 75 ska ju då vara rakt fram, men det kan ju variera beroende på vind, strömmar, släpande fiskesaker osv.

de två variablerna är då, koriggera till höger och vänster. Typ

korr_h = 70 'position 70 är då lika med en jätteliten högersväng
korr_v = 80 'och position 80 = jätteliten vänstersväng

När då datan kommer in att båtens kurs är lite för mycket till höger, så läser programmet av variabel korr_v och sätter rodret till den positionen så den svänger lite till vänster. Men nu säger vi att det har börjat blåsa lite från vänster så att det inte är tillräckligt med position 80. Då ändras båda variablerna, korr_v och korr_h med +3 dvs, korr_v blir 83 och korr_h blir 73. Sen kollar den ju igen om det va tillräckligt, om inte så ökar den variablerna med 3 till. Mellanrummet mellan variablerna är ju här 10 (80-70), men det kan ändras beroende på hur många gånger programmet måste korrigera höger och vänster variablerna. Är det mycket vågor på sjön så måste ju mellanrummet vara större så att autopiloten blir mer aggressiv.

Undrar om någon fattade något alls av vad jag menar, är ju inte världens bästa förklarare :roll:

Dock så slutade autopiloten att fungera efter vi passerat visingsö, det va ju så väldigt varmt den dagen så den överhettade. Så hade jag glömt lägga in en liten paus i programmet i pic:en, efter sista minuten ändringar. Pausen skulle vara till att vänta på reläerna, så att inte strömmen kortslöts. Men utan den pausen så kortslöts strömmen under någon millisekund varje gång reläerna drog och det blev varmare och varmare, tillslut så hade kablar smällt i den och pic:en dött. Så det blev manuell styrning resten av resan.

Som det ser ut nu är all elektronik i autopiloten ihoppbyggd på experiment laminat(kopparöar) och massa sladdar lödda på reläerna. Hade tänkt bygga det på riktigt nu i stället, och etsa kretskort och så. Jag kan nog behöva lite hjälp med, hur jag ska bygga elektroniken sen också... Återkommer med det :) hoppas ni haft en trevlig midsommar
Användarvisningsbild
Icecap
Inlägg: 26208
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Inlägg av Icecap »

Det är en PI-regulering du beskriver.
P = Propotionellt
I = Integrerande

Alltså är styrsignalet (antal pulser +/-) et resultat av den direkta avvikelse (P) samt en summerande avvikelse (I, "still not there, one more notch please")

Låter helt bra att du fick rill det så bra, fixa bara nya sladder och delayen och åk på semester 1 gång till vetja ;-) Måste ju testas!
Radiohead
Inlägg: 445
Blev medlem: 18 mars 2006, 17:11:02

Inlägg av Radiohead »

Du bör i alla fall inte ha någon D-verkan på grejen om du vill undvika hastiga svängningar. Men det kanske du inte hatte ändå...
Skriv svar