Forum: Mikrocontroller und Digitale Elektronik obdev USB-AVR


von Unbekannt (Gast)


Lesenswert?

Hallo,

Ich möchte mit einem AVR mit dem PC (Windows) via
USB kommunizieren.
Ich habe nun die Library von obdev gefunden. Ich weiss
jedoch nicht, wie ich diese Library in mein Projekt einbinden soll.
Für den Anfang würde es mir schon genügen, eine Led ein/auszuschalten.

Gibt es irgendwo ein TUT, wie man die obdev-Library verwendet?

MFG Unbekannt

von Unbekannt (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

Ich habe die Schaltung nun gezeichnet.
Würde diese zum Testen so funktionieren?
Funktioniert das auch mit den Dioden, den Cotroller so zu versorgen?

MFG Ubekannt

von Christian D. (stettberger)


Lesenswert?

Die Schaltung schaut gut aus, aber der 100K Pullup an RESET ist ein 
wenig arg. Ich nehme wenn dann immer einen 10K Pullup.

Das mit den Dioden geht. Allerdings musst du daran denken, dass die auch 
den ganzen Strom abkoennen muessen, denn du ziehen willst. 1N148 waren 
glaub ich bei 75 oder 150mA, aber dann wuerden die denk ich schon warm 
werden, also am maximalwert. So kannst du aber dann auch 3,3V Targets 
flashen ( Bei Zener Dioden nicht )

von holger (Gast)


Lesenswert?

AVCC und AGND müssen angeschlossen werden. Das mit
den Dioden ist grottiger Mist. Nimm einen Low Drop Regler
für 3.3V und gut ists.

von Unbekannt (Gast)


Lesenswert?

>Das mit den Dioden ist grottiger Mist. Nimm einen Low Drop Regler
>für 3.3V und gut ists.

Dies mit den Dioden ist auf der obdev Homepage so angegeben...
http://www.obdev.at/products/avrusb/index.html

von Ronny (Gast)


Lesenswert?

GIDF: http://www.roboternetz.de/phpBB2/printview.php?t=42073&start=0

Da wird genau die Sache mit der LED beschrieben. Sobald du allerdings 
mit den OBDEV-Libs eigene Sache möchtest, wirst du um ein genaues 
Studium der USB-Spec nicht drum herum kommen.

USB ist hardware-seitig die simpelste Art einen AVR mit dem PC zu 
verbinden die es gibt. Auf der Software-Seite ist USB jedoch nahezu 
unendlich komplex.

Für den Anfang würde ich mich erstmal mit der HID-Klasse beschäftigen, 
die ist noch relativ übersichtlich ;

von Christian D. (stettberger)


Lesenswert?

holger wrote:
> AVCC und AGND müssen angeschlossen werden. Das mit
> den Dioden ist grottiger Mist. Nimm einen Low Drop Regler
> für 3.3V und gut ists.

Kannst du uns erklaeren wieso dass immer und grundsaetzlich grottiger 
Mist ist? Und wieso man immer alles mit ICs erschlagen muss, wenn was 
einfaches fuer den Heimanwender auch reicht?

von Ronny (Gast)


Lesenswert?

Die Flussspannung einer Diode hat eine recht grosse Exemplar-spezifische 
Streuung. Ausserdem ist die FLussspannung auch noch abhängig vom Strom 
der durch die Diode fliesst.

Sagen wir, deine Dioden können eine Flussspannung zwischen 0.5V und 1V 
besitzen. Dann hätten wir eine Ausgangsspannung von:

Umin = 5V - 2*Uf = 3V
Umax = 5V - 2*Uf = 4V

Also schwankt deine Spannung munter zwischen 3V und 4V, je nachdem 
welche Dioden du gerade aus der Kiste gegriffen hast und welche Last 
gerade dran hängt.

Ausserdem musst du für eine mindest-Last sorgen,damit die Dioden 
überhaupt Strom durchlassen.

Also: Für alles andere als Lochraster-Spielereien gehört ein 3.3V Regler 
dran.

Gruß,

Ronny

PS: Bei Spielereien am USB würde ich einen vernünftig designten Hub 
zwischen schalten um den Port zu schützen. Sonst raucht dir unter 
Umständen der USB-Port am Rechner ab.

von Unbekannt (Gast)


Lesenswert?

>USB ist hardware-seitig die simpelste Art einen AVR mit dem PC zu
>verbinden die es gibt. Auf der Software-Seite ist USB jedoch nahezu
>unendlich komplex.
Um USB besser zu verstehen, arbeite ich gerade USB in a Nushell durch...
Ich glaube dies wird jedoch zu wenig wissen sein, um mit der Library von
obdev arbeiten zu können.

>Für den Anfang würde ich mich erstmal mit der HID-Klasse beschäftigen,
>die ist noch relativ übersichtlich ;

-> was ist eine HID-Klasse;

Ist damit ein FT232 gemeint?

MFG Unbekannt

von Ronny (Gast)


Lesenswert?

USB ist in verschiedene Klassen unterteilt, für welche 
Betriebssystem-seitig bereits schon Treiber vorhanden sind, z.B. HID 
(Human Device Interface) für Eingabegeräte wie Maus, Tastatur usw oder 
die CDC (Communication Device Class) für Kommunikationsgeräte wie 
virtuelle Com-Ports.

Meiner Meinung nach ist die HID-Klasse die einfachste, zumal es hierfür 
etliche ganz verständliche Beispiel-Codes gibt. Um das USB-Protokoll 
besser zu verstehen, helfen auch die Application Notes der versch. 
Mikrocontroller-Hersteller. Hier ist meistens eine USB-Maus oder 
Tastatur als Beispielcode verfügbar. Auch wenn die Hardware anders ist, 
die Protokollschicht kann man trotzdem zum abgucken nehmen ;)

Bei OBDEV gibts übrigens auch für die versch. Klassen jede Menge 
Beispielprojekte...

von Christian D. (stettberger)


Lesenswert?

Ronny wrote:
> Die Flussspannung einer Diode hat eine recht grosse Exemplar-spezifische
> Streuung. Ausserdem ist die FLussspannung auch noch abhängig vom Strom
> der durch die Diode fliesst.
>
> Sagen wir, deine Dioden können eine Flussspannung zwischen 0.5V und 1V
> besitzen. Dann hätten wir eine Ausgangsspannung von:
>
> Umin = 5V - 2*Uf = 3V
> Umax = 5V - 2*Uf = 4V

Ja gut, dann schau man halt beim bestuecken danach was die eingeloeteten 
Dioden fuer eine Durchgansspannung haben. Natuerlich ist das nit fuer 
Massenfertigung geeignet, geb ich dir recht.

> Also schwankt deine Spannung munter zwischen 3V und 4V, je nachdem
> welche Dioden du gerade aus der Kiste gegriffen hast und welche Last
> gerade dran hängt.

Ein wenig Toleranz, was die Spannung angeht bringen die meisten Bauteile 
mit. Uebrigens haben 3,3V Regler auch Toleranzen.

> Ausserdem musst du für eine mindest-Last sorgen,damit die Dioden
> überhaupt Strom durchlassen.

Ist durch den Atmega gegeben.

> Also: Für alles andere als Lochraster-Spielereien gehört ein 3.3V Regler
> dran.

Lochraster muss nicht nur Spielerei sein. Und einen Programmieradapter 
auf einer gefertigten Platine trau ich mich auch mit 2 Dioden machen.

> PS: Bei Spielereien am USB würde ich einen vernünftig designten Hub
> zwischen schalten um den Port zu schützen. Sonst raucht dir unter
> Umständen der USB-Port am Rechner ab.

Die meisten USB Ports sind relativ Belastungsfaehig. Zum Beispiel kann 
ich den hier am Laptop kurzschlieszen und es tut ihm nix, er geht dann 
halt einfach mit der Spannung runter. Ganz anders bei meinem Desktop 
daheim. Der geht dann aus gg, tut ihm aber Ansonsten auch nix 
dauerhaftes.

grusz didi

von Unbekannt (Gast)


Lesenswert?

@ Ronny

Dies würde jedoch nichts an meiner Hardware ändern...
Ich würde nur eine andere Software benötigen?

von Ronny (Gast)


Lesenswert?

@Christian:

> Ja gut, dann schau man halt beim bestuecken danach was die eingeloeteten
> Dioden fuer eine Durchgansspannung haben. Natuerlich ist das nit fuer
> Massenfertigung geeignet, geb ich dir recht.

Jap, so mach ich es zu Hause auch. Ist trotzdem gefrickel und sollte 
nicht zur Gewohnheit werden wenn man sich irgendwann an komplexere 
Hardware wagt ;)


> Ein wenig Toleranz, was die Spannung angeht bringen die meisten Bauteile
> mit. Uebrigens haben 3,3V Regler auch Toleranzen.

Die meisten Regler haben Toleranzen im Bereich einiger 10mV....Üblich 
wären dann so 3.2V...3.4V, da du immer auf der sicheren Seite. Bei 4V 
können manche 3V-Bausteine schon mal abrauchen..


> Lochraster muss nicht nur Spielerei sein. Und einen Programmieradapter
> auf einer gefertigten Platine trau ich mich auch mit 2 Dioden machen.

Zu Hause hab ich praktisch alles mit Lochraster aufgebaut. Ist nunmal 
wesentlich einfacher zu handhaben und die Sauerei mit Platinen ätzen 
möchte ich mir nicht geben.

> Die meisten USB Ports sind relativ Belastungsfaehig. Zum Beispiel kann
> ich den hier am Laptop kurzschlieszen und es tut ihm nix, er geht dann
> halt einfach mit der Spannung runter. Ganz anders bei meinem Desktop
> daheim. Der geht dann aus gg, tut ihm aber Ansonsten auch nix
> dauerhaftes.

Jap, von spontanen Reboots bis deaktiveren des Ports hatte ich auch 
schon alles. An einem Laptop wurde USB bis zum nächsten Reboot komplett 
deaktivert nach einem Kurzen. Da ging dann auch die USB-Maus nichtmehr. 
Hab allerdings auch schon von Billig-Systemen gehört wo der Port auch 
nach einem Reboot nicht mehr ging. So ein Hub kostet 10€, die 
einzusparen wäre hier sicher falsche Sparsamkeit ;)

von Ronny (Gast)


Lesenswert?

@Unbekannt:

> Dies würde jedoch nichts an meiner Hardware ändern...
> Ich würde nur eine andere Software benötigen?

Schau dir doch einfach mal die Projekte auf der Seite an. Für viele 
musst du noch weitere Peripherie vorsehen (z.B. für das LCD). Andere wie 
der USB-Bootloader brauchen nix weiter an Zusatz-Hardware.

Grundsätzlich ist deine Schaltung auf USB-Seite völlig ausreichend. Wenn 
du über USB irgendwas ansteuern oder auslesen möchtest, braucht es dann 
natürlich noch etwas mehr Beschaltung ;)

von Unbekannt (Gast)


Lesenswert?

Danke für eure Antworten!

Ich werde nun die Schaltung aufbauen und mich mit dem Thema USB
beschäftigen,...

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
Noch kein Account? Hier anmelden.