PWM für 3 Motoren

Gast #925560
Lesenswert?

Hallo liebe Community...


Mitlerweile komme ich gut mit der Programmierung von ATMegas in AVR-GCC 
zurecht.

Doch da ich nun ein neues Projekt anstrebe kommen natürlich auch wieder 
viele Probleme.


Folgende Idee:
Ich möchte 3 Motoren für eine Lasershow mit PWM ansteuern. Die 
Geschwindigkeiten sollen per zufall sein für alle 3 Motoren. Natürlich 
sollen die Geschwindigkeiten der einzelnen Motoren unterschiedlich 
sein...
Diese sollen natürlich auch in einem Zeitabstand von 5 Sekunden oder so 
wechseln...


Ich hätte mir da gedacht, 3 der 4 PWM ausgänge eines ATMega 16 zu 
nehmen. Also OC0 OC1A und OC1B

Schaltung und so ist kein Problem aber dafür die Software.

Ich habe hier im Forum bereits viel über PWM gelesen und möchte jetzt 
erstmal klein Anfangen indem ich EINE Led an OC0 dimme.

Und hier komme ich schon nicht mehr weiter...

Könnte mir vielleicht mal jemand einen Code dafür schicken oder einen 
Link zu Programmbeispielen??

Komme nämlich im moment einfach nicht weiter

Grüße
Sebastian
Gast #926238
Lesenswert?

Hm das ist aber schon mal ganz schön kompliziert für den Anfang. Gibt es 
denn nich einfachere Codes oder eben Tutorials die besser sind als das 
PWM Tutorial hier im Forum?

Wäre echt toll wenn mir da jemand weiterhelfen könnte :)


Grüße
Sebastian
Gast #926240
Lesenswert?

>Hm das ist aber schon mal ganz schön kompliziert für den Anfang. Gibt es
>denn nich einfachere Codes oder eben Tutorials die besser sind als das
>PWM Tutorial hier im Forum?

Vielleicht ist die Aufgabe zu kompliziert für den Anfang? Vielleicht 
solltest du mit einer blinkenden LED anfangen??



Tutorials dienen dazu, dem Einsteiger Hilfe beim Erlernen eines 
Sachverhaltes zu geben.

Zum Verständnis: Programmieren bedeutet nicht, irgendwelche 
Codeschnipsel zusammenzukopieren!
Gast #926966
Lesenswert?

hab ja geschrieben dass ich erstmal eine LED dimmen möchte :)

LEDs Blinken lassen ist kein Problem... genauso wenig wie UART, LCDs 
ansteuern usw...


Nur mit PWM komm ich gar net zurecht... Deswegen such ich nach einem 
Verständlichen tutorial :)

Grüße
Sebastian
Gast #928211
Lesenswert?

Bitte Helft mir ...

Ich hab zwar das Programm schon mit Software PWM aber das ist ewig lang 
und ich würde lieber die Hardware PWMs nutzen :)

Aber ich finde einfach keine Tutorials darüber die verständlich sind...


Grüße
Sebastian
Gast #928235
Lesenswert?

Ich danke euch vielmals, dafür dass ihr euch die mühe gemacht habt :)

Hab auch was in nem anderen Forum gefunden dass auch sehr hilfreich ist.
Ich denke mithilfe des Datenblattes dürfte es nun kein Problem mehr 
sein.


Danke euch vielmals :)

Ich schreib hier nochmal den Code für eine LED dimmen sobald ich das 
fertig habe.

DAnke nochmal

Grüße
Sebastian
Gast #928251
Lesenswert?

wenn ich das jetzt richtig verstanden habe hat der Code folgende 
eigenschaften:

(ich trenn das ganze ein wenig auf)
Korrigiert mich bitte wenn ein Fehler drin ist:


TCCR1A (welcher PWM ausgang also OC1A OC1B OC0 oder OC2)

(1<<WGM11)|(1<<WGM10) (die Auflösung... Also hier 10 Bit -> obergrenze 
ist 1023)

(1<<COM1A1) (Anschalten des Timers)

TCCR1B = (1<<CS10); (quelle des Timers... in dem Fall CPU Takt)


OCR1A = 32; (Ausgabe des Wertes 32 an dem Pin also ca. 0,15 V ??)


Wenn ich jetzt noch den OC1B aktivieren will muss ich nur noch

OCR1A = 32;

eingeben da die ja mit dem selben Timer laufen oder??


Hab ich das richtig verstanden?

Grüße
Sebastian

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren