Hallo, ich bin auch der Suche nach der Lösung für folgende Problematik: Ich besitze einen ATmega32, der über Tastendruck zwei Relais ansteuern kann (beide jeweils getrennt, also zwei Taster für zwei Relais). Die sehr simple Software ist mir jedoch nicht genug, gerne würde ich die Relais auch via USB oder über das Netzwerk anstuern. Mein Probem ist, ich habe keine Ahnung wie ich die Treiber hinbekommen kann. Wie erstelle ich die Kommunikation (am liebsten USB, kein RS232, da die Software universell an verschiedenen Notebooks betrieben werden soll und kein einer mehr über diese Schnittstelle verfügt)? Wie schaffe ich es der Software zu sagen, sende über USB high oder low, bzw. empfange high oder low (und wie teile ich dem PC überhaupt mit, dass ein Gerät eingesteckt wurde, wie es z. B. USB Sticks tun)? Vielen Dank für eure Hilfe
"einfach" eine USB UART Bridge mit einem FTDI Chip basteln. einen Treiber mit Codebeispielen für zig Programmiersprachen gibt es bei FTDI auf der Homepage.
fuelre F. schrieb: > "einfach" eine USB UART Bridge mit einem FTDI Chip basteln. Oder eine fertige verwenden.
tom schrieb: > Hallo, > > ich bin auch der Suche nach der Lösung für folgende Problematik: ***google > > Ich besitze einen ATmega32, der über Tastendruck zwei Relais ansteuern > kann (beide jeweils getrennt, also zwei Taster für zwei Relais). Die > sehr simple Software ist mir jedoch nicht genug, gerne würde ich die > Relais auch via USB oder über das Netzwerk anstuern. Mein Probem ist, > ich habe keine Ahnung wie ich die Treiber hinbekommen kann. Wie erstelle Wenn du keine Ahung hast dann eher was fertiges kaufen. > ich die Kommunikation (am liebsten USB, kein RS232, da die Software > universell an verschiedenen Notebooks betrieben werden soll und kein > einer mehr über diese Schnittstelle verfügt)? > > Wie schaffe ich es der Software zu sagen, sende über USB high oder low, > bzw. empfange high oder low (und wie teile ich dem PC überhaupt mit, > dass ein Gerät eingesteckt wurde, wie es z. B. USB Sticks tun)? > > Vielen Dank für eure Hilfe Wenn du selber bauen willst, dann gibt es viel, VUSB, USB Seriel Wandler oder vielleicht per Netzwerk?
danke an alle die sich gemeldet haben, jedoch habe ich die problematik wohl falsch erklärt. mir geht es darum zu erfahren, wie die kommunikationssoftware auszusehen hat. also z. B. in C? hat jemand ein beispiel?
tom schrieb: > danke an alle die sich gemeldet haben, jedoch habe ich die problematik > wohl falsch erklärt. mir geht es darum zu erfahren, wie die > kommunikationssoftware auszusehen hat. also z. B. in C? > > hat jemand ein beispiel? fuelre F. schrieb: > "einfach" eine USB UART Bridge mit einem FTDI Chip basteln. > > einen Treiber mit Codebeispielen für zig Programmiersprachen gibt es bei > FTDI auf der Homepage.
Eumel schrieb:
"mit Codebeispielen für zig Programmiersprachen gibt es bei
FTDI auf der Homepage."
hmm.. ich hab mich durchgewühlt.. du siehst warscheinlich sachen, die
ich nicht sehen kann, oder wo sind codebeispiele in c, etc.??
Ich kenn die Codebeispiele nicht. Der springende Punkt beim FTDI liegt darin, dass du dich um den USB-Teil überhaupt nicht kümmern musst. Der FTDI Treiber installiert einen virtuellen Com-Port am PC, so dass das PC-Programm den Mega anspricht, so als ob er an einer seriellen Schnittstelle sitzen würde. Auf dem Mega hingegen hängt der FTDI Chip, der vom Mega wie eine serielle Schnittstelle über die USART angesprochen wird. D.h. aus Sicht des/der Programmierer handelt es sich um eine ganz normale Kommunikation über eine serielle Schnittstelle. Dass da ein USB Kabel dazwischen sitzt, darum muss sich keines der beiden Programme kümmern. Das behandeln der FTDI-IC mit seinem am PC installierten Treiber komplett eigenständig. Und das ist auch gut so. Denn so einfach eine serielle Kommunikation auch ist, so kompliziert ist eine reine USB-Kommunikation. Die willst du dir mit Sicherheit nicht antun, wenn es eine Möglichkeit gibt, wie man da trivial drumm herum kommen kann.
:
Bearbeitet durch User
Hinweis: Derartige FTDI-Bridges gibt es auch fertig in Form von Zwischensteckern, die am PC in einen USB Port eingesteckt werden und die dann eine normale 9-polige SUB-D Buchse haben, an der man ein normales RS232 Kabel anstecken kann.
Der FTDI ist für deinen ATmega nichts anderes als ein UART-Teilnehmer. Dank des FT232-Bausteins (den es z.B. bei Watterott für kleines Geld fertig auf der Platine gibt) weis dein ATmega garnicht dass er an einem USB eines PCs hängt. Du brauchst nur deinen UART auswerten, wie es z.B. in diesem Tutorial gezeigt wird. http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/Der_UART Den Rest erledigt der FT232 von FTDI. Du solltest übrigens mit den Spannungen aufpassen. Versorge deinen Mikrocontroller und die Relais nur über USB, wenn du das Power-Management machst. (Nur Einschalten wenn das Betriebssystem sein OK gegeben hat,...) Ansonsten versorge deine Schaltung besser über ein eigenes Netzteil. Verbinde dabei aber KEINESFALLS die Versorgungsspannung des Mikrocontrollers mit den +5V des USB!
Olaf Dreyer schrieb: > http://www.libusb.org > > ist das was Du suchst. Ich bezweifele ich ganz ernsthaft, daß es das ist, was er sucht. Da ist ja garkein fertiger C-Code für genau sein Problem dabei, den er einfach per Copy&Paste in sein Projekt einfügen könnte...
Hi will hier nicht lange diskutieren, aber er suchte eine Anlaufstelle um die Kommunikation auf dem USB zu verstehen. Nicht Vorschläge wie es einfacher geht. Ich habe das auch mit libusb hinbekommen und ich brauche keine krude Seriell-Emulation. Gruß Olaf
Olaf Dreyer schrieb: > Hi will hier nicht lange diskutieren, aber er suchte eine Anlaufstelle > um die Kommunikation auf dem USB zu verstehen. Lies dir das Eröffnungsposting durch. Ich hab nicht den Eindruck, dass er so weit ist, sich auf die technischen Feinheit von USB einlassen zu können. > Nicht Vorschläge wie es > einfacher geht. Ich habe das auch mit libusb hinbekommen und ich brauche > keine krude Seriell-Emulation. Hier weiß keiner, was und wie groß dein Vorwissen war, um die libusb in Betrieb zu nehmen. Aber alleine dieser Teil der Original-Fragestellung > Wie schaffe ich es der Software zu sagen, sende über USB high oder > low, bzw. empfange high oder low (und wie teile ich dem PC überhaupt > mit, dass ein Gerät eingesteckt wurde, wie es z. B. USB Sticks tun)? sagt mir, dass es selbst mit einer USART für ihn noch schwer genug ist. Hier im Forum muss man oft genug zwischen den Zeilen lesen. Die Wünsche sind da nämlich des öfteren erheblich größer als das Können der Fragenden.
:
Bearbeitet durch User
Da hast Du sicher Recht, Karl Heinz, was sein (scheinbares) Vorwissen betrifft, ich wollte ja nur die Frage nach der Handhabung der USB-Schnittstelle beantworten. Dann kann er vergleichen und entscheiden, welche Weg für Ihn der richtige ist. Gruß Olaf
hallo, ich finde das thema sehr interessant und hab das mit der usb-lib mal versuchen wollen. leider werde ich davon erschlagen. ich habe eine serielle rs232 verbindung zu meinem chip und alles klappt super mit zb hyperterminal. wie kann ich aber werte mit anderer software auslesen? ich schreibe ein java programm und es wäre gut, die werte vom chip einlesen zu können - wie gesagt rs232 und hyperterminal funktioniert. leider fehlt mir die übertragung in meine eigene software - wäre toll, wenn jdm einen tipp hat. danke
Denis schrieb: > wie kann ich aber werte mit anderer software auslesen? ich schreibe ein > java programm und es wäre gut, die werte vom chip einlesen zu können - > wie gesagt rs232 und hyperterminal funktioniert. java+seriell wäre librxtx das stichwort (für linux + windows verfügbar)
tom schrieb: > hat jemand ein beispiel? Keine high-end- oder high-speed-lösung, aber sie ist robust und funktioniert: https://guloshop.de/shop/USB-TTL-ADC-PWM-Signalwandler:::10.html Die Software davon ist opensource, kannst einfach runterladen und anpassen und nachbauen
tom schrieb: > Wie schaffe ich es der Software zu sagen, sende über USB high oder low, > bzw. empfange high oder low Das hat mit USB wenig zu tun. Über USB werden kein high oder low im Sinne von Schaltzuständen geschickt. Das ist Aufgabe der Software, Kommandos über USB zu verschicken, die am Empfänger nach Interpretation in Schaltpegel umgesetzt werden. Wenn du einen µC nimmst, der von Haus aus USB unterstützt, z.B. einen ATmega32U2, wie er auf dem Arduino Pro Micro drauf ist, kannst du dir einen Haufen Zirkus sparen.
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.