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
>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?
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.
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
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
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.
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
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
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
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
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.