Forum: Mikrocontroller und Digitale Elektronik Anfängerfrage: USB über Atmega


von Marc D. (peper)


Lesenswert?

Guten Tag allerseits.

Ich habe vor kurzem mehrere Atmega 48 und ein entsprechenden Programmer 
geschenkt bekommen. Nun möchte ich - ohne viel Erfahrung - mein erstes 
Projekt damit starten:

Ich versuche es mal zu erklären:

ich möchte eine USB-Verbindung schalten;

Es ist ein Netzteil vorhanden, sowie ein USb-Anschluss.
Sobald das Netzteil angeschaltet wird und eine CF-Card im Reader liegt, 
soll mit einer Zeitverzögerung die (unterbrochene) USB-VErbindung wieder 
hergestellt werden. Hierfür ist eine 5V-Verbindung vorhanden.

Ich stelle es mir folgendermassen vor:

Netzteil wird eingeschaltet --> 5V ist vorhanden. Diese soll den Atmega 
versorgen. Hierzu parallel geschaltet ist ein Stromkreis, der nur 
geschlossen wird, wenn eine CF-Karte in den Reader geschoben wird 
(Druckschalter). Wenn als CF-Karte im Reader, dann liegt an einem PIN 
des Atmega ebenfalls 5 Volt an.

Mit einer VErzögerung von x Sekunden soll dann die USB Vewrbindung 
geschaltet werden. Ich dachte hierbei, ich lege an 4 PINS des Atmegas 
die USB-Leitungen an, an 4 anderen PINS werden diese wieder ausgegeben.

Ist dies möglich?

von holger (Gast)


Lesenswert?

>Ich habe vor kurzem mehrere Atmega 48 und ein entsprechenden Programmer
>geschenkt bekommen. Nun möchte ich - ohne viel Erfahrung - mein erstes
>Projekt damit starten:
>Ich versuche es mal zu erklären:

>ich möchte eine USB-Verbindung schalten;

Als erstes versuchst du mal eine LED zum leuchten zu bringen ;)

von Marc D. (peper)


Lesenswert?

Danke für den tollen Kommentar.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Wieso so ironisch? Das was ein guter Hinweis. Du kannst mit dem 
Blink-LED-Projekt sicherstellen:

1/ dass dein AVR Equipment (Targetboard, Netzteil, ISP Programmer) 
korrekt aufgebaut ist und funktioniert

2/ dass deine Toolchain (Compiler, Programmer, ggf. Debugger) korrekt 
installiert ist unf funktioniert. Ich nehme mal an, dass du in C 
programmieren willst.

3/ dass Pins am AVR als Output einstellen und schalten kannst. Du hast 
wenn es klappt eine Projektstruktur mit C-Quelltext, Makefile. Das 
Beispiel kann mit einem Schalter/Taster erweitert werden, um das 
Einschieben der CF-Karte zu simulieren.

4/ dass du durch das Spielen mit der Blinkfrequenz eine Möglichkeit 
gefunden findest ein Timing einzustellen.

5/ dass du eine LED auf dem Targetboard hast, die du später als 
Funktionsanzeige benutzen kannst. Du kannst z.B. sehen, wann der AVR 
meint etwas machen zu müssen. Wichtig, wenn der PC nicht macht was er 
soll.

Was fehlt und was du nacharbeiten kannst - auch am Beispiel Ansteuerung 
LED und dem Transistor - ist das Ansteuern von 4 Relais oder 2 Relais 
plus 2 CMOS-Schalter-ICs statt der LED - mit den Methoden, die du beim 
Ansteuern der LED erlernt hast.

von Kai G. (runtimeterror)


Lesenswert?

Habe genauso angefangen... das verhindert auch auf einfachste Weise, 
dass deine nächste Problembeschreibung "Irgendwas funktioniert nicht" 
lautet und dann im Forum zerrissen wird ;)

Schönen Abend noch.

Kai

von Marc D. (peper)


Lesenswert?

DAs beantwortet mir leider immer noch nicht die Frage, ob die 
Realisierung - so wie ich es oben beschrieben habe - funktionieren 
würde.

Für mich geht es nun ersteinmal darum zu klären, ob ich dies über einen 
Microcontroller oder anders realisiere. Selbstverständlich ist mir klar, 
dass es sinnvoll ist, ersteinmal "klein anzufangen". Allerdings werde 
ich obiges PRoblem kurzfristig lösen müssen, deshalb meine Frage, ob es 
(so) per µController funktioniert.

von Stefan Salewski (Gast)


Lesenswert?

>Ich dachte hierbei, ich lege an 4 PINS des Atmegas
>die USB-Leitungen an, an 4 anderen PINS werden diese wieder ausgegeben.

>Ist dies möglich?

So geht das sicher nicht!

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Bestätigt: ist nicht möglich! Um USB-Signale zu schalten, sind 
elektonische Schalter vonnöten, die die hohne Frequenzen und die 
Signalanforderungen von USB schalten können. Oder Du nimmst entsprechend 
viele Relais. Dabei muß sichergestellt sein, daß bis zu 500mA auf der 
Bertriebsspannung fließen können.

von Hans (noch einer) (Gast)


Lesenswert?

Bezüglich USB:

USB ist in Software möglich - wenn man es mit dem USB-Standard nicht 
ganz genau nimmt. http://www.obdev.at/products/avrusb/index.html

Bezüglich des OP:

Versuche zum Anfang wirklich einfach mal eine LED zum Blinken zu 
bringen. Was du willst ist um Größenordnungen zu kompliziert für 
jemanden, der nach eigener Aussage "ohne viel Erfahrung - mein erstes 
Projekt" beginnen will.

von Boxi B. (boxi)


Lesenswert?

Dafür! LED blinken lassen. Hat uns allen geholfen.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Marc Dillinger wrote:
> Allerdings werde
> ich obiges PRoblem kurzfristig lösen müssen, deshalb meine Frage, ob es
> (so) per µController funktioniert.

Funktioniert nicht.

Gegen deine Lösung sprechen z.B. die typ. Signalfrequenzen auf den 
USB-Datenleitungen und die Stromstärken auf den 
USB-Versorgungsleitungen.

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.