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 | ||
| ||
> > > > > > > > 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: |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum