- 12V Akku mit 280 Ah bauen         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 17 von 17

Thema: Schrittmotoransteuerung mit TMC222

  1. #11
    Neuer Benutzer
    Registriert seit
    08.01.2005
    Ort
    Moosinning (bei Erding / Muenchen)
    Beiträge
    3

    TMC222 ueber I2C auslesen - 2 Unklarheiten

    Anzeige

    Powerstation Test
    Hallo zusammen, ich habe mich jetzt auch ein paar Tage mit dem TMC222 beschaeftigt, beeindruckendes kleines IC

    2 Sachen verstehe ich allerdings nicht - geht Euch das auch so?

    1)
    Bei GetFullStatus1 oder 2 sollte als erstes Byte ("Address") 0xF... kommen, also die ersten 4 bits gesetzt, und dann die OTP Adress-bits.
    Bei mir kommt aber immer 0xE0.
    Das 4. bit ist geloescht, anders als in der Spec.
    Koennte mir eigentlich egal sein, aber ich wuesste gerne, ob ich da was grundsaetzlich falsch mache...
    Bekommt Ihr 0xF... oder 0xE...?

    2)
    GetOTPParam funktioniert bei mir ueberhaupt nicht, ich bekomme immer nur 0xFE 0xFE 0xFE 0xFE 0xFE 0xFE 0xFE 0xFE, obwohl es 8 x 0x00 sein muesste. Schon allein wg. der OTP Adress-bits -die sind definitiv noch 0- muessten ein paar Nullen dabei sein.
    Habt Ihr das Problem auch schonmal gesehen?

    Danke fuer Eure Hilfe,
    Gruss,
    Michael

  2. #12
    Benutzer Stammmitglied
    Registriert seit
    12.11.2004
    Ort
    Berlin
    Beiträge
    58
    hallo mh,

    zu 1) 0xE0 ist richtig. Die Beschreibung des TMC222 ist falsch. die Bits 5-7 sind immer gesetzt. Bits 1-4 sind die Adresse und Bit 0 ist das HW.
    d.h. wenn das OTP noch nicht programmiert ist und das HW ist 0 dann bekommst die 0xE0 (11100000). Versuche mal das HW auf eins zu setzen dann bekommst du 0xE1 (11100001).

    zu 2)
    man bekommt die FFs wenn die I2C-Übertragung zu hoch ist. Das ist meistens bei GetOTPParam. Versuche mit <50kHz.

    IngBo

  3. #13
    Neuer Benutzer
    Registriert seit
    08.01.2005
    Ort
    Moosinning (bei Erding / Muenchen)
    Beiträge
    3

    Re: TMC222 ueber I2C auslesen - 2 Unklarheiten

    Hallo IngBo,

    Vielen Dank!

    Zu 2)
    >> man bekommt die FFs wenn die I2C-Übertragung zu hoch ist.
    >> Das ist meistens bei GetOTPParam. Versuche mit <50kHz.

    Den Kommentar hatte ich schon beim ersten Mal nicht verstanden.
    Was meinst Du mit "zu hoch"? Den I2C-Bus-Takt?
    Macht wahrscheinlich Sinn, leider kann ich den -glaube ich- bei meinem JControl nicht einstellen (www.jcontrol.org, ich verwende ein JCU10 von ELV).
    Aber dann muesste ich halt damit leben. OTP-Programmieren geht ja.
    Bei mir sind's uebrigends FEs

    Viele Gruesse,
    Michael

  4. #14
    Benutzer Stammmitglied
    Registriert seit
    12.11.2004
    Ort
    Berlin
    Beiträge
    58
    genau richtig den I2C-Bus-Takt ist gemeint. Den JControll kenne ich leider nicht, aber man muss normalerweise das einstellen können. Was für Controller wird beim JControll verwendet? Ist ein I2C-Schnittstelle im Controller integriert? Oder muss alles per Software gemacht werden?
    Wenn schon integriert, dann musst du die Registerinhalte ändern. Sonst musst deine Routinen so schreiben dass der Takt langsamer wird.

    IngBo

  5. #15
    Neuer Benutzer
    Registriert seit
    08.01.2005
    Ort
    Moosinning (bei Erding / Muenchen)
    Beiträge
    3
    Was für Controller wird beim JControll verwendet?
    Ein ST72311R, genauer: 72T311R9S.
    Und zwar maskenprogrammiert mit einer Java VM, so dass man dann nur noch Java Bytecode draufladen muss. Sehr einfach & praktisch, aber halt nicht besonders flexibel, oder zumindest nicht hinreichend dokumentiert, was den I2C Bustakt betrifft.
    Aber ich werde mal die JControl-Erfinder befragen...

    Gruss,
    Michael

  6. #16
    Hallo alle,
    hat jemad was mit TMC222, I2C und der ATmega128 gemacht.
    Bitte um Hilfe.

  7. #17
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.02.2005
    Beiträge
    115
    Hi,
    ich bin auch gerade am experimentieren mit dem TMC222. Wenn ich nach dem PowerOn ein GetFullStatus1 ausführe erhalte ich immer folgende Werte:
    Code:
    0 = 0xE1
    1 = 0x00
    2 = 0x00
    3 = 0x00
    4 = 0x30
    5 = 0x03
    6 = 0xFF
    7 = 0xFF
    8 = 0x89
    Das die Slave-Adresse wohl immer E1 ist, je nach HW-Flag, habt ihr ja schon geschrieben. Aber warum ist mein letztes Byte 0x89? Eigentlich sollten doch die letzten beiden Bytes 0xFF sein. Wenn ich die Daten so auswerte, ist das StopLos-Flag gesetzt, wie kann man das wieder aufheben?

    Gruß Starkeeper

Seite 2 von 2 ErsteErste 12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen