www.mikrocontroller.net

Forum: Projekte & Code Rotary Encoder Panasonic EVEC von Pollin


Autor: Markus J. (doc_database)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Forumgemeinde,

ich habe jüngst den PaPDesingner ausprobiert und finde das Ergebnis sehr 
gut.
Desweiteren habe ich für den oben bennanten Rotary Encoder eine 
Programmablaufplan erstellt.

Ich finde, das ein solches Dokument auch für den Anfänger besser 
begreiflich ist, als Quellcode.
Außerdem kann man nmit einem gut ausgearbeiteten PAP für jeden Prozessor 
schnell einen eigenen Quellcode erstellen.
Gute Ideen sollen ja nicht deswegen verworfen werden, weil andere 
Entwickler den Quellcode für einen spezifischen µC nicht verstehen.

Autor: Markus J. (doc_database)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Forumgemeinde,

ich habe jüngst den PaPDesingner ausprobiert und finde das Ergebnis sehr
gut.
Desweiteren habe ich für den oben bennanten Rotary Encoder eine
Programmablaufplan erstellt.

Ich finde, das ein solches Dokument auch für den Anfänger besser
begreiflich ist, als Quellcode.
Außerdem kann man nmit einem gut ausgearbeiteten PAP für jeden Prozessor
schnell einen eigenen Quellcode erstellen.
Gute Ideen sollen ja nicht deswegen verworfen werden, weil andere
Entwickler den Quellcode für einen spezifischen µC nicht verstehen.

EDIT:
Das Bild war wohl etwas zu groß, daher habe ich es geschrumpft und den 
Beitrag kopiert und nochmals eingefügt.
Gibt es eine Regel/Richtlinie, wie groß Bilder sein dürfen?

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das oberste Bild ist ein wenig zu groß, das untere etwas zu klein, 
zumindest kann man den Text schlecht/garnicht lesen. Generell würde ich 
sagen, gerade so groß, dass man den Text gut lesen kann. Ich hätte daher 
irgendeine Zwischengröße gewählt, oder das ganze als PDF gemacht, da 
kann man so stark Vergrößern wie man es möchte.

Jetzt aber mal eine Frage zur Software:
Das ganze läuft in einem Timer Interrupt ? Mir ist nämlich bei den 
Pollin Teiler augefallen, dass die Phasenverschiebung zwischen den 
beiden Signalen nicht 90° beträgt, sondern eher irgendwo im Bereich 10° 
oder so liegt. Dadurch ist es schwer den Bereich zwischen den 
Raststellungen zu erwischen, wenn man schnell dreht. Ich musste daher 
den Interrupt mit ein paar kHz laufen lassen.

Autor: Markus J. (doc_database)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Benedikt,

zum einen habe ich den PAP erstellt, nachdem ich mit dem Encoder etwas 
gespielt habe und irgendwann zu dem Entschluß gekommen bin, das eine 
vernünftige Lösung nur mit einem PAP zustande kommt.

Demnach sollte ich das ganze jetzt mal implementieren.

Du mußt wissen, das ich mit einem PIC18F4550 arbeite. Der kleine Bruder 
davon ist 18F2550 bzw. 18F4450, 18F2450. Außerdem implentiere ich in C.

Dieser hat an den Pins 4-7 am Port B einen Interrupt-on-Change.
Entgegen anderlautender Meinung denke ich, das man damit eine solche 
Applikation sehr gut relisieren kann.

Die dargestellte Anwendung wird von einer ISR aufgerufen. Der Interrupt 
wird aufgerufen, sobald sich an den beiden Pins etwas rührt.
Für die Warteschleife verwende ich einen Aufruf der Softwaremäßig einen 
Delay von 2ms erzeugt.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Markus J. wrote:

> Dieser hat an den Pins 0-3 am Port B einen Interrupt-on-Change.
> Entgegen anderlautender Meinung denke ich, das man damit eine solche
> Applikation sehr gut relisieren kann.

Das sehe ich ähnlich. Vor allem bei den Panasonic Teilen. Die laufen bei 
mir mit externem Interrupt eindeutig am besten.

> Für die Warteschleife verwende ich einen Aufruf der Softwaremäßig einen
> Delay von 2ms erzeugt.

2ms Warteschleife in einer Interruptroutine sind keine gute Lösung. Das 
würde ich ein wenig überarbeiten. Ich mache das z.B. so, dass zwischen 2 
Schritten eine Mindestzeit liegen muss.

Autor: Markus J. (doc_database)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Verstehe ich noch nicht ganz, wie du das mit der Mindestzeit meinst.
Meinst du, das der Interrupt erst nach einer gewissen Zeit erneut 
ausgelöst werden kann (also 2ms) und die Routine erneut durchläuft. 
Unter geänderten Vorzeichen, sprich: nicht mehr die Drehrichtung zu 
bestimmen, sonden das Prellen abzuwarten und das Erreichen der rastenden 
Endlage zu bestimmen?

2 Anmerkungen dazu:
Es wird auf jeden Fall komplizierter.
Zum anderen muß man immer im Einzelfall prüfen, wofür die Applikation 
gemacht ist.
Bei mir ist es egal, was während der Bedienung des Encoders außenherum 
passiert, weil ich alles stoppe.
Anders ist es natürlich, wenn Applikationen weiterlaufen müßen und in 
der Zeit (2ms) nicht abgearbeitet werden. Ack!

Autor: Markus J. (doc_database)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@ Benedikt

Meintest du etwa so?
Größe geändert, Dateigröße akzeptabel, finde ich.

Autor: Markus J. (doc_database)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@ Benedikt

Wo er Recht hat, hat er Recht:
Als PDF wird das Dokument viel kleiner und lesbarer.
Version 3

Autor: digg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mal ne Zwischenfrage: womit (welchem Programm) hast du denn den PAP 
erstellt??

Autor: Markus J. (doc_database)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Google nach PaPDesigner 2.2.05
Steht auch ganz oben und in jedem PAP.

Autor: digg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Huch, steht wirklich da - > aber nicht ganz oben -> hab ich übersehen -> 
Vielen Dank!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.