TMC2209 problem uart. MKS robin nano

Jakość druku Cię nie zadowala?
Rnext
Konto z ograniczeniami
Postów w temacie: 6
Posty: 48
Rejestracja: 02 wrz 2020, 05:11
x 23

Re: TMC2209 problem uart. MKS robin nano

Post autor: Rnext »

JohnJames pisze:Masz błąd w okablowaniu. Zwierasz czujnikiem linię 5V do masy.
Zamieniłem we wtyczce skrajne kable miejscami i chodzi jak należy. Dzięki!
Swoją drogą dziwne poczucie humoru mają Chińczycy ;)
Polo232323
Postów w temacie: 7
Posty: 19
Rejestracja: 16 cze 2020, 01:35

Re: TMC2209 problem uart. MKS robin nano

Post autor: Polo232323 »

JohnJames pisze:
Polo232323 pisze:czy by ktoś mógł podesłać fotkę jak to ma być podłączone ?
Uwaga, fotka w dużej rozdzielczości (2.5 MB)
Juz sie chyba poddaję nwm co dalej z tym zrobić jesli mogłbyś mi podesłać skompilowanego marlina to było by to dla mnie duże wsparcie. Mam wszystko podpięte wg twojego posta i nic to nie daje .Ciągle wyskakuje mi takie coś?
Załączniki
IMG_20201017_004229.jpg
IMG_20201017_013250.jpg
IMG_20201017_003857.jpg
Awatar użytkownika
JohnJames
Postów w temacie: 14
Posty: 111
Rejestracja: 28 sie 2020, 20:56
Lokalizacja: Warszawa
Drukarka: Sapphire Pro
x 15

Re: TMC2209 problem uart. MKS robin nano

Post autor: JohnJames »

Polo232323 pisze: Juz sie chyba poddaję nwm co dalej z tym zrobić jesli mogłbyś mi podesłać skompilowanego marlina to było by to dla mnie duże wsparcie. Mam wszystko podpięte wg twojego posta i nic to nie daje .Ciągle wyskakuje mi takie coś?
Primo, wygląda na to, że masz inne stepsticki niż moje. Sądząc z obrazka - Fysetc v3.0.
A one maja inaczej wyprowadzone TX/RX, o czym wspomniałem tu: https://reprapy.pl/viewtopic.php?f=8&t= ... 30#p112225

Secundo, masz podłączony UART zupełnie gdzie indziej, więc moja kompilacja nic Ci nie da, bo i tak działać nie będzie.

Tertio, ponieważ stepsticki są inne, trzeba sprawdzić na schemacie płyty, co jest na płycie na tych pinach, na których masz na stepstickach wyprowadzone RX/TX, bo ja widzę, że jest to noga 11 i 12 podstawki, które są zezworowane razem. A zgodnie z dokumentacją TMC2209 oraz schematem stepsticków, pomiędzy TX i RX na procku ma być rezyskor 1kOhm. O tym też wspomniałem tu: https://reprapy.pl/viewtopic.php?f=8&t= ... 30#p112208

Tu nie ma niestety jednego słusznego standardu podłączenia i różni się to w zależności od płyty, stepsticków, oraz wybranego portu UART (sprzętowy czy programowy i na których pinach). I do tego wszystkiego trzeba indywidualnie dostosować jeszcze konfigurację Marlin'a.
Sapphire Pro - coś tam dłubię
Awatar użytkownika
JohnJames
Postów w temacie: 14
Posty: 111
Rejestracja: 28 sie 2020, 20:56
Lokalizacja: Warszawa
Drukarka: Sapphire Pro
x 15

Re: TMC2209 problem uart. MKS robin nano

Post autor: JohnJames »

Jeszcze jedno. Żeby 4 stepsticki działały na pojedynczym UART, to tenże UART musi być sprzętowo wspierany w procku - bo wówczas pozwala na ustawienie adresu na magistrali. STM32F1 ma ich pięć. Jeden jest używany do wyświetlacza, drugi do USB, trzeci do WiFi, a czwarty i piąty - jeśli dobrze widzę - do SD.
Możesz podłączyć stepstick do dowolnych innych pinów, ale wówczas UART jest robiony programowo i obsługuje tylko jeden stepstick. Nie wiem, czy w tym trybie może też działać dwukierunkowo.
Sapphire Pro - coś tam dłubię
Awatar użytkownika
dziobu
Zasłużony
Postów w temacie: 5
Posty: 8943
Rejestracja: 28 gru 2016, 16:38
Drukarka: ZMorph 2.0(S)
x 5873
Kontakt:

Re: TMC2209 problem uart. MKS robin nano

Post autor: dziobu »

JohnJames pisze:Jeszcze jedno. Żeby 4 stepsticki działały na pojedynczym UART, to tenże UART musi być sprzętowo wspierany w procku - bo wówczas pozwala na ustawienie adresu na magistrali.
Co to jest ustawianie adresu na magistrali przez sprzętowy UART i dlaczego programowy na to nie pozwala?
Awatar użytkownika
JohnJames
Postów w temacie: 14
Posty: 111
Rejestracja: 28 sie 2020, 20:56
Lokalizacja: Warszawa
Drukarka: Sapphire Pro
x 15

Re: TMC2209 problem uart. MKS robin nano

Post autor: JohnJames »

dziobu pisze:
JohnJames pisze:Jeszcze jedno. Żeby 4 stepsticki działały na pojedynczym UART, to tenże UART musi być sprzętowo wspierany w procku - bo wówczas pozwala na ustawienie adresu na magistrali.
Co to jest ustawianie adresu na magistrali przez sprzętowy UART i dlaczego programowy na to nie pozwala?
Masz rację, trochę źle się wyraziłem. To kwestia drivera i wydajności procka.
Natomiast miałem niejasne wrażenie, po przerzuceniu różnych poradników na temat podłączania UARTa, że emulacja programowa nie pozwala na wybór adresu albo też, że to raczej słabo działa. Jeśli się mylę, uprzejmie proszę o wyprowadzenie z błędu.
Sapphire Pro - coś tam dłubię
Awatar użytkownika
dziobu
Zasłużony
Postów w temacie: 5
Posty: 8943
Rejestracja: 28 gru 2016, 16:38
Drukarka: ZMorph 2.0(S)
x 5873
Kontakt:

Re: TMC2209 problem uart. MKS robin nano

Post autor: dziobu »

Driver to driver. Jak linia dociera do uC to powinno działać (pomijam kwestie podciągania, itp). Zmiana kierunku linii też nie jest problemem; zarówno programowo jak i sprzętowo (F1 to leciwa seria ale nawet tam jest UART ze sprzętowym bidirectional po jednej linii; tyle że w niektórych uC to wymagało zwarcia Tx z Rx).
Sam uC to CM3, czyli dość wydajna konstrukcja. Na tyle że bym nawet nie rozważał sytuacji gdy nie poradzi sobie z UARTem na klasycznym 115200 (a TMC OIDP działa na 9600).
Adresowanie jest zawarte w pierwszym bajcie paczki (zaś scalaki adresuje się liniami MS1 i MS2). Nie ma tu żadnego znaczenia czy wysyła to program merdając "ręcznie" nóżką czy jakieś peryferia.

Jedyny problem to soft, którego uniwersalność sprawia że chyba nikt do końca nie wie jak toto działa, a i samo uniwersalne podejście czasem nie pozwala na pełne wykorzystanie możliwości sprzętu.
mk77
Konto z ograniczeniami
Postów w temacie: 15
Posty: 102
Rejestracja: 28 sty 2021, 18:27
x 10

Re: TMC2209 problem uart. MKS robin nano

Post autor: mk77 »

Próbuję odpalić TCM2209 na Sapphire Pro czyli płyta jak w temacie.
Ustawiłem w pliku Configuration_h

Kod: Zaznacz cały

#define X_DRIVER_TYPE  TMC2209
#define Y_DRIVER_TYPE  TMC2209
#define Z_DRIVER_TYPE  TMC2209
#define E0_DRIVER_TYPE TMC2209
#define INVERT_Z_DIR true
#define INVERT_E0_DIR true#define X_DRIVER_TYPE  TMC2209
#define Y_DRIVER_TYPE  TMC2209
#define Z_DRIVER_TYPE  TMC2209
#define E0_DRIVER_TYPE TMC2209
#define INVERT_Z_DIR true
#define INVERT_E0_DIR true
następnie w pliku Configuration_adv.h

Kod: Zaznacz cały

#define  X_SLAVE_ADDRESS 0
#define  Y_SLAVE_ADDRESS 1
#define  Z_SLAVE_ADDRESS 2
#define E0_SLAVE_ADDRESS 3
#define MONITOR_DRIVER_STATUS
Kompilator wymusił włączenie

Kod: Zaznacz cały

#define HARDWARE_SERIAL
którą to włączyłem w pliku ..\Marlin\src\pins\stm32f1\pins_MKS_ROBIN_NANO.h
w tym samym pliku ustawiłem również

Kod: Zaznacz cały

#define  X_SLAVE_ADDRESS 0
#define  Y_SLAVE_ADDRESS 1
#define  Z_SLAVE_ADDRESS 2
#define E0_SLAVE_ADDRESS 3

#define X_HARDWARE_SERIAL MSerial1
#define Y_HARDWARE_SERIAL MSerial1
#define Z_HARDWARE_SERIAL MSerial1
#define E0_HARDWARE_SERIAL MSerial1
 
 #define X_SERIAL_TX_PIN                   PA9
 #define X_SERIAL_RX_PIN                   PA10
    
 #define Y_SERIAL_TX_PIN                   PA9
 #define Y_SERIAL_RX_PIN                   PA10
    
 #define Z_SERIAL_TX_PIN                   PA9
 #define Z_SERIAL_RX_PIN                   PA10

 #define E0_SERIAL_TX_PIN                  PA0
 #define E0_SERIAL_RX_PIN                  PA10
Dodatkowo kompilator wymusił włączenie w pliku Configuration_h
#define COOLSTEP
Po tych wszystkich ustawieniach dostaję błąd przy kompilacji

Kod: Zaznacz cały

Verbose mode can be enabled via `-v, --verbose` option
In file included from buildroot/share/PlatformIO/scripts/common-dependencies.h:47:0:
buildroot/share/PlatformIO/scripts/../../../../Marlin/src/core/drivers.h:153:40: error: missing binary operator before token "("
 #define _OR_EAH(N,T)    || AXIS_HAS_##T(E##N)
 
 buildroot/share/PlatformIO/scripts/../../../../Marlin/src/core/drivers.h:154:28: note: in expansion of macro '_OR_EAH'
 #define E_AXIS_HAS(T)   (0 _OR_EAH(0,T) _OR_EAH(1,T) _OR_EAH(2,T) _OR_EAH(3,T) _OR_EAH(4,T) _OR_EAH(5,T) _OR_EAH(6,T) _OR_EAH(7,T))
                            ^~~~~~~
buildroot/share/PlatformIO/scripts/../../../../Marlin/src/core/drivers.h:158:70: note: in expansion of macro 'E_AXIS_HAS'
                           || AXIS_HAS_##T(Z3) || AXIS_HAS_##T(Z4) || E_AXIS_HAS(T) )
                                                                      ^~~~~~~~~~
buildroot/share/PlatformIO/scripts/../../../../Marlin/src/core/drivers.h:169:5: note: in expansion of macro 'ANY_AXIS_HAS'
 #if ANY_AXIS_HAS(COOLSTEP)
 
 
 ....
 ....
 ....
Co robię źle ? gdzie jest błąd ?
Konfiguracja sprzętowa to dopiero ogarnę na razie chcę przygotować firmware ale stepy mam Fysetc TMC2209 v3.1 i chcę to zrobić dokładnie tak samo jak opisał to kilka postów wcześniej @JohnJames
Awatar użytkownika
arkomania.pl
Postów w temacie: 7
Posty: 832
Rejestracja: 10 mar 2017, 13:08
Lokalizacja: RADOM
x 373

Re: TMC2209 problem uart. MKS robin nano

Post autor: arkomania.pl »

Najpierw pokaż jak połączyłeś stepsticki na płycie głównej, jakimi kabelkami i w które miejsce.
Na płycie MKS_ROBIN_NANO uruchamia się TMC2208, TMC2209, TMC2225 bezproblemowo.
Ja podłączyłem kable stepsticków X i Y do PA3 i PA6, ponieważ PA9 i PA10 są na gnieździe WIFI, które jest obsadzone

Przykładowe pliki z działającego Marlina.
Załączniki
pins_MKS_ROBIN_NANO.h
(7.25 KiB) Pobrany 124 razy
Configuration_adv.h
(147.81 KiB) Pobrany 96 razy
Configuration.h
(94.72 KiB) Pobrany 89 razy
Pozdrawiam Arek G. arkomania
mk77
Konto z ograniczeniami
Postów w temacie: 15
Posty: 102
Rejestracja: 28 sty 2021, 18:27
x 10

Re: TMC2209 problem uart. MKS robin nano

Post autor: mk77 »

Ja na razie mam podłączone 2209 jako standalone i vref ustawione na każdym 8,5V tak jak to miałem wcześniej ustawione.
Nie mam WiFi i raczej nie planuję to chcę je tam wpiąć czyli PA9 i PA10 i odpalić UART sprzętowy, dokładnie tak samo jak zrobił to kolega @JohnJames w tym poście viewtopic.php?f=8&t=5695&start=30#p112202
Dzięki za pliki konfiguracyjne, zaraz je przeglądnę.
ODPOWIEDZ

Wróć do „Kalibracja, problemy”