www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Impulsbreiten modulation - Signal auslesen


Autor: Dilligent (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo mal wieder,
ich hab schon ne weile gesucht und auch selber probiert das Problem zu 
lösen, habs leider nicht so ganz hinbekommen. Leider mangelt es mir auch 
an einem Oszilloskop und die teile sind ja nun auch nicht gerade für nen 
paar cent zu kaufen ;(

Das Signal ist wie folgt definiert:
http://img341.imageshack.us/img341/440/oszims2.jpg

In meinem Programmcode habe ich einen Timer der mit einer Auflösung von 
0.1msec läuft, dh sollte ich eine gute Zeitreferenz haben um das Signal 
messen zu können.

Kurzum, ja es geht hier um eine Anwendung im Fahrzeug als Bordcomputer. 
Gechwindigkeit und andere Signale habe ich bereits erfolgreich 
angezapft.

Nun müsste ich noch dafür sorgen das mein µC auch erkennt wieviel Sprit 
nun eingespritzt wird, doch ganz schlau werde ich aus dem Datenblatt 
nicht. Wie gesagt, habe keine Osziloskop :(

Meine Idee war es zu zählen wie lange das Ventil offen war, das ganze 
dann pro sekunde mit der Geschwindigkeit in bezug zu setzen und daraus 
einen aktuellen Verbrauch pro 100km darstellen zu können. Hat nicht 
funktioniert :( Hat jemand Vorschlöde, bzw ist jmd in der Lage die Daten 
richtig zu interpretieren?

Würde mich echt freuen, schöne Grüße, Dennis

Autor: GagoSoft (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Welchen Controller verwendest Du?

Wenn es sich um einen AVR handelt, würde ich vorschlagen das Signal auf 
einen externen Interrupt zu legen und einen Counter nebenbei laufen zu 
lassen.
Bei jedem Interrupt liest Du den Counter und resettest ihn.

zum Thema Oszilloskop: eines zu haben ist eine feine Sache, doch es geht 
auch anders:
  Relativ langsame Signale kannts Du auch mit einer Linux-Kiste und 
einer (alten/billigen) Soundkarte messen. Die Ergebnisse sind ganz 
passabel.
Als Software schlage ich qoscc vor, das hat bei mir am besten 
funktioniert
http://flup.homelinux.org/qoscc.html
Alternativ:
http://xoscope.sourceforge.net/

----------------------------------
wer Rechtschreibfehler findet, darf sie behalten, Inhaltliche Fehler
nehme ich gerne zurück

Autor: He Ro (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin moin,

> Meine Idee war es zu zählen wie lange das Ventil offen war, das ganze
> dann pro sekunde mit der Geschwindigkeit in bezug zu setzen und daraus
> einen aktuellen Verbrauch pro 100km darstellen zu können. Hat nicht
> funktioniert :( Hat jemand Vorschlöde, bzw ist jmd in der Lage die Daten
> richtig zu interpretieren?

Bei mir funktioniert das so :) Ich gehe über 100kOhm auf einen 74HC14 
(Schmitt-Trigger-Inverter als Schutz für den AVR) und davon dann direkt 
auf den AVR (Mega16 bzw. Mega32)

Mit einem Unterschied: Ich nutze dafür den Input Capture Interrupt, der 
ist dafür IMHO geradezu prädestiniert. Auflösung bei mir etwa 21uS - 
viel mehr als nötig. Achso, das ganze läuft auch nicht pro Sekunde, 
sondern pro Überlauf des 16Bit-Timers.

Wichtig dabei: So ganz exakt wird das nicht, vermutlich weil:
1) Die Durchflussmenge nicht ganz linear mit der Ansteuerdauer ansteigt 
und/oder
2) die Druckdifferenz zwischen Ansaugtrakt und Kraftstoffverteiler nicht 
immer konstant ist

Ich komme auf etwa +-5% Schwankung ggü. der Ermittlung des 
Spritverbrauchs an der Tanksäule (die natürlich auch nicht exakt ist)

MfG, Heiko

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.