duet-firmware-for-skr-boards

Czyli co i jak podłączyć żeby działało
nietypowySeba
Konto z ograniczeniami
Postów w temacie: 7
Posty: 7
Rejestracja: 20 maja 2020, 06:52
x 2

Re: duet-firmware-for-skr-boards

Post autor: nietypowySeba »

Udało się wykonać pierwszy wydruk i wyszedł bardzo poprawnie. PID skalibrowany, PA też, stół wycentrowany.
Jest problem z nagrzewaniem się stołu w enderze. Nie ważne jakie parametry PID tuningu ustawie to dostaję błąd że stół nagrzewa się wolnej niż w modelu PID. Próbowałem dla różnych wartości PWM i dla różnych temperatur. Ciągle tak samo.
Jak się kilka razy zresetuje błąd i uruchomi grzałkę, aż dobije do zadanej temperatury w wydruku to potem już utrzymuje zadaną temperaturę. Z Extruderem nie ma takich problemów.

Dodatkowo trzeba było zmniejszyć prędkość zerowania osi. Jak była ustawiona na domyślną to karetka uderzała o ramę, silniki krokowe przeskakiwały, ale nie łapał sygnału z endstop'u. Może inaczej jest zaimplementowana logika niż marlinie. Pewnie na przerwaniach procesora, a nie w pętli. Nie wiem.

Ogólne wrażenia: działa szybciej niż marlin/klipper z octoprint. Webowa aplikacji na RPi ląduje bardzo szybko i jest responsywna. Restart firmware drukarki po zmianach w konfiguracji błyskawiczny.

Jest jeszcze sporo rzeczy do sprawdzenia bo nie miałem do czynienia z RRP, ale zapowiada się bardzo obiecująco.

Jakby ktoś potrzebował jakieś pliki konfiguracyjne dla SKR1.4 i RPi dla Ender3 to mogę podesłać.
Załączniki
IMG_3470.jpeg
IMG_3470.jpeg
IMG_3470.jpeg
JGFTW
mcxmcx
Drukarz
Postów w temacie: 1
Posty: 2473
Rejestracja: 09 kwie 2017, 21:32
x 310

Re: duet-firmware-for-skr-boards

Post autor: mcxmcx »

Zrób przycisk podający pełna moc na stół, znaczy przycisk omijający MOSFET.

I w ten sposób podciągnisz w minutę do pełnej temp I bangla.
Jeżeli przypadkiem podam ceny w GBP to sobie kolego, koleżanko, pomnóż razy pięć.
nietypowySeba
Konto z ograniczeniami
Postów w temacie: 7
Posty: 7
Rejestracja: 20 maja 2020, 06:52
x 2

Re: duet-firmware-for-skr-boards

Post autor: nietypowySeba »

Pobawiłem się jeszcze PID tuningiem i dla PWM 0.8 i temp 70 wydaje się że działa poprawnie. Jako że drukuje głównie PLA to narazie zostawię, ale dzięki za tipa :)
Mati
Postów w temacie: 4
Posty: 507
Rejestracja: 10 maja 2020, 17:28
Lokalizacja: Okolice Poznania
Drukarka: Ender 3, V-Core2 i 3
x 170

Re: duet-firmware-for-skr-boards

Post autor: Mati »

Jak możesz to wstaw swój config, zwłaszcza board.txt. Może i mi się uda to skonfigurować.
Holgin
Postów w temacie: 2
Posty: 939
Rejestracja: 06 sty 2019, 18:07
Lokalizacja: Wrocław
Drukarka: Prusa A8
x 479

Re: duet-firmware-for-skr-boards

Post autor: Holgin »

A ja zdecydowanie odradzam robienie takiego przycisku.
morf, Mati, Abys
nietypowySeba
Konto z ograniczeniami
Postów w temacie: 7
Posty: 7
Rejestracja: 20 maja 2020, 06:52
x 2

Re: duet-firmware-for-skr-boards

Post autor: nietypowySeba »

board.txt wrzucony na RPi wygląda tak:

Kod: Zaznacz cały

//Config file to define Hardware Pins LPC Boards.
//Note: Each line should be less than 120 characters.
//    : Unwanted options can be commented out or set to NoPin. Lines commented out will get default values
//    : for pins the default is NoPin.
//    : Values for Arrays need to be contained within { and }
//    : Comments can be defined with // or # (comments are not supported inside arrays)
//    : Each config entry must be all on a single line.

//SKR v1.4 
lpc.board = biquskr_1.4

//                     Bed   E0    E1
heat.tempSensePins = { 0.25, 0.24, 0.23 }; // tb, th0, th1


//Only supports 1 External SDCard
//externalSDCard.csPin         = 0.16;
//externalSDCard.cardDetectPin = 1.31;
//lpc.externalSDCard.spiFrequencyHz  = 4000000;
//lpc.externalSDCard.spiChannel = 0; 


//LCD Pins (only ST9720 SPI currently supported)

//setup the Software SPI Pins for LCD
lpc.softwareSPI.pins = { 1.20, NoPin, 1.18 }; //Set to GPIO pins to use as SCK, MISO, MOSI

lcd.spiChannel = 2; //2 = SWSPI - Use Software SPI Channel
lcd.lcdCSPin =       1.19; //LCD Chip Select
lcd.lcdBeepPin =     1.30;
lcd.encoderPinA =    3.26;
lcd.encoderPinB =    3.25;
lcd.encoderPinSw =   0.28; //click
lcd.lcdDCPin =       NoPin;  //DataControl Pin (A0) if none used set to NoPin
lcd.panelButtonPin = NoPin; 

// stepper drivers (from skr1.4 schema)
stepper.enablePins = { 2.1, 2.8, 0.21, 2.12, 1.16 }
stepper.stepPins = { 2.2, 0.19, 0.22, 2.13, 1.15 }
stepper.directionPins = { 2.6, 0.20, 2.11, 0.11, 1.14 }
stepper.TmcUartPin = { 1.10, 1.9, 1.8, 1.4, 1.1 }
stepper.numSmartDriver = 4

// SBC
sbc.lpcTfrReadyPin = 1.31
adc.prefilter.enable = true
board.txt wrzucony na SKR1.4:

Kod: Zaznacz cały

//Config for BIQU SKR v1.4
lpc.board = biquskr_1.4
sbc.lpcTfrReadyPin = 1.31
adc.prefilter.enable =true
stepper.numSmartDrivers = 4 // 4x TMC2209
config.g:

Kod: Zaznacz cały

; Configuration file for SKR v1.4 (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v2.1.4 on Wed May 20 2020 07:12:32 GMT+0200 (CEST)

; General preferences
G90                                                    ; send absolute coordinates...
M83                                                    ; ...but relative extruder moves
M550 P"Ender3"                                  ; set printer name
M918 P1 E4 F2000000                        ; configure direct-connect display

; Network
M552 S0                                                ; disable network

; Drives
M569 P0 S0 T0.1:0.1:0.02:0.02                          ; physical drive 0 goes backwards using TMC220x driver timings
M569 P1 S0 T0.1:0.1:0.02:0.02                          ; physical drive 1 goes backwards using TMC220x driver timings
M569 P2 S1 T0.1:0.1:0.02:0.02                          ; physical drive 2 goes forwards using TMC220x driver timings
M569 P3 S0 T0.1:0.1:0.02:0.02                          ; physical drive 3 goes backwards using TMC220x driver timings
M584 X0 Y1 Z2 E3                                              ; set drive mapping
M92 X80.00 Y80.00 Z400.00 E415.00                ; set steps per mm (415 for BondtechBMG)
M566 X600.00 Y600.00 Z60.00 E600.00            ; set maximum instantaneous speed changes (mm/min)
M203 X9000.00 Y9000.00 Z600.00 E6000.00    ; set maximum speeds (mm/min)
M201 X800.00 Y800.00 Z120.00 E10000.00      ; set accelerations (mm/s^2)
M906 X580 Y580 Z580 E650 I30                        ; set motor currents (mA) and motor idle factor in per cent
M84 S30                                                             ; Set idle timeout

; Axis Limits
M208 X-10 Y-20 Z0 S1                                      ; set axis minima (negative value on x and y to set offset from bed)
M208 X235 Y235 Z250 S0                                  ; set axis maxima

; Endstops
M574 X1 S1 P"xstop"                                    ; configure active-high endstop for low end on X via pin xstop
M574 Y1 S1 P"ystop"                                    ; configure active-high endstop for low end on Y via pin ystop
M574 Z1 S1 P"zstop"                                    ; configure active-high endstop for low end on Z via pin zstop

; Z-Probe
M558 P0 H5 F120 T6000                                    ; disable Z probe but set dive height, probe speed and travel speed
M557 X30:200 Y30:200 S30                               ; define mesh grid

; Heaters
M308 S0 P"bedtemp" Y"thermistor" T98801 B4185 R4700    ; configure sensor 0 as thermistor on pin bedtemp
M950 H0 C"bed" T0                                      ; create bed heater output on bed and map it to sensor 0
M143 H0 S120                                           ; set temperature limit for heater 0 to 120C
M307 H0 B0 S1.00                                       ; disable bang-bang mode for the nozzle heater and set PWM limit
M140 H0
M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 R4700 ; configure sensor 1 as thermistor on pin e0temp (e3d v6)
M950 H1 C"e0heat" T1                                   ; create nozzle heater output on e0heat and map it to sensor 1
M143 H1 S280                                           ; set temperature limit for heater 1 to 280C
M307 H1 B0 S1.00                                       ; disable bang-bang mode for the nozzle heater and set PWM limit

; Fans
M950 F0 C"fan0" Q500                               ; create fan 0 on pin fan0 and set its frequency
M106 P0 S0 H-1                                         ; set fan 0 value. Thermostatic control is turned off

; Tools
M563 P0 S"Extruder" D0 H1 F0                    ; define tool 0
G10 P0 X0 Y0 Z0                                         ; set tool 0 axis offsets
G10 P0 R0 S0                                              ; set initial tool 0 active and standby temperatures to 0C

; Custom settings
M572 D0 S0.05										   ; Pressure Advance

; Heater model parameters
M307 H1 A340 C140.0 D5.5 S1.0 V0.0 B0
M307 H0 A89.4 C255.7 D2.3 S0.8 V0.0 B0

nietypowySeba
Konto z ograniczeniami
Postów w temacie: 7
Posty: 7
Rejestracja: 20 maja 2020, 06:52
x 2

Re: duet-firmware-for-skr-boards

Post autor: nietypowySeba »

Zidentyfikowałem dwa nowe problemy.

Pierwszy to problem z nagrzewaniem stołu. Wynikał z tego że konfiguracja PID zapisana w config-override.g zmienił wartości po nagrzaniu stołu lub po wydruku. Powodowało to, że kolejne nagrzewanie nie powodziło się bo system spodziewał się że stół będzie nagrzewał się z prędkością 1.8st/sek co w Enderze jest raczej nie możliwe. Przeniesienie parametrów PID do config.g rozwiązało problem.

Kolejny to problem z utratą połączenia między RPi, a SKR1.4. W logach DuetControlServer leciał błąd:

Kod: Zaznacz cały

[warn] Lost connection to Duet (Timeout while waiting for transfer ready pin)
[warn] Bad header checksum (expected 0x7474, got 0x5990)
Podejrzewam, że mam za długie kable (50cm) jak dla SPI z tą częstotliwością pracy (8000000Hz). Zmniejszenie częstotliwości o polowe wydaje się ze rozwiązało problem, ale jeszcze testuje.
McKee
Holgin
Postów w temacie: 2
Posty: 939
Rejestracja: 06 sty 2019, 18:07
Lokalizacja: Wrocław
Drukarka: Prusa A8
x 479

Re: duet-firmware-for-skr-boards

Post autor: Holgin »

SPI było projektowane z myślą o przesyłaniu danych w obrębie PCB, a nie po kablu - ten powinien być jak najkrótszy, dobrej jakości, ekranowany i złącza też powinny być porządne ;)
nietypowySeba
Konto z ograniczeniami
Postów w temacie: 7
Posty: 7
Rejestracja: 20 maja 2020, 06:52
x 2

Re: duet-firmware-for-skr-boards

Post autor: nietypowySeba »

Właśnie chyba musze zainwestować w porządną taśmę bo jumpery zestaw 200w1 za parę zł z aliexpress, lutowany na kolanie raczej nie jest szczytem jakości :)
nietypowySeba
Konto z ograniczeniami
Postów w temacie: 7
Posty: 7
Rejestracja: 20 maja 2020, 06:52
x 2

Re: duet-firmware-for-skr-boards

Post autor: nietypowySeba »

Problem z utratą połączenia z RPi nie wynikał do końca z jakości kabli. Wiele osób miało podobne problemy na taśmie dobrej jakości. Gloomyandy (on teraz zajmuje się portem na LPC) wprowadził drobne poprawki do firmware w obsłudze PWM grzałek i wiatraków i teraz stabilność jest dużo większa.
https://discord.com/channels/7118736260 ... 6080804917
Tutaj jest kanał discord na którym można wrzucać informacja o problemach i na którym Andy wrzucił zmieniony firmware. Jak ktoś mierzy się z tym softem i ma problem to zachęcam do dołączenia :)
ODPOWIEDZ

Wróć do „Elektronika sterująca, wyświetlacze”