Forum: Mikrocontroller und Digitale Elektronik Motor dreht sich nur bei 255 PWM warum?


von TobiTobi (Gast)


Lesenswert?

Hallo Zusammen,

ich habe folgenden Motortreiber "Pololu 24v12 Motor Driver" 
(http://www.pololu.com/catalog/product/757), mit welchem in einen 
standart RC-Car-Motor betreiben möchte.

Stelle Ich meine PWM auf 255 läuft er Voll-Speed == GUT
Bei jeder niedrigen PWM (sogar 254) regt sich gar nix == SCHLECHT


Warum ist das so? Woran kann das liegen?
Jemand eine Idee?

1
//        This is for Forward / Backward
2
3
               if (data[1] <= -1)
4
                {
5
                  digitalWrite(13, HIGH); // Set direction as forward
6
                  analogWrite(10, 255);  // Set the speed as full
7
                }
8
                
9
                else if (data[1] >= 1)
10
                {
11
                   digitalWrite(13, LOW); // Set direction as backwards
12
                   analogWrite(10, 255);
13
                }


grüße
TobiTobi

von Heinzhorsthugo (Gast)


Lesenswert?

TobiTobi schrieb:
was heissen:
> digitalWrite(13, HIGH); // Set direction as forward
> analogWrite(10, 255);  // Set the speed as full        ???

von Markus O. (pipimaxi)


Lesenswert?

glaskugel defekt...ich rate mal....42!

von Dominik S. (dasd)


Lesenswert?

Das ist doch bestimmt Arduino-isch oder sowas?

TobiTobi schrieb:
> digitalWrite(13, HIGH); // Set direction as forward
>                   analogWrite(10, 255);  // Set the speed as full

Ich interpretiere jetzt das "digitalWrite" mal als einen Pin auf High 
setzen und das "analogWrite" als PWM mit duty-cycle 100% auf einem 
anderen Pin.

Wird also vermutlich eine H-Brücke dranhängen.

PS:
Warum das jetzt nicht tut kann man aber eher nur raten...
Liegt denn die PWM richtig am Pin an?
Mal mit Oszi oder einer LED testen.

von PLL (Gast)


Lesenswert?

Beschaltung wäre interessant. Treiber in PLL mode, anstatt in PWM?

von TobiTobi (Gast)


Lesenswert?

wieso glaskugel defekt?

ja ich benutze ein Arduino-Board,

Hmm ne ist eigentlich alles richtig angelegt.
genau: eine H-Brücke hängt dran
genau: digitalWrite zieht den Ausgang auf HIGH, analogWrite setzt die 
PWM für den Ausgang fest, aber ich versteh nicht, wieso er sich selbst 
bei 254 keinen milimeter bewegt

von zagge (Gast)


Lesenswert?

wird an Timer 1  gedreht ?
d.h. ev. zu hohe (niedrige??) PWM-Frequenz ?
oder ev. 10 Bit PWM Mode ?

von MedicalView (Gast)


Lesenswert?

> Warum ist das so? Woran kann das liegen? Jemand eine Idee?

TobiTobi, wieso erwartest du bei deiner Informationspolitik Hilfe? Dein 
Ratet-mal-was-mein-Problem-ist Thread sollte gelöscht werden.

von TobiTobi (Gast)


Lesenswert?

Hmm ist ja nett von dir MedicalView, ich dachte nur jemand hier hätte 
mal ein ähnliches Problem gehabt. Oder die Lösung wäre so einfach.

Aber zum Glück gibt doch einige User die Hilfe anbieten :)

Dank dir MedicalView. Sonnenaufgang-Sonnenuntergang.

von TobiTobi (Gast)


Lesenswert?

Habs :)

Meine eingebundene servo-Library benutzt ebenfalls Timer1.
Hab den PWM des Motors auf Ausgang 6 gelegt.
Damit klappts.


Schönen Abend.

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.