납땜 문제 발생…
완성된 드론의 메인보드를 갖고 FTDI에 연결하여 multiwii를 통한 확인 과정을 거쳤다. 그런데??? 분명히 빵판이랑 비슷하게 했음에도 갑자기 멀티위가 조용했다…..
아… 뭐가 문제일까 고민을 해봤지만 정말 모르겠다….
그래서 일단은 다시 만들기로 했다. 이번에는 각각의 부품을 하나씩 연결하면서 바로바로 multiwii로 확인 과정을 거치기로 했다.
이렇게 납땜을 하는 과정에서 MPU6050을 연결하였을 때는 Multiwii가 정상적으로 작동이 되다가 갑자기 nrf24를 연결하는 순간 위와 같이 multiwii가 안됨을 확인할 수 있었다.
그래서 nrf24에 문제가 있다고 판단하여 아두이노 우노끼리 연결하여 ‘Hello world’를 하나에서 나머지 하나로 보내는 실험을 간단히 진행하였다. 실험은 성공적이었고 nrf24는 작동한다고 판단했다. 우노에 연결했을 때 nrf24를 3.3V에 직접연결한 것과 같이 아두이노 나노에 있는 3.3V 핀을 이용하여 실험을 진행하기로 했다.
메인보드를 아두이노 프로미니가 아니라 나노로 진행했을 때 nrf24를 연결해도 문제 없이 멀티위가 작동하였다. 하지만 컨트롤러와의 연결이 불안정하여 throttle yaw pitch 등의 값이 불안정하게 나타났다. 이는 찾아본 결과 아두이노 나노의 3.3V에서 정확히 3.3V의 값이 나오는게 아니라 약간의 오차를 보인다고 한다 그로 인해 작동전압을 만족시키지 못해서 문제가 발생하는 것이 아닐까….
그리고 I2C 에러가 발생하였다. I2C란 통신 방법의 일종으로 아두이노를 처음 시작하게 되면 사용하는 시리얼 통신과는 다르게 보트레이트를 굳이 설정해 줄 필요가 없는 통신 방법이다. I2C와 관련된 부품은 MPU6050으로 이 부품을 보면 SCL이라는 핀이 존재하는데 이 핀은 클럭(CLOCK)의 역할이다. 무슨 말이냐면 SCL에서 신호가 LOW에서 HIGH로 바뀌면 (물론 반대로도 가능) SDA에서는 그 변화를 신호로 삼아 LOW에서 HIGH 또는 HIGH에서 LOW로 바뀌게 되게 하는게 SCL 혹은 클럭의 역할이다. 이러한 통신 방식을 이용하면 딱히 설정을 안해줘도 통신이 가능하다. 그런데 우리는 I2C 에러가 발생했다.... 이 글을 읽고 있다면 와 이걸 어떻게 해결하지 하겠지만 다행이도 검색하면 쉽게 나온다. 애초에 MPU6050에 SCL SDA를 연결하여 통신하는 방식이므로 I2C에러가 발생했을 때는 연결문제라고 생각하면 된다.
아두이노 나노로는 전력이 부족하여 연결이 불안정하고 또한 I2C에러가 발생하여 다시 프로미니를 재구입하여 납땜을 차근차근 해보았고 그 결과 아래와 같이 연결에 성공하였다.
하지만 여전히 문제는 있었다. 컨트롤러와 메인보드를 연결하려고 할 때 nrf24를 손으로 잡아주지 않으면 연결이 불안정하였다. 찾아보니 손가락이 안테나와 같은 기능을 해서 연결을 돕는다고 한다. 이 불안정한 연결을 여전히 제대로 해결하지 못했다….
우리가 Voltage regulator를 사용하지 않아서 nrf24의 작동전압을 초과하여 타버린 것이 아닐까 조심스럽게 추측해본다....
이 불안정성을 해결하기 위해서 연결이 불안정했던 부분을 다시 납땜을 한 결과 갑자기 모든게 안되는 우리의 멘탈을 가루로 만들어 버리는 결과를 얻었다.
멘탈을 가다듬고 어떻게 할지 더 생각해 봐야할 것 같다….
V/R
윤.
how to, 아두이노 드론 #11 외부전원 RAW (0) | 2020.08.31 |
---|---|
how to, 아두이노 드론 #10 : 드론 메인보드 제작 (0) | 2020.08.31 |
how to, 아두이노 드론 #7 : 납땜 팁, tips for soldering (0) | 2020.08.31 |
how to, 아두이노 드론 #3. 메인보드 1차 설계, 변환기판 사용법 (0) | 2020.08.31 |
how to, 아두이노 드론 #2 Test test testing... (0) | 2020.08.31 |
댓글 영역