PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Rechteck: Variable Frequenz / Duty Cycle



meines
02.02.2010, 17:44
Hallo zusammen,
ich habe vor einen Generator mit mehreren frei variablen
Rechteckfrequenzen aufzubauen. Da es mein erstes µC Projekt überhaupt
ist, würde mich interessieren ob meine bisherigen Überlegungen richtig
sind.

1Hz - 2kHz (1Hz Schritte)
Duty Cycle von 0-100% (1% Schritte)
gegebenenfalls noch Phasenverschiebung zwischen den Kanälen wenn alle
gleich getaktet werden.
Das ganze sollte so genau wie möglich sein.

Nach meinem bisherigen angeeignetem Wissen kann ich dies recht einfach
bewerkstelligen indem ich einen 16bit Timer verwende den ich für die
"ein" Zeit lade und beim Überlauf eine Interrupt-Routine aufrufe die
meinen Ausgangspin setzt und den Zähler gleichzeitig neu lädt für die
"aus" Zeit.
Schlecht daran ist nur, dass ich so nur 1 Signal pro µC erzeugen könnte
da anscheinend 16Bit Timer nicht auf Bäumen wachsen, vll würden ja auch
die 8bit ausreichen dann wären es 2+ pro Controller immerhin.

Bin ich damit auf dem Richtigen weg oder kann man das auch einfacher
berwerkstelligen?

Grüße

PS: Bisher habe ich mich mit dem Atmega16 befasst

021aet04
03.02.2010, 10:04
Damit hast du Recht, dass du mit einem Timer nur ein Ausgangssignal erzeugen kannst, außer du verwendest den einen Timer für mehrere Ausgängen indem du Zählschleifen einbaust. Am Besten ist es wenn du nach Programmbeispielen für Servoansteuerung suchst.

MfG Hannes

meines
03.02.2010, 13:09
Danke für die Antwort, ich habe mittlerweile festgestellt, dass ich auch den Phasen und Frequenzkorrekten Modes des 16Bit Timers nehmen kann und spare mir dann den Interrupt Sprung.
Zudem habe ich noch ein Beispiel Programm von Atmel bekommen was 10 Software PWM Kanäle erzeugt und bis 15kHz funktionieren und angeblich meine Wünsche erfüllt nunja Sprache English Programm in C da muss ich mich erstmal durchfuchsen.
mfg

021aet04
06.02.2010, 11:01
Wenn du dich mit der Elektronik beschäftigen willst kommst du um die englische Sprache nicht herum (Datenblätter sind Englisch).

MfG Hannes