- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 10 von 17

Thema: Motorshield Sainsmart L298N

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    21.05.2014
    Alter
    56
    Beiträge
    25
    Hallo Rabenauge,

    Zitat Zitat von Rabenauge Beitrag anzeigen
    Hm,schade dass ich diese Dinger nicht hab-aber ich hab ein Foto (von deinem Roboter) gesehn, da waren die Jumper sehr wohl drauf.
    Da sie dort jeweils Enable mit 5V verbinden, schliesse ich daraus mal, dass _dieser_ Roboter dann rein digital gesteuert wurde (ohne PWM).
    Auch das geht natürlich-und vereinfacht nen paar Sachen (da man sich um die PWM nicht kümmern muss).
    Ich habe jetzt die Pins am Motorschield so verbunden wie sie ursprünglich waren, jeweils ENA / ENB mit 5V verbunden. Der motor läuft mit voller Geschwindigkeit an, wenn er auf beiden Pins auf "HIGH" gesetzt wird, die Enableleitungen werden nicht gebraucht...
    Der Versuch in dem Code eine "Beschleunigungsrampe" einzubauen scheitert aber, die Erhöhung wird auf dem Serialmonitor angezeigt, der Motor beschleunigt aber nicht, unabhängig wie groß das Delay wird. Ab der Erhöhung des Startwertes in der For-schleife auf 100 bremst er auch nicht mehr, bzw. bleibt nach dreimaligem Durchlauf nicht stehen, sondern läuft weiter.

    mit diesem Code (habe ich aus Post 19 kopiert und an meine Pinbezeichnungen angepasst) habe ich das Ganze getestet:
    Code:
        #define S1_IN_1 50    //Motor_1 Anschluss_1
        #define S1_IN_2 52    //Motor_1 Anschluss_2
        
        void setup() 
        {
          // setup Motor 1 pins
          pinMode(S1_IN_1, OUTPUT);
          pinMode(S1_IN_2, OUTPUT);
          
          Serial.begin(9600);
        }
        
        void loop() 
        {
        {
         digitalWrite(S1_IN_2, LOW);
    //     digitalWrite(S1_IN_2, HIGH);
    //     delay(1000);
         for(int j=0; j<3; j++)
          {
            
            
           analogWrite(S1_IN_1, LOW); //war digital
           for (int i=0; i<255; i=i+5)
           {
           analogWrite(S1_IN_1, i); //war digital
           Serial.println(i);   
           delay(2000);
           }
         }
         digitalWrite(S1_IN_1, LOW);
         digitalWrite(S1_IN_2, LOW);
         delay(500);
       }
       while(1);
        }


    Zitat Zitat von Rabenauge Beitrag anzeigen
    Wahrscheinlich müssten dann zum stoppen immer beide Motorleitungen auf Low gesetzt werden-wenn du Glück hast, haste sogar ne Bremse dann.
    das funktioniert so weit - siehe oben...

    Zitat Zitat von Rabenauge Beitrag anzeigen
    Miss mal bitte die Stromaufnahme der Motoren (einzeln) unter Vollast, wenns geht. Würd mich mal interessieren, was die so brauchen (klein bedeutet nicht zwangsläufig stromsparend).
    der Motor zieht beim Drehen 160mA, wobei die Anzeige am Multimeter keine statische ist. Hält man den Motor fest, sind es 500mA. Mit den gesetzten Jumpern auf dem Motorshield ist die Anlaufspannung ca. 3,5V, der Spannungseinbruch ist also nicht so stark wie vorher, bei Nutzen des PWM. Die frage nach der Möglichkeit einer "digitalen" Beschleunigungsrampe bleibt...

    EDIT: ich habe die zwei Zeilen in der FOR-schleife

    von "digital" n "analog" geändert.

    der Motor läuft bei i=130 an und läuft mit konstander Geschwindigkeit weiter, auch die dreimalige Ausführung der Schleife und das Halten bei "while(1)" werden nun ausgeführt, beschleunigen tut der Motor - zumindest sicht oder hörbar - nicht...
    Geändert von ahave (19.06.2014 um 15:12 Uhr)
    Gruß ahave

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    56
    Beiträge
    2.211
    Ich hab den Verdacht, dass die Jumper die ENA-Leitungen permanent auf High setzen- und du _dann_ die Drehzahl gar nicht regeln kannst.
    Miss mal, ob an den 5V-Pins (da wo die Jumper drauf sind), _immer_ 5V anliegen.
    Solte dem so sein, dann gibtst du permanent auf die Enable-Leitungen 5V (bei gesetzten Jumpern)- die haben also immer Vollgas.

    Vermutlich dient das dazu, ggf. Pins zu sparen, wenn man die Drehzahlregelung nicht braucht.
    Und mal ehlich: bei dem kleinen Ding-wozu. Bei Sainsmart irgendwo gibts ein Video mit dem Roboter: wenn das, was der da fährt, Vollgas ist, seh ich keinen Grund für ne Drehzahlregelung.
    zum Kurven fahren kannst du dennoch -in Grenzen- etwas steuern, nämlich, indem die die kurveninneren Motoren "ab und zu" an-bzw. ausschaltest. Ist dann so ähnlich wie ne PWM, aber hausgemacht halt.
    analogWrite() funktioniert übrigens _nur_ auf PWM-Pins, auf allen anderen nicht.
    Und digitalWrite() kann nichts anderes als HIGH oder LOW!

    Du sagst, du setzt beide (die übrigen..) Leitungen auf HIGH, damit er losfährt- was passiert, wenn du _eine_ High, die andere LOW setzt und: was, wenn beide auf LOW sind?

    Vom Stromverbrauch her dürftest du treibermässig auf der sicheren Seite sein- 500mA Blockierstrom sollten die Treiber schaffen.
    Allerdings: bei vier Motoren macht das flockige 2A Gesamtstrom (plus Kleinvieh, weil auch der Rest nen bissel was braucht)- das geht wirklich nur mit sehr guten Batterien- oder nem _ordentlichen_ Akku.
    Meine Empfehlung, wenn du bei AA-Grösse bleiben willst: Sanyo Eneloop. Sind nicht die billigsten, aber rechnen sich auf Dauer allemal und packen das auch.

    Kommen ja später noch Servo und weitere Technik dazu- der beste Motor und der beste Treiber sind nutzlos, wenn der Akku die nötigen Ströme einfach nicht liefern kann.
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

Ähnliche Themen

  1. l298n an atmega32
    Von Che Guevara im Forum Elektronik
    Antworten: 5
    Letzter Beitrag: 13.10.2014, 21:31
  2. Antworten: 0
    Letzter Beitrag: 05.06.2014, 11:20
  3. Schrittmotoren + Arduino Motorshield
    Von horschl im Forum Suche bestimmtes Bauteil bzw. Empfehlung
    Antworten: 0
    Letzter Beitrag: 28.05.2014, 11:44
  4. Motor für Arduino Motorshield und 2kg Auto
    Von _pingu im Forum Suche bestimmtes Bauteil bzw. Empfehlung
    Antworten: 3
    Letzter Beitrag: 16.04.2013, 17:52
  5. [ERLEDIGT] Steppermotor spinnt... AF-Motorshield
    Von oderlachs im Forum Motoren
    Antworten: 6
    Letzter Beitrag: 26.10.2012, 21:03

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress