Für die Motorsteuerung kannst Du eine H-Brücke verwenden. Hier ist sowas erklärt, wie das aufgebaut ist und programmiert wird: https://www.arduino-tutorial.de/moto...m-h-bridge-ic/
Den Arm habe ich am WE bekommen und zusammen gebaut, ist schon eine günstige/einfache Hardware. Ich werde es heute mal testen, ob alle funktioniert.
Einen Arduino Uno hatte ich die Tage günstig gesehen und bestell,ich denke, dass ich erst mal damit Anfangen werde und der ziel wird dann sein:
Denn vorhanden Controllpannel abklemmen und dort den Uno + 10 Taster einbauen. Wenn das klappt, dann weiter...
Zwar weiß ich viel, doch möcht' ich alles wissen.
Für die Motorsteuerung kannst Du eine H-Brücke verwenden. Hier ist sowas erklärt, wie das aufgebaut ist und programmiert wird: https://www.arduino-tutorial.de/moto...m-h-bridge-ic/
@Moppi
danke für den link...wie seht es aus, zwei der drei L293D´s kann ich auch mit den Uno betrieben oder? Weil auf den Bild sind 6 Pins mit PWM gekennzeichnet.. ich dachte, dass das Board Uno nur 3 PWM Ausgänge hat?
Zwar weiß ich viel, doch möcht' ich alles wissen.
Achso, habe ich nicht gesehen, dass die am PWM hängen!
PWM benötigst Du nur zur Geschwindigkeitsregelung des Gleichstrommotors. Ansonsten kann man das auch einfach per AN/AUS steuern. Die PWM-Ausgänge kann man als einfache Ausgänge definieren und dann einfach mit LOW und HIGH steuern (also Strom an/ Strom aus).
Pro Steuerung eines Motors brauchst Du 3 Leitungen (Ausgänge).
Der Arduino hat 12 Ausgänge (ohne serielle Schnittstelle), das reicht aus für 4 Motoren.
5 Motoren hast Du. 4 für den Arm und 1 für den Greifer. Da müsstest Du noch einen Multiplexer dazwischenschalten. Darüber könntest Du auswählen welchen Motor Du steuern willst. Einen von zwei Motoren könntest Du dann immer wechselnd ansteuern. Die anderen 3 Motoren parallel dazu. Oder Du nimmst einen zweiten Arduino Uno und hängst schaltest den zusammen, mit dem andern Arduino.
Einen einfachen Multiplexer könnte man aus einem 74HC132 aufbauen, denke ich. Oder gleich einen SN74LS257BN nehmen.
Wenn ich das richtig verstanden habe, wird das PWM-Signal an den Aktivierungspin 1 und 9 geführt. Pin 2 und 7 der H-Brücke sind für die Richtung zuständig. Wenn diese beide Pins auf HIGH oder LOW geschaltet sind, steht der Motor. Ergo könnte man auch einfach an einem L293D die Pins 1 und 9 zusammenschalten und einem PWM-Ausgang des Arduino zuführen. Damit gelangt das PWM-Signal an beide Seiten des IC gleichzeitig. Dann würde Pin2 und Pin 7, sowie Pin 10 und Pin 15 darüber entscheiden, welcher Motor läuft. Indem jeweils das eine Paar oder das andere Paar gemeinsam auf LOW oder HIGH geschaltet wird. Dann braucht man keine extra IC mehr.
Geändert von Moppi (17.09.2018 um 13:40 Uhr)
ich sagte ja bereits: nimm einen Mega2560, der Uno ist zu wenig geeignet - was war daran nicht zu verstehen?
wenn du L293 Brücken nimmst, solltest du sie pro Motor mit in1,in2,pwm verkabeln, das sind schon 3 Pins pro Motor.
Da DC Motoren keine Stellung erkennen, brauchst du dafür nochmal 2 Pins für Rotationsencoder, also 5 Pins pro Motor.
Das macht bei 4 DOF 20 Pins, bei 5DOF 25 Pins: Das macht mit Unos ÜBERHAUPT KEINEN Sinn.
Servomotoren hingegen brauchen nur 1 pwm Pin pro Motor, die Stellung wird halbwegs genau automatisch angefahren, dafür reicht zur Not GERADE ein Uno.
Für UART (2), I2C (2) und SPI(3) ports gehen insgesamt nochmal insgesamt 7 Pins verlustig, und weitere einfache Schalter/Taster je 1 weiterer Pin.
Damit ist der Uno soweit ausgelastet, dass er Pin- und Speicher-mäßig bereits kurz vor dem Abgrätschen ist.
Und jetzt rate, warum ich das oben entsprechend empfohlen habe... :-/
Das heißt, wenn ich 5 Motoren steuern will, brauche ich 2 SN74LS257BN dahinter kommen dann noch 2 L293D?
Zwar weiß ich viel, doch möcht' ich alles wissen.
nein, 3x L293D und 1 Arduino Mega.
@HaWe
Ok da mit Mega ist jetzt klar und muss mir noch einen besorgen.
Zur Zeit habe ich nur einen Uno hier lieg, damit lässt sich das so einfach nicht realisieren... schade
Zwar weiß ich viel, doch möcht' ich alles wissen.
Oder 1 Arduino Uno und eine andere Beschaltung. Indem man die Akttivierungspins eines L293D zusammenschaltet. Dann braucht man pro L293D noch 5 Leitungen für 2 Motoren. 10 Leitungen für 4 Motoren. Und 13 Leitungen für 5 Motoren. Damit könnte man dann immer 3 Motoren, von 5, zur selben Zeit ansteuern.
11 Leitungen würden benötigt, wenn man alle Aktivierungspins zusammenschaltet.
Geändert von Moppi (17.09.2018 um 13:56 Uhr)
mit Aktivierungspins zusammenschalten: das ist Murks!
Dann laufen die manchmal schon beim Booten unkontrolliert los.
Machs vernünftig!
Und steck keine unnütze Energie und Material in den Uno!
Lesezeichen