Forum: Mikrocontroller und Digitale Elektronik ATtiny 85 Soft - PWM


von Nikolaus J. (Firma: 88Airbrush88) (jungertnik)


Lesenswert?

Hallo Leute,

Ich habe eine ganz einfache Frage an euch,
Ist es möglich mittels Software PWM bei einem ATtiny 85 einen 4ten PWM 
Pin zu erhalten oder ist dieses Vorhaben definitiv unmöglich?

von Patrick J. (ho-bit-hun-ter)


Lesenswert?

Hi

Warum sollte Das unmöglich sein?
Da Du beim Soft-PWM ja 'nur' einen Timer-Wert vergleichst, kannst Du da 
jeden zur Verfügung stehenden Pin schalten.
Wie groß Du Das aufziehst (z.B. 4 verschiedene PWM-Frequenzen) hängt 
davon ab, wie Du Das ins Programm gegossen bekommst und ob die 
Ausführungsgeschwindigkeit dann noch akzeptabel ist.

Allerdings ist bei 4 Schicht, Nummer 5 wäre Reset und Den solltest Du, 
zumindest während der Entwicklung, als Reset behalten.
Somit ist auch eine Anpassung der PWM-Werte nicht möglich, da Du keinen 
'Weg' mehr in den ATtiny85 frei hast.

MfG

von Nikolaus J. (Firma: 88Airbrush88) (jungertnik)


Lesenswert?

Pb 0 ; PB 1; und PB4 sind ja hardware PWM über OC0B OC1A und OC0A über 
timer0 aber über timer0 kann ich dann PB3 nicht mehr ansteuern der ist 
docht invertiert.....oder habe ich da einen denkfehler

von Patrick J. (ho-bit-hun-ter)


Lesenswert?

Hi

Aaah, Du benutzt bereits beide Timer für die PWM-Hardware.
Somit müsstest Du sehen, wie Du ein halbwegs gleichmäßigen Zähler 
hinbekommst.
Dieser Zähler wird aber wohl bestenfalls zu Umschaltzeiten der 
Hardware-PWM-Pins automatisch veränderbar sein, was die Sache wesentlich 
langsamer als die Hardware-PWM macht.
Diesen Zählerwert in der Hauptschleife prüfen und den 4.ten Pin 
entsprechend schalten.

Da ist die Frage, ob Du dann nicht alle 4 PWM in Software ausführts, 
dadurch wäre der Timer 'schneller' (da überhaupt für diese Funktion 
'greifbar') und die vier PWM-Signale wären 'gleich schnell'.

Hast natürlich den Vorteil vergeben, daß der Hardware-PWM die Software 
nicht beeinflusst, also autark läuft.

Oder zwei ATtiny, Jeder 2 PWM und Du hast noch Pinne für 
Kommunikation/Ansteuerung über, kannst also die Werte von Außen 
beeinflussen.

Bei obiges 'bei 4 ist Schicht' ist aber falsch, PB0-PB4 sind 'normal' ja 
schon benutzbar und PB5 ist Reset.
Somit könntest Du 0-4 = 5 Software-PWM erreichen.

MfG

von Nikolaus J. (Firma: 88Airbrush88) (jungertnik)


Lesenswert?

An 2 Tiny's hab ich auch schon gedacht....aber Deine idee alle 4 auf 
Soft PWM gefällt mir auch sehr gut.
Daran hab ich noch gar nicht so gedacht.....oft denkt man viel 
komplizierter als nötig....

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Nikolaus J. schrieb:
> Daran hab ich noch gar nicht so gedacht.....oft denkt man viel
> komplizierter als nötig....

 Ja, nur muss man sehen, dass es auch mit Frequenz und Auflösung
 hinhaut - bei 1KHz ergeben 10bit knapp 1uS Auflösung - das ist
 bei 8MHz und in Software kaum zu schaffen.

 100Hz und 8bit sollten aber ohne Probleme gehen - lass die
 schnellere PWM über Timer1 in Hardware laufen und die langsamere
 in Software über Timer0.

von Nikolaus J. (Firma: 88Airbrush88) (jungertnik)


Lesenswert?

Danke für den Tipp....das werd ich mir auch gleich noch ansehen.

von Thomas E. (thomase)


Lesenswert?

Marc V. schrieb:
> lass die
>  schnellere PWM über Timer1 in Hardware laufen und die langsamere
>  in Software über Timer0.

Mit Ausgabe der Soft-PWM über PB2 und PB5(ehemals Reset). Tolle Wurst.

Nikolaus J. schrieb:
> Danke für den Tipp....das werd ich mir auch gleich noch ansehen.

Vergiss es.

2 Kanäle in  Hardware auf Timer0, 2 Kanäle mit Softwareunterstützung auf 
Timer1.

von Nikolaus J. (Firma: 88Airbrush88) (jungertnik)


Lesenswert?

Ja ich dachte da an 3 u. 4 über Software und 0 u. 1 über hardware
....

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Thomas E. schrieb:
>>  schnellere PWM über Timer1 in Hardware laufen und die langsamere
>>  in Software über Timer0.
>
> Mit Ausgabe der Soft-PWM über PB2 und PB5(ehemals Reset). Tolle Wurst.

 Wo hast du das gelesen ?

Thomas E. schrieb:
> Vergiss es.
>
> 2 Kanäle in  Hardware auf Timer0, 2 Kanäle mit Softwareunterstützung auf
> Timer1.

 Aha.
 Das du nicht gerade der klügste bist ist schon lange klar, aber ich
 dachte, dass du wenigstens lesen kannst...

: Bearbeitet durch User
von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Nikolaus J. schrieb:
> Ja ich dachte da an 3 u. 4 über Software und 0 u. 1 über hardware
> ....

 Ja.
 Wie jeder geistig gesunder Mensch auch.

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.