www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik seltsames Problem ATMEGA16 mit Encoderschaltkreis


Autor: Reinhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

habe zur Auswertung einiger Drehgeber einen ATMEGA16 und einen HCTL2032 
eingesetzt.
http://www.avagotech.com/assets/downloadDocument.do?id=1780
Die Daten werden vom Port C des MEGA16 gelesen.
Allerdings bekomme ich nur wirre Daten vom HCTL. Deshalb mit einen 
Oszillografen mal die Signale überprüft und festgestellt, das die 
Encodersignale unsauber sind. Ursache waren die fehlende 
Abschlußwiderstände der RS422 Verbindung. (Drehgeber <> HCTL)
Allerdings hat das nichts gebracht, die Signale sind jetzt sauber aber 
gezäht wird trotzden nicht richtig.

Jetzt habe ich den Drehgeber mal ganz langsam gedreht und festgestellt, 
das ein Systen in den gelieferten Zählerständen ist:

0;1;2;3;  64;65;66;67;  128;129;130;131;  192;193;194;195

Danach geht es wieder von vorn los.
Der Abstand ist immer 61. Dachte die Portleitungen 2 und 6 sind 
vertauscht, das würde den Sprung von 3 auf 64 erklären den Rest aber 
nicht so richtig.
Die Leitungen habe ich gründlich überprüft, es ist weder eine 
Vertauschung, noch ein Schluß und auch keine Unterbrechung drin.
Die Datenbläter sind direkt von den Herstellern.

Weiß jetzt nicht mehr weiter, hat irgen jemand noch eine Idee?

Gruß Reinhard

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
0;1;2;3;  64;65;66;67;  128;129;130;131;  192;193;194;195

mal binär aufschreiben

  0      0000 0000
  1      0000 0001
  2      0000 0010
  3      0000 0011
 64      0100 0000
 65      0100 0001
 66      0100 0010
 67      0100 0011
128      1000 0000
129      1000 0001
130      1000 0010
131      1000 0011
192      1100 0000
193      1100 0001
194      1100 0010
195      1100 0011

Entweder Bits 2 und 6  UND
              3 und 7    vertauscht

oder du kriegst in den obersten 2 Bits eine Quadranteninformation.

Autor: Reinhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Karl Heinz,

besten Dank für deine Mühe.
Wie gesagt, vertauscht ist nichts, aber es scheint ein Problem mit dem 
Mega16 zu geben.
Gibt es beim Port C irgendwelche Besonderheiten ?
Habe es in Bascom so als Eingang programmiert:
Config Portc = Input

Zumindest die Pins 2,3 und 5 lesen nicht was sie sollten. Es wird zB. 
eine 3 ausgegeben obwohl sie auf "1" stehen.
Reagieren tun sie aber, wenn ich den Encoder durchdrehe.



Gruß Reinhard

Autor: Reinhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich glaube, ich habs!
Das Fuse Bit vom Jtag mußte ich zurücksetzen.
Also in Ponyprog das Häkchen entfernt, heiß ja wohl, daß das Bit dann 
gesetzt ist.


Gruß Reinhard

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.