PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Pwm und AT Mega 256



Bismar
09.12.2015, 15:14
Wollte mir ein Board zusammen Routen und nun bin ich am überlegen, wo nehme ich am besten das PWM Signal von AT Mega 256 weg.
Wollte zwei motorstecker nach RN Definition ansteuern.

Muss man unbedingt die OC0A benutzen?
Oder kann man irgendein Port benutzen. Braucht ja 4 von solchen Ausgängen.
Bin ein Laie in PWM Steuerung.
Software benutze ich bascom.

Für einen Ratschlag bin ich dankbar

Unregistriert
09.12.2015, 15:30
AT Mega 256
Finde ich nicht. Bitte Datenblatt verlinken.

Muss man unbedingt die OC0A benutzen?
Nein, nicht unbedingt.

Oder kann man irgendein Port benutzen. Braucht ja 4 von solchen Ausgängen.

Mit leichten Einshränkungen nur mit Software-PWM

oberallgeier
09.12.2015, 16:04
.. zwei motorstecker nach RN Definition ansteuern .. Braucht ja 4 von solchen Ausgängen ..Du willst zwei Motorenstecker ansteuern. Was heißt denn das? Hast Du zwei Motoren? Welchen Motortyp? Schrittmotoren, Gleichstrommotoren ? ?

Ich brauche für zwei Gleichstrommotoren zweimal drei Pinne. Pro Motor einen PWM-Pinn und zwei "Richtungspinne". Damit kann eine Wahrheitstabelle für gängige Motortreiber etwa so aussehen (PCx und PDx sind Portpinns):


// ================================================== =========================== =
// Wahrheitstabelle für die Motoren gemäß VN2 und Drehsinn-Definitionen
// #define M11 PD6 // M1-IN1 auf PD6 Motor 1 (12) weil er auf
// #define M12 PD7 // M1-IN2 auf PD7 den Anschlüssen 12 liegt
// #define M41 PC4 // M4-IN1 auf PC4 Motor 4 (34) weil er auf
// #define M42 PC5 // M4-IN2 auf PC5 den Anschlüssen 34 liegt
// - - - - - - - - - - - - - - -
// MoRe "vor" =: Vorwärtsfahrt "rechts" =: Drehsinn Mot
// Beispiel mot12 dreht mathematisch negativ bei Befehl "vor" = "rechts"
// vor/re zur/li stop brems vor/zur = Rad-/Fortbewegung
// M11= 1 0 0 1 re / li = Motordrehrichtung
// M12= 0 1 0 1
// - - - - - - - - - - - - - - - -
// MoLi =: Mot34, "vor/links" dreht Motor mathematisch positiv
// vor/li zur/re stop brems vor/zur = Rad-/Fortbewegung
// M41= 1 0 0 1 re / li = Motordrehrichtung
// M42= 0 1 0 1
// - - - - - - - - - - - - - - -
// ================================================== =========================== =

Für Bascom findest Du im Forum sicher ein paar Quelltexte - wie geschrieben, es kommt halt ziemlich auf den Motortyp an . . .

Bismar
09.12.2015, 18:20
Wollte zwei motortreiber Platinen von robotikhaedware, den VH... ansteuern. Also vier Motoren. Gleichstrom Motoren.
Das alles mit einem AT Mega 2560.

Nimmt man den 8 Bit Timer?
OC01A und OC01B für den einen Motorstecker. Und OC2A und OC2B für den zweiten Stecker?
Ein Stecker treibt jeweils zwei VH... Chips an...

021aet04
10.12.2015, 09:55
Alle "OC..." sind intern mit dem Timer verbunden. Die Zahl nach dem OC gibt den Timer an (OC1» Timer 1).

Somit ist es egal welchen OC Ausgang du nutzt. Du musst nur darauf achten ob du einen 8 oder 16 bit timer verwenden willst/musst.

Du könntest es auch konfigurierbar machen, z.b. Mittels Jumper.

MfG Hannes