본문 바로가기
  • 경제적 자유를 얻는 그날까지
728x90
반응형

엔지니어링126

728x90
반응형
SwiftF4 FC 개발 프로젝트 (1) - 프로젝트 생성 및 디버그 환경 설정 swiftF4는 STM32F411CEU6 기반의 FC를 개발하는 프로젝트입니다. 하드웨어는 ATK-minifly 제품을 이용하고, 펌웨어는 Bitcraze사에서 나온 오픈소스 펌웨어 Crazyfile를 하드웨어에 맞도록 이식하여 개발할 예정입니다. 본 프로젝트를 하는 이유는 아래와 같습니다. 1) Crazyfile 기반의 오픈소스 펌웨어와 생태계 이해 2) 하드웨어에 맞는 이식성 3) 하드웨어 확장에 대한 개발 프로젝트 수행 본 프로젝트에서 나온 하드웨어에 대한 자료는 아래를 참고하면 됩니다. https://ko.aliexpress.com/item/1005006306684091.html?gatewayAdapt=glo2kor 117085.0₩ 5% OFF|오픈 소스 쿼드콥터 미니플라이 UAV 비행 제어, .. 2024. 3. 16.
[STM32] VSCode에서 CrazyFlie 펌웨어 디버깅하기 VSCode에서 디버깅 환경을 구축하는 것은 아래 내용을 참고하면 된다. https://swiftcam.tistory.com/668 기본적으로 VScode를 최신버전으로 설치하고 나서, arm-none-eabi 툴체인과 gdb 디버거를 설치한다. 나는 기존에 사용하던 Jlink 기반의 gdb 디버거를 사용한다. 해당 내용은 bitcraze.io 홈페이지나 나와 있으나 여러가지 불필요한 부분을 제외하고 ubuntu 환경에서 디버그 동작이 가능한 과정을 확인해본다. 아래 bitcraze.io의 내용을 참고 하였다. https://www.bitcraze.io/documentation/repository/crazyflie-firmware/master/development/openocd_gdb_debugging/.. 2023. 12. 31.
GIT 명령어를 사용하여 remote에 프로젝트 업로드 1. 프로젝트 폴더를 git local로 생성 $ git init 결과 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' .. 2023. 12. 30.
VTOL 야외 비행시험 절차 및 수행 ※ 중요사항 비행전 사전 체크사항을 반드시 확인할 것 프롭 연결과 Safety Switch, 조종기를 끄고 켜는 순서는 반드시 시험절차에 따라 수행할 것 비행시험은 반드시 최소 2명이 함께 수행할 것(1명은 기체 제어, 1명은 미션플래너로 상태 확인) 시험후 모든 장비는 사전과 같은 상태로 정리할 것 사전 준비사항 항목 내용 비고 1 기체 MFE Fighter 2430mm 2 조종기 후타바 14SG 3 텔레메트리 P900 통신 모듈 4 배터리 Tattu 6S 22000mah 25C * 2개 5 노트북 Mission Plan(VTOL)이 설치된 노트북 Windows 10 이상 6 기타 공구 테프론와이어, 전압측정기, M3 Hex 렌치, 스패너 등 시험비행확인서 시험일자 제품번호 시험장소 시험수행자 날씨 풍.. 2023. 10. 24.
Hero VTOL 야외 비행시험 및 보완 기체 #1 실내 점검 1) 텔레메트리 연결 57600bps로 텔레메트리 연결 미션플래너에서 확인한 장치리스트 기본 파라미터 설정 세부설정 주요 파라미터 수정 내용 2) 배터리 전압확인 측정시 22.8v 측정됨, 하지만, 전류값은 바르지 않음(FC에만 공급되는 전류임) 3) 배터리 발란스 측정 배터리 좌우에 스펀지를 덧대에서 이격이 없도록 설치 발란스 맞추기 위해서 배터리 트레이 뒤쪽까지 밀어주고 종이테이프로 표시된 곳에 배터리 아래모서리를 맞추면 발란스가 맞음 4) 모터 발란스 측정 4축 모터의 수평은 맞추었음 모터 앞뒤 축간의 높이가 조금 맞지 않음, 3번모터가 2번보다 5mm이상 높음, 보정을 했으나 아직 차이가 남 5) 레벨 바닥면에서 수평 잘 맞는 편임 6) 지자계 외부는 LIS3MDL 센서를 사.. 2023. 10. 9.
[ STM32 ] VS Code로 Nuttx OS 빌드 및 디버깅 환경설정하기 arm-none- eabi-gdb가 없을 때 해결방법 참고 사이트 https://askubuntu.com/questions/1243252/how-to-install-arm-none-eabi-gdb-on-ubuntu-20-04-lts-focal-fossa How to install arm-none-eabi-gdb on Ubuntu 20.04 LTS (Focal Fossa) I tried to install arm-none-eabi-gdb as a part of gcc-arm-embedded. I added PPA: sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa and executed: sudo apt install gcc-arm-embedded It res.. 2023. 5. 7.
[ STM32 ] STM32F4보드에 NuttxOS 설치하기 이전에 STM32보드에 CubeIDE를 이용하여 드론개발을 진행하였다. 편리한 GUI 인터페이스와 자동화 코드로 쉽게 구현할수 있어 장점이 많았다. 요즘 PX4 또는 github에서 오픈소스코드를 살펴보면 Nuttx OS 기반으로 비행제어 프로그램이 개발되어 있는 경우가 많아서 확장성을 고려하여 Nuittx OS 기반으로 프로그래밍을 개발하는 방법을 스터디해보고자 한다. 1. 하드웨어 준비 사용한 보드는 예전에 자작드론 개발시 사용했던 STM32F405RGxx 보드이다. 해당 보드는 omibus F4와 호환되는 보드로 LED, 자이로, PWM등을 온보드 형태로 사용할 수 있다. 보드에 대한 내용은 아래 포스팅을 참고하면 된다. 에뮬레이터는 J-Link를 사용한다. https://swiftcam.tisto.. 2023. 5. 7.
NuttX OS 알아보기 개발 환경 장비: 노트북 OS: Ubuntu 20.04 타겟보드: STM32F407 에뮬레이터: SEGGER J-Link 1. 개발 환경설정 필수 패키지 설치 sudo apt-get install automake bison build-essential flex gcc-arm-none-eabi gperf git libncurses5-dev libtool libusb-dev libusb-1.0.0-dev pkg-config -y OpenOCD 설치 설치 configure 에는 다양한 에뮬레이터를 활성화하는 옵션이 포함되어 있다. 본인은 J-link를 사용하는데 configure 실행시 아래와 같은 에러가 나면 J-link용 libjaylink-0.2 패키지를 별도로 설치해야 한다. $ mkdir nuttxs.. 2023. 3. 16.
[STM32 자작드론] FrSky SBUS 수신기 구현 사용된 수신기는 FrSky 사의 XSR수신기이며, 16채널 SBUS, CPPM 형태로 출력이 가능한 수신기이다. 입출력 인터페이스를 보면, SBUS와 S.Port, CPPM 포트가 나와있다. CPPM은 PWM 신호 형태로 입력을 받아서 사용해야 하고, S.Port는 텔레메트리 데이터 수신용으로 사용한다. 그리고 SBUS는 다채널 수신기 데이터 수신용으로 사용이 가능하다. 다만, 이 제품의 경우 SBUS 수신시 inverted serial 형태로 들어오기 때문에 inverting이 필요하다. 실제 수신기로 들어오는 SBUS 신호는 아래와 같이 측정된다. Serial 신호를 뒤집어 놓은 것과 같은 형태로 출력되기 때문에 inverted 되었다고 말한다. 일부 프로세서들은 UART 입력 핀의 Polarity를.. 2023. 2. 18.
[STM32 자작드론] GPS 데이터 수신기 UART DMA 구현하기 Ublox NEO M8 GNSS 모듈 GPS, Galileo, GLONASS, DeiDou 수신 UART, SPI, I2C 인터페이스 NMEA, UBX 메시지 프로토콜 최대 30Hz(High Nav), 보통 1~10Hz 사용 u-center 프로그램있음 NMEA(The National Marine Electronics Association) 0183 프로토콜 UART 인터페이스 $GP??? 로 시작하는 아스키 Message 방식(데이터 길이가 가변이고 파싱코드 필요) ,로 데이터 필드 구분 범용적이며 데이터를 직관적으로 확이할 수 있음 NMEA 프로토콜 구조 애플리케이션 레이어에서의 문장 구조의 형식 및 특징은 다음과 같다. '$'로 시작한다. 첫 두 자리는 제품의 종류를 나타낸다. GPS 제품일 경우 .. 2023. 2. 5.