Forum: Mikrocontroller und Digitale Elektronik Bourns EM14 5V an STM32 3.3V FT


von MPunkt E. (mpunkt_e)


Lesenswert?

Hallo,

ich würde gerne einen Bourns EM14 Encoder an einem STM32F4x verwenden. 
Der EM14 läuft auf 5V, der STM32 auf 3.3V. Laut Datenblatt ist der STM32 
aber FT auf allen GPIO.

Nun gibt es aus meiner Sicht ein paar Optionen, die einfachsten wären 
Spannungsteiler, Pegelwandler (AND Gatter oder Buffer) oder direkt dran, 
wobei das natürlich am einfachsten wäre. Das Datenblatt des EM14 sagt 
aber dass der Encoder bis zu 25mA bei LOW sinken kann, was wohl an einem 
Pin vom STM32 nicht optimal ist. Dazu kommt ein Pullup auf der 
Datenlinie.

- Kann ich trotzdem den EM14 direkt an der STM32 hängen, unter Beachtung 
der externen Beschaltung laut EM14 Datenblatt (2 Pullups, 2 C)?
- Ist es empfehlenswert, einen Reihenwiderstand vor der GPIO zu machen, 
der einen Strom begrenzt, z.B. 1k? Wobei das ja dann eine gewisse 
zeitliche Dämpfung gibt...
- Ist eine Trennung per IC, der dann bis zu 25mA liefern kann, die 
saubere Lösung?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

MPunkt E. schrieb:
> Das Datenblatt des EM14 sagt aber dass der Encoder bis zu 25mA bei LOW
> sinken kann, was wohl an einem Pin vom STM32 nicht optimal ist.
Das tut dem µC nichts, wenn er nicht grade ein High ausgibt. Aber der µC 
ist da ja sowieso Eingang. Und gibt gar nichts aus.

> dass der Encoder bis zu 25mA bei LOW sinken kann
"Sinken" bedeutet "Strom nach GND fließen lassen". Die max 25mA sagen 
aus, dass der Encoder kaputtgeht wenn du da mehr als 25mA reinprügelst.

> Dazu kommt ein Pullup auf der Datenlinie.
Was ist die "Datenlinie"?
Der hat doch nur A und B sowie zwei Schalterausgänge.

> Laut Datenblatt ist der STM32 aber FT auf allen GPIO.
FT? Nicht alle STM32 sind auf allen Pins 5V tolerant.

> laut EM14 Datenblatt (2 Pullups, 2 C)?
Welches hast du da?
Auf dem bei Bourns ist nichts drin:
- https://www.bourns.com/pdfs/EM14.pdf

: Bearbeitet durch Moderator
von MPunkt E. (mpunkt_e)


Lesenswert?

>> Dazu kommt ein Pullup auf der Datenlinie.
> Was ist die "Datenlinie"?
> Der hat doch nur A und B sowie zwei Schalterausgänge.

Genau A, B meinte ich, siehe Datenblatt Encoder. Dazu auch der Kommentar 
unten, ich möchte den verwenden:

https://www.mouser.de/ProductDetail/Bourns/EM14R0D-M20-L064S?qs=CrTVAl0CcnLShMqPEt46xw%3D%3D

Der soll laut Datenblatt 2 Pullups und 2 C bekommen.

>> Laut Datenblatt ist der STM32 aber FT auf allen GPIO.
> FT? Nicht alle STM32 sind auf allen Pins 5V tolerant.

FT habe ich bei STM öfters für Five-(Volt-)Tolerant gesehen, im 
Gegensatz zu Three-(Volt-)Tolerant TT. Schlimme Abkürzung...
Der STM32F401RCT6 den ich im Blick habe sagt im Datenblatt:
...
 Up to 81 I/O ports with interrupt capability
– All IO ports 5 V tolerant
– Up to 78 fast I/Os up to 42 MHz
...

von Andrew T. (marsufant)


Lesenswert?

MPunkt E. schrieb:
> - Kann ich trotzdem den EM14 direkt an der STM32 hängen, unter Beachtung
> der externen Beschaltung laut EM14 Datenblatt (2 Pullups, 2 C)?
> - Ist es empfehlenswert, einen Reihenwiderstand vor der GPIO zu machen,
> der einen Strom begrenzt, z.B. 1k? Wobei das ja dann eine gewisse
> zeitliche Dämpfung gibt...

Da der EM14 ein Signal ausgibt, benötigst Du nicht mal ein pullup.
DaBla sagt mind. 4V, daher ein simpler Reihenwiderstand zum portpin des 
STM32 (sofern Du da Eingänge nutzt die nur 3.3V vertragen, sind es 
welche die 5V kompatible sind ist auch kein Widerstand nötig)).
1k passt,mit einer geschätzt angenommnen Kapazität (pin+Leiterbahn) von 
15 pF ist der delay vernachlässigbar.

von Andrew T. (marsufant)


Lesenswert?

MPunkt E. schrieb:
> Genau A, B meinte ich, siehe Datenblatt Encoder. Dazu auch der Kommentar
> unten, ich möchte den verwenden:
>
> 
https://www.mouser.de/ProductDetail/Bourns/EM14R0D-M20-L064S?qs=CrTVAl0CcnLShMqPEt46xw%3D%3D


Nun, da müssen die Leitung schon SEHR lang (z.B. 3m ) sein wenn Du 22nF 
vorsiehst.
Auf dem PCB ist das nicht so hochkapazitiv nötig. Siehe oben.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

MPunkt E. schrieb:
> Der STM32F401RCT6 den ich im Blick habe sagt im Datenblatt:
> – All IO ports 5 V tolerant
Also: schließ den Geber einfach direkt an. Du kannst natürlich auch die 
zusätzliche Angstbeschaltung mit irgendwelchen zusätzlichen Pullups und 
nF-Kondensatoren mit einbauen...

EDIT:
1
*External pull-up resistors (1K ohms) and filter caps (22 nF) recommended for proper operation. 
2
Utilization of a filter circuit will yield a typical rise time of 50 microseconds. See schematic.
Das kam wohl bei neuen Datenblattversionen dazu, damit die Reklamationen 
wegen schlecht implementierter Abfrageroutinen nicht überhand nehmen.
1
 a typical rise time of 50 microseconds.
Das bedeutet also, dass pro Sekunde höchstens rechnerisch 20000 Flanken 
und damit 5000 Vollschritte drin sind. Und mit viel Reserve sind das 
dann 500 Schritte und bei 64 Schritten/Umdrehung knapp 8-9 Umdrehungen 
pro Sekunde. Das dürfte auch der schnellste Dreher nicht hinbekommen.

: Bearbeitet durch Moderator
von MPunkt E. (mpunkt_e)


Lesenswert?

Alles klar, dann ohne Angstbeschaltung. Vielleicht mach ich die Pads auf 
die PCB und lasse sie frei ;)

Danke für die Infos!

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

MPunkt E. schrieb:
> Das Datenblatt des EM14 sagt
> aber dass der Encoder bis zu 25mA bei LOW sinken kann

Da eine Stromangabe NUR für "sink" zu finden ist "schmeckt" das nach 
einem open-Collector-/open-Drain-Ausgang.

Lothar M. schrieb:
> MPunkt E. schrieb:
>> dass der Encoder bis zu 25mA bei LOW sinken kann
> "Sinken" bedeutet "Strom nach GND fließen lassen". Die max 25mA sagen
> aus, dass der Encoder kaputtgeht wenn du da mehr als 25mA reinprügelst.

Ich erlaube mir zu korrigieren:
BOURNS garantiert eine maximale Spannung am Pin bei einem Strom von 25mA 
(eine Angabe von "Absolute Maximum Ratings" ist im Datenblatt nicht zu 
finden).

>> Dazu kommt ein Pullup auf der Datenlinie.
> Was ist die "Datenlinie"?

Diese Frage ploppte bei mir auch auf...

> Der hat doch nur A und B sowie zwei Schalterausgänge.

Korrektur:
Zwei Pins, welche mit einem (optionalen) Taster verbunden sind.

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.