Sterowniki TMC2208 - Niepoprawnie skonfigurowane Microsteps

10

Właśnie zainstalowałem dwa sterowniki TMC2208 na mojej płycie RAMPS. Postępowałem zgodnie z bardzo dobrym samouczkiem krok po kroku, a po kilku problemach udało mi się prawie zacząć działać.

Jednym z problemów, które wciąż mam, jest to, że kiedy mówię drukarce, aby podniosła oś Z o 5 mm, podnosi ją o 10 cm.

Nie zmieniłem niczego odnośnie kroków / mm. Wcześniej U miałem Pololusa, z mikrostepem 1/16, a teraz mam również 1/16 na pliku configuration_adv.h na Marlin 1.1.8

Jednak zauważyłem podczas wykonywania M122 wiersz o treści:

msteps 256

co brzmi, jakby mikrostepowanie zostało ustawione na 1/256.

Może ktoś mógłby mi powiedzieć, jeśli coś przeoczyłem?

AKTUALIZACJA:

Po kilku dalszych zagłębieniach, oto co do tej pory zrobiłem:

  • Przylutuj piny w sterowniku. Oryginał od Watterrot
  • Przylutuj podkładki mostka, aby umożliwić komunikację UART
  • Przylutuj pin dla komunikacji skierowanej w górę
  • Zmień configuration_adv.hna Marlin (1.1.8) i włącz wszystko, co ma być włączone: USE_TMC2208, Włącz debugowanie, wybieranie osi Z itp.
  • Sprawdź styki pins_RAMPS.hi upewnij się, że są dostępne w moim ustawieniu
  • Wykonaj kabel Y z rezystorem 1 kOhm dla pinu TX
  • Połącz wszystko

Bez względu na to, co zrobiłem, silnik porusza się dwa razy więcej niż zażądano. Mimo że ustawiłem mikrostepowanie 1/16, tak samo jak w przypadku mojego Pololusa, wykonałem odwrotne obliczenia, aby dowiedzieć się, że faktyczne mikrostepowanie w sterowniku wynosi 1/8.

Po dalszych badaniach wydaje się, że problem polega na tym, że kierowca nie jest w ogóle rozpoznawany przez Marlin / Zarząd. Myśląc, że to był problem z komunikacją TX / RX, sięgnąłem do dostępnych informacji tam i znalazłem to, błąd: Komunikat UMC TMC2208 używa niewłaściwych pinów dla SoftwareSerial # 9396 .

Zmieniłem przypisane piny dla szeregowego RX / TX, ale wszystko jest dokładnie takie samo.

Próbowałem innego Arduino (oryginalnego), kolejnej płyty RAMPS, a nawet gałęzi błędów 1.1.x i 2.0 firmy Marlin.

Wygląda na to, że sterownik jest w trybie „starszej wersji” i manipulowanie oprogramowaniem nie jest możliwe. Chociaż przeszedłem przez kroki, aby to umożliwić.

Felix Hauser
źródło
Czy rozwiązałeś ten problem? Jeśli rozwiązałeś problem, wspaniale byłoby podzielić się swoimi doświadczeniami ze społecznością, publikując własną odpowiedź, aby inni mogli się z niej uczyć lub rozwiązać podobne problemy. Możesz także zaakceptować własną odpowiedź po 48 godzinach.
0scar
TMC interpolacji swoje kroki do 256 z góry config #define interpolować prawda // Interpolate X / Y / Z_MICROSTEPS 256
ddjikic
Mój jeszcze gorzej, mam wszystkie kontrolery TMC2208 i po jakiejś niezwiązanej aktualizacji oprogramowania układowego Z zaczął się dwa razy dopasowywać. Inne osie są w porządku.
Slava

Odpowiedzi:

1

Nie mam tych kontrolerów, ale czytam, że przy ustawieniach domyślnych TMC2208 interpoluje mikrokroki ustawione przez piny konfiguracji I / O do 256 mikrokroków. Sprawdź, jak skonfigurowałeś przełączniki DIP / zworki na swojej płycie, wygląda na to, że używane są tylko 2 (MS1 i MS2). Ponadto, czy nie można po prostu zmniejszyć liczby tablic DEFAULT_AXIS_STEPS_PER_UNITdla pozycji Z w pliku konfiguracyjnym?

0scar
źródło
Mogę zmienić step_per_unit, ale to łatka na wynik, to nie rozwiązuje przyczyny tego. Zbadałem dalej, proszę zobaczyć aktualizację mojego oryginalnego postu ...
Felix Hauser
0

Najprawdopodobniej twój problem jest związany ze stykiem PDN_UART na płycie sterownika TCM2208, na niektórych płytach producenta zworka nie jest domyślnie ustawiona na tryb UART, więc najprawdopodobniej musisz przylutować zworkę do właściwej konfiguracji. Spójrz na arkusz danych karty kierowcy. na przykład https://github.com/bigtreetech/BIGTREETECH-TMC2208-V3.0/blob/master/TMC2208-V3.0%20manual.pdf

Grigor Tonikyan
źródło
2
Zrobił to, wspomniano w sekcji AKTUALIZACJA
FarO