Motor computer maken, tips, trucs en ideeen

D4V3

Die hard MF'er
25 aug 2011
330
0
Den Haag
Pas op: lang, vrij technisch verhaal ;)

Ik ben van plan als hobby projectje m'n VFR écht high-tech te maken (ik heb natuurlijk al een ingebouwd klokje, maar om dat nou high tech te noemen *D), een echte Motor-computer dus ;) Ik heb hier al aardig wat spullen voor in huis en in bestelling en had het volgende bedacht om met die spullen te gaan doen (let wel, niet alles zal ik (direct) uitvoeren, het zijn ideeen, als ik het allemaal zou doen zal het nog wel even duren voor het af is ;)).

Een Arduino Mega ADK
ArduinoADK_R3_Front_450px.jpg

Het hart van de motor computer, dit gaat 't allemaal aansturen. Aan al die gaatjes die er in zitten kunnen stukjes electronica gekoppeld worden, van led tot knopje, van GPS module tot extern scherm. De software die ik er op zet zorgt er voor dat dit alles met elkaar gaat praten en leuke dingen gaat doen. Waarom dan deze dure Arduino zul je je als kenner misschien afvragen? Nou, omdat deze iets heel leuks kan; Met android telefoons praten! Mijn intentie is om mijn android telefoon aan deze Arduino te hangen en in een houder op m'n motor te zetten. Dan is mijn telefoon op dat moment het display (om de GPS snelheid, RPM's, etc. te tonen), input (aan en uitzetten van functies) en communicatie (ophalen van flitspalen, versturen van huidige locatie) is.

Een externe GPS module
Ik heb nog een oude GPS module liggen die ik ooit eens bij een PDA had om te navigeren. Het mooie aan deze ontvanger is dat hij waterdicht is, een vrij lange kabel heeft en magnetisch is. Ik kan hem dus zo ergens aan een stuk frame vastzetten, extra stukkie tape er omheen voor de zekerheid en hij is gemonteerd. Deze GPS ontvanger praat prima met de Arduino en maakt het mogelijk om:
  • De huidige positie te bepalen
  • De huidige "echte" snelheid te bepalen
  • De huidige koers te bepalen
  • De huidige atoomtijd door te krijgen
  • De huidige hoogte volgens de GPS door te krijgen
Dit alles kan weer mooi ergens op de telefoon in een overzichtsscherm getoond worden.

Aansluiting op de signalen van de motor
Ik was ook van plan om "echt" te gaan communiceren met de motor. Nu is dit een vrij vervelend verhaal i.v.m. de verschillende voltages, pieken, vage, onbekende communicatie etc. Maar daar is wel omheen te werken. Ik wil in ieder geval het achterlicht aftappen (voor de "contactstroom" om het apparaat te voeden), het remsignaal opvangen, de RPM en en Snelheidspulsen uitlezen, de richtingaanwijzer-pulsen en het neutraal-lichtje van de versnellingsbak wil ik ook uitlezen. Wat ik hier dan mee kan?

  • Een gear indicator maken, maar dan mooi, en goedkoper ;)
  • Schakellichtjes of op m'n display iets moois met de RPM
  • Snelheid digital calibreren met de GPS, zodat ook zonder GPS signaal de snelheid goed is
  • Bijhouden wanneer er geremd is, richting is aangegeven, geschakeld is en bij hoeveel toeren

Ook wil ik misschien wel de lichten zelf aan kunnen sturen om zo bijv. alarmlichten mogelijk te maken met diverse patronen en misschien wel remflashes met het achterlicht.

Micro SD Logger module
09530-01.jpg

Onderweg uit de US, een Micro SD kaart logger om in combinatie met de Arduino te gebruiken. Hiermee kan ik tekst wegschrijven naar een SD kaartje. Wat ik hier mee wil doen?

  • Tracklogs bijhouden, zodat ik altijd kan terugvinden, eventueel op Google Maps, waar ik wanneer geweest ben en hoe hard ik daar gereden heb :]
  • Ritlogboek bijhouden, met per rit alle acties gelogd, zodat ik terug kan zien hoe vaak ik geremd heb, richting aangegeven heb, geschakeld heb, hoeveel toeren ik gereden heb, etc.
  • Beide logboeken wil ik automatisch op het internet plaatsen zodra de telefoon is aangesloten en er een goed Wifi/GPRS/HSDPA signaal is. Zo hoef ik niet elke keer de Micro SD mee te nemen om uit te lezen. Dit maakt het ook mogelijk om live op maps te tonen waar ik op dat moment rij :)

RF ontvanger/verzender
Ik heb hier ook nog een RF verzender en ontvanger module liggen. Hiermee kunnen signalen over radiogolven gestuurd worden. Leuke hieraan is is dat mij Drift 170 HD Stealth dit ook gebruikt om opnames te stoppen/starten. Ook heb ik nog een sleutelhanger afstandsbediening liggen met 4 knoppen die op dezelfde frequentie werkt. Wat ik hier mee wil:

  • Camera getriggered aan/uit zetten (bijvoorbeeld bij een harde remming/acceleratie ;)
  • In het logboek bijhouden wanneer een opname gestart en gestopt is
  • De motor iets laten doen met de AB (iemand suggesties?)

Extra: Accelerometer
Heb er nog geen, maar ze zijn niet zo duur en voegen best wat leuks toe, zeker op een motor denk ik. Hiermee kan ik de g-krachten bijhouden (altijd leuk ;)) en bijhouden hoe plat je door de bochten bent gegaan ;)




Dit alles moet natuurlijk netjes in een waterdichte behuizing komen en goed in elkaar steken. Het laatste wat ik wil is m'n motor er mee verzieken dus de eerste features zullen waarschijnlijk de features zijn waarbij ik niet zelf met de bedrading op de motor aan de slag moet (op de invoerstroom na dan ;)).

Mijn electro kennis is niet geweldig (ben meer een programmeur) maar een hoop dingen gaat me wel lukken, ik zal alleen wat hulp nodig hebben bij het 12v<->5v gedeelte, en dan met name het op een veilige manier gebruiken van de 12v pulsen van de kabelboom op de gevoelige Arduino controller. Hier wil ik waarschijnlijk optocouplers voor gebruiken, maar misschien dat iemand een betere suggestie heeft?

Vooralsnog een heleboel werk maar ik denk dat ik wel een heel tof, uniek systeem heb dalijk. Het leuke is ook dat als ik later nog eens wat erbij wil het een kwestie is van een module erbij pluggen/solderen, even de USB kabel er in om opnieuw te programmeren en gaan.

Ik wil mijn voortgang hier in dit topic bijhouden en mochten hier mensen zijn die tips of ideeen hebben dan sta ik daar zeker voor open :) Ook als je zelf al eens iets als dit gebouwd hebt dan hou ik me aanbevolen. Als er iemand is die mij iets kan vertellen over hoe het signaal voor snelheid en RPM uit de kabelboom in elkaar steekt dan hoor ik dat graag, maar ik ben bang dat ik met een scope moet gaan uitzoeken hoe of wat ;)
 
Deze gaat in mijn favorieten. Heb zelf technische informatica gestudeerd (afgelopen jaar afgestudeerd) en zat aan een soortgelijk project voor mijn Arduino Uno te denken. Ik ga dit zeker volgen en ben ook bereid hieraan mee te werken, met name het programmeer werk aan de hardware kant, maar ik wil ook graag meer kennis op doen op het gebied van ADK!

Als je idd je telefoon wil gebruiken voor de grafische weergave kan je de accelerometer en GPS van je telefoon gebruiken. Het idee dat ik zelf in mijn hoofd heb is meer gericht op data loggen (Snelheid, locatie, G-krachten, hellingshoek, RPM etc.) en eventueel live streamen naar een server. Dit spul is uiteraard kant en klaar te koop maar het zelf maken (wat jij nu ook doet) is altijd leuker als het je hobby is :D
 
Laatst bewerkt:
Mocht je hulp nodig hebben voor het ontwerpen van een grafische interface (GUI), stuur me dan even een PM.. Lijkt me wel een leuke uitdaging om allerlei fancy metertjes, icoontjes en wat dan ook te ontewerpen.. Misschien ook wel verschillende kleuren, dag- en nachtversie, wat dan ook.. Ben trouwens Graphic Designer en heb er nu al zin in om zoiets te maken :P
 
Nog niet veel vordering, met name omdat ik op een berg componenten zit te wachten en omdat ik het erg druk heb met mijn werk op het moment (eigen bedrijfje, dus geen 9-to-5 werkzaamheden ;)).

Net wel een pakketje binnen gekregen met de OpenLog er in een een butaan solderapparaat (handig, want ik heb geen stroom bij de motor), ik ben van plan deze OpenLog i.c.m. de GPS aan de Arduino te hangen en de logs weg te schrijven, hier zal ik dus als eerste mee beginnen zodra ik weer wat tijd kan vinden :)

Bedankt voor al het hulp aanbod, m.b.t. de GUI, super bedankt voor het aanbod maar ik heb al een grafisch ontwerpster als vriendin die er zeker wat moois van kan gaan maken ;)

Zodra ik weer wat gedaan heb zal ik uiteraard hier mijn resultaat posten :)
 
Ik ben ook heel benieuwd! Vooral de samenwerking met een smartphone lijkt me super, vooral omdat je dan ook internet tot je beschikking hebt!

Je hebt me iig aan het denken gezet!
 
ik vraag me eigenlijk af of een motor ook zoals een auto, een board computer heeft die je kan uitlezen.

zoja kan je dus alles uitlezen en op meters op je display krijgen! en dan denk ik dat mensen graag een HOW TO + download linky van je willen zodra dit project afgerond is:P ik zou het zowat eisen!:D
 
ik vraag me eigenlijk af of een motor ook zoals een auto, een board computer heeft die je kan uitlezen.

zoja kan je dus alles uitlezen en op meters op je display krijgen! en dan denk ik dat mensen graag een HOW TO + download linky van je willen zodra dit project afgerond is:P ik zou het zowat eisen!:D

M'n buurjongen zecht dat zijn scooter ook zoiets heeft.

Maar dat ding staat al 2 jaar in de schuur omdat de reparatie zo duur is |(

ik houd't mooi op kick en gooo. zonder techniesche zooi.


Maar navigatie zou wel mooi zijn. en ik ga dit topicje volgen :)
 
Ok, update :)
Zit vooralsnog op een aantal spullen te wachten maar al wel wat binnen gehad van de week.

Ik heb binnen gehad de optocouplers en mijn bestelling bij Sparkfun, onder andere bestaande uit een OpenLog module om makkelijk logs/tracklogs naar een Micro SD kaartje te schrijven.
IMG_20120125_171522.jpg


Naast de OpenLog heb ik ook een mooie Arduino Mega behuizing binnen gekregen die ik goed kan gebruiken in combinatie met het Arduino Mega shield wat ik al had liggen. Een shield kan je bovenop een Arduino prikken en hier vervolgens van alles op solderen zonder dat je zelf aan de Arduino hoeft te verbouwen. Aangezien de Arduino Mega ADK en het Shield beide niet goed in de behuizing pasten (de Arduino vanwege de extra USB aansluiting, de Shield omdat deze te groot was en 2 gaten miste voor de pinnen in de behuizing) ben ik eerst met de Dremel aan de slag gegaan om vervolgens al wat dingetjes op het shield te solderen zoals een aansluiting voor de OpenLog en de RF ontvanger.

IMG_20120126_092843.jpg


IMG_20120126_092800.jpg


IMG_20120126_092728.jpg


De gele draad die er uit komt is de antenne van de RF ontvanger, in het geel, past goed bij de VFR :')

Toen dit hardware gedeelte klaar was heb ik een stukje software geschreven om de OpenLog en RF receiver te testen. Wat het apparaat nu doet is luisteren naar RF signalen en deze wegschrijven als ze ontvangen zijn naar een tekstbestandje op de SD kaart. Niet heel spannend maar het toont wel aan dat het werkt.

Volgende stap: GPS integratie. Ik kan niet wachten tot de Real Time Clock module er is; Deze module heeft een extra batterijtje en onthoud de tijd voor je zodat je altijd de huidige datum en tijd beschikbaar hebt. Dit kan ik dan mooi gebruiken in mijn logs en de tijd kan ik mooi synchroniseren met de GPS module aangezien deze zeer precies is m.b.t. de tijd alleen wel eerst een GPS fix nodig heeft om daar gebruik van te kunnen maken.
 
Ken je deze site?
Scooterputer

Hellingshoek meten gaat denk ik wel goed met een gyroscoopmodule die ook wel te vinden zijn op ebay
Ik zou trouwens de schields niet via sparkfun maar direkt uit china bestellen via ebay (helft goedkoper zoek maar eens op Arduino op ebay)
In de techniek sectie ben ik ook eens begonnen met een Arduino toppic en daar kwam iemand die een toeren teller had gebouwd mbv een servo motor (ook leuk)

Ik heb laatst het grote broertje besteld van de Arduino,een board met een freescale MC9S12XDP512 chip er op en daar probeer ik injectie ECU van te maken (freeEMS)
CardS12 - HCS12 / S12X Controller Module with MC9S12D64 / MC9S12DP512 / MC9S12XDP512
DIYEFI.org
Op het feeEMS forum is echt heel veel info te vinden maar het is lastig zoeken
DIYEFI.org Forum - Index page
Daar zijn ook div kicad tekeningen te vinden waar dus de electronica componenten op staan
Ik zit nu te wachten op div onderdeeltjes en als ik die heb ga ik weer lekker verder knutselen

Voor de voeding kan je een 7805 gebruiken maar die schijnen niet goed de peiken uit de spanning te halen (ik snap ook niet veel van electronica maar de heren op het freeEMS forum helpen mij)
Ik ga een lm2940 met twee condensators gebruiken voor de 5 volt spanning

Op het Arduino forum zijn div motorfiets projektjes te vinden misschien zit er wat leuks tussen voor jou
 
Ja, die link had ik al gezien inderdaad, komt aardig overeen met waar ik mee bezig ben, hier heb ik ook het RTC klokmodule idee vandaan :) Het protoshield komt niet van Sparkfun maar heb ik voor 5 euro uit een actie op samenkopen.net gehaald: http://www.samenkopen.net/action_product/754483/941203

Heb al behoorlijk wat linkjes van dergelijke projectjes kunnen verzamelen, en die scooterlink komt er nog het dichtst bij in de buurt. Die andere projecten zijn wel leuk maar niet echt voor permanent gebruik, ziet er niet mooi uit, niet netjes weggewerkt, dit wil ik eigenlijk er altijd op hebben zitten zodat er altijd data gelogd wordt, telefoon aansluiten is optioneel.
 
Ik ben inmiddels zelf ook op zoek naar onderdelen om iets soortgelijks te doen, met o.a. gyroscoop voor lean angle, maar ik blijf dit ook zeker in de gaten houden!
 
Ik heb nu zo'n beetje alle hardware voor mn injectie en wacht nu op div electronica componenten en dan kan ik weer verder prutsen
De software hebben de heren van freeEMS redelijk gereed dus dat is geen probleem (hoop ik)
En als de fiets er op loopt dan ben ik ook van plan er van alles en nog wat aan te hangen
Ik weet niet of het mij echt gaat lukken maar ik leer er heel veel van en daar ging het mij om
Ik was altijd een beetje bang voor electronica maar dank zij de arduino is die angst er niet meer en zo heel moeilijk is het eigenlijk niet vind ik
 
Even een snelle update dan maar :)
Heb nu zo'n beetje alle onderdelen binnen en het een en ander in elkaar geknutseld.
Er zit nu een GPS aansluiting op, Real Time Clock om de tijd vast te houden voor de logs (deze krijgt een tijd update zodra er een GPS fix is, deze loopt dus altijd goed eigenlijk). Verder heb ik een accelerometer er op gesoldeerd en een aansluiting gemaakt om voeding op aan te sluiten via 2 draden.

Hierna heb ik alle software er voor geschreven, het apparaat heeft nu de volgende features:

- Een logboek, 1 per dag (20120208.TXT) met daarin:
- Datum en tijd van aan zetten
- Melding wanneer de eerste GPS fix was en dat de tijd gesynced is
- Melding als er een RF code ontvangen is met de desbetreffende code
- Melding zodra ik mijn hoogste snelheid overschreven heb van die sessie 8)

- Een GPS logger met eigen formaat met de volgende functies
- Elke seconde wordt er data weggeschreven naar de gps datalog
- GPS datalog is per dag
- Er wordt onderscheid gemaakt tussen verschillende sessies in de GPS log, zodat je later terug kan zien wanneer je gestopt bent en weer verder gegaan bent.
- Per data entry wordt het volgende weggeschreven:
- Coordinaten (lat/lon)
- Tijdstip volgens GPS
- Hoogte in meters
- Snelheid in km/h en meter/s
- Hoogste en laagste piek van de accelerometer in die seconde, op zowel X, Y als Z as

Verder heb ik een stukje software geschreven op de PC om dit GPS data formaat om te zetten naar iets nuttigers. Wat hij nu doet is er een GPX tracklog van maken zodat ik deze makkelijk kan importeren in bijv. Google Maps, de Accelerometer data komt in een JSON bestand te staan zodat ik makkelijk een plot kan maken met Google Charts om zo te zien wanneer ik hard geaccelereerd of geremd heb, of iets anders uiteraard :)

Testritje gedaan met het koekblik en het gaat helemaal prima. Apparaat werkt stabiel en kan goed om gaan met de 12v voeding d.m.v. het extra printje wat ik via eBay had.

Hier het apparaat met voeding er links naast:
IMG_20120208_101442.jpg


En hier een testgrafiekje van de accelerometer data:
2qu6xk0.png
 
Heel nice :D Ben zelf ook aan het wachten op deels dezelfde onderdelen om wat te gaan prutsen. Voor mijn afstuderen had ik een PHP script dat de ddmmyyyy.txt parste en in een database zette. Gecombineerd met de sensordata (afkomsting van het CAN voertuignetwerk die eveneens in de database terecht kwam) genereerde ik een KML file. Op deze manier heb ik in Google Maps elke route apart beschikbaar door hem in/uit te schakelen, en kan ik op elke route mijn muis erboven houden en bijhorende logdata zien.

De keuze voor PHP was simpelweg de korte ontwikkeltijd, als je iets fatsoenlijks wil zou je naar Java/.NET moeten denk ik.

Heb je nog een linkje naar die 12-5V op eBay?
 
Zeer interessant project, ik zie het nu pas. Ik zelf speel al een tijdje met dezelfde gedachten, is er helaas door andere hobby projecten nog niet van gekomen.
Wel heb ik al eerder een microcontroller op een motor geplaatst. Voor knipperlichten en running lights, dit printje is volledig uit elkaar getrild. Let daar op. Verder had ik een eigen voeding gemaakt d.m.v. een 7805, maar deze was niet stabiel genoeg. Later nog een hoop moeten stabiliseren daarin. Maar ik zie dat je dat al had opgelost met een printje van ebay.
Succes, ik ga dit verder volgen.
 
Thanks voor de reacties weer :D
Hier de voeding die ik gebruik op eBay, zelfde verkoper, zelfde product:
MC34063 Voltage Adapter Step-Down I/O:5~24/2.5-12VDC | eBay

Je kan de spanning die er uit komt zelf bepalen met de potmeter die er op zit, ik heb hem op iets boven de 5v staan en dat gaat prima.

wat betreft de logs, deze formaten gebruik ik:
Event log:

[2012/02/04 15:25:04] Powered on the device and started logging!
[2012/02/04 15:26:04] Updated the internal clock with GPS; Date: 2012/02/04 Time: 15:26:06
[2012/02/04 15:26:07] Broke the speed record: 9.07 km/h
[2012/02/04 15:26:09] Broke the speed record: 10.65 km/h
[2012/02/04 15:26:10] Broke the speed record: 14.76 km/h
[2012/02/04 15:26:11] Broke the speed record: 19.59 km/h
[2012/02/04 15:26:12] Broke the speed record: 23.30 km/h
...
[2012/02/04 17:39:51] Received RF code: 531387

GPS log:
START
2012-02-04T20:59:04Z 52.05000 4.30346 1.9 0.51 105.5 0.000 0.000 -0.777 0.194 0.458 0.000
2012-02-04T20:59:05Z 52.05000 4.30347 0.0 0.00 107.9 0.000 0.000 -0.795 0.194 0.458 0.000
2012-02-04T20:59:06Z 52.05000 4.30348 0.0 0.00 109.3 0.000 0.000 -0.795 0.176 0.458 0.000
2012-02-04T20:59:07Z 52.05000 4.30347 0.0 0.00 109.9 0.000 0.000 -0.812 0.194 0.458 0.000
2012-02-04T20:59:08Z 52.05000 4.30345 0.0 0.00 110.1 0.000 0.000 -0.812 0.158 0.423 0.000
2012-02-04T20:59:09Z 52.05000 4.30344 0.0 0.00 109.7 0.000 0.000 -0.812 0.158 0.423 0.000

Elke regel hier is een Positie op een bepaalde seconde, met de min/max X/Y/Z accelerometer data erbij (laatste 6 cijfers). Tevens speed in m/s en km/h en altitude.
Een regel met START geeft aan dat het loggen daar gestart is, de stroom is er dus vanaf geweest tussen de regel daarvoor en de regel daarna, daarmee kan ik de track segementen verdelen.

Parsen doe ik met een Python scriptje, dit wil ik t.z.t. als klein servertje laten draaien op een webhost zodat ik direct via m'n telefoon de tracklog kan feeden (en dan zullen de losse punten uiteraard ook in een database worden opgeslagen).
 
Terug
Bovenaan Onderaan