Hallo Gemeinde

Dieses Thema im Forum "Hardware" wurde erstellt von achim S., 7. Juni 2018.

  1. achim S.

    achim S. Mitglied

    Registriert seit:
    16. Januar 2010
    Beiträge:
    380
    Zustimmungen:
    6
    Punkte für Erfolge:
    18
    Sprachen:
    C
    Vielleicht könnt ihr mir helfen. Es geht dabei um einen Drehgeber. Habe ihn bereits erfolgreich an einem Atm 128 angeschloosen und ausgewertet. Betreibe dazu auch noch ein Display mit Menue dazu.
    Möchte ihn jetzt über den I2C Bus betreiben. Habe dazu einen Attiny 44 genommen und den drehgeber daran angeschlossen. Selbe Aufbau wie beim Atm 128. Zur übertragung möchte USI verwenden.
    Wie kann ich es am besten auswerten im Atm 128 und im Attiny 44 und übertragen.
    Hat jemand eine Idee dazu?

    achim
     
  2. Dirk

    Dirk Administrator
    Mitarbeiter

    Registriert seit:
    28. Januar 2007
    Beiträge:
    4.198
    Zustimmungen:
    119
    Punkte für Erfolge:
    63
    Sprachen:
    C, Assembler, Pascal, C++, PHP, Java
    Hallo Achim,

    ich hoffe, ich habe dich richtig verstanden ...


    Tiny44 wertet Drehencoder aus und ist I2C Slave
    Mega128 ist I2C Master.

    Zum Beispiel ...

    I2C Datenübertragung:

    ADRESSE+R/W STATUS RECHTS_H RECHTS_L LINKS_H LINKS_L REL_H REL_L

    Master pollt.
    Ist Status ungleich 0 hat sich etwas geändert, also weitere Daten auslesen.

    Variable RECHTS_H/L Anzahl der Pulse rechts, seit dem letzten Auslesen
    Variable LINKS_H/L Anzahl der Pulse links, seit dem letzten Auslesen
    Variable REL_H/L Relative Position seit dem letzten Auslesen

    Werden alle Daten ausgelesen oder bei Reset, initialisiert der Slave alles mit 0.
    Ggf. reicht auch eine Variable (relative Position) zu übertragen, je nachdem was für die Anwendung sinnvoll ist.
    Optionaler Drucktaster im Decoder könnte man im Statusbyte übertragen.

    Wenn nicht gepollt werden soll, könnte man den Status (Ereignis) auch über eine zusätzliche Signal-Leitung übertragen.
     
  3. achim S.

    achim S. Mitglied

    Registriert seit:
    16. Januar 2010
    Beiträge:
    380
    Zustimmungen:
    6
    Punkte für Erfolge:
    18
    Sprachen:
    C
    Hallo Dirk
    das stimmt so ganz genau. Da es leider keinen Encoder mit direkter I2C Anbindung gibt, versuche ich es mal so. Da ich einges Auslagere auf andere Prozessoren und Verbinde über USI passt das gut. Daher auch meine Fragen der letzten Zeit. Habe bereits mehrere Teile mit I2C und USI verbunden.
    achim
     
  4. LotadaC

    LotadaC Sehr aktives Mitglied

    Registriert seit:
    22. Januar 2009
    Beiträge:
    2.979
    Zustimmungen:
    45
    Punkte für Erfolge:
    48
    Sprachen:
    BascomAVR, Assembler
    Also ich hatte mir mal überlegt, so'n Ding an einen Tiny10 anzubinden (also die beiden Phasen und den Taster an drei der Beine). Da bliebe allerdings nur ein Pin zum Überttragen - meine Idee war also, 'n Soft-UART zu verwenden.
    Zwei Bits für Schritte in beide Richtungen, ein Bit für kurze - ein Bit für lange Tasterbetätigungen.
    HW-UART will mindestens fünf Datenbits, also wäre noch eins frei (zB für "ButtonDown").
    Protokollarisch weniger hoch integriert, dafür verschwindet der Tiny10 nahezu am Drehgeber.
     
  5. achim S.

    achim S. Mitglied

    Registriert seit:
    16. Januar 2010
    Beiträge:
    380
    Zustimmungen:
    6
    Punkte für Erfolge:
    18
    Sprachen:
    C
    Hallo
    hatte auch erst überlegt einen Kleinen IC zu nehmen. Beim Drehgeber habe ich zusätzlich 3 LEDs (RGB) integriert und einen Schalter angeschlossen. Beim ATm 128 verwende ich das Teil in einem Menue mit Einknopfbedienung.
    Eigentlich wollte ich den Code von Peter übernehmen. Der hat sich als sehr gut erwiesen.
    Dirk könntest du ein bischen mehr (Code) dazu preisgeben?
    achim
     
  6. achim S.

    achim S. Mitglied

    Registriert seit:
    16. Januar 2010
    Beiträge:
    380
    Zustimmungen:
    6
    Punkte für Erfolge:
    18
    Sprachen:
    C
    Sorry noch was vergessen. der Ati 44 könnte sogar zu klein sein. Wenn ich noch die Adressen per Hardware einstellen möchte wird es eng
     
  • Über uns

    Unsere immer weiter wachsende Community beschäftigt sich mit Themenbereichen rund um Mikrocontroller- und Kleinstrechnersysteme. Neben den Themen Design von Schaltungen, Layout und Software, beschäftigen wir uns auch mit der herkömmlichen Elektrotechnik.

    Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  • Coffee Time

    Unser makerconnect-Team arbeitet hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und unser eigener makerconnekt-Server regelmäßig gewartet wird. Wir nehmen das Thema Datensicherung und Datenschutz sehr ernst und sind hier sehr aktiv, auch sorgen wir uns darum, dass alles Drumherum stimmt!

    Dir gefällt das Forum und die Arbeit unseres Teams und du möchtest es unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft, unser Team freut sich auch über eine Spende für die Kaffeekasse :-)
    Vielen Dank!
    Dein makerconnect-Team

    Spende uns! (Paypal)
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren und die Seite optimal für dich anzupassen. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden