Académique Documents
Professionnel Documents
Culture Documents
Praktikum
Automatisierung/Echtzeitregelung
(BAU/BER)
Prof.Dr.-Ing. Coersmeier
Versuchstag Testat
PWM-Signale mit Atmel AVR Seite 2
1. Aufgabenstellung
In diesem Versuch soll mit einem Atmel ATMEGA16 Mikrocontroller ein PWM-Signal
(z.B. zur Motor- oder Servosteuerung) erzeugt werden.
Bei der Pulsweitenmodulation (PWM) wird ein Rechtecksignal mit variabler
Impulsbreite (Tastverhltnis) und variabler Frequenz erzeugt.
Die zur Berechnung der PWM-Parameter fr Ihren Versuch erforderlichen Werte fr
Frequenz und Tastverhltnis erhalten Sie vor Versuchsbeginn.
2. Versuchsvorbereitung
Lesen Sie die Abschnitte zu Timer0 und Timer1 aus dem Datenblatt des
ATMEGA16.
Versuchen Sie anhand des Datenblatts und dieser Anleitung die zur
Programmierung der Timer0/Timer1 erforderlichen Register zu verstehen. Sie
mssen diese Register im Praktikum berechnen!
Bearbeiten Sie die Vorbereitungsaufgaben VOR VERSUCHSBEGINN!!!
Der Timer0 kennt vier Betriebsarten, die ber die Bits WGM00 und WGM01 des
Registers TCCR0 (Timer Counter Control Register 0) konfiguriert werden. Zwei
dieser Betriebsarten dienen zur Erzeugung von PWM-Signalen. Dabei wird das
erzeugte PWM-Signal an Pin OC0 ausgegeben.
PWM-Signale mit Atmel AVR Seite 4
In der Betriebsart Fast PWM zhlt der T/C0 dabei kontinuierlich von 0 bis zum
berlauf. Die Betriebsart Phase Correct PWM bewirkt ein Auf/Abwrtszhlen von
T/C0 zwischen 0 und dem Maximalwert
.
In beiden Betriebsarten wird die Frequenz des erzeugten PWM-Signals durch die
Taktfrequenz des ATMEGA16 (hier: 8MHz) und durch die Konfiguration der drei
Clock-Select Bits (CS00/CS01/CS02) in TCCR0 bestimmt. Bei 5 der 8 mglichen
Konfigurationen wird ein von externem Takt unabhngiges PWM-Signal erzeugt.
Vorbereitungsaufgabe:
Geben Sie die erreichten Frequenzen des PWM-Signals fr die angegebenen
Konfigurationen von CS und WG an:
WGM01 WGM00 CS02 CS01 CS00 Frequenz
0 1 0 0 1
0 1 0 1 0
0 1 0 1 1
0 1 1 0 0
0 1 1 0 1
1 1 0 0 1
1 1 0 1 0
1 1 0 1 1
1 1 1 0 0
1 1 1 0 1
Das Tastverhltnis des erzeugten PWM-Signals ist abhngig von der Einstellung der
Bits COM00 und COM01 (Compare Output Mode). Fr jede der beiden PWM-
Betriebsarten enthlt das Datenblatt des ATMEGA eine Beschreibung des
Verhaltens von OC0 in Abhngigkeit von COM0/1 (Tabelle 40/41)
Zur exakten Einstellung des Tastverhltnisses an OC0 dient das Output Compare
Register OCR0:
PWM-Signale mit Atmel AVR Seite 5
7. Aufgabenstellung Teil 1
Schreiben Sie ein kurzes Programm zur Erzeugung eines PWM-Signals mit den
angegebenen Werten.
bertragen und Starten Sie ihr Programm. berprfen Sie das erreichte Resultat mit
dem Messgert.
8. Aufgabenparameter Teil 1
Frequenz:
Tastverhltnis:
o Fast PWM
Fr die folgende Aufgabenstellung beschrnken wir uns auf die Verwendung der
Betriebsarten Phase Correct PWM und Fast PWM bei Verwendung von Register
ICR1 als TOP-Value.
Das Tastverhltnis der erzeugten PWM-Signale ist abhngig von der Einstellung der
Bits COM1A0/COM1A1 und COM1B0/COM1B1 (Compare Output Mode). Fr die
verschiedenen PWM-Betriebsarten enthlt das Datenblatt des ATMEGA eine
Beschreibung des Verhaltens von OC1A/OC1B in Abhngigkeit von
COM1A0/1A1/1B0/1B1 (Tabelle S. 111)
Auerdem ist es erforderlich die genutzten Portpins als Ausgang zu konfigurieren!
PWM-Signale mit Atmel AVR Seite 7
Wie schon von Timer0 bekannt kann die Taktquelle von Timer1 ber einen Vorteiler
vom Systemtakt angesteuert werden. Die Konfiguration dieses Vorteilers erfolgt ber
die Bits CS10/CS11/CS12.
In der Betriebsart Phase Correct PWM ist die Frequenz (Datenblatt S. 106)
Das Tastverhltnis der bis hierher konfigurierten Signale wird, in Abhngigkeit von
der Einstellung des Compare Output Mode, durch die Register OCR1A und OCR1B
festgelegt.
PWM-Signale mit Atmel AVR Seite 8
CS10/CS11/CS12
COM1A0/COM1A1
COM1B0/COM1B1
ICR1H/ICR1L
OCR1AH/OCR1AL
OCR1BH/OCR1BL
Frequenz:
o Fast PWM
Tastverhltnis OC1A:
Tastverhltnis OC1B: