Re: Marlin dla płyty BigTreeTech SKR 1.1
: 19 sty 2019, 17:48
BIQU SKR V1,1 podłączenie wyświetlaczy.
Okazuje się, że tym prostszy z wyglądu wyświetlacz, tym trudniej zaadoptować go do pracy z nową płytą.
Na warsztat poszedł wyświetlacz REPRAP_DISCOUNT_SMART_CONTROLLER, który zastosowano chyba
w najbardziej przebojowej drukarce ostatniego sezonu, czyli AnyCubic Delta Kossel.
Gdyby, drukarka ta została przez producenta wypuszczona z elektroniką 32 bitową
z zachowaniem dotychczasowej ceny, to konkurencja zostałaby powalona na kolana (mówimy tu o drukarkach
oscylujących w tych samych widełkach cenowych, do 1000zł). Ale zapewne AnyCubic ma coś w zanadrzu,
aby znowu Nas czymś zaskoczyć.
Ale wracam do tematu.
Wyświetlacz klasy REPRAP_DISCOUNT_SMART_CONTROLLER (tekstowy ekran 20x4 znaki, sterowany pokrętłem, czytnik SD)
potrzebuje do wysterowania 6 linii na szynie EXP1. Dodatkowo 2 linie dla beepera i klikacza. Razem 8 linii + 2 zasilające.
Linia 3 Port P0_18 zajęta jest przez obsługę karty SD i akurat obsługa wyświetlacza jest w konflikcie z czytnikiem SD,
co nie miało miejsca w przypadku wyświetlacza REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER.
Praktycznie musimy pozyskać 5 linii z wolnymi portami. 3 zapożyczyłem ze złącza E1, służącego do programowania
stepsticka ekstrudera drugiego E1 (P0_0, P0_01, P0_10), jedną linię ze złącza LCD/SD/SPI port P2_06, jedną
linie zapożyczyłem z linii Beeper-a P1_30 .
#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
#undef BEEPER_PIN
//#define BEEPER_PIN P1_30 //EXP1 pin1
#define BTN_EN1 P3_26 //EXP2 pin5
#define BTN_EN2 P3_25 //EXP2 pin3
#define BTN_ENC P2_11 //EXP1 pin2
#define LCD_PINS_ENABLE P1_30 //EXP1 z pin3 EXP1 z LCD
#define LCD_PINS_RS P0_16 //EXP1 pin4
#define LCD_PINS_D4 P2_06 //LCD/SD/SPI z pin5 EXP1 z LCD
#define LCD_PINS_D5 P0_00 //E1 z pin6 EXP1 z LCD
#define LCD_PINS_D6 P0_01 //E1 z pin7 EXP1 z LCD
#define LCD_PINS_D7 P0_10 //E1 z pin8 EXP1 z LCD
#endif
Przy okazji zaimplementowałem obsługę wewnętrznego czytnika kart SD
Dołączam dodatkowo rysunek z trzema kabelkami EXP1 wyświetlaczy LCD.
Kabelek EXP2, to standard.
Okazuje się, że tym prostszy z wyglądu wyświetlacz, tym trudniej zaadoptować go do pracy z nową płytą.
Na warsztat poszedł wyświetlacz REPRAP_DISCOUNT_SMART_CONTROLLER, który zastosowano chyba
w najbardziej przebojowej drukarce ostatniego sezonu, czyli AnyCubic Delta Kossel.
Gdyby, drukarka ta została przez producenta wypuszczona z elektroniką 32 bitową
z zachowaniem dotychczasowej ceny, to konkurencja zostałaby powalona na kolana (mówimy tu o drukarkach
oscylujących w tych samych widełkach cenowych, do 1000zł). Ale zapewne AnyCubic ma coś w zanadrzu,
aby znowu Nas czymś zaskoczyć.
Ale wracam do tematu.
Wyświetlacz klasy REPRAP_DISCOUNT_SMART_CONTROLLER (tekstowy ekran 20x4 znaki, sterowany pokrętłem, czytnik SD)
potrzebuje do wysterowania 6 linii na szynie EXP1. Dodatkowo 2 linie dla beepera i klikacza. Razem 8 linii + 2 zasilające.
Linia 3 Port P0_18 zajęta jest przez obsługę karty SD i akurat obsługa wyświetlacza jest w konflikcie z czytnikiem SD,
co nie miało miejsca w przypadku wyświetlacza REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER.
Praktycznie musimy pozyskać 5 linii z wolnymi portami. 3 zapożyczyłem ze złącza E1, służącego do programowania
stepsticka ekstrudera drugiego E1 (P0_0, P0_01, P0_10), jedną linię ze złącza LCD/SD/SPI port P2_06, jedną
linie zapożyczyłem z linii Beeper-a P1_30 .
#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
#undef BEEPER_PIN
//#define BEEPER_PIN P1_30 //EXP1 pin1
#define BTN_EN1 P3_26 //EXP2 pin5
#define BTN_EN2 P3_25 //EXP2 pin3
#define BTN_ENC P2_11 //EXP1 pin2
#define LCD_PINS_ENABLE P1_30 //EXP1 z pin3 EXP1 z LCD
#define LCD_PINS_RS P0_16 //EXP1 pin4
#define LCD_PINS_D4 P2_06 //LCD/SD/SPI z pin5 EXP1 z LCD
#define LCD_PINS_D5 P0_00 //E1 z pin6 EXP1 z LCD
#define LCD_PINS_D6 P0_01 //E1 z pin7 EXP1 z LCD
#define LCD_PINS_D7 P0_10 //E1 z pin8 EXP1 z LCD
#endif
Przy okazji zaimplementowałem obsługę wewnętrznego czytnika kart SD
Dołączam dodatkowo rysunek z trzema kabelkami EXP1 wyświetlaczy LCD.
Kabelek EXP2, to standard.