Arduino km teller en toerenteller

kapiteinkoek

MF veteraan
27 okt 2008
6.402
183
Er staan al wat Arduino topics op MF maar ik heb nergens echt functionerende producten kunnen vinden dus bij deze een topic met functionerend Arduino spul erin.

Ik heb vorig jaar een aanhanger voor mijn GS500 gebouwd en wilde daarmee op vakantie. Cruciaal puntje was daarbij de temperatuur van het luchtgekoelde blok. Omdat ik niet de hele dag met een thermometer de boel ga zitten meten en mijn originele km steller toch al heel lang stuk is (ik heb een digitale koso teller op het stuur zitten) had ik besloten daar een Arduino teller voor te bouwen die dan de temperatuur in de gaten houdt en mij waarschuwt als het tijd wordt om te stoppen en af te koelen.

Omdat ik toch al bezig was heb ik toen besloten er wat functionaliteit aan toe te voegen zoals:
- snelheid
- dagteller
- service teller
- klokje
- buiten temperatuur meter
- oliepan temperatuur
- cilinderkop temperatuur
- accuspanning

Met een aantal kleine handigheidjes zoals een waarschuwing in het hoofdscherm als de batterijspanning/laadspanning te laag is (of te laag was tijdens het starten, dat onthoudt ie ook), als de temperatuur te hoog is of als de service km stand is overschreden.

Omdat nu toch al bezig was en mijn toerenteller ook de geest begon te geven heb ik besloten ook aan de slag te gaan met stappenmotoren die je ook in auto dashboards vindt.

Dit was het originele idee:

30aq8mc.jpg


speedo_exploded.jpg


Dat werd dus geen succes want die LED segmenten displays zijn amper/niet leesbaar in vol zonlicht. Die goedkope 16x2 LCDtjes daarentegen zijn perfect leesbaar ongeacht de omstandigheden.


Ik het ontwerp toen meer richting less is more gedaan. Met behulp van wat 3D geprinte onderdelen alles in elkaar gestoken:

teller1.png


bottomplate.jpg


testteller1.jpg


neveragain.jpg


Alles in de originele KM teller behuizing bouwen was niet echt een groot succes en dat zou ik niet nog een keer doen. Alles in een doosje onder het zadel en enkel een paar kabeltjes naar het scherm en knopje werkt een stuk beter. Of je moet puur alleen voor de KM teller functie gaan dan kan het op zich wel. Maar goed het zit erin en het werkt.

Hall sensor zit tijdelijk bij de achter-remklauw omdat ik aan de voorkant dus mijn koso teller nog heb zitten

hallsensor.png


En hier dan een filmpje van de teller in werking. Niet tijdens een rit want ik heb geen geschikte camera om dat te filmen;


De code en soort van schema is HIERRRRRRRRRRRR te vinden. Het is nog een work in progress dus niet zeuren om de code :P

Vrijwel alle hardware die ik heb gebruikt is trouwens goedkope Chinese meuk van aliexpress. De totale kosten zijn dus maar een paar euro :9


De toerenteller ging ik dus ook doen en een toerenteller heb je het liefst analoog. Daarom dus de wens voor een stappenmotor. Ik wilde eerst een LED segmenten display om de versnelling aan te geven maar dat is dus niet echt leesbaar. Toen heb ik een teller wieltje uit een oude km teller gepakt en een analoge versnelling sensor gemaakt.

Probeersels

coolstuff.jpg


gearsensor.png


In elkaar gezet met meer 3D geprint spul

handarbeit.png


tachunit.jpg


Ook weer niet echt een ideale situatie door alles in de originele behuizing te bouwen maar goed. Het werkt en verbeteren doe ik later misschien nog wel.

Toerental wordt uitgelezen bij een van de bobines mbv een optocoupler

ignitionunit.png


Hier het prototype in werking


Hier de coolste GS500 versnellings indicator ooit in werking


Toerenteller code zal ik nog niet delen want ik heb de toerenteller nog niet echt kunnen testen. Moet hem er ook nog op zetten dus daar wordt aan gewerkt.
 
Laatst bewerkt:
Klopt, ik heb voor mijn nano's minder dan €2 per stuk betaald. Het merk is RobotDyn maar die webshop is tijdelijk dicht. Gelukkig zijn er nog zat andere aanbieders.
 
Chapeau en driewerf hulde. Ik wou maar dat ik half zo handig was met electra.... Moet toch te gek zijn als je dit zelf kunt fabrieken.

Met de moeilijkheid valt het dus wel mee :P Arduino is toch iets wat een beetje is opgezet voor beginners en dit is dan ook mijn eerste Arduino projectje. Met twee middelbare school formules voor elektra (U=I*R en P=U*I) en wat googelen kan je dit gewoon in elkaar steken. Op de achtergrond is het meeste werk door anderen gedaan, de LCD library heb ik echt niet zelf geschreven om maar iets te noemen. Het scherm laten werken is daarmee maar 3 regels code.

Je bedenkt gewoon de functie die je wil en dat google je ff en dan is het bijna kopiëren en plakken :P
 
Jihaa,

Arduino op de motor! Echt goed. Heel fraai gedaan en goeie functies bedacht! Ik heb ook wat plannen voor het meten en loggen van temperatuur om te beginnen. Ik raakte met een bekende aan de praat over de arduino's. Blijkt dat ze voor haar werk op een hogeschool op zoek was naar arduino projecten uit de praktijk _O-

Dus na de vakantie start er een team studenten met de "ontwikkeling" van mijn arduino "datalogger" voor op de circuitmotor :} *O*

Ben benieuwd!

Later,

Loek
 
Ik heb een simpele gestripte versie van de code gemaakt. Hierin zit alleen de weergave van snelheid en km standen in. Qua hardware heb je alleen een Arduino, display en knopje nodig en nog wat klein grut (potmetertje, 2 weerstandjes, draadjes, etc). Hiermee kan je voor een paar euro een teller in elkaar zetten.

Hier een plaatje van het prototype:
simplespeedo.jpg

Snelheid 0km/h, kilometerstand 88400km en dagteller 31km.

Programma code, benodigde spulletjes, aansluit instructie etc zijn hier te vinden. (hier een mirror)

Je kan overigens dezelfde setup maken maar dan met een I2C module aan het LCD display, dan heeft ie maar 4 draadjes nodig en geen potmeter enzo (zit dan allemaal op de i2c module).
 
Laatst bewerkt:
Ik had hem al geupdate in de openingspost maar bij deze nogmaals de link:

Free File Hosting - Online Storage; Upload Mp3, Videos, Music. Backup Files

Hier de simpele versie met alleen km teller:
Free File Hosting - Online Storage; Upload Mp3, Videos, Music. Backup Files

Ik zal nog een keer een howto maken voor een versie met LCD en i2c backpack. Je hebt dan veel minder draden nodig en elke prutser kan dan zijn eigen km teller bouwen voor minder dan een tientje.

Ik zit al te denken over een nieuwe versie die niet op een aduino nano draait maar op een NodeMCU. Deze gaat in slaapstand en wordt elk uur wakker om de accuspanning te checken. Als deze te laag wordt dan stuurt hij een mailtje over wifi met de melding dat er gereden moet worden (of een acculader pakken). Aangezien er een temperatuursensor in zit en dagteller stand toch al bekend zijn kunnen die ook in de mail. Weet ik meteen welke handschoenen ik aan moet en of er getankt moet worden :P
 
Laatst bewerkt:
Hoe doe je nu precies het uitlezen van de toeren? Met een optocoupler zeg je, hoe werkt dat. Net als bij een urentellen voor crossmotoren een draaidje om de bougiekabel? Welke electronica gebruik je daarvoor? Heb je een lijstje met schema misschien? Of een linkje naar een voorbeeld?
 
Een optocoupler is niks anders dan een componentje met een ledje en een lichtgevoelige transistor er in, als je spanning op de ene kant van de optocoupler zet (zo'n 3 V) dan gaat de led branden, dus de transistor gaat in geleiding en dan verbindt ie dus eigenlijk de twee pinnetjes aan de andere kant van de optocoupler (en die sluit je weer aan op een digitale ingang van je arduino). Zo kun je dus een signaal uitlezen zonder dat je je arduino daadwerkelijk elektrisch aan hoeft te sluiten.

Da's interessant, want op die bougie komt al gauw 10 tot 20 kilovolt te staan elke keer als ie vonkt, en die wil je niet op je arduino hebben ;)

Als je weet met welke spanning de bougie ongeveer vonkt (laten we zeggen 10 kv voor dit voorbeeld), en als je er vanuit gaat dat het ledje in de optocoupler ongeveer 10 mA nodig heeft om te branden en er dan 3 V over de optocoupler staat (insignificant vergeleken met die 10 kv dus), dan kun je een weerstand in serie zetten met de optocoupler en dat geheel parallel aan een van de bougies zetten. Als je daar een weerstand van een megaohm voor pakt dan gaat er bij een spanning van ongeveer 10 kv over die weerstand zo'n 10 mA lopen, en da's precies wat er ook door dat ledje heen moet dus met een 1M weerstand zit je ongeveer goed. Als de bougie dan vonkt, en er 10 kv over die bougie komt te staan, dan komt die 10 kv ook over de weerstand + opto te staan, dus gaat het ledje in de opto branden en gaat de transistor in geleiding.

Dus dan heb je een circuitje gemaakt wat dus elke keer dat de bougie vonkt, de twee pinnen aan de uitgang van de optocoupler met elkaar verbindt. Die sluit je aan op je arduino en dan ga je tellen hoe vaak je dat signaal voorbij ziet komen per seconde. Dat vermenigvuldig je vervolgens in de software met een factor twee (want een viertakt motor vonkt een keer per twee slagen) en voila, je weet het toerental van de motor :)

Cool project @Kapiteinkoek!
 
Laatst bewerkt:
@reliku, de isolatiespanning van optocouplers is veel te laag om direct de vonkspanning te kunnen gebruiken. Sparks will fly everywhere!!

Wat soms wel gedaan wordt is dat er een draadje met een aantal slagen om een bougiekabel gedraaid wordt, zonder het echt fysiek te verbinden. Het elektrische veld van de vonkspanning is dan voldoende om een laagspannings circuit te triggeren.
Een beveiligingsrelais van een LPG installatie werkt zo, en ook sommige aftermarket toerentellers.

De andere manier is om de geschakelde 12V of 24V aansluiting van de bobine te nemen en daar je signaal van afleiden. Met een CDI ontsteking is dat iets minder handig dan bij een transistor ontsteking maar beide is mogelijk.

Derde keus is om in het circuit wat de ontsteking aanstuurt in te breken. Bij een motor zijn dit vaak pickup spoelen. Belangrijk is hierbij dat je de werking van de CDI niet nadelig beïnvloedt, dus je circuit moet een hoge ingangsimpedantie hebben (en zal dus gevoelig zijn voor storingen)
 
Overheen gelezen. :$ Mijn excuus en dank. *D

Ik had hem al geupdate in de openingspost maar bij deze nogmaals de link:

Free File Hosting - Online Storage; Upload Mp3, Videos, Music. Backup Files

Hier de simpele versie met alleen km teller:
Free File Hosting - Online Storage; Upload Mp3, Videos, Music. Backup Files

Ik zal nog een keer een howto maken voor een versie met LCD en i2c backpack. Je hebt dan veel minder draden nodig en elke prutser kan dan zijn eigen km teller bouwen voor minder dan een tientje.

Ik zit al te denken over een nieuwe versie die niet op een aduino nano draait maar op een NodeMCU. Deze gaat in slaapstand en wordt elk uur wakker om de accuspanning te checken. Als deze te laag wordt dan stuurt hij een mailtje over wifi met de melding dat er gereden moet worden (of een acculader pakken). Aangezien er een temperatuursensor in zit en dagteller stand toch al bekend zijn kunnen die ook in de mail. Weet ik meteen welke handschoenen ik aan moet en of er getankt moet worden :P
 
de isolatiespanning van optocouplers is veel te laag om direct de vonkspanning te kunnen gebruiken. Sparks will fly everywhere!!

Oh nee, excuses voor de onduidelijkheid, ik bedoel ook absoluut niet dat je die volledige spanning over de opto moet zetten! Dat gaat niet werken hahaha :P

Met een voorschakelweerstand in de orde van een megaohm zie ik het probleem niet though. Zo lang je het maar niet zonder isolatie er naast laat hangen, natuurlijk, maar dat spreekt voor zich, de spanning is daar veel te hoog voor. Maar zo lang je het goed isoleert en d'r een dikke weerstand voor zet, zie ik het probleem niet zo.

Maar je hebt gelijk, het signaal dat de bobine in gaat is een stuk veiliger. Maar dan vraag ik mij toch af.. waarom heb je dan galvanische scheiding gebruikt? Dat signaal naar de bobine zit volgens mij al op hetzelfde circuit dus dan is een optocoupler een beetje overbodig, toch?
 
Hoe doe je nu precies het uitlezen van de toeren? Met een optocoupler zeg je, hoe werkt dat. Net als bij een urentellen voor crossmotoren een draaidje om de bougiekabel? Welke electronica gebruik je daarvoor? Heb je een lijstje met schema misschien? Of een linkje naar een voorbeeld?

Heb ik een keer een topic van gemaakt omdat dat dus niet goed wilde lukken. Ik meet aan de 12v kant van de bobine en dat gaat perfect tot ongeveer 4500rpm. Daarboven wil het niet lukken om het toerental te meten.

Ik heb spul liggen om dit schema te maken:

timinglight.jpg


Die heb ik ergens van internet geplukt, het is een simpel circuit voor een timing-light. Ipv LED1 zou ik daar een optocoupler oid doen en dan dus meten bij de bougiekabel. Maar goed voorlopig heb ik daar helaas geen tijd voor.
 
Terug
Bovenaan Onderaan