Forum: Mikrocontroller und Digitale Elektronik ATTiny 82 und PWM verstehe ich nicht


von Frank (Gast)


Lesenswert?

Hallo zusammen,

ich würde gerne bei einem ATTiny85-20 den eingebauten PWM-Genarator 
nutzen. Wie muss ich da jetzt schritt für schritt in C vorgehen, um am 
Pin PB1 die PWM rauszubekommen ? Datenblatt, Forensuche und AVR-Tut. 
habe ich mir schon angeschaut, aber so richtig verstanden habe ich das 
nicht. Vor allem scheint jeder AVR da ein bisschen anders zu sein. Bis 
jetzt habe ich meine PWM geschichten immer in Software und auf einem 
8051 gemacht. Was mich au ein bisschen verwirrt ist, das der ATTiny85 an 
dem Pin PB0 der OC1A zum beispiel nch mal invertiert angegeben ist. 
Würde das bedeuten das wenn ich an PB1 eine PWM ausgebe, das der PB0 
invertiert mitzappelt ?
Ich möchte kein fertiges Programm von euch geschrieben bekommen, ich 
würde nur gerne den genauen Ablauf verstehen. Also welchen Timer muss 
ich wie setzen, welche register muss ich beachten und wie sorge ich 
dafür das nur am Pin PB1 die PWM rauskommt. Sorry ich bin absoluter AVR 
neuling.

Gruß

Frank

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Frank wrote:

> ich würde gerne bei einem ATTiny85-20 den eingebauten PWM-Genarator
> nutzen. Wie muss ich da jetzt schritt für schritt in C vorgehen, um am
> Pin PB1 die PWM rauszubekommen ?

Dann fang mal mit dem "Hello world!"-Programm an:

http://www.nongnu.org/avr-libc/user-manual/group__demo__project.html

Das lässt eine LED per PWM blinken, läuft auch auf einem ATtiny85.

> Vor allem scheint jeder AVR da ein bisschen anders zu sein.

Mittlerweile nur noch minimal, bis auf ein paar Erweiterungen an
manchen AVRs (AT90PWMx, ATtinyx61), die offenbar für bestimmte
Einsatzbereiche hinzugefügt worden sind (sehr oft sind das
Motorsteuerungen im Kfz.-Bereich, bei dem Atmel offenbar viele Kunden
hat).

Einen solchen Fall hast du nun bei den ATtinyX5, die du dir gerade
ausgesucht hast, auch.  Erstens ist es einer der wenigen AVRs, bei
denen der Timer von einem via PLL synchronisierten höherfrequenten
Takt gesteuert werden kann, sodass sich relativ hochfrequente PWMs
aufbauen lassen.  Zweitens besitzt er neben den normalen PWM-Ausgängen
noch die von dir bereits bemerkten invertierten Ausgängen, und in die
Umschaltung zwischen beiden kann zusätzlich noch eine ,,Totzeit''
eingebaut werden.  Das alles hat natürlich insbesondere dann sinn,
wenn man damit Gegentaktendstufen ansteuern will.

> Was mich au ein bisschen verwirrt ist, das der ATTiny85 an dem Pin
> PB0 der OC1A zum beispiel nch mal invertiert angegeben ist.  Würde
> das bedeuten das wenn ich an PB1 eine PWM ausgebe, das der PB0
> invertiert mitzappelt ?

Ja, aber nur wenn du auch beide als Ausgang geschaltet hast.

von Frank (Gast)


Lesenswert?

Hallo Jörg,

ich habs mittlerweile auch hinbekommen, der Link ist allerdings auch 
nicht schlecht. Die PWM geschichten beim ATTiny 85 sind aber auch 
ziemlich umfangreich. Ich finde den ATTiny einfach nur Klasse, 8 Pins, 
Display läuft, ADC läuft, und jetzt auch noch PWM. Hammer für 2,25 Eur 
!!
Macht langsam richtig spass mit den AVRs.

Gruß

Frank

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.