mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Drehzal vom Auto auf LED's AT89C4051


Autor: g0dl1k3 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag,

ich möchte folgendes Projekt realisieren:
Drehzahl vom Auto (Rechteckpuls Signale an der Zündspule)
mit LED's anzeigen lassen
Also das bei 1000 U/min 1 Led leuchtet bei 2000 eben 2 leuchten
und das eben bis 7000 U/min das heisst 7 LED's
ich hab einen ATMEL AT89C4051 µC.
Hab jetzt das Problem wie ich in Programmieren soll das man die Frequenz 
auswertet und dan die LED weitergibt, hat jemand oder ein fertiges 
Programm
das er mir zu verfügung stellen kann? Wäre sehr Dankbar.

Gruß g0dl!k3 X

Autor: Georg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Womit willst Du denn den 89C4051 programmieren?

Autor: g0dl!k3 X (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit JFE (Jens File Editor)

Autor: Georg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Mit JFE (Jens File Editor)

Ich meine nicht die Programmerstellung, sondern das Programmiergerät.
Wie willst Du Dein .bin oder .hex-File in den 89C4051 übertragen?

Autor: g0dl!k3 X (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kämest du auch damit hin?
http://www.digitaler-drehzahlmesser.de/

Autor: Georg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Galep4, das ist ja purer Luxus :-)

Also dann kann's ja losgehen:

Der 89C4051 hat 2 Timer. Den einen (Timer0) nimmst Du als Zeitmarken-
geber: alle 0,6s läßt Du ihn überlaufen. Das gibt alle 0,6s einen
Interrupt, hier gibst Du Timer1 frei, der dann die ankommenden
Impulse zählt. Du bekommst dann 10 für 1000U/min und entsprechend mehr
für höhere Drehzahlen. Diese Zahl kannst Du dann mit festen Werten 
vergleichen, und entsprechen die LEDs einschalten.

Autor: g0dl!k3 X (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also den µC Brenn ich im Geschäft deshalb der Galep 4 ;)

Dankeschön für diese Ausführliche Hilfe das ging ja richtig schnell!
werd ich dann mal probieren und bescheid ob das funktioniert hat :)

Dankeschön

@ Sven P.

Genau sowas hab ich gemeint nur halt mit dem µC
Danke auch dafür!

mfg g0dl!k3 X

Autor: g0dl!k3 X (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Abend,

so habs heut versucht zu programmieren, leider fehlgeschlagen schaffe es 
einfach nicht die Frequenz auszuwertet (mit schaltern habe ich es 
geschafft)
kann mir jemand bitte eine lösung zeigen? Wäre sehr Dankbar

MFG

Autor: Tobi W. (todward)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo lag das Problem?
Es hapert also am Einlesen der Rechteckimpulse! Was heißt du hast es mit 
einem Schalter geschafft?
Ein Programmcode wäre auch nicht verkehrt. wie hast du alles 
angschlossen? womit hast du deine Frequenz erzeugt? Mit welcher 
spannung? hoffentlich nicht höher als 5V (zündspule hat ja mehr...)

Fragen über fragen...

Gruß
Tobi
PS.: Wie wäre es, wenn du das signal nicht an der Zündspule sondern an 
der Lichtmaschine abgreifst? Es gibt da einen extra ausgang (meistens 
mit W beschriften) für.

Autor: g0dl!k3 X (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also mit den Schaltern hab ich es so sogemacht:
6 Schalter (8-bit System 32,16,8,4,2,1)
10 = 1000 U/min 1x LED
.
.
70 = 7000 U/min 7x LED
Halt die Schalter zusammen gezählt und in Akku geladen
und verglichen und an die LED's ausgegeben

Ja ich greife es an der Zündspule ab (natürlich auf 5V gedrückt und mit 
minimalen Strom damit die Zündung nicht irgendwie beeintrachtig wird)
Was gibt es an der Lichtmaschine für ein Signal? Rechteck?

Programmcode kann ich dir jetzt nicht geben da alles im Geschäft 
gespeichert wird

Autor: Tobi W. (todward)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
g0dl!k3 X schrieb:
> Was gibt es an der Lichtmaschine für ein Signal? Rechteck?
Ja an der Lichtmaschine ist ein rechteckförmiges Signal (keine ahnung ob 
genau) aber auf jedenfall ändert sich die Frequenz.

g0dl!k3 X schrieb:
> lso mit den Schaltern hab ich es so sogemacht:
> 6 Schalter (8-bit System 32,16,8,4,2,1)
> 10 = 1000 U/min 1x LED
> .
> .
> 70 = 7000 U/min 7x LED
Ist das nicht der falsche ansatz?! Du willst doch eine Frquenzzählen und 
nicht einen Binär wert umwandeln...

so wie georg das schon erkärt hat, du musst einen timer nehmen und einen 
overflow von 0,6s sekunden programmieren. Mit einem 2. timer (den kann 
man auch als counter definieren) zählst du über den dazu passenden 
Timereingang (datenblatt hilft da sicher weiter) die Frequenz. In der 
ISR des 1. Timers liest du den Counterwert aus und übergibst ihn an dein 
Hauptprogramm/Schleife, danach setzt du den Counter wieder auf 0 und das 
ganze spiel geht von vorne los. Die zerlegung auf die einzelnen LEDs 
sollte einfach sein und mit schwell werten zu lösen sein.

Gruß
Tobi

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du brauchst erstmal was zum Debuggen.
Z.B. schließe ein LCD an oder die UART an einen PC.
Und dann gibst Du dort die Meßwerte von Deiner Drehzahlmessung aus, ob 
die stimmen.


Peter

Autor: g0dl!k3 X (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Abend,

so ich habs jetzt zum teil geschafft, mir fehlt jetzt nur noch wie man 
die Impulse zählt, des muss ja wie ihr gesagt habt auf den Timer 1 
eingang legen.
Kann mir jemand den Programm Code NUR für diesen Teil geben?

Danke im Vorraus

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.