Git을 사용하여 Obsidian 동기화하기
·
기타/협업 Tool
현재 윈도우 노트북과 ubuntu PC를 사용하고 있는데, Obsidian 동기화가 필요했다. 브라우징 결과 Syncthing 이라는 Tool 도 있음을 발견했는데 용량이 커질수록 동기화에서 문제가 계속 생기는것 같았다. 그래서 git sync 방법을 사용하기로 결정하였다. 또한, Obsidian 내에서 git 플러그인을 설치하여 commit과 push를 자동으로 해주던데, 옵시디언에서 해당 플러그인을 설치해보니 Auto commit and sync interval 옵션을 찾을수 없어, 매번 수동으로 commit & push 해주는 방식을 택하게 되었다. Github Desktop을 이용해도 되지만 GUI 환경에 익숙해지지 않아, git을 이용하여 commit/push/pull 을 할 예정이다. 1. G..
Schematic Design3
·
과제 및 프로젝트/flight controller
이번 포스트에서는 통신인터페이스와 기타사항들을 어떻게 회로설계 했는지 적어보려 한다.Serial 통신시리얼 통신 회로는 간단하게 mcu와 STLINK 연결을 담당하는 USART2에서 핀만 빼서 구현하였다. 펌웨어 업로드 할 때 말고는 USART2 자원을 이용하여 디버깅을 할 수 있다.SBUS signal 반전회로예전에 언급했듯이, mcu의 핀 수가 부족하기 때문에 4개의 pwm 신호를 sbus 신호로 받는 방식을 사용한다. sbus는 뒤집어진 uart 신호이기 때문에 mcu가 uart 신호를 받기 위해 반전회로가 필요하다. 데이터시트를 확인한 결과, MMBT7002K nFET의 threshold voltage는 1V ~ 2.5V 였다. 신호변환기의 SBUS 단자에서 high 또는 low 신호[high일 ..
Schematic Design2
·
과제 및 프로젝트/flight controller
지난 포스트에서 아래와 같이 어떤 것들을 회로설계 해야 하는지 정했었다. 구동시스템부터 review 해 보겠다.mcu - nFET - motor 회로설계dc 모터를 사용할 때 esc 역할을 하는 nFET의 gate는 mcu로부터 pwm 신호를 입력받아야 하므로, mcu의 TIM1과 연결하였다. 그리고 floating 상태를 막기 위해 10k$\Omega$ pull-down 저항을 연결해주었다. Back EMF를 방지하기 위해 Schottky diode를 배치하였고, Molex 커넥터를 이용하여 모터와 연결된다. LSM6DSO32[IMU]데이터시트의 application 부분에서 보여준 예시회로를 거의 그대로 이용하였다. 예전에 회로구상도 설명할 때 살짝 언급했듯이, mcu 핀이 부족하기 때문에 mcu의 ..
Schematic Design1
·
과제 및 프로젝트/flight controller
이번 포스트 부터는 어떻게 Schematic Design 했는지 적어보려고 한다.회로설계 가이드라인 작성우선은 각 sheet 혹은 page가 어떤 정보를 포함하고, 각 sheet의 design을 위해 어떤 일들을 해야 하는지 "회로설계 가이드라인"을 아래처럼 작성해보았다.root page이 페이지에서는 페이지1 ~ 페이지4가 어떻게 서로 연관되어 있는지에 대한 내용이 포함된다.예시 : 어떤 페이지의 출력포트들이 어떤 페이지의 입력포트와 연결되는지페이지 1이 페이지는 mcu에 관한 sheet 이다. Mcu 핀들의 label은 데이터시트에 나와있는 해당 핀의 function으로 작성mcu와 주변 부품 간의 Pin map 를 참고하여, 거기에 나와있던 function으로 label을 작성하기 Nucleo b..
Pin map 작성
·
과제 및 프로젝트/flight controller
Pin map 작성Power Train 분석까지 끝났으니, 이제 Pin map을 작성할 차례이다. stm32l432kcu6은 아래의 사진과 같이 총 32개의 핀이 있다. 각 핀의 기능들은 데이터시트를 통해 알 수 있었다. 데이터시트에 있는 각 핀의 기능들을 참고하여 다음과 같이 mcu와 주변 컴포넌트가 어떻게 연결되는지 Pin map을 작성하였다. 각 핀이 어떤 기능을 할 것인지 선택한 후, 비슷한 기능[SPI는 SPI끼리, I2C는 I2C끼리 등]을 하는 핀들끼리 모아서 가독성을 높였다. 그리고 주변 컴포넌트에 대해서도 아래와 같이 각각 Pin map을 작성해보았다. Pin map 작성까지 마쳤으니, 이제는 데이터시트를 보면서 어떻게 회로설계할것인지 구체화하고, 실제로 Kicad를 이용하여 회로설..
Power Train 분석
·
과제 및 프로젝트/flight controller
Power Train 분석부품 선정까지 다 했으니, 이제 Power Train 분석을 할 차례이다. 선정된 부품 목록은 다음과 같다.power train 분석은 기본적으로 드론이 Flight mode에 있다고 가정하고 분석하였다. 이 상태는 디버깅 하는 상태도 아니고, 비행 준비 상태도 아니다. 이 상태는 드론이 공중에 떠 있는 상태이다. 이 때 mcu, imu, barometer, magnetometer 등은 각각 전류를 소모할 것이고, 이로 인해 드론은 몇 분 정도 비행할 수 있을 것인지 예측하는 것이 이번 포스트의 주 내용이다. 먼저 motor부터 전류를 얼마나 소모하는지 알아보자.Motor 전류소모교수님께서 제공해주신 자료를 참고했을 때[보안 상 공유할 수 없음], throttle 40%에서 mo..
nFET 제품선정
·
과제 및 프로젝트/flight controller
nFET 제품선정DC모터를 사용하는 소형 드론에서는 외부 ESC를 사용하지 않는다. 대신 FC 내부의 nFET의 스위칭 기능을 사용하여 모터를 제어한다. 그렇기 때문에 DC모터과 nFET이 정상적으로 동작하는지 분석은 필수적이다. 구동시스템의 nFET으로 사용할 몇 가지 제품을 선정한 후 비교해보았다. nFET 제품 후보군은 TI 사의 CSD17577Q3A, DIODES 사의 DMN3007LSSQ, MCC 사의 SI2302, SI2300로 선정하였다. 우선 TI 사의 CSD17577Q3A를 사용하여 nFET 주변회로를 분석해보자.nFET 주변회로 분석 with CSD17577Q3A우선 nFET을 둘러싼 주변 회로를 그려보면 다음과 같다.mcu의 GPIO output이 nFET의 gate에 연결되고, so..
부품선정[Select Component]
·
과제 및 프로젝트/flight controller
부품선정[Select Component]이제 부품을 선정해야한다. 앞서 작성했던 회로구상도와 회로설계 전 미리 결정된 사항들을 고려하여, 회로의 해당 부분에 적합한 부품들을 선정하였다. 선정한 부품들은 다음과 같다. 부품선정이유MCU와 STLINK는 회로설계 전부터 이미 선정되어 있었으므로, 이에 대한 선정 이유는 생략하겠다. ESC 대체용 nFET 에 대해선 얘기가 길어질것 같아서 다음 포스트에서 설명하고, IMU 선정이유부터 설명하겠다. IMU 선정이유두 제품을 비교한 후 그 중 하나를 선택하였다. 하나는 ST 사의 LSM6DSO32 였고, 다른 하나는 TDK사의 MPU6050 이었다. 우선 Gyroscope 성능을 비교하면 다음과 같다.Test condition을 동일하게 맞추고 단위변환을 한 결..