Frequenz mit AtMega8 auf Spannung umwanden.

Gast #1097674
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".
OP #1098846
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.
Angehängte Dateien:
Gast #1098920
> 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.

~
Gast #1098973
>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...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.