LoRa 모듈 E22-900T22S Breakout Board 설계 2

Image
지난번 설계 에서 두 가지 업데이트 사항이 있다. 첫 번째로 3.3V 로 로직 컨버터를 거치지 않고 직접 통신할수 있는 포트를 구성하였다.  이 포트를 통해 3.3V 동작의 MCU를 사용할때 좀 더 빠르게 회로를 구성  할수 있을것으로 기대한다. 두 번째로 동작 전압 레벨이 서로 다른 MCU 와 Lora 모듈이 통신할때 사용할 기준전압을 직접 인가 할 수 있도록 하였다. 보드에는 위 와같은 점퍼가 주어지는데 3.3V 나 5V 로 점프 시키지 않을 경우 VREF 핀에 사용할 소스전압을 직접 인가해 주어야한다. 특수한 경우가 아니라면 Vref를 사용하는일은 없을것 같다. 위사 진들은 이번에 제작한 테스트 모듈이다.  왼쪽은 E22-900T22S 모듈이고 오른쪽은 ATmega328P/PB 3.3V 8Mhz 보드를 준비했다. 오른쪽의 보드는 ATmega328P/PB 를 모두 장착하여 사용할 수 있도록 설계했다. E22-900T22S 보드의 전체 회로는 다음과 같다. 동작 전압 레벨이 서로 다른 장치와 통신 할 수 있도록 레벨 컨버터를 추가 하였고, 핀 헤더를 장착하여 다른 MCU 보드와 통신하거나 점퍼를 수정해서 USB 시리얼 통신을 할수 있도록 했다. 모듈의 테스트는 mischianti의 E22 라이브러리 를 사용했다. 정리가 아주 잘 되어있는 라이브러리로 생각된다. 아래 코드는 라이브러리에 포함된 시리얼 입력을 LoRa 통신으로 전송하는 예제이다. Lora ATmega328p AUX D3 RX D4 TX D5 M1 D6/GND M0 D7/GND 송신측 코드 #include "Arduino.h" #include "LoRa_E22.h" LoRa_E22 e22ttl(4, 5, 3, 7, 6); void setup() { Serial.begin(9600); delay(500); // Startup all pins and UART e22ttl.begin(); Serial.println(&q

V-USB 를 활용한 ATmega328/168P기반의 USB 키보드 1

키보드나 마우스 혹은 조이스틱과 같은 장치를 만들어보려고 할 때 HID 프로파일을 지원하는 제품을 찾게 된다. 이러한 제품의 경우 개발이 간편하고 고급 기능을 지원하지만 단가가 높은 편이다. 

반면 ATmega AVR 에  V-USB를 사용하면 ATmega8 과 같은 비교적 저렴한 가격의 IC 로도 USB 1.1 규격의 키보드나 마우스, 조이스틱과 같은 다양한 USB 장치들을 만들 수 있다.

V-USB 관련하여 아래 웹사이트에 재미있는 프로젝트들이 많이 있다.

이번에 ATmega328/168P와 V-USB를 사용해서 5V 로 동작하는 작은 테스트용 키보드를 만들어 보려고 한다.


V-USB 를 사용한 장치는 호스트 장치와 연결시 ATmega328/168P에 있는 UART 포트인 PD0 와 PD1으로 통신하지 않고 PD2 와 PD4 를 사용하게 된다. 여기서ATmega328/168P의 경우 5V 전원 공급에서 디지털 포트도 5V 까지 동작하게 되는데 이 부분을 주의해야 한다.

일반적으로 USB는 전원 공급에 5V를 사용하지만, 양쪽 데이터 라인은 HIGH 에서 2.8V~3.6V, LOW 에서 0.0V~0.3V  전압으로 정격화된다. 이는 호스트 측으로 입력이 3.6V 보다 높아지지 않도록 주의해야 함을 의미한다. 만약 5V 신호를 그대로 USB 데이터 라인에 입력하게 되면 호스트 장치의 입력 회로를 손상시킬 수 있다.



USB 데이터 라인의 회로 손상을 방지하기 위해 일반적으로 사용되는 방법으로 왼쪽 회로처럼 데이터 라인에 3.6V 제너 다이오드를 병렬로 사용해서 전압을 조정하는 방법이 있다. 만약 이 방법이 마음에 들지 않는다면 ATmega328/168P 에 3.3V 전원을 공급하는 방법도 있다.

오른쪽 회로는 아두이노 호환 보드에서 흔하게 볼 수 있는 CH340C를 사용한 USB 시리얼 통신 포트이다. ATmega328/168P에 아두이노 부트로더를 함께 다운로드 받으면 아두이노와 동일하게 사용할 수 있다.


이것은 키보드의 메인보드라고 볼 수 있다. 왼쪽의 핀 헤더는 디지털, 오른쪽 핀 헤더는 아날로그로 구성되어있다. 하단의 USB는 시리얼 통신용이고 상단은 HID로서 호스트 장치 연결에 사용된다. 우측 상단의 LED 는 왼쪽부터 동작상태, 전원, RX, TX 순이다.


키보드는 5x4 배열로 구성하였다. 쿼티를 모두 구성해봤자 부품과 노동력도 많이 들어가고 어차피 그렇게 사용하지도 않을 것 같고 재미로 만드는 것 이기에 텐키나 천지인 정도를 생각하고 만들어 보았다.


Comments

Popular posts from this blog

[POE] - 패스 오브 엑자일 획득키 F 의 사용법 (Path of Exile)

[Arduino] - HC-06를 이용해 PC 와 Arduino 블루투스 연결

[Python] - 블루투스 모듈 HC-06의 MAC 주소를 이용하여 통신 포트 찾기