pantro
November 20, 2016, 6:10pm
1
hallo
ich habe n problem mit der analogwrite function
ich bin noch anfänger in sachen arduino programmierung.
ich habe n arduinio zero pro und ein Pololu - MC33926 Motor Driver und ein dc motor
ich wollte den motor ansteuern in einer richtung
analogWrite(m1, 100);
analogWrite(m2, 0);
jetzt habe ich festgestellt dass der wert 100 für die geschwindigkeitsvorgabe umgekehrt reagiert
also wenn ich z.B. 150 eingebe wird der langsamer
und bei 50 viel schneller
was muss ich einstellen dass es normal reagiert
und wo kann ich sehen welche timer für welche pwm pins verantwortlich sind
danke
Ich kenne das Shield nicht, aber vielleicht sind die Eingänge low-aktiv?
probiers doch mal mit digital.Write, um das rauszufinden.
Wenn dem so ist, einfach die PWM umrechnen:
x = 100; // PWM Wert
analogWrite(m1, 255-x);
pantro
November 20, 2016, 7:21pm
3
gibs ne möglichkeit das board zu reseten auf standardeinstellung
uwefed
November 20, 2016, 9:30pm
4
Als Anfänger rate ich Dir einen UNO zu verwenden.
Grüße Uwe
Warum siehst du dir nicht die Beispiele der verwendeten Library an.
Da kannst du doch alle Anweisungen ansehen.
Wenn er analogWrite verwendet, nimmt er wohl nicht die Lib.
@pantro : Für das Pololu MC33926 Motor driver shield gibt es eine Library
pantro
November 21, 2016, 9:52am
7
also ich bin total verwirrt ich habe ein arduino uno
und da funktioniert alles mit dem analogwrite so dass ich den driver ansteuern kann
ich will aber die funktion auf dem zero umsetzen und ich habe das gefühl dass an den pins
was verstellt ist.
deswegen meine frage kann man die pins auf standardeinstellungen zurücksetzen
Ich kenne den zero nicht, aber ich denke dass an der Funktionsweise nichts anders ist.
Probiere es vielleicht mal mit digitalWrite(); auf deinem Minusanschluss vom Motor
analogWrite(motorPlus, PWM);
digitalWrite(motorMinus, LOW); // Motor dreht rechts, mit HIGH links herum
Mit MotorPlus/Minus sind natürlich die Pins gemeint, die auf deinen Motortreiber gehen also:
M1IN1 & M1IN2
Und hast du bei deinem Treiber alle ungenutzten Pins mit VDD bzw. GND überschrieben?
Das hat mir mal einige Probleme gemacht.
Hat der Zero nicht 10 bit PWM ?
Edit: nee, das war der DAC, PWM sind 8bit
Hast du dazu jetzt 'ne Lösung gefunden?
Hab jetzt genau das gleiche Problem und hab' keine Ahnung warum.
Wenn ich mit dem PWM Signal runter, geht meine Drehzahl nach oben.
pantro
December 5, 2016, 12:02pm
11
nein leider nicht
finde niemand der mir da helfen kann
beim uno funktioniert alles
pantro
December 5, 2016, 1:48pm
12
ich habe jetzt einen neuen arduino m0 pro gekauft und da funktioniert gar nichts.....
ich benutze die software arduino ide 1.7.11 von arduino.org
was muss man bei Werkzeuge / Programmer /
AVR ISP
AVRISP mkII
usw.
...
....
standardeinstellung ist AVRISP mkII
Ich habe keinen Zero und kann dir dazu ´leider nichts sagen.
Aber warum brauchst du unbedingt einen Zero?
Die älteren AT-Megas (Uno, Mega...) sind einfacher und robuster. Und es gibt hier viele, die sich sehr gut damit auskennen.
Brauchst du wirklich die Rechenleistung eines Zero?
Und noch was: Ohne Code kann dir keiner helfen.