Hallo liebes Forum! Ich habe vor, meinen Mikrocontroller mithilfe einer USB-Schnittstelle über den PC (Windows) zu steuern. Das heißt, dass ich am liebsten alles "in einem chip" hätte, sodass ich direkt vom Mikrocontroller auf den USB-Anschluss gehen kann. FTDIs möchte ich vermeiden, da diese immer mit "virtuellen COM-Ports" arbeiten. Im Netz habe ich einen AVR gefunden, der vermutlich meinen Ansprüchen gerecht wird: AT89C5131. Er hat sozusagen "alles an Bord". Das einzige was mich abschreckt ist der Preis und die Bauform (SMD). Welche Möglichkeiten gäbe es neben dem genannten uC, einen AVR mittels USB-Verbindung anzusteuern? Es soll wiegesagt kein virtuelle COM-Port am PC erzeugt werden. Vielen Dank und Gruß Rudi
Rudolph schrieb: > Im Netz habe ich einen AVR gefunden, der vermutlich meinen Ansprüchen > gerecht wird: AT89C5131 Das ist kein AVR. Das ist ein 8051. Atmel stellt aber auch diverse AVRs mit integriertem USB-Device-Interface her, damit kannst Du beliebige USB-Geräte bauen, die sich als was auch immer (HID, MSD, CDC oder Dein eigenes Protokoll) verkaufen. Ein Beispiel ist der Atmega32u2: http://www.atmel.com/devices/ATMEGA32U2.aspx
:
Bearbeitet durch User
>Das ist kein AVR. Das ist ein 8051. Ok, habe ich gerade auch gesehen.-Sorry! Jedenfalls suche ich etwas FÜR einen AVR (Atmega8).
Ich bin damit: http://www.ehajo.de/baus%C3%A4tze/bedrahtete-baus%C3%A4tze/atmega32u4-breakout-board.html prima zurechtgekommen. wendelsberg
Ok, danke! Aber was nimmt man denn generell für so eine wohl recht verbreitete Anwendung "AVR <-> USB"? Ich hätte am liebsten einen Chip, der per UART oder SPI Zeichen empfängt und diese dann "USB-konform" an den PC schickt. Und andersrum..
Rudolph schrieb: > Ich hätte am liebsten einen Chip, der per UART oder SPI Zeichen empfängt > und diese dann "USB-konform" an den PC schickt. Und andersrum.. Was ist für dich USB-Konform? Der übliche Weg für solche Universallösungen ist eben ein virtueller Comport über CDC. Ansonsten könnte man ein Custom-HID Device nehmen, dafür braucht man aber schon wieder spezielle Software am PC. Oder was ganz eigenes, dafür braucht man dann einen eignenen Hosttreiber, bzw. etwas generisches wie libusb. Wenn du noch nichts mit USB gemacht hast, kannst du dich auf mehrere Wochen Einarbeitungszeit einstellen. Bei den AVRs gibt es recht wenige Controller mit USB. Und soweit ich weiß keinen einzigen in bedrahteten Gehäusen. Das wird man bei USB auch eher nicht finden. Auf der anderen Seite ist SMD nicht so schwer wie man am Amfang denkt. Mit einer guten Lötausrüstung ist es gut machbar.
Rudolph schrieb: > Ich hätte am liebsten einen Chip, der per UART oder SPI Zeichen empfängt > und diese dann "USB-konform" an den PC schickt. Und andersrum.. Der atmega32u4 kann das, wenn ich das im Datenblatt auf die Schnelle richtig deute. Ich habe den benutzt, um ueber Timer zwei PWM zu messen, gleichzeitig 2 analoge Spannungen zu messen und einige dig. Eingaenge einzulesen. Dann hat er die Werte ueber USB an einen Linux-PC (/dev/ttyUSB0) geschickt. Dort habe ich die dann als (langsames, in diesem Fall aber ausreichendes) Oszillogramm angezeigt. wendelsberg
Hallo, warum kein FTDI FT232RL, das hast Du nicht erklärt. Damit kommt man schneller ans Ziel, da man für das USB-Device im atmega32U4 keine USB-Software bereitstellen muss, sich auch nicht die notwendigen Hardwarevoraussetzungen halten muss und auch nicht sein Hauptprogramm danach ausrichten muss. Insgesamt ist die Nutzung eines Atmega mit zwei UART und einem FT232RL einfacher in der Projekt realisierung. Wenn man einen Software/ Hardware USB-Stack für den atmega32U4 hat, weiß wie man ihn einbinden muss, genügend Zeit für die Lernphase (USB) mitbringt, dann ist das bei großen Stückzahlen preisgünstiger. Ich habe atmega32U4 auf meinen Boards und verwende i.a. nur den USB-Bootlader mit AVR109 Protokoll. Der hardware Uart ist als Uart Nr #1 im atmega32u4 verankert.
"Generell" nehmen dazu sehr viele Leute einen FTDI. Und niemand zwingt dich, den FTDI als VCP zu nutzen. Du kannst ihn genausogut ausschließlich über die D2XX Treiber ansprechen.
Karl M. schrieb: > Insgesamt ist die Nutzung eines Atmega mit zwei UART und einem FT232RL > einfacher in der Projekt realisierung. Klaus Dieter schrieb: > "Generell" nehmen dazu sehr viele Leute einen FTDI. Der FTDI (oder ein Clone davon) ist auch in vielen "Adapterkabeln" eingebaut, die es für wenige Euros bei Ebay gibt. Billiger bekommt man das selbst nicht hin. http://www.ebay.de/itm/USB-2-0-CH340G-TTL-Konverter-Adapter-CP2102-PL2303-UART-FTDI-Arduino-5V-3-3V-/252239902020?hash=item3abaab7544:g:EKMAAOSwFqJWosMv http://www.ebay.de/itm/USB-auf-RS232-Serial-TTL-PL2303HX-USB-UART-Kabel-Modul-Konverter-fur-Arduino-/221608116792?hash=item3398df8238:g:CR8AAOSwAF5Uab7Z Allerdings sind oft die Leitungen für RTS /CTS ... nicht rausgeführt.
Wenn du die Hardware nicht selbst bauen willst, dann nimmst du einen Arduino Uno, der entspricht etwas einem Mega8. Die Arduino IDE musst du ja nicht verwenden.
Rudolph schrieb: > Ich habe vor, meinen Mikrocontroller mithilfe einer USB-Schnittstelle > über den PC (Windows) zu steuern. > Das heißt, dass ich am liebsten alles "in einem chip" hätte, sodass ich > direkt vom Mikrocontroller auf den USB-Anschluss gehen kann. ist leicht > FTDIs möchte ich vermeiden, da diese immer mit "virtuellen COM-Ports" > arbeiten. es gibt auch CH340, warum keine FTDI? > Welche Möglichkeiten gäbe es neben dem genannten uC, einen AVR mittels > USB-Verbindung anzusteuern? > Es soll wiegesagt kein virtuelle COM-Port am PC erzeugt werden. und warum dann nicht einen echten COM? ist ja nun auch kein Teufelswerk.
avr schrieb: > Bei den AVRs gibt es recht wenige Controller mit USB. Und soweit ich > weiß keinen einzigen in bedrahteten Gehäusen. Das wird man bei USB auch > eher nicht finden. Auf der anderen Seite ist SMD nicht so schwer wie man > am Amfang denkt. Mit einer guten Lötausrüstung ist es gut machbar. Andere Hersteller haben keine Probleme mit DIL. http://www.digikey.de/product-detail/de/PIC16F1455-I%2FP/PIC16F1455-I%2FP-ND/3671488 Und wenn Du den nicht selber programmieren willst, gibts den auch vorprogrammiert: http://www.digikey.de/product-detail/de/MCP2221-I%2FP/MCP2221-I%2FP-ND/4902585 Das ist intern der gleiche Chip, nur eben mit der Demoapplikation drauf. fchk
Habt ihr denn Erfahrungen mit folgender Lib gemacht? https://www.obdev.at/products/vusb/index-de.html Gruß
Rudolph schrieb: > Habt ihr denn Erfahrungen mit folgender Lib gemacht? > > https://www.obdev.at/products/vusb/index-de.html Wird zwar gerne von AVR-Bastlern verwendet, ist aber Pfusch, weil nicht 100% USB standardkonform. Diese Lösung kann prinzipiell nur Low Speed, aber viele Standard-USB-Deviceklassen verlangen Full Speed USB, weil sonst keine Bulk Endpoints erlaubt sind. Mit 64 Bit Windows oder an USB 3 Ports wirst Du mit einer gewissen Wahrscheinlichkeit Probleme bekommen. PIC-Bastler brauchen diesen Dreck übrigens nicht - es gibt genügen PICs im DIL Package mit zertifiziertem USB 2.0 Full Speed Device Controller in Hardware. fchk
Frank K. schrieb: > Wird zwar gerne von AVR-Bastlern verwendet, ist aber Pfusch, weil nicht > 100% USB standardkonform. Diese Lösung kann prinzipiell nur Low Speed, > aber viele Standard-USB-Deviceklassen verlangen Full Speed USB, weil > sonst keine Bulk Endpoints erlaubt sind. Man braucht auch nicht immer Bulkendpoints. Für HID ist die Library völlig ausreichend. > Mit 64 Bit Windows oder an USB 3 Ports wirst Du mit einer gewissen > Wahrscheinlichkeit Probleme bekommen. Glaub ich nicht. > PIC-Bastler brauchen diesen Dreck übrigens nicht - es gibt genügen PICs > im DIL Package mit zertifiziertem USB 2.0 Full Speed Device Controller > in Hardware. Ja wir wissen dass du PIC-Fanboy bist. Gibt auch genug andere USB-µController. Für Lowspeed ist die Library jedenfalls sehr gut benutzbar.
avr schrieb: >> Mit 64 Bit Windows oder an USB 3 Ports wirst Du mit einer gewissen >> Wahrscheinlichkeit Probleme bekommen. > > Glaub ich nicht. Es reichte jedenfalls, dass die Macher von blink(1) (https://blink1.thingm.com/) von einem Attiny + vusb auf einen PIC16F1454 umgestiegen sind. >> PIC-Bastler brauchen diesen Dreck übrigens nicht - es gibt genügen PICs >> im DIL Package mit zertifiziertem USB 2.0 Full Speed Device Controller >> in Hardware. > > Ja wir wissen dass du PIC-Fanboy bist. Gibt auch genug andere > USB-µController. Für Lowspeed ist die Library jedenfalls sehr gut > benutzbar. Das hat nichts mit "Fanboy" zu tun. Ich klammere mich nicht wie viele arme Wichte an eine einzige Architektur.
Frank K. schrieb: > Es reichte jedenfalls, dass die Macher von blink(1) > (https://blink1.thingm.com/) von einem Attiny + vusb auf einen > PIC16F1454 umgestiegen sind. verstehe ich nicht, wie man dann einen PIC wählen kann. Die EFM8UB-Serie hat ein deutlich besseres Preis/Leistungsverhältnis und kommt in sehr kleinen QFN-Gehäusen. Ich würde jedenfalls keinen PIC für USB nehmen. Allgemein scheinen mir gerade die kleinen PICs verhältnismäßig teuer zu sein, für das was sie können. Die haben fast keine Peripherie. Da bekommt man bei den EFM8BB für den gleichen Preis eine Menge geschenkt.
Stimmt, das wäre auch eine Alternative gewesen. Ich habe mal bei Digi-Key geschaut, da da tun sich efm8ub und pic16f1454 nichts, das sind wenige Cents. Vielleicht kannten die das nicht, oder das package war damals nicht verfügbar gewesen, oder wasweißich. Also noch ein Grund mehr, nicht am AVR zu hängen. fchk
Hallo Zusammen, also mich würde das auch hier interessieren, da ich eine Relay von OMRON G5V-2 ansteuern möchte. Gibt es eine fertige Schaltung mit dem ATMEL AVR, so das ich über USB eine Relay ansteuern kann?
Nicole28 schrieb: > Hallo Zusammen, > > also mich würde das auch hier interessieren, da ich eine Relay von OMRON > G5V-2 ansteuern möchte. Gibt es eine fertige Schaltung mit dem ATMEL > AVR, so das ich über USB eine Relay ansteuern kann? Da nimmst Du besser einen MCP2221. Der ist fertig programmiert, und an einen GPIO-Pin hängst Du dann einfach einen NPN-Transistor und daran Dein Relais. fchk
Nimm einen Arduino deiner Wahl und du brauchst nur mehr einen Widerstand, einen Transistor und eine Diode.
> eine Relay von OMRON G5V-2 ansteuern möchte. > Gibt es eine fertige Schaltung mit dem ATMEL > AVR, so das ich über USB eine Relay ansteuern kann? Ja, du kannst ein Arduino Nano (kompatibles) Modul verwenden, und daran die Relais (mit Hilfe von Transistoren) anschließen. Die Firmware und Anleitung dazu findest du hier: http://stefanfrings.de/avr_io/index.html Siehe auch hier: https://www.mikrocontroller.net/articles/Relais_mit_Logik_ansteuern Und hier: http://stefanfrings.de/bfAlarm/index.html Anstelle von "Last" kannst du die Relais anschließen. Freilaufdioden sind für diese kleinen Relais bei dem genannten Transistor ausnahmsweise nicht notwendig.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.