Christoph2
12.09.2011, 13:24
Hallo,
ich will einen Adapter bauen, der das 0-10V Ausgangssignal einer SPS in ein PWM Signal umwandelt, mit dem ich dann z.B. Lampen dimmen kann.
Der Adapter soll 6 Signale gleichzeitig umwandeln können, also einfach per ADC 10 Bit Werte einlesen und über PWM ausgeben.
Dazu will ich einen ATmega8 mit einem 16MHz Quarz verwenden. Da der AVR aber nur zwei hardware PWM Ausgänge hat, werde ich die PWM Ausgabe softwaremäßig lösen.
Hier gibt es ein sehr gutes Beispielprogramm: http://www.mikrocontroller.net/articles/Soft-PWM (ganz unten, unter "Intelligenter Lösungsansatz").
Ich habe dieses Programm schon einmal verwendet, mit 8 Kanälen, aber nur 100Hz und 10Bit. Hat super funktioniert auf einem mega32, nur hat die PWM ein nerviges Summen produziert.
Diesmal will ich nur 6 Kanäle und 10 Bit, aber dafür >25kHz, damit man das Summen nicht mehr hört.
Ganz unten auf http://www.mikrocontroller.net/articles/Soft-PWM gibt es eine Zusammenfassung, in der für das Programm eine CPU Auslastung von 0,3-1,2% berechnet ist. Diese gilt für das Beispielprogramm, es hat 8 Kanäle, 100Hz und 8 Bit auf einem 8MHz Controller.
Kann man irgendwie berechnen/abschätzen wie hoch die Auslastung mit 6 Kanälen, 25kHz und 10 Bit auf einem 16MHz Controller ist, bzw. ob das überhaupt möglich ist?
LG
Christoph
ich will einen Adapter bauen, der das 0-10V Ausgangssignal einer SPS in ein PWM Signal umwandelt, mit dem ich dann z.B. Lampen dimmen kann.
Der Adapter soll 6 Signale gleichzeitig umwandeln können, also einfach per ADC 10 Bit Werte einlesen und über PWM ausgeben.
Dazu will ich einen ATmega8 mit einem 16MHz Quarz verwenden. Da der AVR aber nur zwei hardware PWM Ausgänge hat, werde ich die PWM Ausgabe softwaremäßig lösen.
Hier gibt es ein sehr gutes Beispielprogramm: http://www.mikrocontroller.net/articles/Soft-PWM (ganz unten, unter "Intelligenter Lösungsansatz").
Ich habe dieses Programm schon einmal verwendet, mit 8 Kanälen, aber nur 100Hz und 10Bit. Hat super funktioniert auf einem mega32, nur hat die PWM ein nerviges Summen produziert.
Diesmal will ich nur 6 Kanäle und 10 Bit, aber dafür >25kHz, damit man das Summen nicht mehr hört.
Ganz unten auf http://www.mikrocontroller.net/articles/Soft-PWM gibt es eine Zusammenfassung, in der für das Programm eine CPU Auslastung von 0,3-1,2% berechnet ist. Diese gilt für das Beispielprogramm, es hat 8 Kanäle, 100Hz und 8 Bit auf einem 8MHz Controller.
Kann man irgendwie berechnen/abschätzen wie hoch die Auslastung mit 6 Kanälen, 25kHz und 10 Bit auf einem 16MHz Controller ist, bzw. ob das überhaupt möglich ist?
LG
Christoph