Forum: Mikrocontroller und Digitale Elektronik extrem kleiner Analog=>USB Konverter


von Mats M. (elektrofreak)


Lesenswert?

Hallo,

Ich suche einen sehr sparsamen "Converter" von Analog auf USB. 
Theoretisch könnte auch ein Mikrocontroller die Aufgabe übernehmen, 
allerdings möchte ich keine USB-Treiber schreiben oder Quellcode für den 
entsprechenden Controller schreiben, da mir UBS eigendlich als 
Anfänger-Fortgeschrittener zu schwierig ist.

Hintergrund ist jener:


Ich möchte bei einem Netbook die Hintergrundhelligkeit in Abhängigkeit 
zur Außenbeleuchtung steuern, d.H. ein Programm überwacht die Daten vom 
analogen Kanal, an dem ein lichtempfindlicher Sensor hängt, und steuert 
so das Programm eeectl an, welches die Bildschrimhelligkeit ändern kann.

Eine Möglichkeit wäre auch, einen USB=>RS232-Converter zu verbauen, 
allerdings bräuchte man hier Strom für zwei Geräte und viel mehr Platz. 
Dementsprechend würde ich eine Ein-Chip-Variante bevorzugen.

Gibt es entsprechend einfache Chips mit Treibern, soll ich mir was 
basteln lassen oder komplett andere wege gehen?


M.f.G.

Elektrofreak

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Ein kleiner Mikrocontroller mit AD-Wandler und z.B. ein FT232 (bzw. den 
etwas kleineren FT245), alles in SMD, ohne Buchse oder mit 
Micro-USB-Buchse kann man das auf ca. 2-3cm^2 bekommen, kleiner, wenn 
man zweiseitig arbeitet.

von Karl (Gast)


Lesenswert?

Wenns klein werden muss, blaibt fast nur ein Controller mit USB. Die 
AT91SAM Dinger bringen ein fertiges USB Framework mit, da ist auch ein 
CDC Treiber dabei.

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Die sind aber recht gross... bei so ner Sache waere vielleicht sogar ein 
Software-USB-Stack in Verbindung mit einem AVR (dann low speed) 
ausreichend. Es sollen ja nur einzelne Werte uebertragen werden. Siehe 
http://www.obdev.at/products/avrusb/index.html

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Nette Idee!

Könnte man in Form eines USB-Sticks machen. Und dann mit einem AVR 
als Software-USB Client Controller.

So in der Art wie der "USB receiver like small USB key" von Igor
http://www.cesko.host.sk/IgorPlugUSB/IgorPlug-USB%20(AVR)_eng.htm (ist 
nicht die Lösung, soll nur eine Idee geben. Die Hardware hätte ähnlichen 
Platzbedarf)

Oder die Projekte auf http://www.obdev.at/products/avrusb/index.html

Die USB Firmware für den AVR gibt es, anzupassen wäre der Messteil 
(ADC).

Die Hostsoftware (auf dem Netbook) könnte man mit libusb (=> 
Sourceforge) machen oder man emuliert ein sog. HID Gerät (Joystick, Maus 
etc.) und fragt in einem Programm die Helligkeit als Achsenstellung ab 
und reagiert darauf.

von Mats M. (elektrofreak)


Lesenswert?

Da ich von direkter "USB-Konfrontation" lieber fern bleiben möchte, wäre 
ein USB=>RS232-Adapter bei einem Eigenbau für mich am einfachsten.

Welche Chips (AtTiny und FT245 o.Ä.) würdet Ihr mir empfehlen?

Edit: FT232 wäre RS232, FT245 Parallel, ne? Da wäre doch bestimmt FT232 
sinnvoller in Bezug auf der Schnittstelle des uC

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Erm... wie darf ich das verstehen? Ich dachte Du willst das device per 
USB anbinden und nicht per RS-232? Oder meinst Du eine UART? In dem Fall 
hab ich ja schon geschrieben: FT232RL, FT245BL von FTDI, der FT245 ist 
nochmal etwas kleiner, hat ein QFP-32-package, siehe hier:

http://www.reichelt.de/?;ACTION=3;LA=4;GROUP=A316;GROUPID=2946;ARTICLE=68232;START=0;SORT=artnr;OFFSET=16

Als Controller kannst Du dann z.B. einen Mega48 nehmen:
http://www.reichelt.de/?;ACTION=3;LA=4;GROUP=A363;GROUPID=2959;ARTICLE=68167;START=0;SORT=artnr;OFFSET=16

von Mats M. (elektrofreak)


Lesenswert?

USB stimmt schon, da ich bei meinem Netbook kein RS232 habe. Aber der 
Umweg von USB über RS232 auf UART wäre ja möglich.

Vom Platz kann man ja das ganze recht gut beidseitig bauen.

Gibt es noch andere Vorschläge? :-)

Edit: den 232er gibts auch in "klein": 
http://www.reichelt.de/?;ACTION=3;LA=4;GROUP=A316;GROUPID=2946;ARTICLE=68239;START=0;SORT=preis;OFFSET=16;SID=26MKmjsawQARoAAH0TmQE4b8a11594286e48ac892211a68fff267

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Mats Marcus wrote:
> USB stimmt schon, da ich bei meinem Netbook kein RS232 habe. Aber der
> Umweg von USB über RS232 auf UART wäre ja möglich.

Das ist Unsinn...

von Mats M. (elektrofreak)


Lesenswert?

Vielleicht nur eine Frage: Gibt es für Bascom einen Software-USB-Stack?

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Ich hab das Gefuehl Du weisst nicht, was Du willst, oder? Benutz Google.

von Mats M. (elektrofreak)


Lesenswert?

Ich möchte einfach die Möglichkeiten, die ich habe, alle ansehen und 
dann entscheiden, was das einfachste und beste für die Umsetzung des 
Projektes ist.

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Es gibt nur generell drei Moeglichkeiten:
 - Controller mit HW-USB (z.B. AT90USB...)
 - Eine Bruecke wie die FTDI-Chips
 - Software-Loesung

Das "kleinste" im Sinne der physikalischen Dimension ist die 
Software-Loesung, da sie nur den Controller und ein bisschen 
Huehnerfutter braucht, duerfte aber aufwendiger zu programmieren sein 
als die anderen beiden Loesungen. Und die AT90USB sind recht gross, da 
die USB-Software sehr viel Flash braucht.

Was willst Du jetzt noch wissen?

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Mats Marcus wrote:

> Gibt es für Bascom einen Software-USB-Stack?

Gibt es was als USB Add-On Library für die Kanonen (AT90USBxxx). Kostet 
.
http://avrhelp.mcselec.com/usb_add_on.htm

Für die kleinen AVRs kenne ich keine BASCOM USB Unterstützung. Bei den 
Appnotes ist nix dabei.

von Mats M. (elektrofreak)


Lesenswert?

Danke für die Informationen. Zunächst bin ich mit genügend Informationen 
gefüttert worden. Ich versuche mich dann die Tage mal an den Sachen.

von Christoph Z. (rayelec)


Lesenswert?

Warum denn analog? Es gibt fertige Sensren, welche Licht nach Frequenz 
oder Tastverhältnis wandeln. Damit musst du nur noch einen digitalen 
Eingang einlesen...

MfG

von pillepalle (Gast)


Lesenswert?

This submini USB scope is based on a Atmel Tiny45 cpu and cost less than 
5€ with a homemade pcb

http://yveslebrac.blogspot.com/2008/10/cheapest-dual-trace-scope-in-galaxy.html

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Stefan B. wrote:
> Mats Marcus wrote:
>
>> Gibt es für Bascom einen Software-USB-Stack?
>
> Gibt es was als USB Add-On Library für die Kanonen (AT90USBxxx). Kostet
> .
> http://avrhelp.mcselec.com/usb_add_on.htm

Das ist dann aber kein Software-USB-Stack sondern lediglich Support fuer 
die entsprechenden Typen...

von Mats M. (elektrofreak)


Lesenswert?

pillepalle wrote:
> This submini USB scope is based on a Atmel Tiny45 cpu and cost less than
> 5€ with a homemade pcb
>
> http://yveslebrac.blogspot.com/2008/10/cheapest-dual-trace-scope-in-galaxy.html

Das ist wirklich etwas sehr interessantes! Ich müsste nur noch auf 
DotNet Programmieren (können). Ich beschäftige mich heute abend mal 
damit, vielen Dank!

von pillepalle (Gast)


Lesenswert?

moin

das ist auch nur ein etwas geänderter OBDEV - Software USB
http://www.obdev.at/products/avrusb/index.html
hab das mal letzte Woche aufgebaut - geht - die Frage ist nur wie lange 
und unter welchen umständen ;-) also für gewerbliche/industrielle 
Lösungen würde ich lieber zB. IO-Warrior mit externen ADC nehmen - oder 
irgend einen MC der Hardware USB eingebaut hat ( Pic,PSOC usw.)
IO-Warrior gibts bei www.codemercs.com

hf

von iii (Gast)


Lesenswert?

gameportadapter oder ein joystick und dann ldr als spannungsteiler. wird 
aber wohl nicht klein.

tiny45 (oder einen msp430) mit software-usb auf smd, die platine direkt 
als usb stecker ausführen, so etwa:
http://www.4dsystems.com.au/prod.php?id=19

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Mats Marcus wrote:

> Das ist wirklich etwas sehr interessantes! Ich müsste nur noch auf
> DotNet Programmieren (können). Ich beschäftige mich heute abend mal
> damit, vielen Dank!

Hast Du Dich ueberhaupt schon mit Mikrocontrollern befasst, oder war das 
als Scherz gemeint?

von abcde (Gast)


Lesenswert?

Er meint .NET auf der PC-Seite, nicht im µC!

von Simon K. (simon) Benutzerseite


Lesenswert?

Michael G. wrote:
> Und die AT90USB sind recht gross, da
> die USB-Software sehr viel Flash braucht.

Was gibts denn jetzt da für einen Zusammenhang?
ein AT90USB162 ist übrigens genau so groß wie ein ATmega8.
Siehe http://atmel.com/dyn/products/product_card.asp?part_id=4097

Von der Softwarelösung von obdev.at ist abzuraten, da es da doch 
teilweise Einschränkungen gibt in den Hardwaremöglichkeiten, sodass die 
USB-Spezifikation an ein paar Stellen verletzt wird. Habe selber schon 
damit zu kämpfen gehabt. Kann laufen, muss aber nicht.

Aber du willst ja eh nichts mit USB am Hut haben, dann gehen sowieso nur 
noch Lösungen ala FT232/FT245.

von Simon K. (simon) Benutzerseite


Lesenswert?

Achso, mir fällt gerade noch ein, dass der JoyWarrior von Codemercs 
bedingt Analogwerte einlesen kann.

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Simon K. wrote:
> Michael G. wrote:
>> Und die AT90USB sind recht gross, da
>> die USB-Software sehr viel Flash braucht.
>
> Was gibts denn jetzt da für einen Zusammenhang?
> ein AT90USB162 ist übrigens genau so groß wie ein ATmega8.
> Siehe http://atmel.com/dyn/products/product_card.asp?part_id=4097

OK das waere dann natuerlich eine Option...

> Von der Softwarelösung von obdev.at ist abzuraten, da es da doch
> teilweise Einschränkungen gibt in den Hardwaremöglichkeiten, sodass die
> USB-Spezifikation an ein paar Stellen verletzt wird. Habe selber schon
> damit zu kämpfen gehabt. Kann laufen, muss aber nicht.

Das ist natuerlich klar, ich selber wuerde es auch eher nicht verwenden.

von Mats M. (elektrofreak)


Lesenswert?

vielleicht nur nochmal, damit ihr nichts falsch versteht:

Das mit dem AtTiny wäre eine option, wenn ich den uC direkt unverändert 
programmiere wie auf der Homepage und die Software für den PC 
umprogrammiere (d.h. nur Quellcodeänderung am PC, keine direkten 
Eingriffe in USB)

Ich denke, dass das einfachste und problemloseste einfach die 
FT232/FT245 sein werden, mit denen ich es auch versuchen werde.

Vielen Dank für die große Resonanz und vielseitigen Informationen und 
Anregungen!

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.