PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ansteuerung über USB ?



Bura.Tino
10.12.2007, 13:58
Servus.

Vielleicht kennt ja jemand diese Mini-Raketenabschussbasis für USB !? Die wird ja auch über USB mit Hilfe eines Programms gesteuert. Mich würde mal interressieren wie man sowas umsetzen kann !?
Also ich möchte 3 (oder mehr) Motoren mit meinem PC steuern können, aber weiß leider nicht was ich dazu für eine Schaltung brauche. Hab schon bissl gesucht, aber da ich nicht weiß wonach ich genau suchen muss, blieb das leider erfolglos.

Hat da jemand von euch Erfahrung damit und kann mir ein bissl weiterhelfen ?

BASTIUniversal
10.12.2007, 15:23
Hi!
Am einfachsten wäre es, mit einem USB-UART Wandler (z.B. FT232) eine serielle Schnittstelle zu generieren. An diese serielle Schnittstelle könnte man dann einen Microcontroller hängen, der die Ansteuerung der Motoren bzw. der Motortreiber übernimmt.
Alternativ könnte man einen FT245 verwenden, der einen parallelen 8 Bit Bus zur Verfügung stellt. Dann entfallen aber so schöne Funktionen wie Strombegrenzung und andere Features.

Ich arbeite zufällig an einem ähnlichen Projekt für die Schule. 3 Schrittmotoren für einen Plotter über USB ansteuern...wobei ich "nur" für die Hardware zuständig bin :-)

MfG
Basti

P.S.: Diese "Raketenbasis" wurde schon öfter mal hier im Forum erwähnt. Einfach mal suchen, vielleicht hat da ja jemand erfolgreich was draus gemacht 8-[

Bura.Tino
10.12.2007, 16:07
Kann man damit denn nur Schrittmotoren steuern ? :-s
Ich hätte eher an ganz normale Gleichstrommotoren oder LEDs und sowas gedacht.
Gibt es denn irgendwo schon fertige Schaltungen mit Bauteilliste und Schaltplan für den USB-UART Wandler ?

SIGINT
10.12.2007, 16:30
Hi Bura.Tino,
die einfachste Möglichkeit ist die von BastiUNIVERSAL. Ein FTDI USB<->RS232 Wandler ist relativ preiswert und zuverlässig. Wenn du aber viel Geduld hast kannst du dich in folgende Firmware einarbeiten und eine Software-USB Lösung nutzen:
http://www.obdev.at/products/avrusb/index-de.html

Gruß,
SIGINT

BASTIUniversal
10.12.2007, 16:35
Nein, du kannst (wenn du denn Microcontroller programmieren kannst) so ziemlich alles damit über den PC steuern.
Für normale Gleichstrommotoren braucht es halt eine H-Brücke, LED's könnte ein FT232 bzw. FT245 ohne weitere Beschaltung (abgesehen von einem Widerstand) treiben.

USB-UART Wandler gibt es auch fertig zu kaufen...die FT2xx sind alle im SSOP Gehäuse (oder so ähnlich), da braucht es schon ein bisschen Erfahrung, um die zu löten!

Falls du noch nicht so viel mit Elektronik gearbeitet hast, würde ich dir ein einfacheres Projekt für den Anfang empfehlen! Vor allem Grundlagen in analoger und digitaler Schaltungstechnik (findet sich ja fast alles hier im Board und im RN-Wissen).

MfG
Basti

Bura.Tino
10.12.2007, 20:05
@SIGINT
Also in irgendwelche Firmware will ich mich nicht einarbeiten. Die Software zur Ansteuerung würde ich selber schreiben, ich brauch lediglich eine Schaltung die ich zusammenlöten kann mit der ich dann Motoren und ähnliches steuern kann.

@BASTIUniversal
Ich hab in der Tat noch nicht so viel mit Elektronik gearbeitet. Deswegen bringen mir die ganzen Fachbegriffe auch nicht viel.
Ich will auch kein Profi in Elektronik werden, sondern nur eine Schaltung bauen mit der ich verschiedene Sachen über den PC steuern kann.

Bura.Tino
11.12.2007, 10:51
*Hochschieb* :)

Bura.Tino
12.12.2007, 09:31
Hm. Hat denn niemand eine Ahnung von sowas ? Wo sind denn die Profis ? :-s

BASTIUniversal
12.12.2007, 13:47
Hi!
Also wenn es dir hauptsächlich um die Programmierung von PC-Programmen geht, dann wäre so ein FT245 mit etwas Schutzbeschaltung oder ein µC dessen Ausgänge du per USB/RS232/Parallel schalten kannst optimal.

So eine kleine Plattform gibt es eventuell schon, wenn nicht kann man das ja mal gemeinschaftlich Entwickeln.

MfG
Basti

P.S.: Das es in einem Forum mal etwas länger dauern kann, daran musst du dich gewöhnen. Ist ja schließlich kein Chat ;-)

Bura.Tino
12.12.2007, 14:23
Also mir gehts nicht darum Elekronikprofi zu werden, sondern darum, daß ich mir irgendwas zusammenbauen (einen Roboterarm oder ähnliches) und über den PC steuern kann.
Also in dem Sinne würde ich mir gerne eine Schaltung bauen, an die ich verschiedene Sachen (hauptsächlich Motoren, aber auch Lampen oder sowas) anschließen und mit dem PC steuern kann. Nur dafür müsste ich wissen welche Bauteile ich in welche Kombination bringen müsste, also einen Schaltplan haben.
Wenn Du mir dabei helfen könntest, wär das echt super !

VG, Tino

RePS: Du hast ja Recht, aber ich bin halt so ungeduldig. ;)

BASTIUniversal
12.12.2007, 15:12
Naja, auch ein "nicht Elektroprofi" braucht vor allem eines: Grundlagen!
Für einen Roboterarm braucht man auch nicht nur "ein bisschen" Elektronik Wissen, selbst wenn man 75% davon mit Software macht!

Lies am besten mal (viel) im RN-Wissen, da sind einige gute Grundlagen drin, ansonsten kannst du im "Buch-Forum" nach geeignetem Lesestoff suchen.

Und für den Anfang: Ganz klein Anfangen! Auch wenn es erstmal nichts mit dem eigentlichen Projekt zu tun hat.

MfG
Basti

Bura.Tino
12.12.2007, 20:20
Na das will ich ja gerade nicht, weil ich dafür auch gar keine Zeit habe.
Es soll funktionieren. Warum es das tut, muss ich gar nicht wissen.
Von daher wäre es am besten, wenn mir jemand einen Schaltplan für sowas geben könnte und ich einfach nur die Bauteile kaufe und die Schaltung zusammenlöte. Das wäre für mich ideal, denn die Grundlagen interressieren mich nicht wirklich. Desweiteren hab ich da auch gar keine Zeit für sowas.

askazo
13.12.2007, 08:29
Welche Erfahrungen hast Du denn überhaupt?
Kannst Du die Steuersoftware für den PC programmieren?
Hast Du schon mal einen Mikrocontroller programmiert?

askazo

Bura.Tino
13.12.2007, 09:01
Also ich kann Schaltungen lesen und sie auch umsetzen. Löten und die Steuersoftware zu programmieren stellt auch kein Problem für mich da.
Einen Mikrocontroller habe ich noch nicht programmiert, aber muss ich das denn bei meinem Vorhaben ? Ich will ja eigentlich nicht irgendwelche Chips programmieren der dann nach seinem Muster irgendwas bewegt, sondern verschiedene Sachen direkt ansteuern. Also wenn ich eine Taste am PC betätige, soll sich halt Motor Nr. 1 rechtsrum drehen, zum Beispiel.

askazo
13.12.2007, 09:11
Seine Steuerschaltung muss aber wissen, dass Du eine Taste betätigt hast und dass sich dann Motor 1 drehen soll. Die Verbindung zum PC soll ja per RS232 erfolgen, also eine serielle Kommunikationsleitung. Um dieses serielle Protokoll einzulesen und auszuwerten, brauchts zwangsläufig einen Mikrocontroller...

Also ohne ein wenig Zeitaufwand wirst Du das so ohne weiteres nicht selbst realisieren können.

askazo

Bura.Tino
13.12.2007, 09:14
Wieso RS232 ? Eigentlich will ich es ja über USB steuern und nicht über den Com-Port, oder hab ich da was falsch verstanden ? :-O

askazo
13.12.2007, 09:22
Wenn Du direkt über USB steuern willst, wird's extrem schwierig. Zum einen müsstest Du dann einen Treiber für Dein USB-Gerät schreiben und zum anderen ist die Realisierung des USB-Protokolls auf dem Controller auch nicht ohne. Deshalb hatte Basti ja schon den USB-RS232-Wandler vorgeschlagen. Das ist im Prinzip nichts anderes als ein externer Com-Port mit USB-Anschluss. Du stecktst das Ding zwar in den USB-Port ein, sprichst ihn aber an wie einen Com-Port. Das ist die wesentlich einfachere Lösung.

askazo

Bura.Tino
13.12.2007, 09:57
Achso. Das wusste ich nicht. Ich dachte man steckt das dann an den Com-Port. Danke für die Aufklärung.

Hast Du denn eine Idee für solch eine Schaltung ?

askazo
13.12.2007, 10:32
Den USB-RS232-Konverter gibt's für knapp 10-15€ im Computerfachhandel. Selber bauen lohnt da nicht.
Für die Steuerplatine stricke ich Dir im laufe des Tages mal einen groben Schaltplan zusammen.

askazo

Bura.Tino
13.12.2007, 10:38
Alles klar. Danke.

askazo
13.12.2007, 16:19
So, hier mal ein Basisschaltplan für einen ATMega8 mit RS232-Anschluss und Motortreiber für 2 Motoren an 12V.
Damit könntest Du nun die Motoren per PC ansteuern (Rechts-/Linkslauf, Stop).

Gruß,
askazo

Bura.Tino
13.12.2007, 21:10
Oh...Die is ja doch komplizierter als ich dachte. :O Wozu brauch ich denn gleich 3 von diesen IC's ?

Ich glaub ich hab das auch bissl falsch erklärt. Also der Strom für die Motoren soll nicht über USB geliefert werden, sondern durch eine externe Stromquelle. Die Schaltung soll also die Motoren nicht an- und abschalten, sondern die Stromkreise für die Motoren zu- oder aufmachen.

BastelWastel
13.12.2007, 22:37
3IC's?..
Der RS232 ist ein Pegelwandler von RS232 (+/-12V) auf TTL (5V)..
Der ATmega sollte klar sein..
Der L293 ist ein Motortreiber mit 2 integrierten H-Brücken..

askazo, mit welchem Programm haste den Plan gezeichnet?

askazo
14.12.2007, 08:45
Oh...Die is ja doch komplizierter als ich dachte. :O Wozu brauch ich denn gleich 3 von diesen IC's ?

Ich glaub ich hab das auch bissl falsch erklärt. Also der Strom für die Motoren soll nicht über USB geliefert werden, sondern durch eine externe Stromquelle. Die Schaltung soll also die Motoren nicht an- und abschalten, sondern die Stromkreise für die Motoren zu- oder aufmachen.

Nein, Du hast das schon richtig erklärt. Hier wird nix über USB versorgt, sondern alles über eine externe Spannungsquelle, in meinem Beispiel mit 12V. Allerdings fehlt im Plan noch ein Spannungsregler, der die 5V für den Controller erzeugt.

Die Schaltung macht genau das, was Du möchtest.
Der MAX232 hängt direkt am USB-RS232 Konverter. er ist notwendig, da die RS232 mit +/-12V arbeitet, der Controller allerdings mit 0V/5V.

Der Controller ATMega8 muss mit einem entsprechenden Programm gefüttert werden, damit die Schaltung auch weiß, was sie mit den empfangenen Daten anzufangen hat.

Der H-Brückentreiber L293 macht genau das, was Du beschreibst, nämlich "die Stromkreise für die Motoren zu- oder aufmachen". Und das für Links- bzw. für Rechtslauf.

Das ist übrigens eine der einfachsten Grundschaltungen für ein Gerät mit PC-Anbindung...

@BastelWastel: Der Plan ist mit Pulsonix gezeichnet (www.pulsonix.com). Allerdings mit vollständig selbst erstellten Bibliotheken.

Gruß,
askazo

Bura.Tino
14.12.2007, 10:42
Wow. Ich hätte nie gedacht, daß da soviel Technik dahntersteckt. :O
Da muss ich wirklich erstmal dahintersteigen. :(