PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Arduino Motor Problem



Artemis_Simetra
13.06.2013, 16:25
Hallo zusammen, ich hab ein kleines Problem mit meinem Arduino (UnoR3smd).
Ich möchte über einen Darlingtontransistor (TIP127) einen Motor steuern:
25734

Solange das ganze nur mit 6AAs versort wird gehts auch. Aber bei 9AAs Dreht sich der Motor auch wenn ers nicht soll. Also wenn im Arduino Sketch steht:
analogWrite(5,255);
Kann das jemand erklären und idealerweise auch gleich Abhilfe schaffen?


int motorL = 10;
int motorR = 5;
int led = 13;
int wait =10000;

void setup()
{
*analogWrite(motorL,255);
*analogWrite(motorR,255);
*pinMode(led,OUTPUT);
}

void loop()
{
*delay(2000);
*digitalWrite(led,HIGH);
*analogWrite(motorL,0); analogWrite(motorR,0);
*delay(wait);
*analogWrite(motorL,255); analogWrite(motorR,0);
*delay(wait);
*analogWrite(motorL,0); analogWrite(motorR,0);
*delay(wait);
*analogWrite(motorL,255); analogWrite(motorR,255);
*digitalWrite(led,LOW);
*while(1==1)
**{
***digitalWrite(led,HIGH);
***delay(200);
***digitalWrite(led,LOW);
***delay(200);
***analogWrite(motorL,255); analogWrite(motorR,255);
**}
}


Die Sternchen sind im orginal Code nich drin, hat die ide nur beim copieren reingemacht.
vg malte

Hubert.G
14.06.2013, 08:30
Das hängt mit dem pnp-Transistor zusammen. Der ist für so einen Einsatz nicht geeignet.
Schau dir mal die Spannungsverhältnisse am Transistor an, speziell Basis-Emitterstrecke.

Artemis_Simetra
14.06.2013, 22:05
Aber wenn es am Transistor liegt, wieso funktioniert es dann, wenn nicht der Arduino steuert, sondern ich manuell durch umstecken von Drahtbrücken?
Wenn man die Basis einfach auf Vcc legt geht es ja.
vg malte

Hubert.G
14.06.2013, 22:31
Die Steuerspannung des Arduino ist 5V.
Mit dem Umstecken von Drahtbrücken legst du aber immer die volle Spannung auf die Basis.
Mit 6AA wird es sich gerade noch ausgehen das der Transistor nicht richtig durchschaltet.
Bei 8AA ist die Spannungsdifferenz zu den 5V zu groß.
Du müsstest einen TIP126 verwenden.

Artemis_Simetra
15.06.2013, 10:56
Wo wäre da der Unterschied? sowohl 126 als auch 127 sind pnp. (bei den transistoren ist die numerierung etwas seltsam).
Ich vermute du meinst ich müsste den komplementären npn verwenden? das wäre zu 127 der 122er.
allerdings wäre das nur für den anfang eine lösung, weil ich später eine h-brücke bauen will.
und da bräuchte ich ja dann beide typen, oder?
vg und danke für deine hilfe
malte

Hubert.G
15.06.2013, 15:15
Ja klar, das müsste der TIP122 sein.
Wenn du eine H-Brücke bauen willst, dann musst du aber noch viel mehr aufpassen das die Spannungsverhältnisse stimmen. Sonst raucht dir das ganze schneller ab als du ausschalten kannst.

Artemis_Simetra
16.06.2013, 17:03
Hallo, ich habs heute mal mit npn (bc875 und bd135) versucht.
Wie vorausgesagt sperren die Transistoren. Dafür kann ich nich mehr voll durchsteuern.
Bei 4,5V (E-GND) is schluss. Vermutlich das äquivalente Problem?
Was könnte man denn machen um das zu umgehen?
vg malte

Hubert.G
16.06.2013, 18:00
Ich weiß jetzt nicht wie du deine Schaltung geändert hast. Aber sieh dir mal das an:
http://www.mikrocontroller.net/articles/Relais_mit_Logik_ansteuern

Artemis_Simetra
16.06.2013, 19:30
Die Schaltung die nicht durchgesteuert hat:
25771

Funktionieren tut:
25772
Ginge dann auch:
25773
???

vg und danke malte

Hubert.G
16.06.2013, 21:13
Wenn die Brücke richtig angesteuert wird, dann ja.
Aber genau darin liegt das Problem.

Artemis_Simetra
17.06.2013, 18:22
Richtig heißt:
-niemals zwei in reihe liegende transistoren (logisch wäre kurzschluss)
-deshalb auch an dead-zeiten denken
also: zwischen richtungswechsel kurz warten und pwm nich zu hochfrequent machen?
vg malte