Forum: Mikrocontroller und Digitale Elektronik ATMega32 und PWM!


von ReMa (Gast)


Lesenswert?

Hallo Freunde!
Ich bin momentan dabei mich in die Materie der AVR-Programmierung
einzudenken.
Ich möchte nun eine Programm schreiben welches auf einem Aussgang des
ATmega32 ein PWM Signal erzeugt. Mit diesem PWM-Signal möchte ich dann
auf einen Optokoppler gehen und von dort aud über Leistungstransitoren
eine 500W Strahler ansteuern.
Jedoch stehe ich noch wie ein Depp vor dieser AUfgabe!
Könnt Ihr mir helfen?
Beispielprogramm ....?

Danke und LG ReMa

von Daniel B. (khani)


Lesenswert?

Hallo,

welchen Punkt im Datenblatt des Atmega32 verstehst Du nicht ?

MfG, Daniel.

P.S.: Denken, Lesen, Denken, Lesen und dann Fragen ;-)

von Niels H. (monarch)


Lesenswert?

@Daniel Braun:
ich möchte im Namen aller Informationsuchenden darum bitten, sich
solche Kommentare zu verkneifen! Wendet Sie von mir aus in eurer
Linux-Prügelgemeinschaft oder im Heiseforum an, aber nicht hier!

@ReMa:
Als Anfänger würde ich garnichts die PWM-Funktionen des MCs benutzen
sondern legendiglich einfache Pausen verwenden.
Zunächst stellt sich die Frage, welche Sprache du benützen willst.
Zurauswahl stehen dir Bascom (Basic), WinAVR (C) und das AVRStudio4
(Assembler)

Dann wäre noch interessant zu wissen, wie den Programmcode in den
ATMega32 reinbekommst. Exsistiert da schon was, oder brauchst du auch
hier ansatzpunkte?

von ReMa (Gast)


Lesenswert?

Das Problem ist nicht die Hardware ,mein Problem ist es wie ich die PWM
am besten in ein Programm umsetze...bin noch was assembler angeht recht
unerfahren!

von Niels H. (monarch)


Lesenswert?

..dann nimm doch C!?

von Niels H. (monarch)


Lesenswert?

Am einfachsten wäre in Schleife folgendes:

Ausgang ein
Pause
Ausgang aus
Paus

von Sebastian (Gast)


Lesenswert?

500W-Strahler? Nicht zufällig an Netzspannung, oder? Wenn doch: such mal
nach Phasenanschnittsteuerung, das ist dafür besser geeignet als PWM.

Vorteile: Weniger wütende Nachbarn, mehr funktionierende Elektrogeräte
in Deiner Wohnung und ein milde gestimmter Elektroversorger.

Tsss.

Gruß,
Sebastian

von Daniel B. (khani)


Lesenswert?

Hallo Niels,

ich kann Deine Meinung nicht nachvollziehen.

Wenn jemand so unspezifische Fragen stellt, dann benötigt es schon
Wahrsagerei um die richtige Antwort zu geben. Daneben gibt es hier auch
noch die Forensuche.

Fachlich : Die PWM-Funktionalität der AVRs (hier speziell beim
ATmega32) ist sehr mächtig - es wäre schon ein großer Blödsinn, die
selbst nachzubauen.

Jetzt ein kleiner Einblick in das Datenblatt : ab Seite 76 ist der
Timer Counter 0 beschrieben - der hat PWM-Modi. Am einfachsten zu
verstehen, wenn man keine Ahnung von PWM hat ist "Fast PWM" (ab Seite
73).

So ReMa lies einfach mal den kompletten Abschnitt über den
Timer/Counter 0 im Datenblatt durch. Ein Beispielprogramm würde Dir
nicht viel helfen, denn da werden dann ein paar Register gesetzt und
das war's. Verstehen kann man das leider nur, wenn man schon weiß, was
im Datenblatt steht. Wenn Du da was bestimmtes nicht verstehst frag
gerne nach.

Und Niels : Such im Internet mal nach "Asking smart questions", da
wirst Du unter Umständen etwas interessantes finden. Wenn ich jemanden
abbügeln wollte, dann hätte ich gleich mit RTFM oder ähnlichem
antworten können. Die Grundlagen muss man schon erst mal legen, dann
kann man anfangen zu fragen.

MfG, Daniel

von Rolf Magnus (Gast)


Lesenswert?

> ich möchte im Namen aller Informationsuchenden darum bitten, sich
> solche Kommentare zu verkneifen! Wendet Sie von mir aus in eurer
> Linux-Prügelgemeinschaft oder im Heiseforum an, aber nicht hier!

Ich möchte im Namen aller Linux-Benutzer darum bitten, sich solche
Kommentare zu verkneifen! Das Betriebssystem, das Daniel beuntzt oder
auch nicht benutzt, hat nämlich nichts, aber auch gar nichts mit der
PWM eines ATmega32 zu tun, oder damit, ob man besser ins Datenblatt
schaut oder im Forum fragt, wie die verwendet wird.

> Als Anfänger würde ich garnichts die PWM-Funktionen des MCs
> benutzen sondern legendiglich einfache Pausen verwenden.

Du meinst, statt mit drei Befehlen die PWM zu konfigurieren und einfach
zu benutzen, würdest du einem Anfänger raten, sie umständlich von Hand
nachzubauen?

von Daniel B. (khani)


Lesenswert?

P.S.: Ich arbeite mit Windows2000 und bin nie im Heise-Forum ;-).

von genervt... (Gast)


Lesenswert?

Schon geil, wie solche einfachen
Fragen von Anfängern immer wieder in "Grundsatzdiskussionen"
ausarten...

Letzendlich ist es doch immer der Ton der die Musik macht...

Daniel Braun seine aussage war prinzipiell ja nicht verkehrt... nur im
Falschen Ton...

Und was zum Teufel hat ein Pinguin mit nem AVR zu tun... ;)

@ReMa,

Lese Dir wirklich mal im Datenblatt die Timer Beschreibungen durch zum
Thema PWM.

Dann werde Dir klar welche Sprache du verwenden möchtest. Du kannst
noch gar keine ? Auch kein Problem dafür willst Du es ja lernen... Egal
ob Bascom (Basic) AVRStudio (ASM) oder C am Anfang sind alle Sprachen
schwer...

Ich selber habe mich auf ASM eingelernt und bin damit zufrieden... es
ist die Maschinen Naheste Sprache somit auch am schnellsten.
Das Hauptproblem, du musst teilweise sehr sehr "einfach" Denken um
auf deine Lösungen zu kommen.

Als µC empfehle ich zum Einsteig den AT-Mega8 er ist sehr kostengünstig
und bietet von jeder Funktion etwas.

von Niels H. (monarch)


Lesenswert?

Ich find solche Kommentare einfach nur Sinnlos. Wenn man schon nicht
helfen möchte, dann soll man doch bitte einfach die Klappe halten.

So seh ich das.

von genervt... (Gast)


Lesenswert?

@niels...

wenn du meinen beitrag zu ende gelesen hast, siehst du das ich vor habe
zu helfen

von Christian Nöding (Gast)


Lesenswert?

@ReMa: ich habe für den AT90S2313 und den ATtiny2313 eine ASM-Source für
8-fach PWM an Pin 12-19 der genannten µController. Vielleicht bringt
dich das weiter. Die gesamten Daten sind auf www.pcdimmer.de zu
finden.

Da habe ich alle Infos für so eine Lichtanlage zur Verfügung gestellt
g


viel Spaß beim Lesen


@alle anderen: könnt ihr nicht separate Threads aufmachen, anstatt
vernünftige Threads zu spammen?


tschö,
Christian ;-)

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.