'HHKB'에 해당되는 글 2건

  1. 2016.11.06 Wireless GH60 Satan Keyboard Project #2
  2. 2016.10.30 Wireless GH60 Satan Keyboard Project 2

Wireless GH60 Satan Keyboard Project #2


무선 키보드 2호기를 제작하였다. 이번엔 중국 게이트론 적축 스위치를 사용하였다. 구입한 제품이 1호기와는 조금 다른데, 케이스가 합성수지 -> 알루미늄, 키 색깔이 다른 키캡이 축가, 스페이스 바가 짧아져서 적축 스위치를 사용할 수 있는 정도이다. 참고로 기존 키보드는 적축 스위치로 스페이스바를 밀어올리지 못하여 흑측 스위치를 별도로 구입해 사용하였다.


Wireless GH60 Satan Keyboard Project #1


Wireless GH60 Satan Keyboard Project #2

기존 프로젝트와 동일하니 작업하였던 사진만 정리한다. GH60 Satan PCB 준비한다.


꼭 다음과 같이 key stabilizers 를 먼저 장착해야 한다. 스위치를 납땜 한 이후에는 장착할 수 없다.


키를 윗 판에 끼우고 key stabilizers 를 장착한 PCB 와 잘 결합시킨다. 간혹 스위치 다리가 굽어서 PCB 구멍에 들어가지 않는 놈이 없는 지 조심해야 한다. 물론 굽은 다리도 납땜은 가능하다.


이제 납땜을 하면 되고, 기존 1호기와 같이 수정하였다.


다시 만들어 보니 빨리 제작할 수 는 있는데, 제작 중 실수도 좀 발생하였다. 끝내 RF 모듈은 전류가 50uA 와 같이 소모해야 하는데, 2.2mA 을 혼자 소모해서 교체했다. 잘못 연결한 상태에서 장시간 테스트로 모듈 소모 전류가 비정상으로 된 것 같다.


'DIY keyboard' 카테고리의 다른 글

Wireless GH60 Satan Keyboard Project  (2) 2016.10.30
Posted by 장손1
,

Wireless GH60 Satan Keyboard Project


키보드를 많이 사용하는 직업이다 보니, 손에 무리가 덜 가는 내게 맞는 키보드를 사용하였다. 처음 작은 기계식 키보드로 시작해서 Layout 이 특이한 HHKB Pro2 을 지금까지 사용하고 있다. 그런데 이게 불행의 시작인데, 집에서 사용할 키보드가 하나 더 필요한데 HHKB layout 키보드는 발매되지 않고, HHKB 는 일본 직구로 너무도 비싸게 살 수 밖에 없었다. 또한, 늘 예전에 사용하던 무선 키보드의 편리함을 원했는데 기계식 키보드는 무선 제품이 거의 없었다. 따라서 이 프로젝트는 시작 되었다.


사용하던 HHKB Pro2


무선으로 변경한 Wireless GH60-Satan 외관


내장하지 않고 그냥 붙여서 사용하고 있는 800mA 오래된 배터리와 스위치


수정한 내부 회로

좌측 위: charger, 좌측 아래: USB and battery power MUX, 추측 위: ATMEGA32U4, 우측 가운데: Wakeup circuit, 우측 아래: Wireless module nRF24L01+



컴퓨터 수신 동글

좌측에서 개발한 이후, 우측과 같은 Logitech 사의 동글에 이식할 수 있다. Logitech 사의 동글이 동일한 nRF24LU1+ 칩을 사용하였다.



개발에 사용한 주요 부품

  • Gh60-Satan 조립 키트: AliExpress 에서 구입할 수 있다. GH60 Satan PCB, 케이스, Switch 등 모두 포함된 제품을 사면 편리하다. 만원 정도면 조립 요청을 할 수도 있다.
  • nRF24L01+ module: AliExpress 에서 구입할 수 있고 매우 저렴하며, SPI interface 통해 무선통신을 할 수 있다.
  • Charger module: TP4056 chip 을 사용한 모듈을 국내에서 구입해서 잘라서 사용. 물론 AliExpress 가 더 싸다.
  • USB and Battery power MUX: 3.3V LDO, FET, Diode, resister 등으로 제작
  • All key wake-up circuit: Diode, resister 으로 제작
  • 기타: 전선, 납땝, 애나멜 선 등등 회로 쟁이 기술은 필요하다.

Source codes 와 GH60 회로도
  • Keyboard source code: https://github.com/jangson/tmk_keyboard_custom
  • USB receiver source code: https://github.com/jangson/crazyradio-firmware
  • GH60 회로도: https://github.com/komar007/gh60
    • KiCad 을 사용해서 열어볼 수 있다. 무료 KiCad 는 PCB 까지 제작할 수 있는 툴로 개인 용도로 매우 좋다.
    • 중국에서 제작하는 GH60 Satan 회로도는 구할 수 없었다. Source code 와 PCB 을 참조하여 알 수 있는데, 주요 수정 사항은, Caps Lock LED 는 동일하고, 나머지 키 마다 장착된 LED 는 PB6 PWM 을 통해 밝기 제어를 하게 되어있고, 이로인해 COLs GPIO 가 GH60 과 조금 다르다. PF 을 사용하는 확장을 위한 포트 등이 없는 것 같다. 결론적으로 PWM LED 제어와 COLs 매핑이 좀 바뀐 것 이외는 거의 동일하게 사용할 수 있다.

Modified circuits of GH60 satan

    * LED is not controlled by SW and disabled LED backlight circuits
    * nRF24L+ connected
        * PB3: MISO
        * PB2: MOSI
        * PB1: SCK
        * PF4: CE
        * PF5: CSN
    * UART DEBUG
        * PF6: TXD
    * Wakeup from standby by all keys
        * PF7: pull-down control of row1~5
        * Connected PF7 thru register 47K to cathod of diodes from row1, 2, 3, 4, 5 (int0, 1, 2, 3 and 6)
        * Pins col3(PE6) and row5(PD5) exchanged for wake up by row5. Row5 is connected to int6.
        * Before entering to suspend, all rows pull-down and all cols output high
    * Battery powered circuit
        * ATMEGA32U4 runs with 3.3V and 8Mhz
        * Added a battery and a charger
        * Added power mux circuit USB and battery power
    * Other
        * Caps Lock led moved from PB2(MOSI) to PB6(LED pwm backlight of all LEDs)



제작 후기

제한된 부품이나 장비로 오랜 기간 조금씩 개발하다가 보니 여러 가지 문제점에 부딛혔었는데 잘 기억이 나지 않는다. 생각 나는 데로 조금 적어 본다.

  • USB 와 battery 전원 공용 사용 문제
    • 처음 5V 로 구동하는 원 회로를 기본으로하고 nRF24 통신 모듈 만 3.3V 을 사용하였다. Battery 구동 시 전력 소모면에서 많은 차이가 있어서 3.3V 로 변경되었다. 개발 중에는 level 변환 등 다양한 이유가 있었다.
    • 전체 시스템은 3.3V 을 사용하고, USB 와 연결되는 CPU 의 UVcc, VBus 핀만 5V 을 사용한다. USB 동작 시만 필요해서 문제점은 발생하지 않았다. 다리 들고 납땜 스킬은 필수다.
  • Battery 사용으로 저전력 설계 문제
    • CPU crystal 은 16M 밖엔 없어서 그냥 사용하고, 내부적으로는 8M clock 을 사용한다. 동작 시 전류 차이가 좀 커서 필수 적이다.
    • Key 을 누르지 않을 경우 바로 standby 모드로 진입한다. 또, 어떤 키가 눌렸을 경우에도 바로 다시 wake up 해서 key 을 처리해야 한다. 이후 1초 이상 사용이 없을 경우도 즉시 standby mode 로 진입니다. Standby mode 진입 시 490uA 정도 소모하였고, 800mA 배터리 사용 시 2주 동안 아직도 충전 없이 사용하고 있는 중이다.
    • 3.3V LDO 는 quiescent current 가 작은 chip 사용을 해야 한다. 2.8V 이나 3.0V 사용 시 전류가 더 줄어 든다. CPU 공급 전압을 3.3V 사용할 경우 datasheet 상 필수적으로 CPU 동작 클럭은 8M 로 낮추어야 한다.
    • Power down 모드는 fuse 등을 신경 써야 하는 지 잘 동작하지 않고 테스트 시 전류를 더 소모해서 포기 하였다.
  • Power save 위한 모든 키 wake up 문제
    • 회로 수정이 필요하다. Row5 의 경우 standby 모드에서 wake up 하게 할 수 없는 pin 이다. 따라서  COL3 가 사용하는 PE6(INT6) 핀과 exchange 되었다.




'DIY keyboard' 카테고리의 다른 글

Wireless GH60 Satan Keyboard Project #2  (0) 2016.11.06
Posted by 장손1
,