Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: I²C-Bus TMC222 Kategorie: I²C-Bus (von StephanKüppers - 19.02.2013 15:55)
Als Antwort auf Re: I²C-Bus TMC222 von SvenA - 19.02.2013 14:54
Ich nutze:
CC-Pro 128 Application Board


> > > > > Hallo!
> > > > >
> > > > > Ich möchte mehrere Steppermotoren (4-5) mit dem I²C-Stepper-Modul (198266) an meinem
> > > > > cc-pro 128 applications Board betreiben. Dazu mu� ich allerdings die I²C-Adressierung
> > > > > des TMC222 ändern. Mit der Beschreibung des TMC222-Manuals komme ich allerdings nicht klar.
> > > > > Gibt es vielleicht ein Programm (mit Beschreibung) mit dem ich diese Adressierung
> > > > > verändern kann?
> > > > >
> > > > > MfG
> > > > > Stephan Küppers
> > > >
> > > > Hallo Stephan,
> > > >
> > > > da ich auch nicht sehen kann ob bzw. wie man den TMC222 addressieren kann, würde ich evtl.
> > > > ein anderen weg gehen wenn es dieses Modul sein muÃ?.
> > > >
> > > > ich würde zum beispiel einen i2c Porterweiterung pcf8574 verwenden, dessen ausgänge könnten dann
> > > > über Transistorstufe die Versorgungsspannung der Module ein bzw. ausschalten.
> > > >
> > > > Somit könntest du 8 Module ein/aus schalten.
> > > > Diese Module würde ich über einen frei wählbaren i2c Bus ansprechen, nicht über den eigentlichen
> > > > i2c bus.
> > > >
> > > > Den portexpander wiederum sehr wohl über den eigentlichen i2c bus.
> > > >
> > > > du kannst bis zu 8 portexpander anschlie�en.... was wohl viel zu viele für dich wären aber
> > > > du hast so eben mehr i/o's wenn es sein muss.
> > > >
> > > > Nachteil ist du musst erst den Portexpander Mitteilen welcher tmc222 aktiv sein darf.
> > > > und dann schickst du entsprechend die werte auf den 2. bus zu den tmc222
> > > > Sprich 2xI2c = 4 Ports.
> > > >
> > > > wäre jetzt eine schnelle überlegung.... ich würd aber ggf. gleich ganz auf andere Steppermotor Module
> > > > umsteigen...
> > > >
> > > > wenn es nur 4 Motoren werden wäre evtl. PCA9629
> > > > eine alternative, dieser hat ywei addressirungs ports (2bit =0...3 maximal 4 module)
> > > >
> > > > diese könnte man zwar auch wieder in gruppen teilen und einzeln ab bzw anschalten, dann sind auch mehr
> > > > denkbar
> > > >
> > > > hoffe es bringt dich etwas weiter
> > > >
> > >
> > > Hallo Sven!
> > >
> > > Wäre natürlich vielleicht eine gangbare "Umleitung", ist aber auch wegen 2xI²C entsprechend
> > > kompliziert und mit zusätzlichem HW-Aufwand verbunden.
> > > Der PCA9629 wäre natürlich auch eine
> > > Möglichkeit, ich habe jedoch bereits die I²C-Stepper-Module (198266) mit dem TCM222!
> > > Und seien wir mal ehrlich, wenn in der TCM222-Beschreibung steht, man könne das OPT so setzen,
> > > da� eine erweiterte Adressierung möglich ist, so sollte dieses Umsetzen auch entsprechend (von
> > > Conrad) dokumentiert und unterstützt werden.
> > > Der Verweis auf ein Datenblatt reicht hier meines Erachtens nicht aus.
> > > Trotzdem Danke für deine �berleungen
> > >
> > > Stephan
> >
> > Ich fürchte das ich dir momentan da auch nicht weiter helfen kann, oder auch sonst kaum einer
> > hier sich in der lage fühlt.
> >
> > Aber evtl. hilft dir dieser beitrag
> >
> >
> > im Robotornetz
weiter.
> >
> > Besonders der 3. Artikel von oben ;) a la darwin.nuernberg
> >
>
>
> Hallo Stephan,
>
> ich denke ein wenig kann ich dir heute weiter helfen.
>
> leider nur in der Theorie, in der Praxis kannst nur du es umsetzten / Testen ect.
>
> GANZ WICHTIG.......
>
> Doch zunächst mu� ich dich darauf hinweisen.... wie ich erfahren durfte, kann
> man beim TMC222 wohl Bit-Werte von 0 auf 1 ändern, aber diese �nderungen nicht mehr
> Rückgängigmachen, deswegen mit oberster Sorgfalt überlegen und mit bedacht die �nderungen machen.
>

>
> Nun zum Adressieren: deiner TMC's
>
> die Obersten 2 BIT des Adress Byte sind Fest vorgegeben vom Hersteller (hier 11)
>
> du kannst 4 Bit selbst setzen und eines via HW (HardWired) muss im übrigen wohl immer an MASSE oder
> Vcc gelegt sein, unbeschaltet kann es zur zerstörung oder fehlfunktion des TMC führen.
> Der HW-Pin Status laesst sich jedezeit durch aendern des â??Jumpersâ?? aendern (wenn vorhanden).
>
> Die Befehlsfolge als solches die du per I2C senden musst ist...
>
>
> R_adresse = ALTEADRESSE Or &B00000001  ' R/W - Bit setzten (lesen)
> W_adresse = R_adresse And &B11111110   ' R/W - Bit löschen (schreiben)
>
> Neue4BITadr = Neue4BITadr And &B00001111  'sicherheitshalber maskieren
>
> Befehlsfolge:
> Param(1) = Cst_setotpparam       ' Der Befehl
> Param(2) = &B11111111            ' muss so sein
> Param(3) = &B11111111            ' muss so sein
> Param(4) = &B11111010            ' OTP-Offset (otpa) für AD
> Param(5) = Neue4BITadr           ' OTP Adress-Bits (pbit)
> jetzt die 5 Parameter (CodeSquenz oder wie auch immer man das nun nennt) via i²c an den TMC senden
> I2csend W_adresse, Param(1....5)
>
>
>
>
> Was sich ir nicht (bzw. noch nicht) erschlieÃ?t ist die frage....
>
> wenn 2 oder mehr Module dran hängen, im erstgebrauch, wie reagieren diese dann????
> Sie tragen ja alle die FirmWare adresse.
> Ich würde also vorab die einzelnen Module lieber einzeln einbauen und sie nach und nach Adressieren.
>
> Du kannst also theoretisch bis zu 32 tmc Module an einen I2C Bus betreiben.
>
> mögliche adressen somit
>   FFBBBBHR               FF=FirmWareAdressBit, BBBB die 4 OTP-Adress-Bits H=HW (PIN/JUMPER) R=Read/WRITE
> &B11000000     (Nur hardwired Codiert)
> &B11000010     (Nur hardwired Codiert)
>
> &B11000100     (1tes Bit OTP und hardwired Codiert)
> &B11000110     (1tes Bit OTP und hardwired Codiert)
>
> &B11001000     (2tes Bit OTP und hardwired Codiert)
> &B11001010     (2tes Bit OTP und hardwired Codiert)
>
> &B11001100     (2 Bit OTP und hardwired Codiert)
> &B11001110     (2 Bit OTP und hardwired Codiert)
>
> Somit also 8 Module...
>
> ich hoffe das ich dir etwas weiter helfen konnte.....
>
> Denke daran ein einmal gesetztes BIT kann nicht mehr rückgängig gemacht werden!
>
>
Hallo Sven

Vielen Dank für die Info!
Bin jetzt auch im c-control I M2.0 fündig geworden.
Man muÃ? allerdings bei der Adresse vorsichtig sein: im Pbit werden die Bits 0-4 benutzt, die dann
Im OTP-Byte 2 an die position 2-5 gesetzt werden. Man muÃ? also die Adress-Bits um 2 stellen
 nach rechts verschieben,wenn man das Pbit setzt!.
Man muÃ? nicht nur beim OTP (one time programable!!!) sondern auch bei der Spannung
während des Programmierens vorsichtig sein: 8,5-9,5 Volt !!!

MfG Stephan Küppers


    Antwort schreiben


Antworten:

Re: I²C-Bus TMC222 (von StephanKueppers - 19.02.2013 16:01)