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.