LCD2004 da Anet na SKR 1.3

Responder
Avatar do Utilizador
virt
Pro Maker
Pro Maker
Mensagens: 501
Registado: 03 jul 2018, 14:56
Enviou: 47 vezes
Agradecimento recebido: 158 vezes

09 jul 2019, 10:54

Bom dia malta!

Estou aqui a analisar a possibilidade de ligar o ecrã da Anet A8 que é um LCD2004 com o keypad a board SKR1.3.

Ora este ecrã da ANET conhecido como LCD_ZONESTAR tem os pins todos invertidos em relação aos RAMPS e SKR.
Além disso precisa de um pin Analog a 5V que normalmente não está definido.

Bom analisei os ficheiros de configuração do Marlin para a Anet e SKR e cheguei às seguintes conclusões:
Pinos disponiveis na SKR nas portas EXP1 e EXP2:

Código: "Visivel apenas para utilizadores registados"

/*
|               _____                                             _____
|           NC | · · | GND                                    5V | · · | GND
|        RESET | · · | 1.31(SD_DETECT)             (LCD_D7) 1.23 | · · | 1.22 (LCD_D6)
|   (MOSI)0.18 | · · | 3.25(BTN_EN2)               (LCD_D5) 1.21 | · · | 1.20 (LCD_D4)
|  (SD_SS)0.16 | · · | 3.26(BTN_EN1)               (LCD_RS) 1.19 | · · | 1.18 (LCD_EN)
|    (SCK)0.15 | · · | 0.17(MISO)                 (BTN_ENC) 0.28 | · · | 1.30 (BEEPER)
|               ??                                               ??  
|               EXP2                                              EXP1  
*/
Pinos definidos na configuração da board ANET:

Código: "Visivel apenas para utilizadores registados"

   #define SERVO0_PIN       27   // free for BLTouch/3D-Touch
    #define LCD_PINS_RS      28
    #define LCD_PINS_ENABLE  29
    #define LCD_PINS_D4      10
    #define LCD_PINS_D5      11
    #define LCD_PINS_D6      16
    #define LCD_PINS_D7      17
    #define ADC_KEYPAD_PIN    1
Após mapeamento cheguei à conclusão que poderia definir o LCD na SKR desta forma:

Código: "Visivel apenas para utilizadores registados"

 #if ENABLED(ZONESTAR_LCD)
#define LCD_PINS_RS P1_19
#define LCD_PINS_ENABLE P1_18
#define LCD_PINS_D4 P1_20
#define LCD_PINS_D5 P1_21
#define LCD_PINS_D6 P1_22
#define LCD_PINS_D7 P1_23
#define ADC_KEYPAD_PIN P1_31
#endif // ZONESTAR_LCD
Qual é o problema? o pino ADC_KEYPAD_PIN é analógico. Na SKR apenas estou a ver 2 pinos analógicos possíveis: P1_31 e P1_30.
No entanto nenhum dos dois permite 5V tal como referido no pins.h da SKR:

Código: "Visivel apenas para utilizadores registados"

  #define BEEPER_PIN       P1_30   // (37) not 5V tolerant
  #define BTN_ENC          P0_28   // (58) open-drain
  #define LCD_PINS_RS      P1_19
  #define BTN_EN1          P3_26   // (31) J3-2 & AUX-4
  #define BTN_EN2          P3_25   // (33) J3-4 & AUX-4
  #define SD_DETECT_PIN    P1_31   // (49) (NOT 5V tolerant)
NOTA: Forneceram-me a seguinte esquemática de que funções estão disponíveis em cada pin:
"Visivel apenas para utilizadores registados"

Alguém já tentou ligar este ecrã à SKR13?
Alguma sugestão de como ligar isto ou mais vale desistir e comprar um dos tft da BIQU?
Estes utilizadores agradeceram ao autor virt pela mensagem:
antonvier (10 jul 2019, 14:32)
Classificação: 12.5%
Avatar do Utilizador
antonvier
Rookie Maker
Rookie Maker
Mensagens: 255
Registado: 24 dez 2018, 16:48
Localização: chaves
Enviou: 203 vezes
Agradecimento recebido: 61 vezes

10 jul 2019, 12:31

eu fui obrigado a postergar a instalação da minha SKR 1.3 em virtude da urgencia de outros projetos / obrigações, mas lembro que há sim uma solução, só não lembro qual... rsrs
Quando pensas que não aguenta mais, usaste apenas 20% de vossa capacidade.
Avatar do Utilizador
virt
Pro Maker
Pro Maker
Mensagens: 501
Registado: 03 jul 2018, 14:56
Enviou: 47 vezes
Agradecimento recebido: 158 vezes

10 jul 2019, 14:40

Continuei a investigar e pelo que percebi board LPC1768 todos os pinos analógicos funcionam a 3.3V o que faz com que a ligação do pin dos botões seja mais complicada.
"Visivel apenas para utilizadores registados"

No Marlin começaram a investigar a um nível mais profundo como fazer isto funcionar mas á partida terá sempre de se colocar um regulador para que os botões enviem 3.3v para aquele pino e ajudar a respectiva interpretação dos dados enviados para esse pin analógico.
Thread aqui:
"Visivel apenas para utilizadores registados"
Estes utilizadores agradeceram ao autor virt pela mensagem:
antonvier (10 jul 2019, 21:52)
Classificação: 12.5%
Avatar do Utilizador
Oldfalcon
Newbie Maker
Newbie Maker
Mensagens: 28
Registado: 22 mar 2019, 17:24
Enviou: 15 vezes
Agradecimento recebido: 12 vezes

11 jul 2019, 16:30

Boas,

Eu nao vou usar o ecrân da anet pois já tenho o tft 35 da bigtree, mas como leigo no assunto pergunto mesmo parecendo burrice da minha parte, se não é possivel usar mesmo que só provisóriamente esse pino de 3.3V com um step up para 5V?
Avatar do Utilizador
virt
Pro Maker
Pro Maker
Mensagens: 501
Registado: 03 jul 2018, 14:56
Enviou: 47 vezes
Agradecimento recebido: 158 vezes

11 jul 2019, 16:46

Acho que é o contrario.
Daquilo que eu percebo(e é pouco) este pin na board recebe o sinal analógico enviado pelo keypad.
Ora o keypad envia um sinal entre 0-5V porque é alimentado a 5V e a board apenas suporta receber até 3.3v em qualquer pin analógico.

O truque que está a ser tentado é alimentar o keypad a 3.3v e depois refazer a interpretação da voltagem enviada ao pressionar cada botão por parte da board.
Ou seja.. a nível de hardware é colocado um regulador de voltagem na entrada de alimentação do keypad.

Se estiver enganado alguém me corrija!

A alternativa julgo eu seria ligar um botão PWM rotativo idêntico ao do ecrã da ramps ligado separadamente ao LCD2004 para substituir o keypad??
Estes utilizadores agradeceram ao autor virt pela mensagem:
Oldfalcon (11 jul 2019, 18:40)
Classificação: 12.5%
Responder