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 ;)
 
Ik zet hem even in mn favorieten, vanavond even doorlezen en uitgebreider reageren. Zat tijd geleden ook te kijken om zoiets in mn bandit 600 toen te maken, maar dan in combinatie met de originele tellers ook om die moderner te maken. En dan olie temp meter (hoeft niet zo moeilijk te zijn met een arduino!) er ook in bouwen. Met mijn 1200 zal ik het pas doen als ik andere teller partij heb, hoewel een combi met telefoon ook vet zal zijn.

Vooral toen de ADK werd gepresenteerd leek het me echt vet om het in combi met telefoon te doen. Had toen ook veel dingen daar voor uit gezocht en bekeken. Lijkt me zeker nog een keer vet zoiets :Y

Mocht je ergens hulp bij nodig hebben (programmeren voor android of wat dan ook), kan je me vast wel vinden ;)
 
Haha, daar is dat gaatje dus voor, heb m'n vingers in het verleden al een paar keer behoorlijk gebrand aan die dingen (en dan met name bij een kortsluiting :$).

@Dutchie:
Cool, thanks. Heb wel wat Android ervaring (heb o.a. de Easy TAN app gemaakt die ondertussen door Google verwijderd is uit de Market, deze had zeker 20k downloads en krijg nog dagelijks requests of ik hem op kan sturen ;)) maar ik kan hier waarschijnlijk wel af en toe een vraagje over hebben. ADK is leuk, alleen ik merk al wel dat het nog niet super in elkaar zit. Telefoon wordt soms niet goed herkend en de bijgeleverde libs voor Arduino werken niet op de laatste versie van de Arduino SDK (1.0). Dat zal dan ook 1 van de eerste dingen zijn die ik ga proberen, die communicatie. Het vette is dan natuurlijk wel dat je een dashboard kan maken met alles er op en er aan wat je maar wil, op een color touchscreen in een fatsoenlijke behuizing in plaats van op een monochrome displaytje direct aan de Arduino met een slecht afgewerkte casing ;)
 
Ha D4V3, ik zit ook al een tijdje eraan te denken om dit te gaan doen. Is het geen idee om een [url =http://www.raspberrypi.org/]raspberry pi[/url] te gebruiken? Dit is een soort van arduino to the max met een hdmi + usb mogelijkheid. Er is ook een shield beschikbaar voor sensors :)
 
Hey Ad,

Ik denk dat een Arduino beter geschikt is in deze, ik wil zeker een Raspberry Pi om mee te spelen als ze in de verkoop zijn maar ik denk dat de Atmega net wat stabieler en efficienter is dan een Linux distro en sneller reageert; Ook heeft de Arduino al genoeg libraries om bijv. te praten met de GPS, accelerometer, etc; Iets wat je waarschijnlijk zelf moet schrijven op de Raspberry Pi. Voordeel is wel dat je op de Pi gebruik kan maken van je favoriete programmeertaal, in mijn geval Python ;) HDMI heb ik niet nodig en USB zou handig kunnen zijn maar zal wel wat werk nodig hebben om het met Android te laten praten in Acces. mode. Ook scheelt het dat ik het meeste voor m'n projectje, inclusief de Arduino al in huis heb ;)
 
Wat betreft de voltage divider, ik bedoelde dat je die koon gebruiken voor het sensor gedeelte, niet voor de voeding. Lijkt me makkelijker dan optocouplers (al heb ik daar weinig ervaring mee).
 
Wat betreft de voltage divider, ik bedoelde dat je die koon gebruiken voor het sensor gedeelte, niet voor de voeding. Lijkt me makkelijker dan optocouplers (al heb ik daar weinig ervaring mee).

Ah, juist, inderdaad :) Optocouplers zijn iets veiliger volgens mij aangezien je het 12v-5v gedeelte fysiek van elkaar gescheiden hebt dus ik ga het eerst daar eens mee proberen (die dingen zijn toch al onderweg), lukt dat niet dan is een voltage divider een mooi alternatief :)
 
ff uit me hoofd is een USB vaak 500mili amp.

niet veel maar geen idee wat jou printje zal trekken kwa voeding.

Klopt, weet het ook nog niet, maar 500mAmp is niet genoeg in ieder geval. Heb er diverse hardware aan hangen en, grote stroomvreter, m'n telefoon! Deze wordt natuurlijk ook direct tijdens het rijden opgeladen en neemt aardig wat mAmp in beslag ;)
 

sins een vriend met het idee kwam een computer in de auto te bouwen samen met een touch scherm begon ik zelf na te denken over een motor computer.

enig is dat ik dan niks weet kwa programmeren! en ik geen idee heb hoe ik me thundercat ze meters kan oppakken.

idee is dan wel om temp rpm's enz alles inc olie temp! die vind ik best wel handig! op een klein schermpje te hebben die me oude meters helemaal vervangt.

en zoals all gezegd is elektronica houd niet van stoten en trillingen.
ik heb eens gehoord over iemand die een behuizing had gemaakt waar de print in zweefde. iets met rubbere bandje die de print vast hielden en een paar veertjes die de grootste stoten opvingen + stabiel houden:) lijkt me niet leuks als je een paar mooie bobels krijgt en dat ding gaat stuiteren in ze behuizingxD

kga dit topic maar eens volgen! mischien leuk om zelf eens te doen!:D

( eerst maar eens me DIY wacom afmakenxD )
 
Hey Ad,

Ik denk dat een Arduino beter geschikt is in deze, ik wil zeker een Raspberry Pi om mee te spelen als ze in de verkoop zijn maar ik denk dat de Atmega net wat stabieler en efficienter is dan een Linux distro en sneller reageert; Ook heeft de Arduino al genoeg libraries om bijv. te praten met de GPS, accelerometer, etc; Iets wat je waarschijnlijk zelf moet schrijven op de Raspberry Pi. Voordeel is wel dat je op de Pi gebruik kan maken van je favoriete programmeertaal, in mijn geval Python ;) HDMI heb ik niet nodig en USB zou handig kunnen zijn maar zal wel wat werk nodig hebben om het met Android te laten praten in Acces. mode. Ook scheelt het dat ik het meeste voor m'n projectje, inclusief de Arduino al in huis heb ;)

Klopt, het staat inderdaad nog flink in de kinderschoenen. Ik zat ook meer te denken aan een computer met scherm die de console vervangt. Ik zal je project in ieder geval volgen. Erg leuk!
 
die optocouplers voor de veilige invoer van 12V signalen is vooral relevant als je te maken hebt met zwevende spanningen, dus omgevingen waarbij de min / nul niet overal aan elkaar verbonden is.

Dit is dus het geval bij computers die onderling met elkaar moeten communiceren;

voor het invoeren van signalen zoals "brandt het remlicht" of "staat de bak in neutraal" kun je gewoon een spanningsdeler gebruiken. Ik ga er vanuit dat de digitale inputs van de arduino hoog gehouden worden met een pull-up weerstandje. Je kunt dan simpelweg de draad naar je achterlicht aftakken en deze door 2 weerstandjes van 140kOhm en 100kOhm naar massa sturen. tussen massa en het verbindingspunt van de 2 weerstanden zul je dan nooit méér dan 5 V krijgen. Als de lamp aan gaat, heb je 5 volt. Als de lampen niet aangesloten zijn (oneindige weerstand tussen de draad en massa) heb je ook 5 volt (vanwege de pull-up). Als de lamp erin zit en uit is heb je 0 volt. Even checken hoe groot de pull-up weerstanden zijn want als deze heel groot is kan het zijn dat je iets kleinere weerstanden voor je spanningsdeler moet gebruiken.
 
@sodeknetters, thanks voor de uitleg :)

Update
Vanavond aan de slag gegaan met het Android/Arduino communicatie gedeelte. Heb een simpel appje geschreven voor Android en een simpel appje voor de Arduino welke nu beide in staat zijn om gegevens te verzenden en ontvangen. Ik kan nu met de app een ledje aanzetten op m'n arduino en op m'n scherm de waarde van een potmeter lezen die op de Arduino aangesloten zit. Dit alles was nog wat lastiger als gehoopt/verwacht, met name dankzij mijn niet zo geweldige Android en Java kennis (kom er wel uit maar moet veel opzoeken).

20ht3s9.png

Filmpje:

Wat wel cool is is dat de app automatisch start als ik m'n Arduino er aan hang; Echt plug en play dus. Minder is dat zodra ik m'n telefoon kantel of even terug ga naar het hoofdscherm de verbinding met de Arduino weg is, hier zal ik dus nog wat op moeten vinden (suggesties zijn welkom) :)

Volgende stap: GPS aansluiten en de data naar de telefoon sturen! Maarrrr ik zag dat het morgen mooi weer wordt, dus ik denk dat ik een dagje vrij neem en lekker een stukkie ga sturen :] ;)
 
Wat een cool project, ik ga dit zeker volgen. Ik heb in het verleden in verschillende auto's een carpc gehad voor muziek, navigatie, gps tracking en live logging naar een centrale server, etc. Dat was echter op basis van een standaard pc met een speciale 12v voeding. In de auto heb je net ff wat meer ruimte dan op de motor he :-). Inmiddels heb ik op mijn huidige auto de luie optie genomen, gewoon een radio met navigatie en mp3, maar dat zelf bouwen en tweaken blijft toch kriebelen dus wie weet wat de toekomst brengt :-). Anyway, succes ermee en als ik wat nuttigs kan toevoegen zal ik het zeker doen!
 
Laatst bewerkt:
@sodeknetters, thanks voor de uitleg :)

Update
Vanavond aan de slag gegaan met het Android/Arduino communicatie gedeelte. Heb een simpel appje geschreven voor Android en een simpel appje voor de Arduino welke nu beide in staat zijn om gegevens te verzenden en ontvangen. Ik kan nu met de app een ledje aanzetten op m'n arduino en op m'n scherm de waarde van een potmeter lezen die op de Arduino aangesloten zit. Dit alles was nog wat lastiger als gehoopt/verwacht, met name dankzij mijn niet zo geweldige Android en Java kennis (kom er wel uit maar moet veel opzoeken).

[afbeelding]
Filmpje:

Wat wel cool is is dat de app automatisch start als ik m'n Arduino er aan hang; Echt plug en play dus. Minder is dat zodra ik m'n telefoon kantel of even terug ga naar het hoofdscherm de verbinding met de Arduino weg is, hier zal ik dus nog wat op moeten vinden (suggesties zijn welkom) :)

Volgende stap: GPS aansluiten en de data naar de telefoon sturen! Maarrrr ik zag dat het morgen mooi weer wordt, dus ik denk dat ik een dagje vrij neem en lekker een stukkie ga sturen :] ;)


Netjes *O*

Had wel verwacht dat die communicatie ging lukken. Kan je erg veel leuke dingen mee doen!
Vette is inderdaad dat de app automatisch start ja. Zijn die leuke kleine dingen die je er mee doet.

Voor dat kantelen zou ik kijken naar een andere usb kabel. Ik heb zelf ook met flink wat usb kabels zulke problemen gehad. Sommige van mn kabels doen het dan ook wel goed in andere telefoons maar weer niet in mijne :S Dus dat zal mss even zoeken zijn, maar lijkt me wel erg handig voor dit.
Binnen android moet je een service maken, maar bedenk dat je binnen Android nooit 100% zekerheid hebt dat het echt blijft draaien op de achtergrond. Als je telefoon te weinig RAM heeft dan sluit hij hem sowieso voor je af, maar start hem wel weer op als de ruimte ervoor is.

Waarom zou je, zoals Maartezzz ook al zegt een GPS module er aan hangen?? Je telefoon heeft alles al daarvoor! Scheelt weer extra apparaten aansluiten en extra communicatie (je motor heeft er toch niks aan voor de rest)

Is er niet een manier voor de gear indicator zoals je voor de bandit kan doen? Guide
Daar kan je namelijk de neutraal sensor aftappen en die geeft per versnelling een andere waarde. Dus kan bij de Bandit wel makkelijk, zullen wel meer motoren zijn die ook zoiets hebben.

RFID is ook wel leuk opzich om te gebruiken voor starten van de motor. Maar waarom niet gewoon je telefoon ervoor gebruiken? Dat de Arduino kijkt of je telefoon is aangesloten en of het jou telefoon is (bepaalde ID instellen in je app ofzo) en dan mag je alles doen.

Verlichting (knipperlichten) wou ik zelf wel via de arduino doen. Dan kan je ook leuk alarm lichten of running lights maken. Of als je nog meer lichten aansluit mooie patronen laten afgaan :+

Accelerometer zit ook in je telefoon, dus kan je ook gebruiken.

Normaal kan je bij slecht weer natuurlijk niet je telefoon aansluiten, maar ik zou zelf dan juist naar een manier zoeken om mn telefoon waterdicht op de motor te kunnen plaatsen, maakt een deel een stuk makkelijker en kan je net wat meer doen omdat je altijd je telefoon ter beschikking hebt.
 
Haha, thanks voor al het commentaar en nuttige feedback :)
Wat betreft de GPS: deze is los omdat ik hem ook zonder de telefoon er aan wil laten werken. De OpenLog module zorgt er dan voor dat er altijd tracklogs weggeschreven worden, ongeacht of er nu een telefoon aan hangt of niet. De telefoon moet dus optioneel zijn net als de rest van de modules. Alles zou moeten blijven functioneren als je iets weg haalt op het onderdeel wat je weg haalt na dan ;)

Leuk idee Enrico, maar ik heb het niet zo op dat soort beperkingen ;) Ik snap dat het slecht is voor je motor maar als ik eens een keer flink gas moet geven omdat ik anders van achter aangereden wordt en hij gaat dan inhouden dan is dat alleen maar k*t natuurlijk, is overigens ook iets wat ik prima zelf in de gaten kan houden. Verder wil ik niet te veel met de motor zelf lopen kloten aangezien dit vrij storingsgevoelig is. Klinkt gek als een techneut maar ik heb het liefst een zo simpel mogelijke auto of motor met zoveel mogelijk meganisch, dan heb je niet bij elk lullig dingetje een storing :)
 
Leuk idee Enrico, maar ik heb het niet zo op dat soort beperkingen ;) Ik snap dat het slecht is voor je motor maar als ik eens een keer flink gas moet geven omdat ik anders van achter aangereden wordt en hij gaat dan inhouden dan is dat alleen maar k*t natuurlijk, is overigens ook iets wat ik prima zelf in de gaten kan houden. Verder wil ik niet te veel met de motor zelf lopen kloten aangezien dit vrij storingsgevoelig is. Klinkt gek als een techneut maar ik heb het liefst een zo simpel mogelijke auto of motor met zoveel mogelijk meganisch, dan heb je niet bij elk lullig dingetje een storing :)

Zou je beter met een soort van kleurencode werken, rood op je display als je over het voorgeschreven aantal toeren gaat bij temperatuur x, groen als je er onder blijft(niet persé nuttig, lijkt wel fancy :+ ). Zou idd niet handig zijn om in zo'n 'sticky' situaties zonder vermogen te zitten.

Oja, tof project! :Y
 
Terug
Bovenaan Onderaan