Marlin 2.0 + Arduino DUE + TMC2130

Oprogramowanie sterownika drukarki i do łączenia komputera z drukarką
stormy
Konto z ograniczeniami
Postów w temacie: 8
Posty: 35
Rejestracja: 28 gru 2018, 12:54
Lokalizacja: Warszawa/Izabelin
Drukarka: HEVOSteel
x 8

Marlin 2.0 + Arduino DUE + TMC2130

Post autor: stormy »

Mam problem z uruchomieniem zestawu Marlin bugfix-2.0.x + Due3Dom LE + TMC2130.

Do obsługi TMC2130 Marlin 2.0 wymaga biblioteki TMCStepper.
Jednak po zainstalowaniu tej biblioteki przy kompilacji jest ostrzeżenie:
"UWAGA: biblioteka TMCStepper działa na architekturze(/architekturach) (avr) i może nie być kompatybilna z obecną płytką która działa na architekturze(/architekturach) (sam)."
Używam tej biblioteki: https://github.com/teemuatlut/TMCStepper
Oczywiście z tak skompilowanym firmware drukarka nie startuje (pusty wyświetlacz).

A architekturą SAM jest kompatybilna biblioteka TMC2130Stepper, ale ona nie działa z Marlin 2.0 bo ten od wersji 1.1.9 działa tylko z TMCStepper.

Znalazłem podobny problem: https://github.com/MarlinFirmware/Marlin/issues/12144 ale nie doczekał się sensownego rozwiązania.

Jakieś pomysły? Ktoś używa Marlina na Due3Dom z TMC2130?
Hypercube Evolution Steel Frame (w budowie)
bialy_worek

Re: Marlin 2.0 + Arduino DUE + TMC2130

Post autor: bialy_worek »

stormy pisze:Do obsługi TMC2130 Marlin 2.0 wymaga biblioteki TMCStepper.
Jednak po zainstalowaniu tej biblioteki przy kompilacji jest ostrzeżenie:
"UWAGA: biblioteka TMCStepper działa na architekturze(/architekturach) (avr) i może nie być kompatybilna z obecną płytką która działa na architekturze(/architekturach) (sam)."
Używam tej biblioteki: https://github.com/teemuatlut/TMCStepper
Dziwne bo rzekomo wspiera Atmel Sam (Arduino DUE).
W pliku konfiguracyjnym platformio.ini powinien być taki fragment :

Kod: Zaznacz cały

[env:my_build_env]
platform = [color=#FF0000]atmelavr[/color]
framework = arduino

lib_deps =
  # Using a library name
  TMCStepper
masz fragment zaznaczony na czerwono u siebie w konf. ? Próbowałeś zmienić to na coś w stylu atmelsam. Ja bym spróbował w pierwszej kolejności tam pozmieniać.

Kolejną opcja jest może spróbowanie Arduino 1.9.0 w wersji Beta i wgranie biblioteki TMCStepper i wybranie Arduino DUE/SAM tamże ?

stormy pisze: A architekturą SAM jest kompatybilna biblioteka TMC2130Stepper, ale ona nie działa z Marlin 2.0 bo ten od wersji 1.1.9 działa tylko z TMCStepper.
A nie myślałeś, żeby po prostu wrzucić tam 1.1.9 ? Wydaje się najmniejszą linią oporu, zaraz przed zmiana na inną płytkę :D
Awatar użytkownika
Berg
Zasłużony
Postów w temacie: 6
Posty: 7563
Rejestracja: 05 lis 2016, 11:57
Lokalizacja: Kraków
Drukarka: Lume, K8400, HC Evo
x 2661

Re: Marlin 2.0 + Arduino DUE + TMC2130

Post autor: Berg »

U mnie działa. Jeśli nie startuje Ci wyświetlacz to jest jakiś inny problem.

- Jeśli masz wyświetlacz graficzny, to on generalnie nie działa z Marlinem 2.0 na SAM
- Jeśli kompilujesz na OSX to też może nie działać. Jest jakiś bug w Arduino IDE
- Jeśli kompilujesz w PaltformIO to też nie działa kompilacja na SAM , użyj Arduino na Win lub Linux

:D
Awatar użytkownika
samezrp
Postów w temacie: 1
Posty: 1022
Rejestracja: 29 paź 2016, 15:57
x 66

Re: Marlin 2.0 + Arduino DUE + TMC2130

Post autor: samezrp »

Potwierdzam, akurat TCM2130 działają w TMCStepper mimo ostrzeżenia. Pisałem w osobnym wątku. Nie działa za to drukowanie :/
viewtopic.php?f=14&t=4537
Znaczy działa, ale głowica potrafi walnąć w wydruk. Na oryginalnej płycie to się nie dzieje, więc wykluczam mechanikę.
BTW @rafaljot możesz się podzielić konfigami?
Awatar użytkownika
Berg
Zasłużony
Postów w temacie: 6
Posty: 7563
Rejestracja: 05 lis 2016, 11:57
Lokalizacja: Kraków
Drukarka: Lume, K8400, HC Evo
x 2661

Re: Marlin 2.0 + Arduino DUE + TMC2130

Post autor: Berg »

Do Delty. Mogę ale tam nic specjalnego nie ma.
stormy
Konto z ograniczeniami
Postów w temacie: 8
Posty: 35
Rejestracja: 28 gru 2018, 12:54
Lokalizacja: Warszawa/Izabelin
Drukarka: HEVOSteel
x 8

Re: Marlin 2.0 + Arduino DUE + TMC2130

Post autor: stormy »

Dzięki za odzew.

@bialy_worek:
TMCStepper nie wspiera SAM.

Tak wygląda library.properties

Kod: Zaznacz cały

name=TMCStepper
version=0.4.5
author=teemuatlut
maintainer=teemuatlut
sentence=Arduino library for Trinamic stepper drivers
paragraph=Easily configure your Trinamic stepper motor drivers
category=Device Control
url=https://github.com/teemuatlut/TMCStepper
architectures=avr
a dla porównania z TMC2130Stepper:

Kod: Zaznacz cały

name=TMC2130Stepper
version=2.5.1
author=teemuatlut
maintainer=teemuatlut
sentence=Arduino library for Trinamic TMC2130 stepper drivers
paragraph=Easily configure your TMC2130 stepper motor drivers
category=Device Control
url=https://github.com/teemuatlut/TMC2130Stepper
architectures=avr,sam
Nie chciałbym się cofać do 1.9 bo 2.0 do momentu upgrade stepsticków działało świetnie.

@rafaljot
Mam graficzny 12864 i bez problemu działa z Marlinem 2.0 na SAM.
Kompiluje w Arduino IDE na Linuxie.

Ale to wszystko nie może być problemem, bo do momentu zmiany stepsticka wszystko działało pięknie.

Jeżeli w Configuration.h mam:

Kod: Zaznacz cały

#define X_DRIVER_TYPE  A4988
#define Y_DRIVER_TYPE  A4988
#define Z_DRIVER_TYPE  A4988
to wszytko działa pięknie, a jak tylko te 2 linijki zmienię na:

Kod: Zaznacz cały

#define X_DRIVER_TYPE  TMC2130
#define Y_DRIVER_TYPE  TMC2130
#define Z_DRIVER_TYPE  A4988
to jest podane ostrzeżenie o niekompatybilnej architekturze i Arduino nie startuje (tak, nie startuje, to nie jest tylko kwestia wyświetlacza, nie da się z nim połączyć przez USB) - dokładnie jak to opisano tutaj: https://github.com/MarlinFirmware/Marlin/issues/1214
Całkowicie powtarzalne, więc to MUSI być coś związanego z tą biblioteką.
Hypercube Evolution Steel Frame (w budowie)
Awatar użytkownika
Berg
Zasłużony
Postów w temacie: 6
Posty: 7563
Rejestracja: 05 lis 2016, 11:57
Lokalizacja: Kraków
Drukarka: Lume, K8400, HC Evo
x 2661

Re: Marlin 2.0 + Arduino DUE + TMC2130

Post autor: Berg »

a zobacz z tmc2130 ale bez wyświetlacza. Problemem może być to że tmc i wyświetlacz chodzą na wspólnym SPI, o ile tka to masz zrobione.


A mógłbyś zrobić test. Absolutnie czysty, świeży Marlin 2.0 i tylko wybrać odpowiednią płytę główną, wyświetlacz. Sprawdzić, czy Ci działa. wyświetlacz? Czyli powtórzyć test, o którym pisałem w tym issue 16 dni temu (pod koniec):
https://github.com/MarlinFirmware/Marli ... -330997178
stormy
Konto z ograniczeniami
Postów w temacie: 8
Posty: 35
Rejestracja: 28 gru 2018, 12:54
Lokalizacja: Warszawa/Izabelin
Drukarka: HEVOSteel
x 8

Re: Marlin 2.0 + Arduino DUE + TMC2130

Post autor: stormy »

@rafaljot:
Bez wyświetlacza też jest źle, więc to nie kolizja z wyświetlaczem.
W ogóle to Arduino tak się po tym blokuje, że bez wciśnięcia przycisku "Erase" nie jest możliwe wgranie czegokolwiek.
Na początku mocno mnie to nastraszyło, bo myślałem, że uwaliło się Due.

Co do twojej prośby:
- ściągnąłem czystego Marlina 2.0
- zmodyfikowałem pins.h dodając linijkę:

Kod: Zaznacz cały

#elif MB(DUE3DOM_LE)
  #include "pins_DUE3DOM_LE.h"        // SAM3X8E                                    env:DUE env:DUE_USB env:DUE_debug
  
- zmodyfikowąłem boards.h dodając lilnijkę:

Kod: Zaznacz cały

#define BOARD_DUE3DOM_LE              3099  // DUE3DOM LE for Arduino DUE
- dograłem plik pins_DUE3DOM_LE.h (załączam)
- w Configuration.h wpisałem

Kod: Zaznacz cały

  #define MOTHERBOARD BOARD_DUE3DOM_LE
i odkomentowałem:

Kod: Zaznacz cały

#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
Cała reszta została nietknięta.

O oto efekt:
IMG_20190708_182421.jpg
Natomiast ciekawostka jest taka, że zrobiłem jeszcze jeden eksperyment i dopisałem do tego czystego configa

Kod: Zaznacz cały

#define X_DRIVER_TYPE  TMC2130
#define Y_DRIVER_TYPE  TMC2130
#define Z_DRIVER_TYPE  A4988
i Arduino się uruchomiło (co prawda wypisując na dole wyświetlacza komunikat TMC communication error, ale to szczegół).

Następny krok - wgranie do tego nowszego Marlina (mój był z 10.04.2019) mojego konfiga. Efekt - wisi.
Więc wygląda na to, że coś z czymś się gryzie.
Muszę teraz pracowicie linijka po linijce sprawdzić co z czym koliduje.
Najbardziej upierdliwe jest to, że po każdej nieudanej próbie muszę wymontować Due bo inaczej nie mogę się dostać do przycisku "erase" a bez jego wciśnięcia nie da się wgrać niczego ani przez Programing port ani przez Native USB.
Załączniki
pins_DUE3DOM_LE.h
(6.24 KiB) Pobrany 237 razy
Berg
Hypercube Evolution Steel Frame (w budowie)
Awatar użytkownika
Marvin27
Postów w temacie: 1
Posty: 709
Rejestracja: 26 paź 2017, 19:00
Lokalizacja: Wielka Wieś k./Wojnicza
Drukarka: Prusa MINI
x 170

Re: Marlin 2.0 + Arduino DUE + TMC2130

Post autor: Marvin27 »

@stormy masz może dodatkowy moduł pod termopary ?
stormy
Konto z ograniczeniami
Postów w temacie: 8
Posty: 35
Rejestracja: 28 gru 2018, 12:54
Lokalizacja: Warszawa/Izabelin
Drukarka: HEVOSteel
x 8

Re: Marlin 2.0 + Arduino DUE + TMC2130

Post autor: stormy »

rafaljot pisze:Problemem może być to że tmc i wyświetlacz chodzą na wspólnym SPI, o ile tka to masz zrobione.
Nie, TMC chodzą na sprzętowym SPI, a LCD chodzi na pinach 43-47 czyli pewnie na SoftSPI.

@Marvin27:
Nie i nie planuję.
Obecnie mam zwykły termistor taki jak fabrycznie był w klonie V6 od TDI-CAD.
Będę pewnie zmieniał na PT1000, ale niestety w PL nie da się tego kupić w małej obudowie a nie mogę teraz nic zamówić z Aliexpress.
Hypercube Evolution Steel Frame (w budowie)
ODPOWIEDZ

Wróć do „Firmware'y i hosty”