- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 566

Thema: outdoor I

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Ich probiere das jetzt mit dem ENABLE aus. Ich hab ja den Aufbau vor mir liegen. Verstehe nicht, warum das nicht funktionieren soll, es sei denn, es gibt intern eine Beschaltung. Davon habe ich aber nichts gelesen.



    MfG

    - - - Aktualisiert - - -

    Also mit 5k bzw. 4.7kOhm am ENABLE-Pin des A4988 funktioniert es, wie erwartet. Ohne Widerstand liegen dort vom Arduino her 5V oder 0V an. Mit Widerstand zwischen ENABLE und Vdd des A4988 liegen 5V oder 0.02V an und der Arduino kann diesen ENABLE-Pin auch steuern. Nur, wenn der Arduino-Ausgang noch nicht initialisiert ist, liegen am ENABLE-Pin (wie erwartet) auch keine 5V an, was normal ist und daran liegt, dass die Ausgänge des Arduino nach Neustart zunächst im hochohmigen Zustand sind. Somit bringt der 4.7k / 5k-Widerstand genau das, was er soll, nämlich für einen definierten Pegel sorgen, wenn der Arduino-Ausgang noch hochohmig ist.
    Allerdings ändert dieser Widerstand am ENABLE nichts daran, dass der Motor beim Anschalten der Versorgungsspannung des Treibers kurzzeitig in Bewegung ist, also Strom fließt. Aber vermutlich liegt das Ganze ja sowieso an der Spannungsversorgung.

    - - - Aktualisiert - - -


    Du solltest unbedingt einen Schaltplan zeichnen, mit Arduino, A4988, div. Widerständen drin, Mäuseklavier etc. Sonst kann man wirklich nicht sagen, warum was bei Dir an der Schaltung nicht funktioniert.

    - - - Aktualisiert - - -

    Motor Geschwindigkeit steigern


    Um den Motor auf Maximalgeschwindigkeit zu bringen, lasse ich im FULL-STEP-Modus diese Testschleife laufen:

    Code:
    int j=2000;
    //-----------------------------------------------------------------------------
    void loop() {
    
    
      if(j>280)j--;
      for(int i=0;i<3;i++){
        digitalWrite(Step, LOW);
        delayMicroseconds(j);
        digitalWrite(Step, HIGH);
        delayMicroseconds(j);
      }
    
    
    }
    Sollte jetzt selbsterklärend für Dich sein, inka.






    MfG

    - - - Aktualisiert - - -

    vorgehen beim starten:
    - taste drücken, damit wird eine schaltung aktiviert, die von dem akku aus ein RC-glied lädt
    - wenn geladen geht eine LED an
    - hauptschalter an
    - arduino schaltet kleinen akku ab (RC-glied ladeerkennung)

    Dann kannst Du auch die Logikspannung der Platinen mit dem Arduino bereitstellen. Falls Du Angst hast, die vier A4988-Platinen würden zu viel Strom benötigen, kann man einen BC547B mit dem Arduino-Ausgang ansteuern. Dann nimmt man den BC547B in Open-Collector-Schaltung, verbindet VDD, des A4988, mit 5V und GND, des A4988, schaltet man über den Transistor. Das Schöne dabei: man kann auch einfach 2 BC547B parallel schalten, um auf insgesamt 200mA Max-Strom zu kommen, das reicht für die vier A4988 allemal aus (eigentlich sollten 100mA ausreichen). Der Effekt: Solange der Arduino hochohmige Ausgänge hat, schaltet der Transistor nicht durch und die A4988 bekommen keinen Strom. Wenn die ohne Logikspannung sind, bewegt sich der Motor nicht. So kann man auch immer die Logikspannung der Treiber mit dem Arduino abschalten und anschalten. - Das wäre mein Joker Zur Not wäre so auch jeder Treiber einzeln zuschaltbar, bloß bräuchte es dann vier Arduino-Ausgänge, allerdings kann dann der BC547B gespart werden, weil so viel Strom, wie ein A4988 benötigt, kann ein Arduino-Ausgang bereitstellen.
    Geändert von Moppi (23.11.2019 um 16:29 Uhr)

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    Zitat Zitat von Moppi Beitrag anzeigen
    Ich probiere das jetzt mit dem ENABLE aus. Ich hab ja den Aufbau vor mir liegen. Verstehe nicht, warum das nicht funktionieren soll, es sei denn, es gibt intern eine Beschaltung. Davon habe ich aber nichts gelesen.
    ich hab jetzt sogar den arduino ausgetauscht, es rattert. Ich weiss langsam, welchen fehler ich gemacht habe, aber in den kleinen verhältnissen war das gar nicht anders möglich. Ich hab ja quasi ein kabelbaum, der läuft an den wänden entlang, schön aufgeräumt, um nicht noch mehr strippen und durcheinander in der kiste zu haben. So weit so gut, nur laufen dort die 12V leitungen (versorgung der motoren), die 5V leitungen (versorgung motortreiber, arduino...) und fast alle signalleitungen mit ihren paar mA alle schön parallel. Hätte es eigentlich wissen müssen , diese problematik war von 30 jahren mein täglich brot... Da helfen keine paar widerstände am leitungsende...

    Ich muss es mit dem hilfsakku machen, sonst sehe ich kein land...

    Zitat Zitat von Moppi Beitrag anzeigen
    Also mit 5k bzw. 4.7kOhm am ENABLE-Pin des A4988 funktioniert es, wie erwartet. Ohne Widerstand liegen dort vom Arduino her 5V oder 0V an. Mit Widerstand zwischen ENABLE und Vdd des A4988 liegen 5V oder 0.02V an und der Arduino kann diesen ENABLE-Pin auch steuern. Nur, wenn der Arduino-Ausgang noch nicht initialisiert ist, liegen am ENABLE-Pin (wie erwartet) auch keine 5V an, was normal ist und daran liegt, dass die Ausgänge des Arduino nach Neustart zunächst im hochohmigen Zustand sind. Somit bringt der 4.7k / 5k-Widerstand genau das, was er soll, nämlich für einen definierten Pegel sorgen, wenn der Arduino-Ausgang noch hochohmig ist.
    Allerdings ändert dieser Widerstand am ENABLE nichts daran, dass der Motor beim Anschalten der Versorgungsspannung des Treibers kurzzeitig in Bewegung ist, also Strom fließt. Aber vermutlich liegt das Ganze ja sowieso an der Spannungsversorgung.
    hier verstehe ich auch, was Du da machst und misst, mit einem unterschied, Du hast alles schön frei auf dem tisch vor Dir liegen, bei mir ist alles etwas schwerer zugänglich und dort auch schwer zu messen...

    Zitat Zitat von Moppi Beitrag anzeigen
    Um den Motor auf Maximalgeschwindigkeit zu bringen, lasse ich im FULL-STEP-Modus diese Testschleife laufen:

    Code:
    int j=2000;
    //-----------------------------------------------------------------------------
    void loop() {
    
    
      if(j>280)j--;
      for(int i=0;i<3;i++){
        digitalWrite(Step, LOW);
        delayMicroseconds(j);
        digitalWrite(Step, HIGH);
        delayMicroseconds(j);
      }
    
    
    }
    Sollte jetzt selbsterklärend für Dich sein, inka.
    ist es auch, klar...
    gruß inka

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Schirmung ist die eine Sache, die Du nachholen könntest und das Trennen der Leitungen, wo Leistung drüber fließt und derer, wo Signale drüber laufen.
    Aber trotzdem: ich glaube nicht so recht, dass dies die Probleme verursacht. Wenn Du die Spannung aus dem DC/DC-Konverter und alle Signale, sowie alle leistungsführenden Kabel alle schön gerade zusammengebunden über 30cm Länge nebeneinander her führst, kann es natürlich sein, dass Du Dir Störungen auf den Signalleitungen fabrizierst. Aber für mich sieht dies Problem genau nach dem aus, dass ich beim Hexapod auch habe/hatte und kenne, dass eben die Leistung des Akkus/Netzteils nicht ausreichend ist, mit einer 2000mAh Powerbank wird es dann ganz verrückt, dann treten solche Sachen während stärkerer Belastungen auf, dass eben die Elektronik verrückt spielt und die Motoren dann infolge am Zappeln sind. Du wirst wahrscheinlich die Verkabelung ändern müssen, wenn Du zukünftig von Problemen verschont bleiben willst.

    Ist eben die Frage, ob Dir eine Bastelei ausreichend ist oder ob Du ein solides Projekt haben möchtest.
    Geändert von Moppi (23.11.2019 um 17:47 Uhr)

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.04.2015
    Beiträge
    903
    Mal generell zum Aufbau:
    - Versorgungsstrippen kurz (und dick), Motorleitungen lang (und ausreichend)
    - Versorgung sternförmig von der Quelle weg
    - Wenn was über eine Diode abgeblockt werden muss, dann tunlichst mit einem Kondensator dahinter. Damit Der nicht unendlich groß wird, empfielt es sich, den Zweig mit der geringsten Stromaufnahme abzublocken (wahrscheinlich also die wenigen mA vom Controller). Treiberbausteine über Dioden in der Versorgung abzublocken ist eher kontraproduktiv. Über die Freilaufdioden in den Treibern müssen Überspannungsimpulse der Motorinduktivitäten frei auf die Versorgung rückgekoppelt werden können.

    Vielleicht macht es also Sinn, die ganze Elektronik in eine Ecke zu packen und nur die Motorleitungen über einen Kabelbaum zu verteilen.

    Wegen der /Enabled-Leitung: Hast Du mal den Durchgang zwischen Eingang am Shield und Pin auf dem Treiberboard geprüft? Was ist denn noch auf diesem Shield? Ist da noch ein Regler drauf? Gibts dazu nen Schaltplan?

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Über die Freilaufdioden in den Treibern müssen Überspannungsimpulse der Motorinduktivitäten frei auf die Versorgung rückgekoppelt werden können.
    Freilaufdioden schalten Gegen-EMK gegen Masse kurz, das ist doch gegeben. Selbst wenn die Plusleitung über eine Diode geführt wird.
    Deshalb würden mich die Hintergründe dazu genauer interessieren, warum Überspannungsimpulse auf bspw. ein Netzteil rückgekoppelt werden müssen.


    NUr so am Rande: wir hatten so was mal, dass Überspannung ins Stromnetz rückgekoppelt wurde, bei einem Fernseher (defekter Zeilentrafo oder was auch immer). Dabei ist die Sicherung des DVD-Players durchgegangen und die Stereoanlage hat gebrannt. Zum Glück war ich zu dem Zeitpunkt im Raum, weil ich fern gesehen habe.

    MfG

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    Zitat Zitat von Holomino Beitrag anzeigen
    Mal generell zum Aufbau:
    - Versorgungsstrippen kurz (und dick), Motorleitungen lang (und ausreichend)
    - Versorgung sternförmig von der Quelle weg
    das ist der letzter stand des aufbaus:
    Klicke auf die Grafik für eine größere Ansicht

Name:	20191123_191922.jpg
Hits:	10
Größe:	57,5 KB
ID:	34527
    die verbindungen basieren an den dupont litzen, also AWG30 schätze ich mal...


    Zitat Zitat von Holomino Beitrag anzeigen
    Wegen der /Enabled-Leitung: Hast Du mal den Durchgang zwischen Eingang am Shield und Pin auf dem Treiberboard geprüft? Was ist denn noch auf diesem Shield? Ist da noch ein Regler drauf? Gibts dazu nen Schaltplan?
    meinst Du ob der A4988 kontakt zum extenderboard hat? Hat er...

    das ist das einzige was an "unterlagen" zu finden war:
    Klicke auf die Grafik für eine größere Ansicht

Name:	2019_11_20_A4988_shield.jpg
Hits:	6
Größe:	38,5 KB
ID:	34528 Klicke auf die Grafik für eine größere Ansicht

Name:	a4988-drv8825-stepper-motor-driver-control-extension-board-kagstore-1705-23-kagstore@1.jpg
Hits:	7
Größe:	50,2 KB
ID:	34529

    @Moppi:
    Ist eben die Frage, ob Dir eine Bastelei ausreichend ist oder ob Du ein solides Projekt haben möchtest.
    kennst Du die 20/80 regel?
    gruß inka

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    kennst Du die 20/80 regel?
    Gehört: kann sein, kennen: nein

  8. #8
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    moin,

    Zitat Zitat von Moppi Beitrag anzeigen
    Gehört: kann sein, kennen: nein
    zunächst der einfachere teil (20/80 regel):

    für's erreichen von 80% der gewollten/spezifizierten funktionalität eine gerätes braucht man 20% der gestellten mittel (geld, zeit...), für die restlichen 20% der funktionalität auch die restlichen 80% der mittel. Folglich muss man sich überlegen, wann man aufhört und zufrieden zu sein hat

    was die stromversorgung von einem arduino betrifft hier ein link...

    weiteres im laufe des tages...
    gruß inka

  9. #9
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    hallo Moppi,

    mit diesem
    Code:
    // DIR und STEP pins definieren
    #define dirPin_HL 4
    #define stepPin_HL 5
    
    
    //start pin definieren
    #define start_HL 42
    
    
    //steps pro umdrehung definieren:
    #define stepsPerRevolution 200
    
    
    void setup()
    {
      //pins als output:
    
      pinMode(dirPin_HL, OUTPUT);
      pinMode(stepPin_HL, OUTPUT);
      pinMode(start_HL, OUTPUT);
    
        //richtung bestimmen
      digitalWrite(dirPin_HL, HIGH);
    
      Serial.begin(115200);
    
    void loop()
    {
      delay(2000);
      digitalWrite(start_HL, HIGH);
      delay(2000);
    
      for (int i = 0; i < stepsPerRevolution; i++)
      {
        digitalWrite(stepPin_HL, HIGH);
        delayMicroseconds(500);
        
        digitalWrite(stepPin_HL, LOW);
        delayMicroseconds(500);
      }
    }
    wird der Stepper HL aktiviert, alle 2 sec macht der jeweils eine sequenz in CW richtung, es rattert nicht, es scheint zu funktionieren. Jetzt muss ich die verdrahtung etwas ordentlicher machen und alle vier Stepper anschliessen. Vielleicht auch in umgekehrter reihenfolge....

    Mit den akkus beschäftige ich mich anschliessend, die machen eigentlich einen guten eindruck, das was man halt sehen kann. Das gewicht ist natürlich gering, 270gramm. Die spannung stimmt wohl auch mit den angaben überein, ob die kapazität stimmt? Wie soll ich das denn messen? Wenn das mit dem rattern nun weg sein sollte, lasse ich den roboter über meine wippe hin und her fahren. Bis die akkus leer sind...
    gruß inka

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von Moppi Beitrag anzeigen
    Aber trotzdem: ich glaube nicht so recht, dass dies die Probleme verursacht.
    Das sehe ich auch so. Dazu nur mal ein paar Daumenwerte: Bei CMOS-Logik liegen die Schaltschwellen bei etwa 1/3 und 2/3 der Versorgung. Bei 5V bedeutet das, alles unter 1,6V ist eine 0, alles über 3,4V ist eine 1. Ein Signal von 1V mit einem Ripple von 100mV ist eine glatte 0. Selbst bei 200mV Ripple gilt das noch. Die oben erwänten 0,02V sind einfach 0. Am Ende zählt aber die Spannung, die am Modul anliegt und nicht der Wert, den die SW ausgibt. Daher sollte man sich alle Signale auf dem Scope anschauen. Bei mir läuft bei solchen Entwicklungen das Scope immer mit.

    Und bevor man anfängt, eine Sache umzubauen, die eigentlich funktionieren sollte, ist es sinnvoll den wirklichen Fehler zu finden. Sonst macht man ihn beim Umbau noch einmal. Dazu einen Schaltplan erstellen und den Plan der Treibermodule mit einbeziehen. Der ist bei Pollolu zu finden. Nicht jeden Pullup/Pulldown muß man selbst setzen, an SLEEP z.B. ist schon einer drauf. Die Pullup/Pulldown sind keine analogen Teile, sie können Werte zwischen 0Ω (Achtung, Gefahr eines Kurzschluß beim Abrutschen mit dem Tastkopf) und 50kΩ haben. Sollte sich ein unterschiedliches Verhalten bei unterschiedlichen Werten ergeben, liegt ein anderer Fehler vor. Da die Pullup/Pulldown auf den Treiber wirken sollen, sollten sie auch nahe bei ihm sein. Das macht es schnellen (µs) Störungen schwerer an den Treiber zu kommen.

    In einem der vorigen Posts war von 9V und 1A die Rede. Kleiner als 9V (eigentlich 8V nach Datenblatt) sollte die Versorgung nicht sein. Der Chip schaltet sich sonst wegen Unterspannung ab. Die Maximalspannung des Chips, und mehr ist auf dem Board ja nicht drauf, beträgt 35V. Und ein Netzteil mit weniger als 1A dürfte selbst bei kleinen Strangströmen Probleme haben.

    Zu guter letzt: diese Module sind eigentlich keine Schrittmotortreiber, obwohl ich sie selbst so bezeichne. Es sind Eval bzw Breakouboards der A4988 Chips von Allegro (oder der DRV8825 Chips von TI) für Entwickler und Bastler. Sie machen SMD Chips steckbretttauglich. Ein industrieller Schrittmotortreibern sieht ganz anders aus. Wie aus dem Schaltplan ersichtlich, enthalten sie nur das Minimum an notwendiger externer Beschaltung. Man könnte auch sagen, sie enthalten schon das Minimum, um einem das Entwickeln zu erleichtern. Alle Daten gehen also aus dem Datenblatt des Chips hervor, die Pollolu Entwickler geben dazu noch zusätzlich Tips aus ihrer Praxis. So benutzen sie den Pullup von SLEEP auch für RST, indem sie beide Anschlüsse verbinden. Das spart den Anschluß eines eigenen Pullups. Wenn man aber SLEEP oder RST aktiv steuert, geht das natürlich nicht. Für das Verhalten dieser Boards ist also das Datenblatt die Bibel. Und ansonsten Messen statt vermuten.

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

Ähnliche Themen

  1. Abstandsmessung Outdoor bis 3m
    Von robo218 im Forum Sensoren / Sensorik
    Antworten: 4
    Letzter Beitrag: 14.12.2017, 06:56
  2. outdoor spy robot
    Von jancrombach im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 7
    Letzter Beitrag: 14.08.2010, 13:09
  3. Outdoor Roboter
    Von OsramLED im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 3
    Letzter Beitrag: 07.08.2006, 09:34
  4. Outdoor-Robo
    Von RobotrixerP im Forum Mechanik
    Antworten: 3
    Letzter Beitrag: 16.04.2006, 18:38
  5. Outdoor - Navigation
    Von Quaio im Forum Sensoren / Sensorik
    Antworten: 37
    Letzter Beitrag: 21.04.2005, 12:31

Berechtigungen

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

Solar Speicher und Akkus Tests