PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Boardcomputer



kurzwelle
23.04.2008, 12:29
Hallo!

Ich möchte mir für mein Auto einen eigenen Boardcomputer bastel.
Meines wissens Drehzalh und Geschwindigkeit ein Rechtecksignal. Wie kann ich das am besten umwandeln, z.b in Impulse pro Sekunde?

mfg

Andree-HB
23.04.2008, 13:17
...Drehzahlmesser wurden hier schon mehrfach durchgekaut, Geschwindigkeitsmesser ist dann in Verbindung mit Reifenumfang und ggfls. Getriebeübersetzung ein Resultat.

Bitte die Suchfunktion nutzen !
https://www.roboternetz.de/phpBB2/search.php

kurzwelle
23.04.2008, 15:20
Das ist mir schon klar.....mir geht es nur um die digitale Verarbeitung. Diese Rechtecksignale möchte ich in einen Zahlenwert Umwandeln. Dass man diesen noch mit einem Faktor multiplizieren muss, weiß ich schon, das ist ja nicht das Problem.

mfg

Lemonsquash
23.04.2008, 15:33
Stichwort: ADC (Analog-Digital-Converter)
Und dieses Stichwort in Kombination mit der Information von Andree-HB wird dich zu den gewünschten Informationen führen.

Weiterhin sei dir gesagt: Mit dem von mir eben genannten Stichwort wirst du auch im RN-Wiki sowie bei Google und Wikipedia fündig...

Mfg.
Lemon

kurzwelle
23.04.2008, 16:59
Aber was bringt mir bei einem Rechteck an ADC???
Entweder liegen 12 Volt oder 0 Volt an

AlKI
23.04.2008, 17:53
die 12V solltest du voher mit nem Spannungsteiler runterschrauben auf max. 5V.

Umwandeln: per dauernder Portabfrage und etwas Rechnen oder
per interrupt und etwas rechnen.

wenn du dann noch die Bordspannung überwachen willst, kannste die auch noch einfach mit nem Spannungsteiler an nen ADC hängen.


Was Lemonsquash mit ADC will, peil ich grad auch nicht.

kurzwelle
23.04.2008, 20:02
Ja, das mit dem Spannungsteiler wird wohl nötig sein.
Ich muss irgendwie diese Rechteck-Impule (pro Sekunde??) zählen - an dem scheitere ich momentan

mfg

AlKI
23.04.2008, 20:15
Am einfachsten fragst du dauernd nen beliebigen Pin ab.


interrupt, LCD, Ein/ausgänge konfigurieren

timer laden

Do
Pinzustand einlesen
if Pinzustand voher = Pinzustand jetzt
// nixtun
else
Zähler = Zähler +1
Pinzustand voher = Pinzustand jetzt // da der Jetzt-Zustand im nächsten Durchlauf der alte ist
end if
loop

interruptroutine:
UmdrehungenproZeiteinheit = (Zähler/2) / Zeit // "/2" da voher sowohl auf- als auch absteigende Flanken gezählt wurden
// weiterrechnen
Ausgabe am LCD
Zähler = 0 // zurücksetzen, damit gleich neu mit zählen angefangen werden kann
Timer neu laden
end interruptroutine


so schematisch mal angedeutet

EDIT: ops, hab vergessen zu sagen, was das fürn interrupt ist: ein vom MC ausgehender Interrupt, der von nem Timerüberlauf ausgelöst wird.
hab den Code noch n klein wenig angepasst!

kurzwelle
23.04.2008, 21:18
Danke, genau das das habe ich gemeint!
mfg