Archiv verlassen und diese Seite im Standarddesign anzeigen : L293 Shield
Ralph Eckardt
06.03.2020, 08:28
Ich baue zur Zeit an einer RC Galeere mit aktiver Rudersteuerung.
Dazu verwende Ich eine C-Control Maxi M-Unit.
Daran anschliessen möchte ich ein L293 Motorscchield Adapter
der ist eigendlich für den Arduino
Leider Wurde mir kein Manual bzw Datenblatt für die Pinbelegung beigelegt.
Jetzt meine Frage, hat jemand die Pinbelegung mit Beschreibung ??
hier ein Bild des Shields.
ich möchte 2 Schrittmotoren anschliessen die Syncron laufen
Wäre toll wenn mir jemand helfen Könnte
Gruß
Ralph Eckardt
Meinst Du so eine Beschreibung zum Motorshield?
https://learn.adafruit.com/adafruit-motor-shield/overview
https://cdn-learn.adafruit.com/downloads/pdf/adafruit-motor-shield.pdf
Ralph Eckardt
06.03.2020, 08:56
Ich schau mal nach
Erst mal danke
- - - Aktualisiert - - -
Hallo
Ich brauche die Belegung der Pinne. .die Anschlüsse sind mir bekannt.
Der shield soll an eine C-Control Maxi
Danke
oberallgeier
06.03.2020, 11:07
Hallo Ralph,
willkommen im Forum.
Dein erster Post sieht bei mir so aus:
......https://dl.dropbox.com/s/m5hqpzzlzre5gi4/HiereinBild.jpg?dl=0
Sprich: nix Bild. So nach dem Motto : so sieht die Semmel aus - welche Zutaten hat der Bäcker reingetan? Beschreibungen haben wohl viele hier.
.. Ich brauche die Belegung der Pinne .. die Anschlüsse sind mir bekannt ..Das mit dem Brauchen ist so ne Sache. Wer mit dürftigen Angaben nur braucht - braucht jemand mit Kristallkugel. Je weniger Angaben, desto größer muss die Kristallkugel sein.
wenn das mit dem Hochladen von Fotos nicht funktioniert (die Forumsfunktion ist da sehr fehleranfällig), dann poste vlt lieber einen Link zum Artikel (Onlineshop oder Ebay etc.)
Ralph Eckardt
07.03.2020, 09:36
Hallo und guten Morgen,
sorry das mit dem Hochladen hat nicht geklappt.
es Handelt sich um den Adafruit Motorshield
https://www.fasttech.com/product/1012000-adafruit-compatible-motor-control-shield-l293d
ein Link mit Bild.
Das Teil wird ja mit seinen Pinnen auf den Arduino aufgesteck
genau für diese Pinne suche ich die Belegung.
Da ich das Teil mit einer C-Control Maxi betreiben möchte.
Danke
Ralph
Rabenauge
07.03.2020, 09:47
https://www.adafruit.com/product/81
Alles schön dokumentiert (weiter unten gibts auch den Schaltplan).
https://www.adafruit.com/product/81
Alles schön dokumentiert (weiter unten gibts auch den Schaltplan).
also ich persönlich würde aus diesen Angaben nicht schlau werden, welche Pins man wofür braucht zur Ansteuerung - ausgenommen die Lüsterklemmen für die Motoren :D
Handelt es sich außerdem tatsächlich um die alte Shield-Version 1.2 aus diesem Link oder um die neuere Shield Version 2.3?
- - - Aktualisiert - - -
Außerdem scheint das Shield seine ganz eigene Lib zu haben mit ganz spezifischen Arduino-Befehlen, keine Ahnung, wie die Lib funktioniert und wie man sie auf Conrad portieren könnte.
#include <AFMotor.h>
AF_Stepper motor(48, 2);
void setup() {
Serial.begin(9600); // set up Serial library at 9600 bps
Serial.println("Stepper test!");
motor.setSpeed(10); // 10 rpm
motor.step(100, FORWARD, SINGLE);
motor.release();
delay(1000);
}
void loop() {
motor.step(100, FORWARD, SINGLE);
motor.step(100, BACKWARD, SINGLE);
motor.step(100, FORWARD, DOUBLE);
motor.step(100, BACKWARD, DOUBLE);
motor.step(100, FORWARD, INTERLEAVE);
motor.step(100, BACKWARD, INTERLEAVE);
motor.step(100, FORWARD, MICROSTEP);
motor.step(100, BACKWARD, MICROSTEP);
}
https://learn.adafruit.com/adafruit-motor-shield/using-stepper-motors
Ich würde dem OP empfehlen, einfache L293 Breakout Boards zu verwenden und ganz simpel mit pwm anzusteuern.
https://www.ebay.de/itm/L293D-Mini-Motor-Shield-Expansion-Module-PCB-For-PIC-Raspberry-Pi-Arduino/182307855693?hash=item2a72651d4
Rabenauge
07.03.2020, 10:03
Wenn man sich die Fotos anschaut, entdeckt man _gewisse_ Ähnlichkeiten..oder?
Das neuere sieht ganz anders aus....
Das alte hab ich auch irgendwo rumliegen- ziemlich gruselig, das lässt kaum noch freie Pins über.
Wofür die alle gebraucht werden: keine Ahnung, dazu müsste man wohl die Bibliotheken dazu mal sezieren....
naja, es hat mind. 4 Motoranschlüsse, d.h. 4x3=12 Arduino Pins alleine dafür, kein Wunder, dass da kaum Pins übrig bleiben.
Die Frage vom OP ist ja: welcher wofür?
Und meine Frage zusätzlich: einfache pwm/in/en L293-Befehlsgruppen oder spezielle, abweichende für die Adafruit Platine?
wie gesagt,
Ich würde dem OP empfehlen, einfache L293 Breakout Boards zu verwenden und ganz simpel mit pwm anzusteuern.
https://www.ebay.de/itm/L293D-Mini-Motor-Shield-Expansion-Module-PCB-For-PIC-Raspberry-Pi-Arduino/182307855693?hash=item2a72651d4
021aet04
07.03.2020, 10:23
Die Lib muss man nicht verwenden, wenn man versteht wie das Ding angesteuert wird.
Pin 3, 5, 6 und 11 gehen auf die 4 Enable Pins der beiden L293. Bei einem DC Motor verbindet man diese Anschlüsse mit dem PWM Signal, bei einem Stepper ist das einfach eine Freigabe (Stromabschaltung).
Dann hast du noch ein normales Schieberegister 74HC595. Wie der angesteuert wird steht im Datenblatt. Der 74595 wird verwendet um die Dir Eingänge der beiden L293 anzusteuern.
Der 74595 hat gesamt 5 Eingänge, wobei der Reset Eingang fix mit 5V verbunden ist (Schaltplan).
Das SR (Schieberegister) ist etwas spezieller, da es nicht nur ein SR ist, sondern auch noch einen schaltbaren Ausgangstreiber besitzt.
2 Pins sind für das SR zuständig, 1xDaten und 1x Clock.
2 Pins sind dann für den Ausgangstreiber zuständig, 1xClock zum Übernehmen der Daten aus dem SR und einmal das Output Enable Signal, damit kannst du den Ausgang hochohmig schalten.
Der Ablauf ist dann so:
1) Du schiebst 8 Bit in das interne Schieberegister. Am Ausgang des internen SR liegen jetzt die 8Bit an.
2) Jetzt musst du 1 Takt auf den Ausgangsclock (Dir_Latch) geben, damit das SR die Daten vom internen SR an den Ausgang überträgt. Das OE Signal muss aber Low sein, sonst ist der Ausgang High-Z.
Edit: 2 Pins sind noch verplant für die beiden Servo Anschlüsse.
MfG Hannes
Ich würde diese Teile überhaupt nicht verwenden. Als sie mal vor über 30 Jahren erfunden wurden, waren sie Stand der Technik, das gilt aber schon lange nicht mehr. Sie waren aber auch damals nicht gedacht, alleine einen Stepper zu treiben sondern zusammen mit einem L297 der die Schrittfolge und vor allem den Stromchopper realisiert hat. Für einen Betrieb eines Steppers mit guten Wirkungsgrad waren sie nie geeignet, das ist aber bei einem Betrieb an einem Akku ein wichtiges Kriterium. Auch spielt es bei einem stationären System keine Rolle, wenn der Motor größer gewählt werden muß, weil die Steuerung suboptimal ist.
Es ist ja nicht so, daß es nichts besseres gibt. Im Umfeld der 3D-Drucker gibt es Steppermotortreiber in großer Zahl. Die sind nicht nur billiger, effizienter und kleiner, sondern arbeiten durch ihre Stromsteuerung ziemlich unabhängig von der Versorgungsspannung. Das ist für einen Betrieb in einem Modell sicher wichtig. Über die verschiedenen Modelle mit A4988 oder DRV8825 ist hier nun schon oft geschrieben worden.
MfG Klebwax
021aet04
07.03.2020, 13:20
Ich würde die L293 auch nie verwenden, auch nicht wenn ich die gratis bekommen würde.
Als Ersatz für einen defekten Treiber ja, für einen Neubau/Neuentwicklung nein.
Ich weiß auch nicht warum es so viele Platinen mit dem alten Treiber gibt.
MfG Hannes
Ralph Eckardt
08.03.2020, 05:24
Hallo und guten Morgen zusammen.
erst einaml Danke für die Prompte Hilfe
An HaWe, ih habe mir den L293D Mini Motor Shild angeshaut
und direkt 2x bestellt. Das Treiber Baustein sieht übersichtlich aus und ist wohl genau das was ich brauche.
Der Hintergrund zum Verstöndniss ist, Icch baue an eine RC Galeere und möchte mit den Steppern die Ruderanlage
steuern, so das die Galeere nur durch die Ruder angetrieben wir.
Eine Frage noch vorweg, an den Pinnen IN1 - IN4 was für eine Signal muß da anliegen ?
ich konnte im Netz bislang nichts genaues finden.
Danke nochmal für den Tip
Gruß
Ralph Eckardt
021aet04
08.03.2020, 10:06
Für soetwas gibt es das Datenblatt http://www.ti.com/lit/ds/symlink/l293.pdf
Das sind die Eingänge für die 4 Treiber die der L293 besitzt.
Aber warum kaufst du wieder ein Board mit dem alten L293 wenn davon abgeraten wird?
MfG Hannes
die Steuerlogik, so wie ich sie kenne, sieht so aus (kann bei dir ntl grundsätzlich abweichen):
Steuerlogik: en=enable, in=input
Motor1: in1/in2/en1
Motor2: in3/in4/en2
in1(3) in2(4) en1(2)==pwm Funktion
================================================== ========
LOW LOW LOW coast
LOW HIGH pwm rechts pwm
HIGH LOW pwm links pwm
HIGH HIGH pwm brake pwm
Grundsätzlich ist es sogar so, dass bei enable=LOW die in-Pin-Level egal sind, es ergäbe immer coast (Leerlauf) - ich mache dann für meine Steuerungen nur aus Sicherheitsgründen und zur Eindeutigkeit auch alle inputs auf LOW.
rechts/links-Lauf ist ntl. relativ zu verstehen, und dafür müssen ggf die inputs umgepolt werden, damit es fürs Modell passt.
Und wenn der relativ schlechte Wirkungsgrad des L293 v.a. bei rel. geringer Last kein technisches Problem ist, kann man den L293 IMO auch durchaus vertreten.
die Steuerlogik, so wie ich sie kenne, sieht so aus (kann bei dir ntl grundsätzlich abweichen):
Steuerlogik: en=enable, in=input
Motor1: in1/in2/en1
Motor2: in3/in4/en2
in1(3) in2(4) en1(2)==pwm Funktion
================================================== ========
LOW LOW LOW coast
LOW HIGH pwm rechts pwm
HIGH LOW pwm links pwm
HIGH HIGH pwm brake pwm
Hier gehts um Schrittmotore, da taugt diese Beschreibung gar nicht.
ich möchte 2 Schrittmotoren anschliessen die Syncron laufen
MfG Klebwax
Hier gehts um Schrittmotore, da taugt diese Beschreibung gar nicht.
MfG Klebwax
stimmt, hatte ich überlesen.
vlt hilft dieser Link: https://www.mikrocontroller.net/topic/90745
Du must abwechselnd die beiden Phasen
invertieren. Also wenn an PB4 und PB5 der eine Schrittmtor hängt musst
du ausgeben
PB4 PB5
0 0
0 1
1 1
1 0
Immer in der Reihenfolge, mit ausreichend Pausen dazwischen (10ms oder
mehr).
Wenn du die Folge rüchwärts ausgibst dreht der motor in die andere
Richtung.
das sind offenbar die Werte für in1/in2, enable ist bei Betrieb dann immer HIGH.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.