måndag 29 september 2008

Nya multikretsen

Här är ritningen för hur den nya allt-i-allo-kretsen ser ut. Det bästa med kretsen är inte bara att den redan är färdigbyggd, utan att den även funkar! Alla komponenter; Basic Stamp 2e, hex konverterare, servokontroller, seriellportar, voltkonverterare, kondensatorer, dioder och radiomottagare på en och samma multikrets. Det som återstår är att ordna med en bra drybox som både skyddar mot stötar och väta. Om den dessutom får plats inuti båten på ett tillfredsställande vis vore det ännu bättre.

onsdag 24 september 2008

Experthjälp, förtvivlan och nytändning

Efter det sista misslyckade testet beslutade vi oss för att kalla in experthjälp. Efter att ha beskrivit projektet och entusiasmerat en elektrotekniker fick vi en grundlig genomgång av vad som kan ha orsakat det senaste haveriet. Då vi under det senaste testet använde oss av en icke-jordad signal från GPS:en verkade det som om det var där skon klämde. Problemet är bara att signalen från GPS:en inte läses på ett tillfredsställande sätt om man jordar den till den gemensamma strömkällan. Lösningen på problemet är en Hex Converter, ett litet chip som vänder på signalen så att den mottas ordentligt, och samtidigt kan jordas.


Glada och nöjda gick vi hem och förberedde det stora testet. Batterierna laddades, rutter programerade, fika inhandlades. Denna gång tog vi inte heller några risker ifall båten skulle löpa amok utan gav oss iväg i en följebåt. Alla tester såg initialt bra ut , gps:en hade god täckning och vi hade höga förhoppningar. Tills den skulle i vattnet.. Noll. inte ett smack hände. Ingen respons från fjärren, inget roderutslag. Vi gjorde vad vi kunde på den guppande fjärden men fick desvärre vända hem med oförättat ärende. Problemet var att efter som vi efter hand under projektets gång laggt till fler och fler funktioner hade hela båten blivit ett virrvarr med sladdar. Det gick inte att få någon överblick, än mindre att felsöka.
Vi har av den anledningen fattat beslutet att göra en total revidering av det elektroniska systemet. Allt ska centraliseras till ett och samma kretskort, och en utförlig ritning skall skapas. Inga sladdar ska korsas fram och tillbaka med tvivelaktiga skarvningar. Dessutom skall all elektronik som inte är fastmonterad i båten byggas in i en och samma drybox.



Sakta men säkert har nu arbetet kommit igång, och det ser i nuläget mycket lovande ut. Faktiskt något av en befrielse att bara ha med tre sladdar att göra i båten mot ett trettiotal som det var i förra versionen. Denna gång kommer vi att lyckas!

torsdag 24 juli 2008

Så kan det gå...


Gårdagens båtfärd blev vad många skulle kalla för en total flopp. Efter att ha gjort några mycket hoppingivande tester på land bestämde vi oss för det ultimata testet: Båten skulle navigera efter två waypoints och sedan stanna.

Omborddatorn var fullproppad med säkerhetsrutiner. Så fort den tappade kontakten med fjärrkontrollen skulle den STANNA, vad som än hände. Alltså skulle det bara vara att stänga av fjärren för nödstopp.

Datorn skickar hela tiden information till servochipet om hur roder och motor ska styras. Om datorn av någon anledning inte kan skicka mer data, så kommer servochipet att köra vidare på det senaste kommandot. Detta hände när båten körde för full maskin.
Som GPS-loggen ovan visar så krockade båten med bryggan till höger, fortsatte rakt ut i farleden, krängde och krockade med en främmande brygga. Där simmade jag ikapp den och lyckades gå tillbaka över tomterna. Det behöver inte tilläggas hur nära det var att hela projektet gick åt skogen!

Vårt största misstag var att inte ha någon följebåt. Vi ska även separera strömslingorna i båten så att kommunikationen mellan chipen inte kan störas. Nedan ser ni tillfället då vi tappar kontrollen över båten:

lördag 10 maj 2008

Vi börjar bli klara...

Första riktiga färden ligger inte långt borta. Nu är programmet färdigskrivet, båten svänger rodret utifrån hur många grader den avviker från kursen. Programmet har inte körts i vattnet än pga kalibreringar av svängradien (ett större arbete än väntat), men GPS:en är testad och spottar ur sig pålitliga värden så länge den inte störs av magnetfältet från båtmotorn.

Första färden kommer förmodligen att bestå av tre-fyra punkter ganska nära varandra utanför stranden som båten följer. Om båten klarar detta är det bara en batterifråga hur långt den kan köra - förutsatt att den inte sjunker såklart.

tisdag 6 maj 2008

Båt Cam!


Mest på skoj, men även för att testa att servokontrollern fungerar bra gjordes ett mindre våttest. Kameran, som är en 3G-telefon, är ingen permanent installation utan var temporärt fasttejpad.
Programmet som körs är av simplaste art, stampen läser vad fjärrkontrollen skickar, konverterar detta till en skala som servokontrollerna förstår, och skickar sedan vidare kommandona.
Testet visar att kommandot SEROUT i ett simpelt program ger minst lika bra responstid som kommandot PULSOUT som tidigare användes.

lördag 3 maj 2008

Snart dags för våttest igen

Detta är vad som kan hända om man är för ivrig och sjösätter båten när det fortfarande ligger en del is. Propellern är nu bytt, men dessvärre verkar det inte finnas några standardalternativ i metall.
Ett av problemen som behöver tacklas är att få ombord tillräckligt mycket ström till ett rimligt pris. Med två ny batteripack skulle körtiden förlängas till en knapp timme, men eftersom vikten i gengäld skulle stiga från 1260 till 2125 gram kan det antas att hastigheten faller.

torsdag 1 maj 2008

Kalibrering och nyinstallation

Nu har vi äntligen mottagit det så viktiga servochipet! Det sitter mellan omborddatorn och roder/fartreglage för att avlasta processorn. Då beräkningskapaciteten ombord är något begränsad behöver omborddatorn kunna ägna sin fulla uppmärksamhet åt att läsa och tolka GPS-data. Chipet, som är ca 2x2 cm stort, sänder på kommando ut den serie med pulser som servo och fartreglage använder sig av.


På bilden ser man omborddatorn, servochip, motor, mottagare, fartreglage samt roderservo. Alla kablar skall sättas fast ordentligt och elektroniken ska efter installationen noggrant packas in i olika torrpåsar.





Vidare har även programvaran för navigation kalibrerats. Det tog ett tag att komma på att den Basic-tolk som styrprogrammet körs genom inte klarade negativa tal fullt ut.
Just detta test gick ut på att testa den algoritm som används för att via två strängar med data från gpsen ta fram den datan som skickas till servochipet.



Här använder vi oss av en lång pinne för att få ut de värden som faktiskt motsvarar en riktning i praktiken. Eftersom servot som styr roderet inte är perfekt symmetriskt har båten en tendens att gira relativt skarpare åt höger (styrbord). För att motverka detta fenomen via mjukvaran har vi tagit fram ganska exakta mätvärden.

onsdag 26 mars 2008

Nu fungerar den

Här gör båten en åtta helt av sig själv. Vänstersvängen är lite snävare än högersvängen men det är fixat i efterhand. Nu återstår bara att räkna om roderpositionerna så att GPS:en kan styra rodret.

tisdag 25 mars 2008

Autopiloten testad


Idag genomfördes kalibreringen av autopiloten. Vi ställde in programmet på att köra rakt fram, svänga 90 grader, köra rakt fram, svänga 90 grader osv. Detta för att se till att rodret svängde tillräckligt länge för att kröka båten så många grader som man matar in i programmet.Efter ett par omprogrammeringar fungerade det. Filmklippet nedan visar när båten går på en mycket låg hastighet, vi testade i full hastighet senare.

lördag 22 mars 2008

Sjötest nästa!

Arbetet med det nya skrovet har gått bra. All hårdvara är nu installerad och tätad. Det enda kvarvarande problemet innan mera omfattande sjötester inleds är att få mjukvaran att fungera perfekt. Som det nu är går båten att kontrollera, men responstiden från utslag på fjärrkontrollen till implementering av order är ännu inte perfekt.



Det kommande sjötestet kommer förhoppningsvis resultera i en mängd mätdata som kommer att användas för att kallibrera roderutslag och hastighet. För att båten skall kunna anpassa roderutslag beroende på hur nära en waypoint den befinner sig är det av vikt att känna till relationen mellan servoutslag och hastighet.

tisdag 18 mars 2008

Från konceptskrov till kortdistansskrov

Arbetet som pågår nu är att flytta omborddator med alla kablar till det nya skrovet. Eftersom konceptskrovet visade att allting fungerade tillförlitligt handlar det mycket om att hålla reda på sladdar. I samband med flytten till det nya skrovet skrivs också ett helt nytt styrprogram. Funktionen skall vara liknande det gamla, man skall på en given signal kunna överföra kontrollen av båten till omborddatorn. Då det ännu inte finns någon GPS handlar det om att utföra en serie med kommandon.
Vidare är ett servochip beställt och skall installeras. Servochipet fungerar som en intermediär mellan processorn och servo/fartreglage för att av belasta och förenkla styrprogrammet. I nuvarande utformning sänder omborddatorn kontinuerligt en serie med mycket korta pulser till servot. Med ett servochip sänds bara en engångs kommandosträng som servochipet sedan konverterar till pulsserier.



Det nya skrovet har fördelen med att vara färdigmonterat och tätat. Klippet visar tester av båten i sitt standardutförande, alltså enbart med manuell kontroll från en radiosändare.

torsdag 28 februari 2008

Första sjötesterna

Lite i tjuvstart har vi så sakteliga börat dra igång de första sjötesterna. Båten skall egentligen först målas och tätas bättre. Inledande testet var mest för att se om den flöt ordentligt och kunde styras, vilket den klarade fint. Problemen bestod främst av att batterierna inte räcker till, samt att den felnavigering som satte båten på grund ledde till ett oförberett bad. Inför nästa test ska vi också hitta en lämplig sjö som inte är fylld med gamla ruttna grenar.

måndag 25 februari 2008

Om omborddatorn

För de intresserade finns här att läsa den programvara som båten kör på omborddatorn. Koden är bara ett utkast, den går att optimera avsevärt. Istället för signaler från en GPS-mottagare använder sig båten än så länge av ett antal förinställda kommandon som talar om roderposition och hastighet. Vid en given signal från fjärrkontrollen tar omborddatorn över och utför kommandona i sekvens. När den gått igenom dessa lämnar den tillbaka kontrollen till fjärrkontrollen. Är man inte nöjd med hur båten beter sig kan man avbryta den förprogrammerade rutten, manuellt köra in till stranden, och där uppdatera instruktionerna genom att koppla in en laptop till seriellporten i båtens förarkabin.

' {$STAMP BS2e}
' {$PBASIC 2.5}

roder VAR Word
roder2 VAR Word
roder3 VAR Word
fetcha VAR Word
motor VAR Word
motor2 VAR Word
rekna VAR Word
inte VAR Word
ful VAR Word
tid VAR Word
servopos VAR Word
motorpos VAR Word

DATA 1, 3, 1, 50, 3, 50, 50

manual:
HIGH 3
LOW 4

DO
roder3=roder2
roder2 = (roder - 530) / 10
motor2 = (motor - 530) / 10
IF motor2 < 1 THEN motor2 = 1
IF roder2 > 100 THEN roder2 = 1
PULSIN 0, 1, roder
PULSIN 2, 1, motor
PULSOUT 14, roder
PULSOUT 15, motor
IF motor2 > 0 AND motor2 <> (roder3-5) THEN rekna = rekna +1
IF roder2 > (roder3+5) OR roder2 < (roder3-5) THEN rekna = 0
IF motor > 600 THEN rekna = 0
IF rekna > 100 THEN
HIGH 4
HIGH 3
PULSIN 1, 1, fetcha
IF fetcha > 850 THEN
rekna = 0
GOTO stampen
ENDIF
ENDIF
IF rekna < 100 THEN
HIGH 3
LOW 4
ENDIF

LOOP

stampen:
HIGH 4
LOW 3
DO
FOR inte = 1 TO 500 STEP 3
READ inte, tid
READ inte+1, servopos
READ inte+2, motorpos
IF tid = 0 AND servopos = 0 AND motorpos = 0 THEN
tid = 1
servopos = 20
motorpos = 0
GOTO manual
ENDIF
GOSUB skicka
NEXT

LOOP

skicka:
FOR rekna = 0 TO tid
FOR ful = 1 TO 50
PULSOUT 14, (servopos*10)+530
PULSOUT 15, (motorpos*10)+530
PAUSE 20
NEXT
GOSUB decartes
IF rekna = tid THEN RETURN
NEXT
RETURN

decartes:
roder3=roder2
motor2 = (motor - 530) / 10
roder2 = (roder - 530) / 10
IF motor2 < 1 THEN motor2 = 1
IF roder2 > 100 THEN roder2 = 1
PULSIN 0, 1, roder
PULSIN 2, 1, motor
IF motor2 > 500 THEN motor2 = 1
IF motor2 > 5 THEN GOTO manual
IF roder > 100 THEN
IF roder3>(roder2+5) OR roder3<(roder2-5) THEN GOTO manual
ENDIF

RETURN

söndag 24 februari 2008

Jungfrufärd!



Jungfrufärd! Den 24 februari klockan 20:51 färdades båten en knapp meter för egen masik i ett inhägnat område. All kommunikation och kontroll går igenom omborddatorn.


fredag 22 februari 2008



Nu närmar sig första testet i vatten. Båten har nu en trådlös mottagare som är kopplad till mikroprocessorn (Stampen). Via denna kan man antingen styra båten manuellt, eller lämna över till ett automatiskt program som styr båten fram och tillbaks. I videon ovan styrs rodret och motorn via Stampen!

Båten har alltså ingen GPS ännu. Målet med detta första test är att se så att mottagaren fungerar, att båten kan köras automatiskt samt att räkna ut hur mycket rodret måste vinklas för att svänga ett visst antal grader.

söndag 27 januari 2008


Efter en paus i projektet i väntan på att skrovet skulle levereras fortsätter nu bygget. För tillfället är det bara vanligt modellbygge, installation av roderservo och motor. Rodret är redan i full funktion mendans motorn tar lite längre tid då den behöver sitta mycket stabilt för att klara påfrestningarna. Efter detta återstår det att bygga och montera en drybox för Stampen.

onsdag 16 januari 2008

Kretslära

En sak vi upptäckt är att det är lätt att missa hur strömmen flödar när man har flera strömkällor. Just nu går maskineriet på tre olika batterier, och radiomottagaren verkade bara ta emot skrot in i Stampen. Detta löstes enkelt genom att koppla en common ground mellan batterierna, dvs sammanlänka minuspolerna. Då blir kretsen sluten och signalerna från mottagaren kan flöda obehindrat.

måndag 14 januari 2008

Ström! Sannolikt en av de viktigare sakerna att ha ombord om man skall till Gotland med en el-båt. Stampen drar ungefär 25mA vid 5V. Motorn drar vid maxbelastning ca 1,2A vid 7,8V. Servon kan dra upp till 1A vid maxbelastning, men kommer inte att utsättas för så mycket.
Om alla konverteringar gått som den gode Ohm tänkt borde det betyda att båten skulle kunna klara sig på en solpanel som genererar kring 10 watt.
Utöver ovan nämnda föremål ombord kommer även en GPS-enhet samt en mobiltelefon att lägga till listan.
Planen f.n. är att ha en solpanel som laddar en grupp av batterier. Dessa batterier kopplas till en fördelare som konverterar voltstyrkan utifrån de olika kretsarnas behov.
Fartreglaget är av BEC-typ, dvs den förser mottagare med ström om dess egna försörjning skulle upphöra. Det är möjligt att det går att använda denna funktion för att öka tillförlitligheten.
Bäst vore om solpanelen kunde ladda två separata batteripack, ett för motorn och ett för finelektroniken. Till detta kan man foga två givare som talar om batteriernas status. Om motorbatteriet tar slut plötsligt går det i så fall fortfarande att sända och ta emot SMS med position. Likaså om Basic Stamps batteripack skulle havarera kan man möjligen via BEC-funktionen förse Stampen men elektricitet för att skicka nöd SMS och sätta ny kurs mot närmsta land.

söndag 13 januari 2008

GPS:en vi troligen kommer att skaffa heter Garmin eTrex. Den klarar att prata med seriellinterface och har inbyggda Waypoints, dvs den kan själv navigera mot en punkt man programmerat in.

Man konfigurerar vilka meningar som ska spottas ut via seriellporten. De kan tex börja med $GPRMC och $GPRMB. RMC innehåller positionsdata och RMB innehåller navigationsdata, tex var nästa Waypoint ligger och åt vilket håll den är.

Viktigast för att styra båten är alltså: $GPRMC True Course och $GPRMB Bearing To Destination. Subtraherar man Bearing med True Course så får man reda på hur många grader båten måste svänga.

fredag 11 januari 2008



Här syns tydligt likheterna mellan ritning och verklighet.. Förhoppningsvis får all finelektronik plats i en Tupperware-låda som blir helt vattentät, medan servo och motor stannar ute i båten.
Detta är en provisorisk ritning över båtens 1.0-krets. Ett servo är reserverat för att kunna slå av och på en vippströmbrytare. Brytaren reglerar via ett relä om det är Basic Stamp eller AM radion som har kontrollen över servo nummer två samt fartreglaget. I reläkretsen finns också två dioder som monteras på utsidan av skrovet och indikerar när radion styr (samt styrbord/babord). Anledningen till denna fail-safe är att noggrant kunna utvärdera mikrodatorns beteende i riktiga sjötester utan risk att båten drar iväg om något skulle gå fel.

torsdag 10 januari 2008


Här är skrovet som kommer bli version 1.0 för projektet. Detta är inget skrov man tar sig till Gotland med, men för inledande våttester duger det väl. Fördelen med balsaträ är att det är enkelt att "klippa och klistra" för att göra plats för elektroniken samt de extra flytelementen som skall installeras.
Arbetet med mikroprocessorn går framåt. Det provisoriska programet kan nu hantera in- och ut-data från radiomottagare och servon. Tanken är att via en standard R/C-fjärrkontroll inte bara kunna navigera den första prototypen, utan även via en switch kunna lämna över kontrollen till mikroprocessorn. För de initiala testerna blir det frågan om att båten på kommando skall kunna utföra en serie förprogramerade svängar och manövrar.
Nästa steg blir att införskaffa ett första prototypskrov för montering. Förhoppningen är att de inledande våttesterna skall ge en djupare insikt i vilken typ av problem som kommer att behöva överkommas för de efterföljande modellerna. När en funkgerande prototyp är en realitet kommer nästa steg bli att välja ut och tackla något av de tre momenten: GPS-styrning, kamerastyrning och solcellsuppladdning av motorbatteri.