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 StephanKueppers - 19.02.2013 16:01)
Als Antwort auf Re: I²C-Bus TMC222 von StephanKüppers - 19.02.2013 15:55
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

PS: Hab ich vergessen: man kann zur Programmierung auch die Adresse 0 verwenden.
Im Datenblatt steht auch, daÃ? man den TMC222 zur Programmierung nur einzeln an
den Bus hängen Sollte!



    Antwort schreiben


Antworten: