Is het mogelijk om mijn idee werkelijkheid te maken m.b.v. een Arduino board?

Hallo allemaal,

Ik ben nieuw op dit forum en tevens geheel nieuw tot het Arduino concept. Ik ben verder ook niet heel erg thuis in elektronica en programmeren etc. Vergeef mij dan ook aub op voorhand al voor domme vragen en dat is niet alles in één keer zal begrijpen.

Hoe ben ik dan bij Arduino terecht gekomen?

Ik heb een idee in mijn hoofd en wil dit uitwerken. Na dit idee besproken te hebben met een aantal mensen werd ik geadviseerd om dit idee uit te werken m.b.v. een arduino board.

Wat is het idee?

Ik wil een tool maken om CVT systemen in scooters, perfect af te kunnen stellen. Ik heb een technische achtergrond. Ik zal jullie alle details besparen over het hoe en wat.

Echter wat ik graag met jullie zou willen delen is hetgeen waar ik naar opzoek ben. Met andere woorden, wat ik verwacht te verkrijgen aan data uit de Arduino board.

Uiteindelijk wil ik een grafiek krijgen in de volgende vorm:

Het gaat er hier dus om dat ik data kan verkrijgen vanuit mijn Arduino board waarmee ik een tabel kan maken waar deze grafiek weer uit kan voortkomen.

In feite gaat het dus om een aantal zaken:

  • RPM
  • G-Krachten
  • Opslag van deze data (SD oid?)

Ik heb zelf het één en ander gezocht en ben uitgekomen op:

Wat betreft RPM ben ik uitgekomen op de FreqMeasure: best for 0.1 Hz to 1 kHz

Ik dacht namelijk aan de volgende uiterste waarden:
MIN: 800 toeren per minuut : 60 sec = 13,33 Hz
MAX: 16000 toeren per minuut : 60 sec = 266,67 Hz

Ik wil het toerental gaan meten via de bougiekabel (Capacitief?)
(Spark plug wire inductive pickup for RPM - Circuit design - Eng-Tips)
Dit betekent namelijk dat ik een bereik zou moeten hebben van 10 - 270 Hz.

Hierbij een link naar een topic waarbij iemand exact hetzelfde heeft gedaan als wat ik nu wil gaan doen. Enkel zou ik graag een G-Sensor willen toevoegen.

http://forum.arduino.cc/index.php?topic=6676.0

Wat is mijn vraag?
Zijn mijn wensen haalbaar met het gebruik van het Arduino platform?
Is dit het beste platform om te gebruiken voor deze toepassing?
Waar moet ik beginnen?! Ik heb gemerkt dat Arduino zo ongelooflijk uitgebreid is dat ik niet zou weten waar ik zou moeten beginnen...

Wie o wie kan mij helpen?

Welkom op het Arduino platform,

Zover ik eea begrijp kan het prima met een UNO.

Start met een paar avonden doorbrengen in de tutorial en reference sectie van de Arduino zodat je de taal en de gangbare programmeer constructies leert kennen. zoals IF FOR WHILE ARRAYS en MILLIS()

Verder zal het moeilijkste zijn om je metingen te stabiliseren.
Scooters dan denk ik aan vonken en veel EMC ( Electro Magnetische Chaos :wink:

Zijn mijn wensen haalbaar met het gebruik van het Arduino platform?

Ik vrees dat je in jouw geval niet veel andere keus hebt.

Al het andere is duurder.
En niet open source.
.

Beste Rob en Rikky bedankt voor de reacties. Ik ben inderdaad al begonnen met lezen en zal mij de komende tijd hier verder in verdiepen. Zojuist kom ik een erg interessant artikel tegen. Eigenlijk komt dit het meest in de buurt van wat ik wil. Sterker nog, als ik dit product zou kunnen maken ben ik er al!

https://code.google.com/p/arduino-telematic-box/

Ik zou al deze componenten kunnen bestellen. Maar hoe zit het met zo een project pagina? Zitten daar nog codes bij? Hoe weet ik of het wel of niet heeft gewerkt? Enige gedachtes?

x187:
Zitten daar nog codes bij? Hoe weet ik of het wel of niet heeft gewerkt? Enige gedachtes?

  1. ja zie tab source,
  2. weet je niet -> proberen
  3. zie hierboven

Beste Rob,

Dit had ik al geprobeerd maar die link werkt niet.

In ieder geval heb ik me weer verder verdiept en ben bij een andere board terecht gekomen welke reeds wordt gebruikt voor datalogging en waar de codes etc bij zitten voor het grootste gedeelte.

http://arduinodev.com/arduino-ble-data-logger-shield/

Tevens zit hier dus een SD slot op. Dit was al één van de vereisten voor mijn datalogger.

Het enige waar ik me nu in moet verdiepen is hoe ik het stukje RPM datalogging ga doen omdat een scooter geen OBD heeft...

Ik heb dus een stuk gelezen van het "learning" gedeelte. Alleen ik ben nog niet tegengekomen hoe het nou precies werkt met een Arduino bord als je een shield wil toevoegen en sensoren etc wil toevoegen hoe dat dan precies werkt. Ik las heel kort iets over een bread... iets en over een shield om sensoren op te zetten. Kan iemand mij vertellen waar ik hier misschien een uitleg over kan vinden?

Normaal gesproken gaat Engels me zeer goed af maar er zijn hier zoveel technische termen dat ik het wel lastig vind worden af en toe...

Kan iemand mij vertellen waar ik hier misschien een uitleg over kan vinden?

Als je googled op "arduino introduction" of "arduino shields" vind je tig links naar websites en video's

Bijvoorbeeld:

Maar je kan hier op het forum natuurlijk ook om nadere/meer uitleg vragen.

Beste RBSCR,

Bedankt voor het gave filmpje! Ik vraag te snel en zal even met wat meer geduld alles lezen.

Maar omdat dit een forum is deel ik hier even wat links welke mij veel hebben uitgelegd over Arduino, zodat toekomstige gebruikers hiervan kunnen profiteren:

http://www.ministickers.nl/Media/Arduino/Arduino_Comic_NL_0001.pdf

Super informatie!

Ik wacht nog even op wat meer informatie maar sta op het punt om het volgende aan te schaffen:

Compact MEGA 2560
$29.90

Data Logger Shield for Arduino
Onboard Bluetooth: No BT, Interface: Compact MEGA 2560
$19.00

GPS Receiver for Arduino
$35.00

I2C OLED Display (128x64)
$15.00

Item total:$98.90
Shipping and handling: $9.50
Total:$108.40 USD

Website: Hardware Products | ArduinoDev.com

Ik heb gekozen voor de compact MEGA omdat deze meer ruimte biedt qua programmering waardoor uitbreiding in de toekomst eventueel nog mogelijk is. Verder kies ik tevens voor deze componenten omdat ze reeds gebruikt worden bij een project welke zeer dicht tegen mijn project aan ligt.

Wat is jullie aanpak normaal gesproken in het uitwerken van een idee naar een prototype?

Ik denk namelijk zelf om me eerst te verdiepen in de hardware zijde, zodat ik kan achterhalen wat ik precies nodig heb allemaal.

Zodra ik dat allemaal heb, zal ik me gaan verdiepen in de software zijde om de hardware die ik dan reeds heb, werkend te krijgen.

Ik denk dat ik de volgende componenten nog nodig heb:

Informatie over Accelerometers: http://www.robotshop.com/blog/en/arduino-5-minute-tutorials-lesson-7-accelerometers-gyros-imus-3634

Zitten er nadelen aan het gebruik van een uitgebreidere sensor dan wat je eigenlijk nodig hebt? Ervan uitgaande dat ik de sensor op 2G modus zet.

Wel staat in de tekst dat het "Chip built-in 16 bit AD converter, 16 bits of data output" heeft.

Wat is de relatie tussen bits ADC en resolutie?

In de tekst vind ik dit: "In order to choose the right accelerometer, consider the maximum linear acceleration the sensor will be subjected to. If you are planning to add an accelerometer to a small mobile robot, you will likely use a 2g accelerometer (even that is likely overkill), whereas if you are attaching it to a rocket, a 16g accelerometer is likely a better choice. When connected to a 10 bit ADC, the 2g accelerometer will have an accuracy of 2 / 1024 = 0.002g, and the 16g accelerometer will have and accuracy of 16 / 1024 = 0.0156. Therefore if you only need a range of 2g, but purchase a 16g accelerometer, you will only have about 128 possible readings, instead of the full 1024. Conversely, if you choose a 2g accelerometer when you really needed a 16g, you will get a lot of “maximum (1024) “readings since the acceleration is “off the scale”."

Maar ik zie even niet de relatie tussen een 10 bit ADC en de resolutie en wat voor effect een 16 bit ADC dan zal hebben.

Als ik het goed begrijp is 10 bit ADC = 2^10 = 1024
en zou 16 bit ADC = 2^16 = 65536 zijn

Dit betekent dat 16 bit dan stapjes maakt van 0.00003 ipv 0.002g bij een 10 bit ADC?

Correct?

Tevens een interessante website!

x187:
I2C OLED Display (128x64)

Dat zijn wel erg kleine displaytjes.
Ik heb hier 2 van zulke dingen.
Die zijn zo'n 2.5 centimeter breed en 1.25 centimeter hoog.
Vanwege de resolutie gecombineerd met de grootte, kun je er er leuke dingen mee doen.
Hele lappen tekst passen er weliswaar op, maar of je ze dan nog wel kan lezen is weer een heel andere vraag.
Zolang je je dat realiseert kan dat natuurlijk geen kwaad.

x187:
Wat is jullie aanpak normaal gesproken in het uitwerken van een idee naar een prototype?

Mijn aanpak is dat ik probeer (ik kan me niet altijd inhouden) om de zaken in kleine stukjes te breken.
Die stukjes moet je dan zo klein maken, dat ze gemakkelijk op te lossen zijn.
Na oplossen van de kleine stukjes, kun je ze weer samenvoegen tot een totaaloplossing.
Op die manier houd je het overzicht, en je kunt af en toe even een ander deeltje oppikken als je vast zou lopen (ff iets anders doen).

x187:
Wat is de relatie tussen bits ADC en resolutie?

Die relatie is indirect.
Daar gaat het er dan om hoe groot het kleinste stukje is (1 bit).
Wanneer je hoogste waarde 5 volt kan zijn, en je ADC is 16 bit, dan is de kleinst meetbare waarde dus (5/65536=) 0,0000763 Volt (afgerond).
Maar helaas gaat die vlieger niet op.
Want je kunt niet alleen kijken naar wat je kunt samplen, je moet ook kijken naar wat er kan worden aangeboden.
De vraag is of de betreffende sensor (welke grootheid die ook meet), ook wel een dusdanige precisie kan leveren.
Wanneer dat niet zo is, is het niet erg zinvol om zo'n dik kanon in te zetten.
Maar over het algemeen zul je een sensor gebruiken die zelf al de ADC doet en dus digitale data aanbiedt, zoals de ADXL3.. oplossing die je al gevonden had.
Je kunt dan dus wel gaan zoeken naar een sensor die een beter interne ADC heeft, dat impliceert dan een betere resolutie.

Hartstikke bedankt voor dit zeer nuttige antwoord. Ik snap nu precies wat je bedoeld met ADC en Sensor nauwkeurigheid...

ADC is eigenlijk een apparaat dat sensormetingen omzet in een digitaal signaal, het aantal bits bepaald de resolutie waarin de ADC een sensormeting kan omzetten in een digitaal signaal. Echter is de sensor leidend in nauwkeurigheid, want de sensor moet minimaal net zo nauwkeurig of nauwkeuriger kunnen meten dan het aan mogelijkheden welke het ADC kan vertalen naar digitaal (10 bit = 1024 mogelijkheden 16 bit = 65536 mogelijkheden), anders wordt de nauwkeurigheid van de ADC niet benut.

Ik zal inderdaad gaan kijken voor een iets groter scherm van 2,5 x 1,25cm is te klein voor mijn toepassing

Ik denk dat het dan handig is om mijn project op te splitsen in 4 segmenten. Deze 4 segmenten zijn namelijk de 4 datasoorten welke ik wil verkrijgen:

1. Tijd [ms]
2. RPM [toeren per minuut]
3. Acceleratie [m/s2]
4. Snelheid [km/h]


Ik zou eerst graag de hardware componenten met jullie willen doornemen, om daarna over te gaan naar de software zijde.

Ik denk dat jullie know-how jullie in staat stelt om een betere inschatting te maken of de componenten die ik uitkies, zullen voldoen aan de dingen die ik ermee wil bereiken. Deze componenten kies ik uit op basis van mijn eigen onderzoek (en jullie support hierin).

Om te beginnen denk ik dus aan de volgende basiscomponenten omdat deze gebruikt worden bij een ander project welke zeer dicht tegen mijn project aanligt, hierdoor zal ik ook een gedeelte van de software codering kunnen gebruiken.

Basis componenten:

Compact MEGA 2560
$29.90

Data Logger Shield for Arduino
Onboard Bluetooth: No BT, Interface: Compact MEGA 2560
$19.00

Bron: Hardware Products | ArduinoDev.com

1. Tijd [ms]

Ik heb begrepen dat er op de Arduino (MEGA) een component zit dat de tijd in ms registreerd.

The Arduinos run at a 16MHz clock so internal instructions (each clock cycle tick) is 1/16,000,000 second = 0.0000625 milliseconds (ms) = 0.0625 microseconds (µs).

Bron: batch to sequential fuel injection converter - Project Guidance - Arduino Forum

Hierdoor heb ik dus geen extra hardware componenten nodig om de tijd te kunnen registeren. Overigens heb ik de code van robtillaart kunnen vinden "MILLIS()" en de functie hiervan.

2. RPM [toeren per minuut]

Dit is denk ik het lastigste signaal om te verkijgen. Hier op het forum is dit onderwerp al meerdere keren behandeld en heb ik tot nu toe niet een eenduidig antwoord kunnen vinden. Echter heb ik een leverancier gevonden welke een tool heeft gemaakt om het RPM te bepalen met een bougieklem. Iets wat voor mijn doeleinden uitermate geschikt is. Hiervoor ben ik van plan om de "Capacitive RPM sensing circuit" na te maken. De versie die SCR based is. Omdat dit een update is op het oude model denk ik dat het beter is.

Ook zal ik informeren bij deze fabrikant of ik de klem los kan verkrijgen.

3. Acceleratie [m/s2]

Hiervoor zal ik een accelerometer moeten gebruiken. Welke weet ik nog niet precies. Echter heb ik berekend dat als je:

100 km/h in 2 seconden wil halen heb je een gemiddelde acceleratie van: 100 / 3,6 = 27,77 m/s

27,77 / 2 = 13,88 m/s2

13,88 / 9,81 (zwaartekracht = 1G) = 1,42 G

Met deze zeer extreme situatie kan ik er veilig vanuit gaan dat een 2G accelerometer ruim voldoende is voor mijn doel.

Na een stuk gelezen te hebben ben ik erachter gekomen dat analoge accelerometers makkelijker mee te werken zijn qua programmering,

Ik heb hierbij deze sensor op het oog:

-DE-ACCM2G2

http://www.dimensionengineering.com/products/de-accm2g2

Bronnen:

http://www2.usfirst.org/2005comp/Manuals/Acceler1.pdf

http://www.dimensionengineering.com/info/accelerometers

http://www.dimensionengineering.com/appnotes/Gmeter/

4. Snelheid [km/h]

Voor de snelheid kan ik een tweetal inputs gebruiken:

  • GPS
  • Accelerometer

Ik ben van plan om beide te gebruiken.

Ik moet mij nog gaan verdiepen in hoe je snelheid kan meten met GPS.

Voor de accelerometer zou ik gewoon een formule kunnen toepassen om de snelheid op ieder moment te berekenen.


Is dit een goede opsplitsing?

Zijn er nog enige opmerkingen in mijn verhaal waar ik toch de mist in ben gegaan of wellicht verstandiger is om het anders te doen?

Ik hoor het graag!

Wat ik weet van de gps , is dat zo'n ding de snelheid gewoon meegeeft, samen met nog een hoop andere gegevens.
(Dat wordt nog een heel karwij)
De tussentijd, echter voordat je weer een nieuwe snelheid krijgt, is soms groter dan een ruime seconde.
(Ik zal wel weer wat verkeerd doen)
Bovendien, als je met je scooter langs een paar bomen rijdt, of langs een paar flatgebouwen, dan ziet je gps de satelieten niet meer.

Een GPS behoort vrij nauwkeurig elke seconde de positie door te geven (wanneer zo ingesteld natuurlijk).
De sensor(antenne) dient dusdanig opgesteld te worden dat deze zo goed mogelijk de horizon rondom kan zien.
Dat is echter maar zelden mogelijk.
Je moet echt wel in een hele nauwe steeg rijden, wil je GPS serieus in de problemen komen.
GPS meet geen huidige snelheid, maar rekent de snelheid van een moment ervoor uit.
Als je weet hoe ver 2 punten uit elkaar liggen, en je weet de tijd (das 1 van de zaken die door de satelliet worden uitgezonden, en wel van een heel nauwkeurige bron), dan kun je dus uitrekenen hoe hard er tussen het punt van net en het punt van nu bewogen is.

Een accelerometer meet geen snelheid maar versnelling (relatie met het woord acceleratie).
Het word erg lastig je huidige snelheid te berekenen aan de hand van gemeten versnellingen, onder andere omdat zo'n sensor meerder assen zal meten.
Het ding kan wel als waterpas gebruikt worden door de wijze waarop deze mechanisch werken, en de aantrekkingskracht.

Sorry ik was waarschijnlijk niet duidelijk. Ik bedoel om uiteindelijk de grafiek te krijgen, zou je (theoretisch) de snelheid moeten kunnen berekenen aan de hand van de versnelling.

Formula for velocity as a function of initial velocity, acceleration and time.

v = v0 + at
v0 = initial velocity
v = velocity
a = acceleration
t = time

Maar ik snap wel wat je bedoeld als je met meerdere assen te maken krijgt.

Dan zou je eerst de resultante van de krachten in alle richtingen moeten bepalen en aan de hand daarvan dan de snelheid weer moeten afleiden. Al met al een stuk complexer en daarmee ook een grotere kans op onnauwkeurigheid in het resultaat. GPS zal dus leidend zijn :). Maar het is wel het proberen waard :slight_smile:

Beste Allen,

Ik sta op het punt om de onderdelen te bestellen van het RPM schema.

Nu doe ik dit op basis van een topic waarin iemand heeft aangegeven dat het werkt:

http://forum.arduino.cc/index.php?topic=106624.0

Maar ik vind het erg lastig om de juiste onderdelen te selecteren. Zou iemand mij hierbij willen/kunnen helpen?

Van links naar rechts (op de tekening)

C1 22 pF:
http://www.conrad.nl/ce/nl/Search.html;jsessionid=32299B6ECB58C21E836F8515EBE04084.ASTPCEN24?search=22+pF+condensator

R4 100 kOhm:

D1 1N4148:
http://www.conrad.nl/ce/nl/product/162280?WT.mc_id=google&insert=8J&gclid=COuz-py_6rsCFYUewwodXAsAGw&calc={"acc":"2234228880","cmp":"58416400","adg":"1904309800","mt":"p","kw":"1n4148","pos":"1t1","device":"c","crea":"23891995000"}&WT.srch=1

Q1 BC547:

R1 10 kOhm:

R2 18 kOhm:

C2 100 nF:

NE555:

R3 1kOhm:

Ik snap echt niet wat sommige verschillen zijn en hoe je je keuze zou moeten maken...

Als iemand misschien een mandje wil maken met de juiste onderdelen of mij uitlegt waarom je wat nodig hebt.. Zou ik dat enorm waarderen!

rpm_pickup_schem.png_thumb (5.86 KB)

Dat schema is weer te klein.
Ik kan het zo niet lezen.

Volgens mij kan iemand anders niet voor jou een mandje aanmaken daar bij Conrad, omdat jij een eigen cookie hebt, die als het goed is niemand anders heeft en waaraan dat mandje gekoppeld word.

Maar je kunt je zoekactie wel nauwkeuriger maken.
Zo kun je bij bouwwijze kiezen voor de varianten die niet SMD zijn.
Dat betekent dat je ze moet monteren in een print met gaatjes erin, maar vooral ook dat ze veel groter (en dus handzamer) zijn.
SMD componenten zijn niet voor de beginnende soldeerder.
De condensatoren hoeven geen 6300 volt te kunnen hebben, die die 100 volt kunnen hebben zijn allang genoeg.
En ik betwijfel of je er zo enthousiast van gaat worden dat je gelijk 5000 condensatoren gaat bestellen.
Dus dan maar kiezen voor per stuk.
Dan blijven er ineens nog maar 2 over:
1 met de draden in de lengterichting (== axiaal) , en 1 met de draden naast elkaar en parallel aan de breedte van de condensator (radiaal).
Dit kun je niet weten, dus daar komt de tip dat de radiale varianten een stuk populairder zijn.
Dat zie je dan wel weer aan de prijs, want ze zijn 10 % goedkoper (wel 2 cent).

Voor de weerstanden geldt dat 1/4 watt meer dan voldoende zal zijn.
Het is het best om de transistoren in TO92 behuizing (en dus ook geen SMD) en de diode in DO35 (maar daar had je al voor gekozen) en de NE555 in DIL behuizing te kiezen.
Als je dan nog meerdere opties hebt, gewoon de goedkoopste en snelst leverbare kiezen.