![]() ![]() INFO - FAQ - CC2-Forum - CCPro-Forum |
Hallo! > Der in allen Veröffentlichungen verwendete Code für die PWM verwendet offenbar einen internen Takt als Referenz. Daraus ergibt sich eine recht hohe PWM-Frequenz. Dass Assembler-Modul erzeugt eine PWM-Frequenz von 50Hz. Diese Frequenz ist schon sehr sehr langsam… > Für meine Anwendung (Heizgriffsteuerung) ist die hohe Frequenz eher nachteilig, weil der MOS-FET zu viel Umschaltleistung aufbringen muss. Was für MOS-FETs verwendest Du? Ein MOS-FET schaltet im ns Bereich, er könnte also problemlos z.B. 30KHz mit geringen Verlusten schalten. (Vorraussetzung ist hier natürlich ein geeigneter MOS-FET-Treiber.) Wen der MOS-FET bei den 50Hz PWM-Frequenz warm wird, dann liegt das mit Sicherheit nicht an der PWM-Frequenz… > Nur, wie kann man das realisieren? Habe leider bisher auf Fragen keine Antwort erhalten. Hat jemand einen Tip oder eine entsprechend angepaßten Quellcode für PWM? Du kannst Dir z.B. eine eigene Software-PWM erstellen. Dazu musst Du nur einen Port abhängig von einem Wert schalten: Define Zähler Byte Define PWM_Wert Byte … PWM_Wert = 128 ---> 50% PWM … #Software_PWM If PWM_Wert < Zähler Then Port-AUS Else Port-AN Zähler = Zähler +1 Return Die PWM-Frequenz ergibt sich dann aus den Aufrufen von „Software_PWM“. Wenn Du die Routine z.B. 255 mal pro Sekunde aufrufst, dann hat Deine PWM-Frequenz ca. 1Hz. Ich würde die Routine einmal pro „Hauptschleifendurchlauf“ aufrufen und dann messen wie hoch die Frequenz ist (ist abhängig vom Basic Programm)… LG Jens |
Antwort schreiben |