Forum: Mikrocontroller und Digitale Elektronik STM32L072 USB bei 2-3 Volt Spannungsversorgung


von Stefan F. (Gast)


Lesenswert?

Ich würde gerne ein tragbares Modul mit einem STM32L072 bauen, das mit 
einer CR2032 Knopfzelle versorgt wird.

Zum Flashen möchte ich den internen Bootloader über USB verwenden. 
Außerdem möchte ich die USB Schnittstelle zum Ausgeben von Debug 
Meldungen nutzen. Im mobilen Normalbetrieb wird der USB Anschluss nicht 
verwendet.

Wegen der Knopfzelle wäre die Versorgungsspannung 2 bis 3 Volt. Kann 
dann die USB Schnittstelle überhaupt funktionieren? So wie ich das 
Datenblatt verstehe müsste das gehen (außer bei der 32 Pin Version weil 
die keinen V_USB Anschluss hat). Habe ich das richtig verstanden?

Als Sahnehäubchen fände ich cool, wenn die Batterie nicht belastet wird 
solange das Ding am USB Port des PC hängt. Ich denke dafür brauche ich 
einen Umschalter (Batterie vs. USB) und einen 3 Volt Regler. Vielleicht 
gibt es das auch schon kombiniert als IC. Kennt ihr da was, dass ich als 
Privatkunde kaufen kann?

von Achim M. (minifloat)


Lesenswert?

Stefan F. schrieb:
> Außerdem möchte ich die USB Schnittstelle zum Ausgeben von Debug
> Meldungen nutzen.

Ein USB-UART mit Pegelwandler tut's nicht?
Andererseits kann zum Debuggen die VCC auch auf 3,3V angehoben werden.

Stefan F. schrieb:
> Kennt ihr da was, dass ich als Privatkunde kaufen kann?

Geh' Mal alte Threads durchforsten, das wurde hier schon oft diskutiert. 
Neulich wurden solche ICs die das können auch im Marktforum angeboten.

mfg mf

von Stefan F. (Gast)


Lesenswert?

Achim M. schrieb:
> Ein USB-UART mit Pegelwandler tut's nicht?

Möchte ich vermeiden, die Platine soll primitiv bleiben.

> Andererseits kann zum Debuggen die VCC auch auf 3,3V angehoben werden.

Ja dagegen hätte ich nichts. Scheint aber gar nicht nötig zu sein, falls 
ich das Datenblatt richtig verstanden habe.

von Jens R. (tmaniac)


Lesenswert?

Schau dir mal den Schaltplan vom Adafruit STM32 Feather an.
Ist zwar ein STM32F4 aber sollte ähnlich sein. Jedenfalls haben die 
einen LiPo-Lader und damit eine Umschaltung zwischen USB und Akku.

von Stefan F. (Gast)


Lesenswert?

Jens R. schrieb:
> Schau dir mal den Schaltplan vom Adafruit STM32 Feather an.

Danke. Die Schaltung kenne ich schon von einem anderen Board. Problem 
ist hier, dass zwischen Batterie und µC noch ein Spannungsregler liegt. 
Den will ich vermeiden, da meine Batterie nur 2-3 Volt hat und auch 
wegen der Ruhestromaufnahme.

Vielleicht mache ich die Umschaltung einfach mechanisch.

Dann bleibt aber noch meine Frage offen ob ich richtig verstanden habe, 
dass der USB Anschluss funktioniert, während der STM mit (nur) 2-3 Volt 
versorgt wird.

Ich würde es ja gerne einfach ausprobieren, aber ich kann ihn nirgendwo 
kaufen. Außer für Schweinepreise bei Aliexpress, denen traue ich aber 
nicht. Die Wartezeit würde ich gerne mit der Planung dieses Projektes 
verbringen und schon mal eine Platine produzieren lassen. Deswegen frage 
ich hier.

von Harald A. (embedded)


Lesenswert?

Stefan F. schrieb:
> Ich denke dafür brauche ich
> einen Umschalter (Batterie vs. USB) und einen 3 Volt Regler. Vielleicht
> gibt es das auch schon kombiniert als IC. Kennt ihr da was, dass ich als
> Privatkunde kaufen kann?

Man könnte im einfachsten Fall zwei Dioden nehmen, allerdings geht da 
etwas Spannung verloren. Sollte aber fast reichen, denn wenn die Zelle 
soweit hin ist, kommt es auf die letzten 0,25V auch nicht mehr an. 
Braucht man halt eine Schottky mit möglichst niedriger 
Durchlassspannung, z.B. PMEG3005AEA. In den USB-Zweig kommt ein LDO 
dazu. Die Verlustleistung der Dioden bleibt natürlich, je nach 
Anwendungsfall aber verschmerzbar. Alternativ:
Fertige ICs gibt es von vielen Herstellern, Stichwörter wären „load 
switch battery line“, dann kommt so etwas:
https://pdfserv.maximintegrated.com/en/an/AN1136.pdf
Als Privatperson sicherlich zu beziehen, Mouser oder LCSC oder 
Sammelbestellung Farnell.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Ich habe einen Umschalt-IC gefunden
https://www.ti.com/lit/ds/symlink/tps2116.pdf

von Frank K. (fchk)


Lesenswert?

Stefan F. schrieb:

> Ich würde es ja gerne einfach ausprobieren, aber ich kann ihn nirgendwo
> kaufen. Außer für Schweinepreise bei Aliexpress, denen traue ich aber
> nicht. Die Wartezeit würde ich gerne mit der Planung dieses Projektes
> verbringen und schon mal eine Platine produzieren lassen. Deswegen frage
> ich hier.

Du könntest einfach einen EFM32 nehmen. Von dem hier

https://www.silabs.com/mcu/32-bit-microcontrollers/efm32-happy-gecko/device.efm32hg322f64g-qfp48?tab=specs

z.B. hat DIgikey gerade über 300 Stück vorrätig.

https://www.digikey.de/de/products/detail/silicon-labs/EFM32HG322F64G-C-QFP48R/10314095

Und für batteriebetriebene Anwendungen sind die auch nicht übel.

fchk

von Stefan F. (Gast)


Lesenswert?

Frank K. schrieb:
> Du könntest einfach einen EFM32 nehmen.

Für mich wäre das nicht einfach, weil ich mit dieser Serie und den 
zugehörigen Arbeitsmitteln nicht vertraut bin. Als Hobbybastler muss man 
sich auch wenige Inseln beschränken. Dass ich mich über den Tellerrand 
der 8 Bit Welt hinaus wage ist für mich schon aufregend genug.

Ich hab's nicht eilig. Irgendwann werden STM32 wohl wieder verfügbar 
sein. Es muss ja nicht unbedingt in L072 sein.

von Stefan F. (Gast)


Angehängte Dateien:

Lesenswert?

Ich reiche mal ein Infos zu meiner Idee nach, was das werden soll:

Inspiriert haben mich die altbekannten Produkte Digispark und B·O·B·3.

Ich möchte einen ähnlichen USB Stick zum Kennenlernen der STM32L0 Serie 
entwerfen, den man mit sich herum tragen und vorzeigen kann (daher der 
Batteriebetrieb). Er soll ein bisschen einfache Peripherie on Board 
haben. Wer damit mehr machen will, soll an der Unterkante Kontakte wie 
an den alten ISA Karten vom PC vorfinden, für die es passende 
Slot-Stecker gibt. Man kann da aber auch Stit- und Buchsenleisten im 
2,54mm Raster anlöten.

Ich will damit gar nicht reich werden, sondern einfach einen Grund 
haben, eine eigens entworfene Platine herstellen zu lassen, die nicht 
völlig sinnlos ist, und die man dem einen oder anderen Interessenten 
überlassen kann.

Warum nicht Digispark?
Weil der nur 5 Pins hat die sich auch noch mit dem USB Port überlappen. 
Die Idee finde ich gut, aber er ist insgesamt zu klein geraten.

Warum nicht B·O·B·3?
Weil der schon immer wie zu teuer war. Außerdem finde ich es nicht mehr 
Zeitgemäß, extra einen Programmieradapter dazu kaufen zu müssen.

Warum nicht Microbit?
Auch zu teuer und vor allem zu komplex. Als ich mir den damals anschaute 
war das verfügbare Lehrmaterial und die Bibliotheken noch äußerst 
unvollständig. Es zeichnete sich jedoch ab, dass man auf jeden Fall von 
den vorgefertigten Bibliotheken abhängt, was mir nicht gefällt. Auch 
stört mir der spezielle Erweiterungs-Anschluss, den man ohne teures 
Spezialzubehör nicht benutzen kann.

Warum nicht Trinkey QT2040?
Da fehlt mir die Batterie und Anschlüsse für Erweiterungen (nur I²C ist 
zu wenig). Der hat auch praktisch keine Peripherie On-Board, was soll 
man damit anfangen?

Warum nicht RP2040 PYBStick?
Der ist offenbar Fall am nächsten an meiner Idee. Leider kann auch 
dieser nicht mobil mit Batterie vorgeführt werden.

Der RP2040 ist wenigstens lieferbar, andererseits kenne ich mich mit dem 
Chip nicht aus und habe zur Zeit auch keine Lust mich mit ihm zu 
befassen (das wären zu viele Baustellen gleichzeitig). Wenn die STM32 
noch lange unobtainable bleiben, könnte sich das ändern.

von Nikolaus S. (Firma: Golden Delicious Computers) (hns)


Lesenswert?

Stefan F. schrieb:

> Warum nicht RP2040 PYBStick?
> Der ist offenbar Fall am nächsten an meiner Idee. Leider kann auch
> dieser nicht mobil mit Batterie vorgeführt werden.

Warum nicht eine fertige USB-Power-Bank nehmen und ein aus USB 
versorgtes Board unterwegs da anstecken?

von Stefan F. (Gast)


Lesenswert?

Nikolaus S. schrieb:
> Warum nicht eine fertige USB-Power-Bank nehmen und ein aus USB
> versorgtes Board unterwegs da anstecken?

Ist unpraktisch, da zwei Teile. Und außerdem ist da nichts drauf was man 
vorführen könnte. Mein STM32 Stick soll da schon etwas "besser" sein.

Ja ich weiß, jeder findet etwas anderes besser. Ist auch gut so.

von Harald A. (embedded)


Lesenswert?

> und habe zur Zeit auch keine Lust mich mit ihm zu
> befassen (das wären zu viele Baustellen gleichzeitig). Wenn die STM32
> noch lange unobtainable bleiben, könnte sich das ändern.

Hatte die selbe Haltung dazu, bis ich mich neulich einmal „zwangsweise“ 
damit beschäftigt habe. Brauchte ein Gerät, das ohne viel 
Entwicklungsaufwand verschiedene USB-Rollen einnehmen kann (Host, Slave, 
HID, VCOM, etc.). Es ist wirklich der Hammer, was man mittels Python in 
kürzester Zeit hinbekommt. Dazu muss ich sagen, dass ich bis jetzt nicht 
gerade der Python-Experte bin. Support aus dem Netz grandios.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Harald A. schrieb:
> Es ist wirklich der Hammer, was man mittels Python in
> kürzester Zeit hinbekommt

Ja das stimmt wohl. Python lebt wie Java von den Bibliotheken die dafür 
gemacht wurden.

von Jens R. (tmaniac)


Lesenswert?

Stefan F. schrieb:
> Ich reiche mal ein Infos zu meiner Idee nach, was das werden soll:
> [und so weiter]

Ehrlich gefragt, warum dann nicht die Adafruit Feder (STM32 Feather)? 🤔

Größenordnung ist ähnlich dem von dir gezeigten RP. Es ist vollständig 
in Arduino integriert. Ebenso geht Python.
Wenn einem das nicht reicht, schnappt man sich die CubeIDE und fängt in 
C oder C++ an zu programmieren (entweder direkt über USB oder sogar über 
SWD).
Hardware seitig ist das Stack-System mit den Wings wunderbar erweiterbar 
oder man hat für einfache Anbindung an Sensoren die Stemma QT Teile.
Wenn es mehr Hardwareschnitstellen sein müssen, kann man auch hier 
selber Wing-Boards designen. Ich habe mir ein CAN Transceiver-Wing 
gebaut.

Ich selber habe schon Mikrocontroller Platinen entworfen (für Infineons 
C166 und dessen Nachfolger). Das lohnt sich aber bei den heutigen 
Preisen für Fertige Boards nicht mehr. Außer vielleicht man sucht etwas 
ganz besonderes.

Ja du hattest schon erwähnt, dass du dir das Board angeschaut hast.

Achja, es gibt auch Wing-Boards die einen Knopfzellen Halter haben. Was 
damit möglich ist, hab ich aber noch nicht geschaut.

: Bearbeitet durch User
von Manfred (Gast)


Lesenswert?

Stefan F. schrieb:
> Wegen der Knopfzelle wäre die Versorgungsspannung 2 bis 3 Volt. Kann
> dann die USB Schnittstelle überhaupt funktionieren?

Ja!

Wir haben in einem Serienprodukt einen STM32L072С8, der über einen 
Regler mit 2,5V versorgt wird. USB wird benötigt, um das Gerät zu 
parametrieren, aber auch, um Updates einzuspielen.

Beachte dabei, dass der Treiber zum SW-Update ein anderer ist als jener, 
nur Daten zu lesen.

Die beiden Datenleitungen sind direkt an PA11 / PA12 des µC, ESD-Schutz 
mit einem TVS-Array SR05.

V-USB geht über 200k-100k an PA2, vermutlich, damit der µC weiß, ob 
Spannung  da oder nicht. Vom USB kann auch der interne LiPo geladen 
werden.

Pin4 der Micro-USB geht über einen R-Teiler 3k3-10k und zwei BAT254 nach 
VDD / VSS an BOOT0 des STM32.

Der STM32 kommuniziert per UART mit einem anderen Stein, dessen 
Versorgung geregelte 1,8 Volt sind, das setzt ein TXS0102D um.

Bevor jemand fragt: Den Stromlauf gebe ich nicht aus der Hand.

von Stefan F. (Gast)


Lesenswert?

Jens R. schrieb:
> Ehrlich gefragt, warum dann nicht die Adafruit Feder (STM32 Feather)?

Erster Eindruck: ziemlich teuer. Es ist von der Schaltung her weit von 
dem entfernt, was ich machen will. Es soll ein STM32L0 werden, kein F4.

von Stefan F. (Gast)


Angehängte Dateien:

Lesenswert?

Manfred schrieb:
> Ja! ...

Danke Manfred, du hast ein ziemlich ähnliches Nutzungs-Szenatio 
beschrieben, wie mir vorschwebt.

Ich habe schon angefangen, die Platine zu entwerfen. Anbei ein Foto vom 
aktuellen Stand. Das rot Dings soll ein Fototransistor werden. Zwischen 
den Tastern sind 4 rot/grüne LEDs für die leider die 3D Ansicht fehlt.

Ich bin doch von den CR2032 Knopfzellen weg, weil sie zu wenig Strom für 
die LEDs liefern (zumindest die billigen). Nehme jetzt 2x LR44 (auf der 
Rückseite).

Bin gespannt, wie viele Fehler die Platine haben wird :-)

von Manfred (Gast)


Lesenswert?

Stefan F. schrieb:
> Danke Manfred, du hast ein ziemlich ähnliches Nutzungs-Szenatio
> beschrieben, wie mir vorschwebt.

Ich hoffe, meine Beschreibung hilft, den Umgang mit USB am STM32 zu 
klären, was mir Dein Hauptproblem schien.

> Ich bin doch von den CR2032 Knopfzellen weg, weil sie zu wenig Strom für
> die LEDs liefern (zumindest die billigen). Nehme jetzt 2x LR44 (auf der
> Rückseite).

Scheißknöpfe, die sind nicht besser als CR2032, aber sabern gerne mal.
Schaue Datenblätter an, LR44 sehe ich von 105..175 mAh bei 6k8 oder 8k2 
Last bis 0,9 Volt.

von Stefan F. (Gast)


Lesenswert?

Manfred schrieb:
> Ich hoffe, meine Beschreibung hilft, den Umgang mit USB am STM32 zu
> klären, was mir Dein Hauptproblem schien.

Ja definitiv.

von Stefan F. (Gast)


Lesenswert?

Manfred schrieb:
> Scheißknöpfe, die sind nicht besser als CR2032, aber sabern gerne mal.
> Schaue Datenblätter an, LR44 sehe ich von 105..175 mAh bei 6k8 oder 8k2
> Last bis 0,9 Volt.

Aus irgend einem Grund hat meine Frau zahlreiche dieser Sets gekauft, wo 
man 16 gemischte Zellen für 1 Euro bekommt. Also qualitativ sicher 
unterste Schiene. Einige sind schon von alleine leer geworden, aber 
nicht alle.

Jedenfalls habe ich von denen man ein paar Stichproben genommen und da 
konnten sämtliche LR44 Zellen locker 10x so viel mA liefern, wie die 
Lithium Zellen.

von Harald A. (embedded)


Lesenswert?

Wenn Du jetzt schon bei 2x LR44 auf der Rückseite bist könntest Du ja 
auch einen Halter für 2xAAA nehmen. Den Platz scheinst Du ja zu haben. 
Keystone hat schicke Halter.
Oder ne kleine LiPo Bag Zelle mit fertigen Kabel dran, Schutzelektronik 
integriert. Die hat auch schon die passende Spannung und kann per USB 
geladen werden, TP4056 und Co. Bei der Endabschaltung kannst Du dich auf 
die Schutzschaltung verlassen, die macht dann unter 3V den cut-off.
https://www.adafruit.com/product/1570

: Bearbeitet durch User
Beitrag #7230819 wurde vom Autor gelöscht.
von Stefan F. (Gast)


Lesenswert?

Harald A. schrieb:
> Wenn Du jetzt schon bei 2x LR44 auf der Rückseite bist könntest Du ja
> auch einen Halter für 2xAAA nehmen. Den Platz scheinst Du ja zu haben.

Ja stimmt, geht auch.

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.