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

RP2040 개발보드 설계 3


RP2040 개발보드 설계 하면서 모듈형식으로 사용할 수 있는 리튬 충방전 모듈을 디자인 해보았다.
모듈의 설계는 위 이미지에서도 알 수 있겠지만 18650/21700 사이즈의 리튬 이온 배터리를 사용하는 것을 고려하고 있다.

설계 목표는 개발보드가 USB 로 PC 와 연결된 상태에서 리튬 배터리 모듈이 연결/제거 되어도 동작을 유지하는것이고, 아두이노 보드의 쉴드처럼 쓸 수 있도록 하는것이 목적이다. 전원소스 동작은 개발보드에 연결시 Power Path 선택 회로에 의해 배터리 전원 입력시 USB 입력전원은 리튬 배터리의 충전 전압으로 사용되고 리튬 방전회로의 출력전압 소스를 개발보드의 주 전원 소스로 사용하도록 설계하였다.

아래 회로도는 개발보드의 각 부분을 가독성 있게 계층도로 구분하여 작성하였다.


계층도를 사용하여 설계하면 각 기능의 모듈화도 편하고 제품의 기능 파악도 빨라진다.
간단한 회로에서 시작한 제품이라도 여러 기능들이 붙기 시작하면 거대해 지기 마련인데 그렇게 복잡해진 회로도를 다른사람이 보고 분석해서 리뷰하기란 쉽지 않은 일이다. 

프로젝트에 계층 구조를 적용하면 디자인이 거대한 회로도에서 큰 효과를 발휘 할 수 있지만 단순한 디자인 일 지라도 여러 시트에 나누어 디자인 할 경우 더 쉽게 이해할 수 있게되는건 마찬가지다. 무슨 말이하고 싶은 것이냐 하면 디자인이 특별히 복잡하지 않더라도 여러 시트에 걸쳐 구성하면 이점이 있을 수 있다는말이다.

KiCad 에서는 회로설계에 사용된 모든 시트목록은 왼쪽의 계층구조 목록에서 확인할 수 있고 시트를 더블클릭하게 되면 해당 시트로 이동하게 되며 구체적인 설계를 확인 할 수 있다.


개념적으로 간단한 기능일지라도 실제 설계를 해보면 어려울때가 때가 있다. 
그럴때 계층 구조를 적용해 필요한 부분만 놓고 보면 생각보다 쉽게 풀어나갈 수 있는 경우도 있다.

Comments

Popular posts from this blog

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

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

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