Möchte 2 Pumpen über 2 verschiedene Eingänge steuern.Programm funktioniert aber leider nicht!?
Geil, endlich mal wieder eine Aufgabenstellung, wo das Forum erraten darf, welches Problem der Autor eigentlich hat! (Nein, "geht nicht" ist keine zulässige Fehlerbeschreibung - das lasse ich zwar z. B. meiner technisch völlig unversierten Großmutter durchgehen, aber von jemandem, der mit Mikrocontrollern basteln will, erwarte ich detaillierte Informationen) Und die Screenshots im Anhang sind auch hoffentlich nicht ernst gemeint, oder? Bitte den Quellcode an das Posting anhängen; mit Dateiendung ".c" erlaubt die Forensoftware sogar, das Ganze lesbar darzustellen. Zum Problem: Zwei Fehler bzw. Fallstricke fallen beim ersten Durchsehen auf: - Die Berechnung der Timer-Werte (Stichwort: Overflow) - Die Initialisierung von Timer 2 fehlt Beides führe ich hier nicht näher aus; bitte Forensuche / Tutorial benutzen.
Ich bin halt anfänger!! Muss ich Timer2 wie Timer1 initialisieren??
Thomas schrieb: > Ich bin halt anfänger!! > Muss ich Timer2 wie Timer1 initialisieren?? Das ist ja auch völlig in Ordnung "Anfänger" zu sein. Jeder hat einmal so angefangen. Dennoch könntest du dir bei deiner Problembeschreibung mehr Mühe geben, denn schließlich möchtest du ja, dass sich eine andere Person deinem Problem annimmt. Also sollte man versuchen es dieser Person so einfach wie möglich zu machen, auch wenn das für dich etwas mehr Arbeit bei der Erstellung deiner Beiträge bedeutet. Ohne Schaltplan wissen wir ja nicht mal was genau angeschlossen ist ... Also poste bitte dein Problem nochmal detaillierter: * Wie sieht der Schaltplan aus * Was genau funktioniert nicht * Wie äußert sich dieser Fehler * Was möchtest du genau erreichen bzw. was sollen die Pumpen machen Gruß Stephan
Hi
>OCR2 = ((potipumpe+400)*14>>3);
Timer2 ist ein 8Bit-Timer. OCR2 kann maximal 255 sein.
MfG Spess
Also, ich möchte eine Pumpe mit einem Regler(0-5V) über den Atmega8 ansteuern und die andere Pumpe mit einem Poti(0-5V) über einen zweiten Eingang ansteuern. Das Programm für eine Pumpe habe ich geschrieben und es läuft auch. Nun weiß ich nicht wie ich zwei Signale mit dem Atmega verarbeiten kann. Vielen Dank im voraus für die schnelle Antworten!!
Hi
>Nun weiß ich nicht wie ich zwei Signale mit dem Atmega verarbeiten kann.
Indem du nicht jedes mal den ADC initialisierst, sonden nur den Eingang
mit den MUX-Bits umschaltest.
Du brauchst auch keine zwei Timer. TIMER1 hat 2 Compareregister mit
denen man zwei PWM-Kanäle realisieren kann.
MfG Spess
@ Thomas (Gast) > Foto.JPG > 33,1 KB, 0 Downloads Was soll man dort erkennen? Lies mal was über Bildformate. >ich möchte eine Pumpe mit einem Regler(0-5V) über den Atmega8 ansteuern >und die andere Pumpe mit einem Poti(0-5V) über einen zweiten Eingang >ansteuern. Das Programm für eine Pumpe habe ich geschrieben und es läuft >auch. >Nun weiß ich nicht wie ich zwei Signale mit dem Atmega verarbeiten kann. Wollen wir wetten, dass das nicht stimmt? Du hast es abgeschrieben und zusammenkopiert, ohne es wesentlich zu verstehen. Denn sonst würde dir die 2. Pumpe keine großen Probleme machen. Lies mal was über Timer und den ADC im C-Tutorial, dann klappt das auch mit den 2 Pumpen. http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/Die_Timer_und_Z%C3%A4hler_des_AVR http://www.mikrocontroller.net/articles/AVR-Tutorial:_ADC Den ADC muss man nur einmal initialisieren, danach nur noch den Kanal umschalten. Dazu muss man etwas über Bitmanipulation wissen. MFG Falk
Sorry aber ich finde da nichts mit 2 Pumpen! Ein PWM-Signal soll an PB1 und das andere an PB2 anliegen.welches Register muss ich denn ändern?
@ Thomas (Gast) >Sorry aber ich finde da nichts mit 2 Pumpen! ??? > Ein PWM-Signal soll an PB1 >und das andere an PB2 anliegen.welches Register muss ich denn ändern? Schon mal das Datenblatt versucht zu lesen? Das Kapitel "16 Bit Timer/Counter1" ist sehr aufschlußreich. Am Ende sind es ZWEI(!) lumpige Register, die man richtig (tm) konfigurieren muss.
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.