Motortreiber-Platine (Lesen!)

Für Microcontroller und sonstige "echte" Technik-Themen, die sonst nichts mit ft zu tun haben
Everything technical that has nothing to do with ft
Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
Severin8b
Beiträge: 29
Registriert: 02 Nov 2010, 01:40

Motortreiber-Platine (Lesen!)

Beitrag von Severin8b » 25 Nov 2013, 17:57

Hallo zusammen!

Wie manche schon wissen bin ich grade dabei einen richtigen 3D-Drucker aus Fischertechnik umzusetzen. Da für die Ansteuerung mein Robo Interface nicht ausreicht und ich mir definitiv keine 3 TX zulege, wird die Elektronik selbst gebaut.
Nach längerem Überlegen hatte ich die Idee das ganze aus einer dicken I²C-Motortreiberplatine und einem Arduino aufzubauen. Fertige Treiberplatinen die meinen Anforderungen entsprechen konnte ich keine finden.

Meine Frage an euch: Habt ihr grundsätzlich Interesse an einer solchen Platine? Wenn sich mindestens 5 Leute melden, lohnt sichs für mich schon zu Layouten und das ganze nicht auf Lochraster zu basteln.
Hier meine angedachten Spezifikationen:
-AVR Controller
-16 Kanäle, je 4 an einem Hardware-PWM Port am AVR.
-Min. 2A pro Motor (Wenn Motor an 2 Kanälen)
-ansprechbar per RS232 (ggf. für RoboInt) und I²C, daher auch am TX nutzbar)
-6V bis mind. 24V Motorspannung möglich
-DIL Bausteine => Kann jeder einfach selbst löten

bei Fragen und Interesse bitte hier antworten, Grundsatzdiskussionen (nimm doch kein Arduino!, warum nicht gleich nen RasPi??, es gibt genug fertiges da draußen!!1!) bitte in einem eigenständigen Thread ;)

Viele Grüße
Severin

Benutzeravatar
schnaggels
Beiträge: 389
Registriert: 31 Okt 2010, 23:14
Wohnort: Kelkheim
Kontaktdaten:

Re: Motortreiber-Platine (Lesen!)

Beitrag von schnaggels » 26 Nov 2013, 12:23

Hi,

prinzipiell nicht uninteressant :)
Könntest du das eventuell noch etwas verdeutlichen?

- Wird das ein Shield was man auf vorhandene Arduino Boards aufstecken kann oder alles in einem?
Ein Shield wäre bevorzugt aber wegen DIL und den vielen nötigen Klemmen vom Platz sicher kaum machbar.

- Damit wären dann bis zu 16 z.B. Lampen oder 8 Motoren oder 4 Schrittmotoren ansteuerbar?

- mit 2A meinst du vermutlich den Dauerstrom? Wie sieht es mit kurzfristigem Spitzenstrom aus?

- planst du eine Strom-Messung / -begrenzung?

- Sollen irgendwelche Impulse / Endschalter abgefragt oder berücksichtigt werden?
Je nach Geschwindigkeit könnte das der Controller besser als erst über den Umweg Robo IF / TX -> Arduino

Gruß,
Thomas

Severin8b
Beiträge: 29
Registriert: 02 Nov 2010, 01:40

Re: Motortreiber-Platine (Lesen!)

Beitrag von Severin8b » 26 Nov 2013, 21:20

Tag,

-Das wird kein Shield, man kann aber z.B. ein Arduino per Kabel an den I²C Port anstecken.

-Ja, genau

-2A sind nur mein Wunschwert. Spitzenstrom hängt dann davon ab welchen Treiber-IC ich nehme, spontan hätte ich zum L298 gegriffen.

-habe ich bisher nicht geplant..

-Endtaster sind eine gute Idee, 8 Stück sollten sich auch ohne weiteres noch mit anbringen lassen.

Gruß Severin

Benutzeravatar
schnaggels
Beiträge: 389
Registriert: 31 Okt 2010, 23:14
Wohnort: Kelkheim
Kontaktdaten:

Re: Motortreiber-Platine (Lesen!)

Beitrag von schnaggels » 28 Nov 2013, 09:19

Moin,

wie sieht es denn generell mit der Logik aus, wird das eine "dumme" Platine die nur ein/aus macht oder soll die mehr Funktionen bekommen?
Der Arduino hätte mit dem Timing kein Problem, die Robo IFs schon. Speziell denke ich da an sowas wie:

- Motor 1 rechts 50% 100 Schritte
- Motor 2 links 100% bis zum Endschalter
- Motor 3 auf Anfang

Das wird dann allerdings deutlich aufwendiger als "nur" die über I2C / RS232 erreichbare Hardware, hätte aber mehr Nutzen...

Gruß,
Thomas

Ad2
Beiträge: 306
Registriert: 31 Okt 2010, 22:20

Re: Motortreiber-Platine (Lesen!)

Beitrag von Ad2 » 29 Nov 2013, 12:02

Hi,

I once started with a similar project and I think I still have an Eagle layout. I never completely finished the software however.
It was a half Eurocard (80x100mm2) with an ATMegaxx8 and two L298 for 4 DC motors or two stepper motors. It has the same 6-pin header as the TX and was intended to be controlled as a slave TX (RS485), it also has an I2C interface but that was intended as the connection to a second board, so I could double the number of motors. The board has current sensing so the current could be limited using PWM. I have put this project on hold in favor of a similar setup with also an ATMegaxx8 and RS485 interface. But instead of the L298 drivers I used the AMIS30624 (or TMC222). These were placed however on separate boards (each in a 9V battery case) and controlled via I2C (daisy chain). The driver has current regulation and an input for an end-switch. The ATMega with MAX485 also fits in a 9V battery box. I once demonstrated this as controller/drivers for the ft plotter. Independent of the driver IC an interesting feature that I added was the synchronous mode. Just as you can set the TX that two encoder motors should run (for a certain number of pulses) at the same speed, I implemented that the stepper motors would make a certain number of steps (could be different for each motor) and finish at the same time! Thus running at different speeds. This was achieved by implementing the Bresenham algorithm. In the present software this will only work for two motors. Algorithms however exist for e.g. 4 motors. Because the system looks like a normal TX-slave, it is compatible with RoboPro. If you're interested I can send you the files.
An alternative driver could be the A4988 which is available as relatively cheap module because it is used in many 3D printers.

Benutzeravatar
Defiant
Beiträge: 354
Registriert: 31 Okt 2010, 21:42
Wohnort: Narn Homeworld
Kontaktdaten:

Re: Motortreiber-Platine (Lesen!)

Beitrag von Defiant » 19 Dez 2013, 19:23

Die Logik ist ja "nur" ein Softwareproblem und deswegen austauschbar. Könnte man z.B. per I2C Bootloader tauschen.
"Propaganda does not deceive people; it merely helps them to deceive themselves."
E Hoffer

alekzander
Beiträge: 6
Registriert: 11 Mai 2013, 22:28

Re: Motortreiber-Platine (Lesen!)

Beitrag von alekzander » 22 Dez 2013, 14:28

Severin8b hat geschrieben:Tag,

-Das wird kein Shield, man kann aber z.B. ein Arduino per Kabel an den I²C Port anstecken.
Wenn ich das richtig verstehe, willst Du den Arduino als I2C Slave benutzen? Das aktuelle Motorshield von Adafruit (Adafruit Motor/Stepper/Servo Shield for Arduino v2 Kit - v2.0) http://www.adafruit.com/products/1438 benutzt einen über i2c kontrollierten 16-kanal PWM chip um 4 DC Motoren oder 2 Stepper anzusteuern. Max 1.2A pro Kanal. Das Teil liegt bei mir in der Schublade, und läuft hoffentlich irgendwann am Robo TX. Den PWM Chip gibt es auch separat als Breakout-Board. Zusammen mit entsprechenden Treiberbausteinen könnte man da auch eine Ansteuerung für 8 Motoren bauen, der Chip unterstützt auch die Abfrage von Tastern.

Gruss,
A.

heikoh
Beiträge: 37
Registriert: 23 Dez 2012, 11:29
Wohnort: Heidenheim

Re: Motortreiber-Platine (Lesen!)

Beitrag von heikoh » 29 Dez 2013, 16:55

Hallo,

für verschiedene komplexere Fischertechnik Projekte habe ich ebenfalls die Realisierung mit Hilfe des Arduinos + Motorshield realisiert. Dazu verwende ich einen Arduino und je nach Bedarf 1 oder mehrere Motorshields V2 von Adafruit. Mit jedem weiteren Board erhält man entweder die Ansteuerung für 4 Gleichstrommotoren oder 2 Schrittmotoren. Die Programmierung ist denkbar einfach. Einzig man sollte gleich stackable Headers mitbestellen, damit man die Shields alle aufeinander stecken kann.

Da alles über I2C läuft, bleiben sämtliche (bis auf 2 für I2C) Ports frei und man kann diese für weitere Zwecke verwenden. Genau wie beschrieben erfolgt die Anteuerung über Drehrichtung und Prozent der Leistung. Sicherlich kann man die Shields auch ohne Arduino und nur mit dem TX über I2C ansteuern. Dann müsste man aber die Bibliothek, die es fertig für den Arduino gibt noch portieren. Mehrere Shields erhalten über eine "Lötbrücke" die Adresse zugewiesen und lassen sich damit eindeutig ansprechen.

Kann die Adafruit-Platine nur empfehlen.https://www.adafruit.com/products/1438

Bin gerade dabei meine "Fischerduino" Erfahrung auf ein paar Seiten zusammenzuschreiben (Das Motorshield sollte die nächsten Tage kommen.) Dann gibt es die Infos hier: http://fischerduino.bplaced.net/

Bei speziellen Fragen helfe ich gerne

Heiko

Antworten