PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Suche USB-Controller



Birne94
31.10.2010, 14:36
Hallo,

Ich will in der nächsten Zeit mal in die Ansteuerung von Geräten via USB einsteigen. Daher brauche ich einen Microcontroller, der per USB angesteuert werden kann und über verschiedene Ausgänge verfügt. Erste Ziele wären beispielsweise die Ansteuerung von LEDs per Knopfdruck am PC. Die Programmierung/Ansteuerung sollte mit Hilfe von C/C++ möglich sein...
Die einzelnen Ausgänge sollten also direkt vom Programm ansteuerbar sein...

Grüße,
Birne

markusj
31.10.2010, 14:55
Da gibt es verschiedene Optionen:
a) USB-RS232 Wandler und dann nen Mikrocontroller deiner Wahl anschließen.
b) Einen Mikrocontroller mit eingebautem USB-Interface - Es gibt dazu z.Bsp. diverse AVRs.
c) Einen Mikrocontroller deiner Wahl mit einer Software-USB-Implementierung, etwa V-USB für AVRs.

Ich für meinen Teil habe bereits die Varianten a) und c) verwendet, c) hat den Vorteil dass man keine besondere zusätzliche Hardware braucht und auf bewährte (und bekannte) Mikrocontroller zurückgreifen kann. Allerdings ist der Programmier-/Einarbeitungsaufwand bei dieser Version etwas höher.

mfG
Markus

Birne94
31.10.2010, 15:06
Einen USB-RS232-Adapter besitze ich bereits. Liefert dieser Adapter dann allerdings auch genügend Strom für die angeschlossenen Bauteile? Welche Microcontroller wären denn für einen Anfäger wie mich geeignet?

Gruß,
Birne

TobiKa
31.10.2010, 15:40
Es gibt auch USB->UART Adapter, kosten nur 5Euro und sparen viel Arbeit.

Zu Anfang könntest dud ich in Richtung ATmega Reihe umschauen. Speziell den Atmega 8.

markusj
31.10.2010, 15:54
Einen USB-RS232-Adapter besitze ich bereits. Liefert dieser Adapter dann allerdings auch genügend Strom für die angeschlossenen Bauteile?

Hängt von der Bauweise ab. Du kannst via USB bis zu 500mA ziehen, allerdings muss das USB-Gerät dies dem Host vorher mitteilen (100mA ohne Anmeldung). Die meisten USB-RS232-Adapter dürften nicht darauf ausgelegt sein, überhaupt Strom zu liefern, sondern lediglich die beiden Signalleitungen schalten.

Unter dem Aspekt der Bastlersicherheit wäre es aber keine schlechte Idee, die Stromversorgung autark zu gestalten, USB-Ports sollen zwar Kurzschlusssicher sein, aber man weiß ja nie ...

mfG
Markus

PS: @Controller: Der ATMega88 (der Nachfolger des ATMega8) ist sicherlich kein schlechter Einstieg.

Birne94
07.11.2010, 12:27
Erstmal Danke für die Antworten.

Nachdem ich ein wenig gesucht habe, bin ich auf dieses Paket (http://www.aha-buch.de/Details.aspx?domain=9&prd_code=1004776196&ean=9783772346057) gestoßen. Hat jemand gute/schlechte Erfahrungen damit gemacht oder hat jemand evtl. sogar ein besseres Einsteigerset?

Gruß,

Birne

RedBaron
07.11.2010, 16:32
Naja, das Paket ist nicht wirklich spannend. Dafür aber teuer.

Der FTDI-Chip verhält sich auf der µC-Seite wie eine RS232-Schnittstelle. Der Treiber, der auf dem PC geladen wird, ebenfalls. Netto hat man eine schnelle RS232-Verbindung, nur dass sie zwischendurch via USB läuft. Das ist für viele Applikationen durchaus ok, aber wenn man mehr von USB verstehen will, nicht wirklich gut geeignet.

Ich selbst nutze V-USB von http://www.obdev.at/products/vusb/index.html (Variante c von markusj). Klappt prima. Es gibt viele Beispiele. Eine ganze Reihe werden bei obdev.at vorgestellt, für weitere wende man sich an die Suchmaschine seines Vertrauens. Ich selbst habe letztes Wochenende ein 12-Bit-IO-Modul auf Basis eine ATtiny 2313 damit gebaut (s. Foto). Werde ich auch in der nächsten Woche auf meiner Homepage dokumentieren.

Zu empfehlen ist, sich einen kleinen Adapter zu bauen (z.B.: http://bienonline.magix.net/public/usb_adapter.html). Ebenso ist es zu empfehlen, einen Quarz zur Frenquenztstabilisierung zu wählen. Die Varianten, die auf einer Feinjustierung des RC-Oszillators basieren, haben nicht immer gut funktioniert (kann aber auch ab meinem bescheidenen Aufbau liegen). Aber fürs erste sind die auch in Ordnung.

Dann solltes du von den vielen Möglichkeiten die USB bietet, ein sog. HID-Device implemtieren. Das lässt sich auf der PC-Seite am einfachsten ansprechen. Man braucht keine speziellen Treiber.

Viele Grüße

Birne94
07.11.2010, 16:58
Ok, Danke erstmal...

Beim Thema V-USB komme ich zwar immer noch nicht ganz mit, aber ok. Da das oben erwähnte Starterkit nicht so gut sein soll, habe ich mich mal weiter auf die Suche gemacht und dieses (http://www.we-shop.eu/aktive-Bauelemente/Mikroprozessoren/ATMEL/Starter-Kits/Atmega88-Starterset-20Mhz-ISP10::2420.html?refID=1337) kleine Set gefunden, welches den Atmega88 mit Fassung sowie ein paar Kleinteilen (wenn ich es recht sehe, sogar einen Quarz) enthält. Die Frage ist nun, was ich sonst noch alles brauche (Platine/Steckbrett, USB-Adapter bzw. Programmierboard etc.). LEDs, Widerstände & Co. hab ich daheim noch genügend rumliegen.
Bisher habe ich es mir so vorgestellt, dass ich eine Platine/Gerät habe, mit dessen Hilfe ich einfach das kompilierte Programm (vorzugsweise C) auf den Controller kopieren kann. Danach wird er in den Sockel gesteckt und fertig. Als Programmier-Interface habe ich bereits dieses (http://www.watterott.com/de/Atmel-AVR-ISP-MKII-USB) gefunden, jedoch habe ich keine Ahnung, ob es seinen Preis wert ist ;)

Gruß,

Birne

RedBaron
07.11.2010, 19:27
Ok, du scheinst nicht nur bei USB nahezu bei null anfangen zu wollen. Löbliches Vorhaben :-)

Vielleicht solltest du dann nicht alle Probleme gleichzeitig auf dem Hals haben wollen. Unter diesem Aspekt sollte man sich das Lernpaket doch noch einmal anschauen. Der Link funzt leider gerade nicht. Aber wenn ich mich recht erinnere, hatten die Bascom (also Basic) und du wolltest C/C++.

Schau doch einmal nach ARDUINO. Das sind fertig aufgebaute Module verschiedener Größe und Leistunsstärke (und Preis) mit denen man recht einfach beginnen kann und die auch ausbaufähig sind. Software etc. ist open source. Für die gibt es auch USB-Zusätze.
Schau einmal diesen Artikel der c't: http://www.heise.de/ct/projekte/Arduino-Mikrocontroller-fuer-Einsteiger-284189.html
Gibt es auch als Lernpaket: http://www.voelkner.de/products/184997/Lernpaket-Arduino.html
wetterott macht gerade Abverkauf für 22,61€ http://www.watterott.com/de/Arduino-Duemilanove

Birne94
10.11.2010, 20:07
Ich hab mich jetzt ein wenig im Internet umgesehen und muss sagen, dass der Adruino gar nicht schlecht aussieht. Die Programmierung scheint ebenfalls relativ einfach zu sein und er bietet alle Funktionen, die ich mir vorgestellt hatte. Dennoch habe ich noch 2 Fragen an euch:
Lohnt es sich, dieses Starter-Set (http://fritzing.org/shop/starter-kit/) zu kaufen bzw. hat jemand Erfahrungen damit? Ich hab mir zum Vergleich schonmal diverse Bauteile auf Conrad.de zusammengesucht und komme vom Preis her auf ungefähr den gleichen.

Beim Arduino funktioniert die Kommunikation über einen eingebauten USB-RS-232-Wandler, wenn ich das recht verstanden habe. Wird, wenn der Controller an ist, dieser als serielle Schnittstelle erkannt und kann direkt angesteuert werden oder muss man den Umweg über TX- und RX-Port des Boards (Arduino Uno) gehen?

Gruß,

Birne