Hallo zusammen. Ich weiss dass das Thema tw. schon des öfteren Angesprochen wurde, allerdings nicht in meiner Konfiguration. Ich habe einen Verbrennungsmotor (0-15000 u/min)bei dem ich aus dem Steuergerät ein 12V Rechteck als drehzahlsignal bekomme. Dieses Drehzahlsignal möchte ich nun auf einem Grafikfähigen Display ausgeben. Das Rechteck würde ich mit einem Spannungsteiler (2,2k / 3,9k) auf den Maximalwert 5V begrenzen (bei 13.8V). Meine angedachte Herangehensweise: - Drehzahl über T1 (PB1) über Counter erfassen - Drehzahl entsprechend der Pulse/umdrehung runterrechnen bzw. Hochrechnen - Umrechnen auf u/min - Ausgabe auf dem Display Ist es sinnvoll den T1 dafür zu verwenden? Wenn ja - im 16Bit Mode (wert kann ja >255 werden) Gleichzeitig möchte ich Eine Gruppe von LEDs ansteuern (0-3000 1.LED, 3000-5000 2. LED, 5000-7000 3. LED, 7000-12000 4. LED, 13500: Blinken 5. LED). Dazu würde ich eine Endlosschleife laufen lassen, die immer den aktuellen Registerwert vom T1 mit den Grenzwerten vergleicht und dann entsprechend die LEDs einschaltet. Habt ihr Tipps / Hinweise? Vielleicht ein paar Code-Snippets? Würdet ihr das ganze anders realisieren? Ggf. Soll gleichzeitig mit dem A/D Wandler auch noch eine Spannung gemessen und angezeigt werden - auf dem selben Display. Dazu Hinweise? Grüße
>Das Rechteck würde ich mit einem Spannungsteiler (2,2k / 3,9k) auf den >Maximalwert 5V begrenzen (bei 13.8V). Schlecht da so dein Eingang nicht gegen Spannungsspitzen geschuetzt ist. Besser ist es zum unteren Widerstand noch eine Z-Diode von 4.7V parallel zu schalten. Gruss Helmi
Softwaretechnisch wuerde ich das auch etwa so angehen. Ich wuerde aber darauf achten, dass das Messen, das Umrechnen und das Anzeigen sauber getrennte Module mit klaren SW-Schnittstellen sind. Hardwaremaessig ist die Abschottung des uC gegen alles was im Bordnetz umherfliegt, extrem wichtig und etwas aufwendig. Also an der Stelle nicht sparen. Gast4
Ich muss es nochmal pushen. wir haben das Problem dass wir keine Anständige Messung hinbekommen. Die Variable (obwohl global Deklariert), wird im Interrupt mit Werten gefüllt, existiert im Hauptprogramm nicht mehr. Jemand der weiter weiss? Grüße
Hast du schon einmal mit dem Gedanken gespielt, deinen Code zu kommentieren?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.