- fchao-Sinus-Wechselrichter AliExpress         
Seite 6 von 6 ErsteErste ... 456
Ergebnis 51 bis 53 von 53

Thema: Schrittmotoransteurung TMC222

  1. #51
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.05.2006
    Ort
    Pfalz
    Beiträge
    154
    Anzeige

    LiFePo4 Akku selber bauen - Video
    1. Du kannst mit einer Anweisung maximal 0x7FFF Schritte am Stück machen.
    Steht der Motor bei 0 und Du gibst 0xfF00 an dann fährt er 0x0100 Schritte Rückwärts.
    Allerdings kannst Du mit SetPosition während der Fahrt eine neue Position angeben ohne das der Motor stoppt. Somit ist eine Endlosfahrt möglich.
    Ich frage hierzu ab an welcher Position sich der Motor befindet und starte dann rechtzeitig den nächsten Befehl.

    2.
    Will ich den Schrittmotor rückwärts fahren lassen, ohne zu wissen an welcher Position er sich gerade befindet.
    Du kannst jederzeit die Position abfragen.

    So kann ich ihm maximal die Null als ziel senden, also 100 Schritte zurück.
    Schon beantwortet

    Schlecht daran finde ich, dass man ständig den TMC pollen muss um zu erfahren wann die Motoren nun endlich stehen geblieben sind.
    Ja find ich auch ungünstig, bringt aber eine I2C Master Slave Kommunikation mit sich.

    3. Das stimmt.


    mir geht jedesmal einer Ab
    lol

    Finde auch das der Chip zwar gut aber nicht perfekt ist

  2. #52
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.02.2005
    Beiträge
    115
    Zitat Zitat von Babbage
    1. Du kannst mit einer Anweisung maximal 0x7FFF Schritte am Stück machen.
    Steht der Motor bei 0 und Du gibst 0xfF00 an dann fährt er 0x0100 Schritte Rückwärts.
    Wie hast du die 0xFF00 berechnet?
    Hab mir nochmal das Datenblatt angeschaut und du hast recht, man kann tatsächlich negative Werte schicken.
    Stehe ich also bei Null und möchte nun 0x100 Schritte rückwärts, muss ich doch nur das 16Bit auf 1 setzen. Also eine 0x8100 schicken. Oder habe ich das falsch verstanden?

    edit:
    Hat sich erledigt! war auch zu einfach um es direkt zu verstehen.

  3. #53
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.05.2006
    Ort
    Pfalz
    Beiträge
    154
    Am einfachsten nimmst Du Dir eine 16bit Variable.
    Oft ein integer im C zumindest bei 16bit Prozessoren.
    Dann hast du einen Startwert von 0 und mußt nur noch 0x100 abziehen (das sind 256 Schritte) und dann kommt eben 0xff00 raus.

    bei vorzeichenabhängigen 16 bit Wert ist
    0x000 = 0 im dezimalsystem
    0xffff = -1
    0xfffe = -2
    0xfff0 = -16
    0xff00 = -256
    0x8000 = -32768
    0x8100 = -32512 !! nicht - 0x100
    0x7FFF = 32767

Seite 6 von 6 ErsteErste ... 456

Berechtigungen

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

12V Akku bauen