Encoder auswerten

Für Microcontroller und sonstige "echte" Technik-Themen, die sonst nichts mit ft zu tun haben
Everything technical that has nothing to do with ft
Forumsregeln
Bitte beachte die Forumsregeln!

Encoder auswerten

Beitragvon AchimMeyer » 12 Jun 2019, 05:10

Hallo zusammen,
ich heiße Achim, bin neu hier, gelernter Kommunikationselektroniker, aber seit 25 Jahren Betriebselektriker bei einem Automobilzulieferer.

Ich habe hier die Fischertechnik Fabrik Simulation 24V ohne Steuerung/SPS stehen.
Sie ist für Ausbildungszwecke gedacht und soll an verschiedene Steuerungen (Siemens S7, Logo, Easy, Raspberry Pi,....) angeschlossen werden können.
Die theoretische Planung ist soweit fertig.... bis auf die Encoder der Motoren. (Das Funktionsprinzip der Encoder ist mir hinreichend bekannt). Die Auswertung der Encoder würde ich gerne extern, also nicht in den (Haupt)Steuerungen machen.
Je nach Steuerung und/oder Programmierung hab ich zu viel Sorge, das Schritte verlohren gehen.
Die Werte sollen dann über I2C oder parallel an die Steuerungen übertragen werden.

Gibt es jemand, der das schon gemacht hat? Vorschläge?

Ich schwanke im Moment zwischen einem ESP8266 oder einer (geätzten) Platine mit D-Flipflops für die Auswertung.

Hat jemand noch weitere Ideen?

Danke für Eure Tips,

Achim
AchimMeyer
 
Beiträge: 6
Registriert: 12 Jun 2019, 04:42

Re: Encoder auswerten

Beitragvon uffi » 12 Jun 2019, 13:11

Man könnte einfach einen Arduino Nano nehmen und den die Schritte über Interrupts zählen lassen. Den Arduino kann man auch als I2C- oder SPI- Slave programmieren.
Benutzeravatar
uffi
 
Beiträge: 130
Registriert: 24 Jan 2014, 17:21
Wohnort: München
Alter: 56

Re: Encoder auswerten

Beitragvon uffi » 12 Jun 2019, 13:12

Clones aus China bekommt man bei Ali-Express für ca 1,30 Euro/Stück Versandkostenfrei.
Benutzeravatar
uffi
 
Beiträge: 130
Registriert: 24 Jan 2014, 17:21
Wohnort: München
Alter: 56

Re: Encoder auswerten

Beitragvon juh » 12 Jun 2019, 14:32

Aber eine Arduino-Lösung wäre ja nicht anders als per ESP8266, nur dass der ein gutes Stück moderner (schneller, mehr Speicher, polyvalentere Pins) ist.

Achim, willst Du nur die Zählfunktionalität auslagern oder gleich den Motortreiber mit? Sowas würde mir nämlich vorschweben, ein kombinerter Encoder und Motortreiber, der das low-level Interrupt und PWM Zeugs abkapselt und nach Außen per I2C nur Funktionen wie "konstante Geschwindikeit X", "fahre X Schritte" etc., ggf. mit Beschleunigungsrampen, anbietet. In diese Richtung hatte mich früher schon mal ein wenig umgesehen, vielleicht bringt Dich das noch auf neue Ideen:

https://www.robot-r-us.com/vmchk/motor- ... coder.html - sehr interessant, aber wohl schon retired

https://www.hackster.io/Saimon/i2c-encoder-v2-377670 - für manuelle Encoder, müsste man sehen, ob die schnell genug sind

https://hackaday.io/project/158429-smar ... r-robotics - dummerweise hardwareseitig fest mit einem N20 Motor gekoppelt

Ich meine, es gab auch dezidierte Zähler-Chips mit I2C, konnte ich auf Anhieb aber nicht mehr finden.

Und Frans (fotoopa) hätte sicher noch tolle Lösungen auf FPGA-Basis auf Lager... ;-)

lg und viel Erfolg
Jan
Meine fischertechnik Designs für den 3D-Druck: https://www.thingiverse.com/juh/designs
juh
 
Beiträge: 220
Registriert: 23 Jan 2012, 14:48

Re: Encoder auswerten

Beitragvon davidrpf » 12 Jun 2019, 17:38

Hallo zusammen,

bezüglich der Arduino Boards sollte noch gesagt werden, dass viele Boards nur einige wenige (meist zwischen 2 und 4) der I/O Pins tatsächlich als Interrupts für Encoder nutzen können. Der ESP hat diese Restriktion afair nicht. Ein Upgrade auf einen modernen ESP32 lohnt sich sicherlich, die gibts auch für unter 10€ aus China.

Gruß
David
davidrpf
 
Beiträge: 185
Registriert: 14 Jul 2015, 14:27

Re: Encoder auswerten

Beitragvon MasterOfGizmo » 12 Jun 2019, 18:12

davidrpf hat geschrieben:bezüglich der Arduino Boards sollte noch gesagt werden, dass viele Boards nur einige wenige (meist zwischen 2 und 4) der I/O Pins tatsächlich als Interrupts für Encoder nutzen können.


Welche haben denn da solche Beschränkungen?
ftDuino, der Arduino für fischertechnik: http://ftduino.de
Benutzeravatar
MasterOfGizmo
 
Beiträge: 1684
Registriert: 30 Nov 2014, 08:44

Re: Encoder auswerten

Beitragvon davidrpf » 12 Jun 2019, 18:32

Eine Übersicht gibt es hier: https://www.arduino.cc/reference/en/lan ... interrupt/

Wobei man dazu sagen muss, dass das diejenigen sind, denen eine eigene ISR zugeordnet werden kann. Einfache Pin Change Interrupts kann man mit etwas Tricksen auch für die übrigen Pins erhalten, da muss nur in der ISR geklärt werden, welcher Pin den Interrupt ausgelöst hat: https://playground.arduino.cc/Main/PinChangeInterrupt/
davidrpf
 
Beiträge: 185
Registriert: 14 Jul 2015, 14:27

Re: Encoder auswerten

Beitragvon fishfriend » 12 Jun 2019, 19:26

Hallo...
nur so wegen dem Lernen: Selberbauen? ...
Und einen I2C Port Expander nehmen und einen Zähler IC (seriell-parallel) nehmen und den dann abfragen?
Gruß
fishfriend
Holger Howey
PS
Ein Arduino Mega hat drei interne Zähler.
fishfriend
 
Beiträge: 211
Registriert: 26 Nov 2010, 12:45

Re: Encoder auswerten

Beitragvon AchimMeyer » 12 Jun 2019, 22:13

fishfriend hat geschrieben:Hallo...
nur so wegen dem Lernen: Selberbauen? ...
Und einen I2C Port Expander nehmen und einen Zähler IC (seriell-parallel) nehmen und den dann abfragen?
Gruß
fishfriend
Holger Howey
PS
Ein Arduino Mega hat drei interne Zähler.


Bauen lassen: Ja. Aber die Anleitung muss ich schon dazu geben.

Wir haben im zweiten Lehrjahr ein Labornetzteil entwickelt. Heute können die kein Widerstandsnetzwerk auflösen, wenn sie frisch aus der Lehre sind :-(
AchimMeyer
 
Beiträge: 6
Registriert: 12 Jun 2019, 04:42

Re: Encoder auswerten

Beitragvon AchimMeyer » 12 Jun 2019, 22:16

Mal doof in die Runde:
Ob jetzt ESP32, ESP8266 oder Arduino: Warum brauche ich einen Interupt? Ich kann doch zwei "normale" Eingänge nehmen und die abfragen. Oder etwa nicht???
AchimMeyer
 
Beiträge: 6
Registriert: 12 Jun 2019, 04:42

Re: Encoder auswerten

Beitragvon Bjoern » 12 Jun 2019, 22:49

Wenn du normale Eingänge nimmst, musst du schnell genug pollen, um Low und High erkennen zu können.

Dann kannst du natürlich auch normale Eingänge nutzen. Musst dann eben selber zählen. Beim Interrupt kommt bei jeder passenden Flanke eben der Aufruf, du machst dein Inkrement und machst den Interrupt wieder scharf.

Björn
Bjoern
 
Beiträge: 187
Registriert: 04 Jan 2018, 13:34

Re: Encoder auswerten

Beitragvon juh » 12 Jun 2019, 23:56

Ergänzend zu Björn: Es kommt halt drauf an, was der µC außer dem Zählen noch machen soll. I2C-Kommunikation z.B. braucht ja auch ihre Zeit. Wenn man per polling zählt, muss man halt gewährleisten, dass man zwischendurch keinen Puls verpasst. D.h. alles außer Zählen darf nicht länger dauern als die minimale Dauer zwischen zwei Flanken. Lässt man das Zählen den Interrupt erledigen, muss man sich darum nicht weiter kümmern.

lg
Jan
Meine fischertechnik Designs für den 3D-Druck: https://www.thingiverse.com/juh/designs
juh
 
Beiträge: 220
Registriert: 23 Jan 2012, 14:48

Re: Encoder auswerten

Beitragvon Karl » 13 Jun 2019, 00:07

Bauen lassen: Ja. Aber die Anleitung muss ich schon dazu geben


Wenn Sie schon wissen wie, bitte die Anleitung hier geben bekannt. Vielleicht interessiert es
jemand die Hardware nachzubauen. Attraktiver wäre es, die Sache erstmal selbst umzusetzen
und den Erfolg hier mitzuteilen. Die meisten hier im Forum sind nur Hobbyelektroniker.
Möglich wäre es auch erstmal auf einem Steckbrett. ;)
Grüße von
Karl
Ich.., Bauteile verschwenderisch eingesetzt. Lösung....., einfach weglassen.
Karl
 
Beiträge: 503
Registriert: 24 Sep 2016, 17:28
Alter: 70

Re: Encoder auswerten

Beitragvon AchimMeyer » 13 Jun 2019, 16:49

Karl hat geschrieben:
Bauen lassen: Ja. Aber die Anleitung muss ich schon dazu geben


Wenn Sie schon wissen wie, bitte die Anleitung hier geben bekannt. Vielleicht interessiert es
jemand die Hardware nachzubauen. Attraktiver wäre es, die Sache erstmal selbst umzusetzen
und den Erfolg hier mitzuteilen. Die meisten hier im Forum sind nur Hobbyelektroniker.
Möglich wäre es auch erstmal auf einem Steckbrett. ;)


Kann ich gerne machen. Dafür muss mein Stift aber erstmal von seinen Lehrgängen zurück sein. Und dann wird der da ein paar Wochen dran sitzen.
Wenn alees klappt kann ich das hier schreiben.

>>>> und wenns nicht klappt melde ich mich sowieso :-)
AchimMeyer
 
Beiträge: 6
Registriert: 12 Jun 2019, 04:42

Re: Encoder auswerten

Beitragvon Karl » 13 Jun 2019, 17:07

Dankefür die nette Antwort. Wird sicherlich ein paar Foristen hier im Forum erfreuen.
Ähm.., "Stift", darf man es heute wieder sagen ?
Grüße von
Karl
Ich.., Bauteile verschwenderisch eingesetzt. Lösung....., einfach weglassen.
Karl
 
Beiträge: 503
Registriert: 24 Sep 2016, 17:28
Alter: 70

Re: Encoder auswerten

Beitragvon AchimMeyer » 13 Jun 2019, 22:44

Er kann sich ja beschweren..... ;-)

Einer hat mal angemerkt, das ich ihn nie lobe. Hab ich ihm gesagt: "Wenn ich nichts sage, soll es dir Lob genug sein" :-)

Er hats als Spaß verstanden, wie´s auch gemeint war.
AchimMeyer
 
Beiträge: 6
Registriert: 12 Jun 2019, 04:42

Re: Encoder auswerten

Beitragvon AchimMeyer » 17 Jun 2019, 17:05

Hier ein Link zu einem Hardware-Encoderzähler. In dem Link sind zwar die Verbindungen zwischen den beiden Zähl-IC falsch gezogen. Aber das wird weiter unten beschrieben.

https://translate.googleusercontent.com ... 3J_u5KKvsA
AchimMeyer
 
Beiträge: 6
Registriert: 12 Jun 2019, 04:42


Zurück zu Technik

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 10 Gäste