Forum: Mikrocontroller und Digitale Elektronik USB PowerSupply mit Mikrocontroller


von Cornelius (Gast)


Lesenswert?

Schon eine ganze Weile denke ich darüber nach, für kleinere Schaltungen 
zum testen unterwegs die Stromversorgung über einen USB-Stecker am PC zu 
machen.

Durch Zufall bin ich auf dieses Projekt gestoßen:
https://www.kickstarter.com/projects/507351807/first-usb-powered-fully-v-i-controllable-power-sup?ref=project_email

Das scheint tatsächlich so was in der Richtung zu sein.

Was mich besonders verwundert, ist, dass man das Netzteil über den 
Webbrowswer ohne spezielle Softwareinstallation steuern kann.

Weiß jemand, wie das genau funktioniert? Kann man das auf den STM32 
machen?

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Cornelius schrieb:
> Weiß jemand, wie das genau funktioniert?

Wahrscheinlich wird USB-CDC oder RNDIS genutzt um eine Netzwerkkarte zu 
simulieren, über die dann ein eingebauter Webserver erreichbar ist. Was 
man heute für Umwege gehen muss um eine grafische Anwendung zu zeigen...

Cornelius schrieb:
> Kann man das auf den STM32
> machen?
Ja. Auf dem Bild sieht man das doch sogar wenn man genau hinschaut...

von Jim M. (turboj)


Lesenswert?

Steht doch auf der Seite selbst:

> Onboard webserver using RNDIS protocol.

RNDIS sind USB Netzwerkkarten - deren Treiber in Windows u.a. integriert 
ist.

Nachteil: Wenn man Pech hat, trennt der Anschluss dieses Geräts den PC 
vom Internet. YMMV.

von Johnny B. (johnnyb)


Lesenswert?

Jim M. schrieb:
> Steht doch auf der Seite selbst:
>
>> Onboard webserver using RNDIS protocol.
>
> RNDIS sind USB Netzwerkkarten - deren Treiber in Windows u.a. integriert
> ist.
>
> Nachteil: Wenn man Pech hat, trennt der Anschluss dieses Geräts den PC
> vom Internet. YMMV.

Aber die Idee ist noch cool, das so zu lösen und die Daten per JSON 
auszutauschen, was sowohl mit JavaScript auf einer HTML5 Webseite 
verfügbar ist, wie auch direkt in Entwicklungsumgebungen wie 
VisualStudio, Qt, ...

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Johnny B. schrieb:
> Aber die Idee ist noch cool

So hat man halt ein Protokoll in Protokoll in Protokoll...

JSON in HTTP in TCP in IP in Ethernet in RNDIS in USB... Und das nur um 
die Installation einer Anwendung zu vermeiden? Eigentlich war USB mal 
dazu konzipiert, solche Daten direkt übertragen zu können. Die 
entsprechenden Datensicherungs- und Flusskontrollmechanismen hat es 
schon eingebaut. Hoffentlich gibt das so nie Adress-Konflikte, Probleme 
mit Firewalls, Inkompatibilitäten im Browser, XSS-Attacken, ...

von Cornelius (Gast)


Lesenswert?

>Wahrscheinlich wird USB-CDC oder RNDIS genutzt um eine Netzwerkkarte zu
>simulieren

Hat das hier schon mal jemand gemacht bzw. gibt es so was schon als 
Open-Source?

von Johnny B. (johnnyb)


Lesenswert?

Cornelius schrieb:
> Kann man das auf den STM32 machen?

Das hat mich gerade auch interessiert und habe ein wenig gesucht; ich 
habe nur ein Codebeispiel gefunden. Es soll auf einem STM32F4 Discovery 
Board lauffähig sein:
https://github.com/fetisov/lrndis

Demo
http://www.youtube.com/watch?v=W_o0lPivqsA

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Cornelius schrieb:
> Hat das hier schon mal jemand gemacht bzw. gibt es so was schon als
> Open-Source?

Bevor man das so nachbaut, sollte man sich vielleicht überlegen ob es 
mit einer "normalen" Anwendung und direktem USB-Zugriff nicht besser 
ist. Man schleppt ja doch eine Menge Overhead mit.

von Cornelius (Gast)


Angehängte Dateien:

Lesenswert?

>Bevor man das so nachbaut, sollte man sich vielleicht überlegen ob es
>mit einer "normalen" Anwendung und direktem USB-Zugriff nicht besser
>ist. Man schleppt ja doch eine Menge Overhead mit.

Mich fasziniert die Idee, etwas ohne extra GUI nutzen zu können. Ich 
vermute mal, dass das Interface auf Browserseite ein paar Jahr lang 
stabil bleibt. Dann hat man nicht das Problem wie bei anderen 
Programmiersprachen, dass die Treiber obsolet werden.

>> Kann man das auf den STM32
>> machen?
>Ja. Auf dem Bild sieht man das doch sogar wenn man genau hinschaut...

Uhh .. da muss man aber schon sehr genau hin sehen. Jetzt wo Du es 
sagst: tatsächlich sieht man das ST-Logo. Jetzt wäre noch interessant, 
was das für einer ist.

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Cornelius schrieb:
> Dann hat man nicht das Problem wie bei anderen
> Programmiersprachen, dass die Treiber obsolet werden.

Dass die entsprechenden Windows-APIs schneller obsolet werden als 
Webtechnologien würde ich nicht so direkt unterschreiben. Der größere 
Vorteil besteht darin dass man überhaupt keine Software auf dem Rechner 
ausführen muss und das portabel unter verschiedenen OS funktioniert.

Eine denkbare Alternative wäre:
Das Teil meldet sich als Verbundgerät an - teilweise USB-Stick (USB-MSC, 
readonly) und teilweise selbstdefiniert (Vendor-Specific). Auf dem 
"Stick" befindet sich eine Java-Anwendung welche via libusb und WinUSB 
auf USB-Geräte zugreifen kann; mit entsprechendem Launcher macht man 
sich das Windows/Linux/Mac OS kompatibel. Auf Geräteseite ist das so 
definitiv viel einfacher.

Cornelius schrieb:
> Jetzt wäre noch interessant,
> was das für einer ist.
Da könnte "F0" stehen, aber das ist nicht so wichtig. Wenn man das 
nachbaut nimmt man sich einen großen Controller (z.B. F407), schaut wie 
viel Leistung man tatsächlich benötigt und nimmt dann einen passenden.

von Harald W. (wilhelms)


Lesenswert?

Cornelius schrieb:

> Schon eine ganze Weile denke ich darüber nach, für kleinere Schaltungen
> zum testen unterwegs die Stromversorgung über einen USB-Stecker am PC zu
> machen.

Nun, Steckdosen gibts noch deutlich häufiger als PCs. Und ein
kleines (Schalt-)Netzteil ist auch deutlich billiger als dieses
USB-Netzteil. Mit einem Steckdosenteil ist auch die Gefahr
geringer, das man nicht nur seine Schaltung, sondern den PC
gleich mit zerschiesst.

von A. F. (artur-f) Benutzerseite


Lesenswert?

Harald W. schrieb:
> Nun, Steckdosen gibts noch deutlich häufiger als PCs. Und ein
> kleines (Schalt-)Netzteil ist auch deutlich billiger als dieses
> USB-Netzteil. Mit einem Steckdosenteil ist auch die Gefahr
> geringer, das man nicht nur seine Schaltung, sondern den PC
> gleich mit zerschiesst.

Da schätze ich aber die reinen PCBA Kosten auf unter 5 Dollar, dank made 
in China Service (Elecrow oder ähnliches).

Mir gefallen allerdings die max. 600mA nicht.

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

A. F. schrieb:
> Mir gefallen allerdings die max. 600mA nicht.

Insbesondere weil USB nur 500mA liefern kann... Wird sich wohl auf 
niedrigere Spannungen als 5V beziehen.

von Amateur (Gast)


Lesenswert?

Eine interessante Idee:
Ein Web-Interface mit dem man überprüfen kann ob der Rechner noch mit 
Strom versorgt wird.

von Holger L. (max5v)


Lesenswert?

Niklas G. schrieb:
> Insbesondere weil USB nur 500mA liefern kann... Wird sich wohl auf
> niedrigere Spannungen als 5V beziehen.

Ja, sieht laut der Grafik eher danach aus:
5V ~400mA,
15V ~150mA,
die 600mA wohl erst ab 3,5 - 4 V.

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.