FYSETC S6 + TMC2209 + UART

FYSETC S6 + TMC2209 + UART

Příspěvekod Pezantros » 06.07.2020 13:44

Ahoj,
Po pěti letech úspěšného provozu tiskárny Rebel II (Díky Dane za skvělou konstrukci) jsem si řekl, že bych jí mohl dát novější elektroniku a nahradit tak ArduinoMega + Ramps. Chtěl jsem vyzkoušet 32-bit desku a podle ohlasů zde na fóru jsem vybral Fysetc S6 a drivery Bigtreetech TMC2209 v1.2.
Rád bych se s vámi podělil o několik poznatků, na které jsem přišel, při "oživování" komunikace driverů přes UART:
  • Co výrobce driverů / desek, to originál ve smyslu zapojení pinů pro UART komunikaci (PDN). Proto vše dále uvedené platí jen pro kombinaci Fysetc S6, Bigtreetech TMC2209 v1.2 a Marlin 2.0.5.3.
  • Pro UART deska Fysetc S6 počítá s pinem PDN na 5. pozici na modré pinové liště (počítáno od pinu EN, viz obrázek "Fysetc S6 driver"), ale Bigtreetech TMC2209 v1.2 mají z výroby PDN vyvedený na 4. pinu, viz obrázek "Bigtreetech TMC2209 v1.2". Lze to opravit buď přepájením odporu na driveru (moc malé pro mě) nebo propojit jumperem na pinové liště JP6 desky piny 4 a 3, viz žlutě na obrázku "Fysetc S6 PDN". Tím "přesměrujeme" PDN signál z driveru na pinovou lištu JP1, na kterou umístíme jumper již podle návodu na wiki.fysetc.com.
  • Mám jen dva funkční drivery TMC2209 a osadil jsem je na X a Y. Po nahrátí Marlina do desky mě uvítala hláška "TMC chyba spojení". Provedl jsem test, který dan napsal do vlákna zde. Spočívá v pohnutí motorem, pak jít do menu TMC a vypnout tichý režim. Motor by měl syčet. U osy X se nestalo nic, osa Y fungovala. Ověřil jsem gcodem M122 komunikaci přes Repetier-host a u osy X byla odpověď ALL NULL, u osy Y byla odpověď OK.
  • Nakonfiguroval jsem Marlina tak, že všech šest slotů jsem nastavil pro driver TMC2209. Postupným přehazováním a kontrolou gcodem M122 jsem zjistil, že Y, E0, E1, E2 je funkční a X a Z jsou nefunkční. Pátral jsem na internetu proč to tak je a někde jsem se dočetl, že knihovna SoftwareSerial neumí pracovat se všemi piny procesorů. Zároveň je nutné, aby pin umožňoval přerušení. Což u STM by neměl být problém. Ať to někdo potvrdí / vyvrátí, bohužel jsem si zdroj této informace nezaložil.
  • Zjištění, že čtyři sloty jsou pro UART komunikaci použitelné, mi stačí. Upravil jsem tedy soubor pins_Fysetc_S6.h v adresáři Marlin\src\pins\stm324f tak, že jsem prohodil v sekci "#if HAS_TMC_UART" X s E2 a Z s E1. Pro X a Z pak na JP1 nebude použitý jumper, ale drátová propojka, viz červeně a fialově na obrázku "Fysetc S6 PDN". Tímto jsem docílil toho, že můžu z displeje drivery upravovat a chybová hláška "TMC chyba spojení" se mi již nezobrazuje.
Úprava souboru pins_Fysetc_S6.h pro Marlin 2.0.5.3:
Kód: Vybrat vše
#if HAS_TMC_UART
  //
  // TMC2208/TMC2209 stepper drivers
  //

  //
  // Software serial
  //
  #define E2_SERIAL_TX_PIN                 PE9   //puvodne X
  #define E2_SERIAL_RX_PIN                 PE8

  #define Y_SERIAL_TX_PIN                  PE14
  #define Y_SERIAL_RX_PIN                  PE13

  #define E1_SERIAL_TX_PIN                 PD11  //puvodne Z
  #define E1_SERIAL_RX_PIN                 PD12

  #define E0_SERIAL_TX_PIN                 PD3
  #define E0_SERIAL_RX_PIN                 PA15

  #define Z_SERIAL_TX_PIN                  PC4   //puvodne E1
  #define Z_SERIAL_RX_PIN                  PC5

  #define X_SERIAL_TX_PIN                  PE1   //puvodne E2
  #define X_SERIAL_RX_PIN                  PE0

  // Reduce baud rate to improve software serial reliability
  #define TMC_BAUD_RATE 19200
#endif

Fysetc S6 PDN.PNG

Bigtreetech TMC2209 v1.2.PNG

Fysetc S6 driver.PNG

Snad to někomu pomůže, případně doplňte vaše zkušenosti. Tiskem jsem to zatím neprověřil, zkoušel jsem jen desku s displejem, drivery a motory na laboratorním zdroji.
  • 0

Nemáte oprávnění prohlížet přiložené soubory.
Pezantros
 
Příspěvky: 200
Registrován: 19.04.2015 12:22
Reputation: 0

Re: FYSETC S6 + TMC2209 + UART

Příspěvekod Rebel » 06.07.2020 18:43

Dával jsem teď ty drivery na 6 tiskáren, vždy tedy jen na X a Y kvůli bezendstopovému režimu a nic jsem v pinech, ani letováním neupravoval. Propojky na S6 mám PDN-EN danéh driveru, DIAG X a Y a jumper na driveru viz foto.
Žádné změny mimo definice typu driveru nebyly třeba.
  • 0

Nemáte oprávnění prohlížet přiložené soubory.
Dan - Rebel ? ;) - http://rebelove.org - Nevyzkoušíš = nevíš - Rebel I-III, Rebel sCUBE, Anycubic i3 MEGA, Anycubic - Kossel Mini, Anycubic Photon ! Pro STL přílohy použij čudlík "UMÍSTIT DO PŘÍSPĚVKU" !
Rebel
 
Příspěvky: 3740
Images: 243
Registrován: 12.08.2013 11:44
Bydliště: HK.......není Hong Kong :D
Reputation: 106
Zasloužil bys asi medajli :) Nebo jsi admin :D

Re: FYSETC S6 + TMC2209 + UART

Příspěvekod Pezantros » 06.07.2020 19:22

Tak to je hodně zvláštní. Zkusil jsem to teď tak, jak to máš na obrázku (to bylo moje první zapojení) s původním pins_Fysetc_S6.h a při startu na displeji hláška "TMC chyba spojení" a přes příkaz M122 u obou os X a Y Repetier-host vypíše chyba: ALL NULL. Test na syčení taky neudělá nic. Ten jumper na pinech 3 a 4 na JP6 mít prostě musím. Na těch obrázcích z dokumentace driverů a desky to je jasně vidět, že PDN je na jiném pinu. Bez jumperu na JP6 to podle mě fungovat nemůže :-). A proč na X a Z mi to nefunguje vůbec, netuším. Jeden driver mám vadný (nehne motorem ani na nastavení standalone), tak jestli jsem jím poškodil i vstupy na procesoru pro UART, netuším. Desku i drivery mám od tebe, z přebytků.

Edit: Pozorně jsem se ještě podíval na tvůj obrázek driveru a máš jumper přímo na něm, viz červeně. Je to to samé, jako když ten jumper dáš na desku na J6 mezi piny 3 a 4.
Driver s jumperem.PNG
  • 0

Nemáte oprávnění prohlížet přiložené soubory.
Pezantros
 
Příspěvky: 200
Registrován: 19.04.2015 12:22
Reputation: 0

Re: FYSETC S6 + TMC2209 + UART

Příspěvekod Rebel » 06.07.2020 20:05

Jo, to je vcelku možné, nijak hlouběji jsem to nestudoval, někde jsem to našel, osadil a jelo to, tak jsem více nebádal :)
  • 0

Dan - Rebel ? ;) - http://rebelove.org - Nevyzkoušíš = nevíš - Rebel I-III, Rebel sCUBE, Anycubic i3 MEGA, Anycubic - Kossel Mini, Anycubic Photon ! Pro STL přílohy použij čudlík "UMÍSTIT DO PŘÍSPĚVKU" !
Rebel
 
Příspěvky: 3740
Images: 243
Registrován: 12.08.2013 11:44
Bydliště: HK.......není Hong Kong :D
Reputation: 106
Zasloužil bys asi medajli :) Nebo jsi admin :D

Re: FYSETC S6 + TMC2209 + UART

Příspěvekod gazy11 » 10.07.2020 09:49

Rebel píše:Dával jsem teď ty drivery na 6 tiskáren, vždy tedy jen na X a Y kvůli bezendstopovému režimu a nic jsem v pinech, ani letováním neupravoval. Propojky na S6 mám PDN-EN danéh driveru, DIAG X a Y a jumper na driveru viz foto.
Žádné změny mimo definice typu driveru nebyly třeba.


Dane,
jak ti funguje ten bezendstopový režim s TMC2209?
Je to v pohodě nebo pojezdy musí nějak razantně narazit?
Má to kromě absence spínačů a kabelů ještě nějakou jinou "výhodu"?
díky M.
  • 0

Martin
gazy11
 
Příspěvky: 42
Registrován: 22.05.2017 06:39
Bydliště: Teplice
Reputation: 0

Re: FYSETC S6 + TMC2209 + UART

Příspěvekod Rebel » 10.07.2020 12:18

Chodí to v pohodě, ale u mě ne s MICROCONama, na nich jsem to nerozběhal.
Musí se poladit homovací proudy a rychlosti a pak je ten náraz minimální.
Jinou výhodu než ušetření pár drátů a mikrospínačů v tom nevidím, ba naopak se to může stát při špatném odladění nevýhodou, protože když se nastaví citlivost blbě, tedy na hranici, tak se při nepatrné změně napnutí řemenu může státát, že to zahomuje v půlce osy a to není úplně příjemné :D
Ale když se to nastaví dobře, je to vcelku spolehlivé, otestováno mám na motorech 17HS4401.
  • 0

Dan - Rebel ? ;) - http://rebelove.org - Nevyzkoušíš = nevíš - Rebel I-III, Rebel sCUBE, Anycubic i3 MEGA, Anycubic - Kossel Mini, Anycubic Photon ! Pro STL přílohy použij čudlík "UMÍSTIT DO PŘÍSPĚVKU" !
Rebel
 
Příspěvky: 3740
Images: 243
Registrován: 12.08.2013 11:44
Bydliště: HK.......není Hong Kong :D
Reputation: 106
Zasloužil bys asi medajli :) Nebo jsi admin :D


Zpět na ELEKTRONIKA

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 5 návštevníků