Liebe Forum User, Ich möchte mit AtMega 8 Frequenz ca. 0 bis 10 Hz auf Spannung (0 bis 5V) umwandeln. Vielleicht weiß jemand wie ich das in C programmieren kann. Vielen Dank im Voraus Mit freundlichen Grüßen pimi
Man messe die Frequenz z.B. mit der InputCapture-Einheit und gebe einen proportionalen Impuls als PWM aus. Dieses PWM-Signal kann man dann noch mit einem RC-Glied "gleichrichten".
Die Frequenz messen, eine PWM zwischen 0 und 100% ausgeben und mit Tiefpass (R/C) glätten. Otto
Danke für den Rat. Konkret gesagt ich möchte eine Frequenz von einem Windsensor auslesen und damit eine Markise ansteuern. Ich will das für den AtMega8 (In der C-Sprache) programmieren. Grundkenntnisse in C sind bei mir vorhanden, jedoch mit Kontrollerprogrammierung habe ich wenig Erfahrung. Ich benutze die Software - Sisy AVR Im Anhang versuche ich mein Programm zu beschreiben. Ich weiß nicht wie man den Timer deklariert, initialisiert, startet oder abfragt, außerdem will ich auf eine steigende Flanke am Pin B1 reagieren und Variable s inkrementieren. Im Quellcode habe ich alles Unbekannte rot geschrieben. Ein Programmablaufplan ist auch dabei. Ich hoffe, dass ich keinen Denkfehler gemacht habe. Wenn jemand Zeit und Lust dazu hat bitte ich um Vervollständigen des Programms. Über eine möglichst schnelle Antwort wäre ich sehr dankbar.
Peter I. wrote: > Wenn jemand Zeit und Lust dazu hat bitte ich um Vervollständigen des > Programms. > Über eine möglichst schnelle Antwort wäre ich sehr dankbar. Scherzkeks.
> Ich weiß nicht wie man den Timer deklariert, initialisiert, startet oder > abfragt, Dann lies das Datenblatt des Mega8, mach' Dich mit seiner Architektur vertraut und steuere die internen Peripherie-Komponenten über die dafür vorgesehenen I/O-Register. > Grundkenntnisse in C sind bei mir vorhanden, jedoch mit > Kontrollerprogrammierung habe ich wenig Erfahrung. Falls Du diese Grundkenntnisse nur vom PC hast, werden die Dir auf einem AVR ohne Kenntnis der AVR-Architektur nicht allzuviel nützen. Der Programmierstil, der auf dem PC richtig sein kann, muss auf dem AVR noch lange nicht richtig sein, da die Ressourcen im Vergleich zum PC recht knapp sind und das unbekümmerte Verwenden von ungünstigen Operatoren, Datentypen und Standardbibliotheken schnell den Ressourcenrahmen sprengt. ~
>Dateianhang: Programm_Markise.doc (81 KB, 25 Downloads) Schon mal Mist. Man sollte keine .doc-Dateien verbreiten, sondern Quellcode, Bilder (unter Beachtung der Bildformate oder pdf. >Konkret gesagt ich möchte eine Frequenz von einem Windsensor auslesen >und damit eine Markise ansteuern. Irgendwie verstehe ich den Zusammenhang zwischen "eine Markise ansteuern" und "Frequenz mit AtMega8 auf Spannung umwanden." nicht. So wie ich Markisensteuerungen kenne, wird die Markise ab einer bestimmten Windstärke eingefahren. Ausgefahren wird sie entweder manuell oder über einen Helligkeitssensor. Hast du schon im "Hausbus-Forum" geguckt? http://www.mikrocontroller.net/forum/hausbus Es ist ja löblich, dass du schon einen Ablaufplan gemalt hast; nur ist der leider nicht ganz passend für das Windsensor-Markisen-Problem. Zumindest habe ich ihn nicht verstanden. Wie wäre es mit ein paar mehr Parametern? >> Wenn jemand Zeit und Lust dazu hat bitte ich um Vervollständigen des >> Programms. >> Über eine möglichst schnelle Antwort wäre ich sehr dankbar. >Scherzkeks. Dem kann ich mich nur anschliessen...
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.