mikrocontroller mit mehr als einem Quadrature-Decoder Timer

Hi,

Mikrocontroller anzuschliessen. Irgendwie geht das mit jedem Controller (im schnellen Timerinterrupt die zwei Pins einlesen und dekodieren), besonders

Encoder verliert dann doch mal Impulse, weil man zu schnell dreht) und

im Hauptprogramm tunlichst nie Interrupts sperren, damit der Encoder fehlerfrei funktioniert. D.h. ich will da lieber ne Hardware im Controller, die das macht.

Ich hab schon recherchiert, leider ist das nicht leicht rauszufinden. Da das Feature kaum in den Filtern der Distris oder Hersteller auftaucht, muss man

und ganz selten sogar drei.

formatting link

Welche Controller gibt es noch? (Mir reichen da Typen mit 16 MHz Takt und ein paar kB RAM, gern auch mehr, Hauptsache sie sind keine Stromschlucker ;-).

M.

Reply to
Matthias Weingart
Loading thread data ...

Am 19.09.2019 um 08:36 schrieb Matthias Weingart:

Bist Du sicher? Ich hab jetzt mal spontan in das Datenblatt des STM32F7xx und STM32L4xx

General-Purpose-Timer quadrature Encoder. Und davon gibts dann schon mehr als 2.

Reply to
Thorsten Böttcher

Thorsten Böttcher :

Nee eben nicht. Drum frag ich ja auch hier :-). In der unten verlinkten App-

noch gar nicht aus.

Super, danke.

M.

Reply to
Matthias Weingart

Am 19.09.2019 um 10:20 schrieb Matthias Weingart:

Um das STM32-Zeuch schnell auszuprobieren, solltest Du den STM32CubeMX benutzen.

formatting link

Reply to
Andreas Fecht

Andreas Fecht :

Mhh ja, aber dabei bin ich doch gerade erst dabei mir einen neuen Controller auszusuchen. Da wollte ich eigentlich ohne Installationsorgien auskommen. ;-) AT XMEGA und Pics kommen ja auch noch in Frage und bestimmt viele andere mehr

M.

Reply to
Matthias Weingart

Am 19.09.2019 um 10:43 schrieb Andreas Fecht:

und nicht nur mit den Advanced.

Reply to
Thorsten Böttcher

"Matthias Weingart" schrieb im Newsbeitrag news: snipped-for-privacy@penthouse.boerde.de...

Na ja, schlechte Programmierung, man kann bereits mit einem AVR vier Encoder mit 1 Mio Abtastungen pro Sekunde einlesen.

Siehe

formatting link

--
MaWin, Manfred Winterhoff, mawin at gmx dot net 
Homepage http://flexiblebird.bplaced.net/ 
 Click to see the full signature
Reply to
MaWin

Am 19.09.2019 um 08:36 schrieb Matthias Weingart:

solltest, mit Interrupt vom Encoder statt von einem Timer?

Wieviele Encoder hast Du denn, mit wievielen Impulsen pro Sekunde maximal?

DoDi

Reply to
Hans-Peter Diettrich

Am 19.09.2019 um 12:17 schrieb Hans-Peter Diettrich:

keine gute Idee.

Bernd

Reply to
Bernd Laengerich

"Hans-Peter Diettrich" schrieb im Newsbeitrag news: snipped-for-privacy@mid.individual.net...

denn wenn es dann wirklich mal prellt, wird der Controller mit

er sie abarbeiten kann. Welche er verliert ist Zufall.

Man muss dann vorher per Hardware entprellen, damit kann man sich die Software-Entprellung ganz sparen.

--
MaWin, Manfred Winterhoff, mawin at gmx dot net 
Homepage http://flexiblebird.bplaced.net/ 
 Click to see the full signature
Reply to
MaWin

Am 19.09.2019 um 12:35 schrieb Bernd Laengerich:

DoDi

Reply to
Hans-Peter Diettrich

Andreas Fecht :

Mhh, hab das jetzt mal installiert. Man muss aber trotzdem wissen, an welchen Flags man drehen muss? Auf Anhieb sehe ich da nicht, welche Register ich

Was hast Du da eingestellt?

M.

Reply to
Matthias Weingart

"MaWin" :

funktioniert Quadraturdekodierung nur, wenn man die Signale mit einem festen

M.

Reply to
Matthias Weingart

Es hindert dich keiner auch mehr Pins gleichzeitig einzulesen wenn du sie geschickt an einem 8Bit-Port verteilst.

Es gibt sicher Anwendungen wo man einen Hardwareencoder zu schaetzen weiss, aber IMHO eher selten. Einfach deshalb weil die Mechanik nicht die schnellste ist.

Kann das sein das du nur Controller kennst wo man die Interruptprioritaeten nicht frei einstellen kann?

Ich kann jetzt aus dem Kopf keine Nummern nennen, aber ich bin mir sicher das bei Renesas bei den Industriekontrollern gesehen zu haben.

Olaf

Reply to
olaf

Am 19.09.2019 um 15:39 schrieb Matthias Weingart:

Ja wenn Du so ein Experte bist, kann ich diesen Thread ja killen.

DoDi

Reply to
Hans-Peter Diettrich

Am 19.09.2019 um 15:35 schrieb Matthias Weingart:

Reply to
Andreas Fecht

Am 19.09.19 um 15:39 schrieb Matthias Weingart:

Dann musst Du die Entprellung noch optimieren... Irgendwann ist dann

Gerald

Reply to
Gerald Oppen

Am 19.09.2019 um 15:39 schrieb Matthias Weingart:

Ich hab das vor Jahren mal so gemacht, 3 Drehgeber in einem System, Interrupt auf die steigende Flanke. Im Interrupt den 2. Pin gelesen und daran entschieden ob ich inkrmentieren oder dekrementieren muss. Das hat immer Problemlos funktioniert, und ist IMHO noch heute im Einsatz.

Reply to
Thorsten Böttcher

Andreas Fecht :

Ahhh, da steckt das! Danke. Sogar der LowPower-Timer kann Encoder-Mode. Damit kann dann z.B. sogar der nur 32 pinnige STM32L0 sogar 4 Encoder (sofern

M.

Reply to
Matthias Weingart

olaf :

Naja, irgendwie kommt man dann doch oft schneller an die Grenzen des Systems

wenn man den ein wenig schneller bewegte, verlor der gleich Impulse trotz

gewesen.

DINT; "tu was kritisches"; EINT; gekapselt werden muss. Z.B. wenn man 64bit Variablen auf einem 8 bit System

Ja stimmt, Renesas war auch immer toll bei der Ausstattung der Controller.

M.

Reply to
Matthias Weingart

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.