Gast
#972023
So Hallo, Ich bin ein Einsteiger und beschäftige mich seit einiger Zeit mit Mikrocontrollern. Momentan möchte ich eine Software PWM programmieren. Den Mikrocontroller benötige ich um Bauteile mit bestimmten Spannungswerten anzusteuern. Dabei möchte ich mehr als 12 Kanäle gleichzeitig steuern. Die Auflösung sollte so hoch wie möglich sein. Außerdem sollten die Pulsabstände sehr klein sein. Dazu habe ich mir das angehängte Programm überlegt. Die Werte für die einzelnen Ausgänge werde ich per TWI, bzw SPI in die globalen Variablen übertragen. Die Spannungswerte ändere ich nur in längeren Abständen von mehreren Sekunden. Ich dachte mir, da ich den Mikrocontroller für keine anderen Prozesse benötige, könnte ich die PWM-Erzeugung einfacher gestalten. Die Arbeitschleife besteht dabei aus einem Zähler der endlos nach oben zählt und lauter Vergleichen mit den einzelnen globalen Variablen Ich habe gedacht, dass ich damit über die globalen Variablen die Spannungsverhältnisse einstellen kann. Natürlich hat man bei dieser Methode immer einen kleinen Fehler durch die Laufzeit des Programms, aber bei 8MHZ sollte dieser vernachlässigbar sein. Anbei habe ich die Testumgebung für den ATMEGA 8 angehängt. GainA ist dabei (2^16)/2. Damit wäre das reintheoretisch ein Ausgangspegel von ca.2,5V. In der Realität habe ich jedoch gar kein Ausgangssignal. Ich wollte fragen, ob jemand von euch weiß warum das ganze nicht funktioniert? Wäre echt nett, wenn jemand sich das mal ansehen könnte, da ich wie gesagt noch nicht so viel Erfahrung besitze.