Hallo Liebes Micorcontroller Forum! Ich hab ein kleines Problem und zwar sitze ich 2 Tage lang an dem code der aber leider nicht funken will nur der linke reifen dreht sich der andere macht garnichts hab diesesn Code hier verwendet //motor A connected between A01 and A02 //motor B connected between B01 and B02 int STBY = 10; //standby //Motor A int PWMA = 3; //Speed control int AIN1 = 9; //Direction int AIN2 = 8; //Direction //Motor B int PWMB = 5; //Speed control int BIN1 = 11; //Direction int BIN2 = 12; //Direction void setup(){ pinMode(STBY, OUTPUT); pinMode(PWMA, OUTPUT); pinMode(AIN1, OUTPUT); pinMode(AIN2, OUTPUT); pinMode(PWMB, OUTPUT); pinMode(BIN1, OUTPUT); pinMode(BIN2, OUTPUT); } void loop(){ move(1, 255, 1); //motor 1, full speed, left move(2, 255, 1); //motor 2, full speed, left delay(1000); //go for 1 second stop(); //stop delay(250); //hold for 250ms until move again move(1, 128, 0); //motor 1, half speed, right move(2, 128, 0); //motor 2, half speed, right delay(1000); stop(); delay(250); } void move(int motor, int speed, int direction){ //Move specific motor at speed and direction //motor: 0 for B 1 for A //speed: 0 is off, and 255 is full speed //direction: 0 clockwise, 1 counter-clockwise digitalWrite(STBY, HIGH); //disable standby boolean inPin1 = LOW; boolean inPin2 = HIGH; if(direction == 1){ inPin1 = HIGH; inPin2 = LOW; } if(motor == 1){ digitalWrite(AIN1, inPin1); digitalWrite(AIN2, inPin2); analogWrite(PWMA, speed); }else{ digitalWrite(BIN1, inPin1); digitalWrite(BIN2, inPin2); analogWrite(PWMB, speed); } } void stop(){ //enable standby digitalWrite(STBY, LOW); } Und ein bild von meiner Platine wurde angehängt... kan mir einer helfen? Liegt das am Code oder an der Platine/ gelöteten Kontakte
jan mart schrieb: jan mart schrieb: > der linke reifen dreht sich der andere macht garnichts Liegt das am Code oder an deiner Hardware, i.e. hast du mal versucht, den rechten einzeln anzusteuern oder an Stelle des linken anzuschließen. Vielleicht dreht sich auch der Motor richtig und der Reifen kann mit den Steuersignalen nichts anfangen oder hat zu viel Schlupf ;-) > Und ein bild von meiner Platine wurde angehängt... Ein Schaltplan wäre da nützlicher.
Rechts oben auf deinem Bild ist noch etwas, was ist das? Ist der linke Motor A oder B? Mach doch mal einen Schaltplan oder mindestens eine Liste
1 | Pin Name Farbe geht zu |
2 | 3 PWMA grün ? |
3 | 4 gelb gelötet aber nicht verwendet? |
4 | 5 PWMB orange |
Der Drahtverhau sieht ja gruselig aus. Bist du sicher dass nirgends ein Kurzschluss zwischen benachbarten Pins vorliegt? Cu-Litze ist da sehr problematisch, die Enden fleddern auseinander und machen Kontakte wo sie nicht sollen. Ich würde den Arduino mit Buchsenleisten bestücken und die Litzenenden verzinnen, bevor sie eingesteckt werden.
Also ein Kurzschluss gab es nicht. Schuldigung hab leider kein Schaltplan das sollten wir in der Schule so löten...
Kommst du mit einem Papierstreifen zwischen den Lötstellen auf der linken Stiftseite durch? Dem Bild nach zu urteilen nämlich nicht.
Also durch komm ich wenn ich den kleber abkratze hab vorher bevor das geklebt wurde noch nachgeguckt ( ja mit nem papierstreifen) ob ich da durchkomme damit ich später kein kurzschluss habe. Soweit kann ich auch denken ^^
:
Bearbeitet durch
Kleber? ***autsch*** damit habe ich nicht gerechnet. sehe ich das richtig, dass du in dem Sketch den Motor B erst mit 2 und dann mit 0 ansprichst Motor A aber beide Male mit 1?
hab mal das zweite auch zu einsen gemacht jetzt stop der Linke Motor nicht mehr (im code B01 & 02 )der andere macht immernoch nichts : Oder wie meinst du das ? :(
:
Bearbeitet durch
dann löte den "toten" Motor mal ab und verbinde ihn direkt mit der Batterie, vielleicht ist er ja wirklich einfach nur tot?
beide funktionieren :/ liegt dan wohl and der software werde dan am montag die standart software von der schule testen -.- die ich leider vergessen hab aufn stick zu kopieren
:
Bearbeitet durch
Ist der Motortreiber auch heile? Die kleine Platine oben rechts auf dem Bild? vertausche doch einfach mal die Steuerleitungen für die beiden Motore (nicht die Motoranschlüsse!). Wenn dann immer noch der gleiche Motor sich tot stellt, dann ist der Motortreiber hin. Wenn dann allerdings der andere Motor nicht mehr will ist es die Software.
Auweia. Abloeten, umloeten, ausprobieren, Kleber abkratzen, Papiertricks, wie waere es denn mit messen ? Multimeter an den AVR-Pin und schon weiss man woran es liegt.
Ich rate mal: ein Multimeter ist nicht in Reichweite. Arduino user arbeiten normalerweise mit Steckverbindungen, bis das Projekt steht. Da hat man keine Last mit Lötzinn und Klebstoff.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.