Gast
#2299371
Hallo uC-Community, ich habe mit eurer Hilfe ein Programm für eine PWM-Abtastung erstellt. (Topic vom 27.06.11: Beitrag "Erfassung PWM Signal und verarbeiten" ) Das Programm läuft soweit ganz gut,vielen Dank noch mal an alle Helfer ;), nur leider ist jetzt ein weiteres komplexes Problem hinzugekommen. Und zwar habe ich natürlich seit der Entwicklung der Software weitere Softwareteile hinzugefügt. Jetzt habe ich folgendes Problem: Ich habe meine PWM-Abtastung(die PWM 1kHz aus einem Steuergerät) durch den Timer0 realisiert. Dadurch habe ich das Verhaeltnis errechnet dieses wiederum für ein normales PWM-Signal für einen BL-Motor verwendet wird. Nun bin ich an einer fortgeschrittenen Stelle, in der ich mehrere Programmteile zusammengefügt habe. Durch das Gesamtprogramm verändert sich jetzt mein Programmzyklus(oder auch Abtastzeit) meines Programmdurchlaufs. Leider weiß ich nicht warum sich diese Zeit ändert, logisch wäre mir durch die vielen Rechenaufgaben des Gesamtprogramms, dachte aber damit hat der uC keine Probleme verwende einen AtMega644,20Mhz,programmiere in C). "Nachgwiesen" habe ich die Veränderung einfach durch ein Osci. Ohne den "kritischen Programmteil" benötigt mein Programm 7,52us mit dem "kritischen Programmteil" 320us. Kann das Auswirkungen auf meine Timer haben, das die irgendwie nicht zu ende laufen oder mehrere OVF haben ?? ich habe keine Ahnung... Auf jeden Fall bekomme ich dadurch, obwohl ich die PWM am Steuergerät nicht ändere (sagen wir 5%DutyCycle) jeden Zyklus ein anderes PWM-Verhältnis (meist auch über 100% -.-) dadurch wird auch mein Motor extrem belastet, schwingt und quietscht ... So an dieser Stelle brauche ich eure Hilfe habe keinen besonderen Lösungsansatz. Ideen wären: 2 uC verwenden, den einen für die Berechnung des PWM-Signal aus dem Steuergerät, den anderen für die Ausführung des restlichen Programms. Sonst fällt mir nichts mehr ein, danke für eure Hilfe.. So ein langer Text ich hoffe ich konnte das technische Problem einigermaßen gut beschreiben wenn ihr meinen C-Code benötigt einfach posten. dennis