Steuerung von vier Motoren mit Arduino Uno Board

  • sollte natürlich auch an Kai addressiert sein.

    AUF DER WERFT
    2-Mast Schoner Emma C. Berry (Restaurierung)
    4-Mast Bark Archibald Russell (Restaurierung)
    IM HAFEN

    Micro Magic Carbon Edition
    IN PLANUNG
    Brigg Tre Kronor af Stockholm (1:25 Neubau)
    Y-857 (ex FL6) (Restaurierung)
    Bugsier 3 (Restaurierung)

  • Bei 15 Umdrehungen wird es mit einem Hallsensor schwierig, da er ja keine eigentliche Endlage hat. Die braucht er aber, um seine Position zu bestimmen. Sobald der Arduino spannungslos ist, vergisst er das gern wieder und muss sich beim Wiedereinschalten erst seine Ausgangsposition "holen". Wenn aber der Hallsensor insgesammt 15 mal angefahren wird.. welcher ist der Endpunkt?

  • Hallo Leute,


    wenn ich mich nicht irre, waren die 15 Umdrehungen ein anderer Post.


    Für eine Rückmeldung der Turmstellung könnte man auch mit der Drehachse des Turms ein Poti verbinden. Dann gibts ca 270 Grad Drehwinkel. Nachdem sowieso ein MC die Schrittimpulse erzeugen muss kann der dann auch die Spannung vom Poti auswerten. Die Genauigkeit spielt ja hier eher eine untergeordnete Rolle. Lediglich in den Endanschlägen des Potis brauchts eine kleine Sicherheitszone. Dann brauchts auch keine Taster und keine Referenzfahrt.


    Schöne Grüße und gutes Gelingen
    Alfred

  • Ich betreibe drei NEMA 23 Schrittmotoren an einem China-Arduino mit nachgebautem China-Shield in einer CNC Fräse. Selbst beim Fräsen von Aluminium raucht da nichts ab. Die 10 Euro-Dinger von Amazon kann man locker testen, allerdings lieber mehrere kaufen, bei einem Shield-Board war die z-Achse defekt (nicht der Treiber-Chip). Treiber Chips sind DRV...


    Sowas in der Art meine ich: https://www.amazon.de/Longrune…ywords=arduino+cnc+shield


    Ohne Arduino UNO kostets dann nur noch nen Zehner. Kuman ist ein zufriedenstellender Lieferant. Achtung: Alle diese Boards treiben nur drei Motoren. Der vierte Steckplatz ist zum Verdoppeln der Stromstärke auf einem der drei Kanäle ( z. B. Z-Achse)


    Der Mikrotaster kann auch in der Mittelstellung sein, wenn die Kontaktnase z. B. unter der Kanone sitzt. dann dreht der Motor zum Finden des Schalters im Extremfall eine komplette Runde (wobei ich nicht weiß, ob die Kanone dann irgendwo anstößt). Sonst benötigt man einen Endschalter und muss in der Software mitzählen. Besser (ohne mitzählen) sind zwei Endschalter, der Shield hat auch entsprechende Eingänge.


    Grüße,
    Thomas

  • Die Geschütztürme würden anschlagen. Ok, ein zweiter Hallsensor würde mir Arbeit beim programmieren ersparen und klein genug sind sie auch im Vergleich zum Mikroschalter. Wäre also machbar. Die Hallsensoren würde ich vom Arduino auswerten, oder bekommt das das Shield auch hin?

  • Das Shield ist dumm, es leitet nur die Signale des Arduino über die Motortreiber an die Motoren. Die Endschaltersignale werden vom Shield auf die Pinleiste des Arduino durchgeleitet. Das ist beim Originalshield auch dokumentiert, im Zweifel mal mit dem Durchgangsprüfer schauen, auf welchen Pin genau. Wenn man das Shield vor sich hat, sieht man, dass das nur doof auf der Pinleiste des Arduino steckt. Wie man die dann genau auswertet weiß ich nicht, da ich nur die fertigen GRBL-Treiber zum Fräsen verwende. Müsste aber eigentlich einfach das Auslesen eines digitalen Pins sein. Der ist dann 0 oder 1. Anders kann es ja auch nicht sein, weil das Shield ja nichts von Deiner Anwendung weiß und Code nur auf dem Arduino läuft.


    Das


    https://blog.protoneer.co.nz/arduino-cnc-shield/


    ist der Link zum originalen Shield. Dort kann man sich so ein bisschen was zum Boardlayout anlesen, auch wo die Endschalterpins (Pins 9, 10, 11, Limit X, Y, Z) hingehen. Beim CNC-Fräsen ist das so, dass beide Endschalter einer Achse auf demselben Pin liegen, weil die Steuersoftware weiß, in welche Richtung gefahren wurde und dann in die Gegenrichtung zurücksetzt. Du kannst ja für Deine Zwecke auch andere Pins missbrauchen, die zum Fräsen benutzt werden, aber bei deiner Anwendung nicht.


    Viele Grüße,
    Thomas

  • Ich hab mir für meine Zwecke ein Arduino Uno mit Port-Expander und zwei Motor Shields bestellt. So kann ich noch ein paar weitere Spielereien, die mir vielleicht noch einfallen, bauen. Ich warte jetzt erstmal auf die Boards und kümmere mich dann weiter um Schaltungsaufbau und Programm. Eigentlich sollten sie im laufe der nächsten zwei Wochen hier aufschlagen. ich werde auf jeden Fall weiter beichten.

  • Das Poti muss schon linear sein - wichtig sonst geht die Rückmeldung sicher schief. Ein normales, handelsübliches Poti geht. Es gibt auch spezielle 10-Gang-Potis bei z.B. Reichelt. Kosten um die 10 €. Mehrgang-Spindeltrimmer gehen sicher auch aber der mech. Anschluss ist da etwas diffizil weil das nur eine kleine Schraube ist.

  • Was auch geht, wen die Mechanik fest ist sobald der strom aus ist, kann man die letzte Proposition vor dem ausschalten ins EEPROM speichern. Somit hat der Arduino beim neustart immer gleich die letzte Proposition. Mann muss dann nur einmal beim zusammenbauen manuell den Startpunkt/Endlage einstellen.

  • Wenn es nur darum geht, eine Referenzposition zu haben, reicht es auch, einfach beim Einschalten die aktuelle Position als mittschiffs anzunehmen. Dann muss man nur dafür sorgen, dass sich die Geschütze beim Einschalten in etwa in der Mitte befinden. Oder man baut sich irgendwo am Schiff je Geschütz einen Taster ein, mit denen man die Nullposition manuell setzt.


    Wenn man ein entsprechend untersetztes Getriebe verwendet ist das Thema Eigenbewegung ohnehin keines mehr ...

  • Um ein Getriebe komme ich wahrscheinlich nicht rum, da die bestellten Stepper nur 20 Schritte/ Umdrehung haben. Ich werde die verschiedenen Varianten ausprobieren und natürlich berichten.

  • 20 pro Umdrehung? Sehr seltsam. Vielleicht nur ein Tippfehler? Standard sind 200. Du kannst Die aber möglicherweise im Mikroschrittbetrieb verwenden, dann macht der pro Impuls nur einen 1/n Schritt, wobei n eine Zweierpotenz ist. Der Mikroschrittbetrieb ist üblicherweise mit Drehmomentverlust verbunden, wobei der Verlust nicht so hoch ist wie die Reduzierung der Schrittgröße (ein Viertelschritt führt nicht zu 3/4 Drehmomenteinbuße).

  • Falls es keinen Sachgrund für diese Beschaffung gibt, würde ich mir überlegen, die zurückzusenden, wenn das geht. Zieht halt eine Menge Mehraufwand nach sich, die zu verwenden. Man kann ja evtl. bei demselben Händler andere bestellen.

  • Die Rücksendung kostet mich mehr, als die Motoren selber. Ich gehe im Moment noch davon aus, das der Händler es nicht besser weiß. Wenn der ganze Krempel da ist, werde ich sie 200 Schritte laufen lassen. Wenn sie 10 Umdrehungen machen, muss ich mir halt was einfallen lassen.

  • Ich stand diese Woche etwas dumm im Laden rum, als ich ein Poti kaufen wollte. Form und Farbe war recht schnell geklärt nur die Frage nach dem Widerstandsbereich konnte ich nicht so wirklich beantworten. Daher hier noch die Frage: Welchen Widerstandsbereich sollte das Poti haben?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!