PX4 hardware

  • 회로도를 봐야 하는 목적.
  • 회로도 볼때 노하우.
  • pixhawk v2.4.5 하드웨어 읽기

대상

  • PX4 하드웨어를 이해하고 새로운 하드웨어를 만들려고 하는 분

Airframe


Pixhawk

fill

https://pixhawk.org/modules/pixhawk

실습:

  1. 하드웨어 읽고 발견하기
  2. 뭘 할 수 있는지 같은지 이야기 해보기
  3. 인터넷에서 검색!

Pixhawk Hardware Features

    Advanced 32 bit ARM Cortex® M4 Processor running NuttX RTOS    
    14 PWM/servo outputs (8 with failsafe and manual override, 6 auxiliary, high-power compatible)    
    Abundant connectivity options for additional peripherals (UART, I2C, CAN)    
    Integrated backup system for in-flight recovery and manual override with dedicated processor and stand-alone power supply    
    Backup system integrates mixing, providing consistent autopilot and manual override mixing modes    
    Redundant power supply inputs and automatic failover    
    External safety button for easy motor activation    
    Multicolor LED indicator    
    High-power, multi-tone piezo audio indicator    
    microSD card for long-time high-rate logging

Microprocessor:

    32-bit STM32F427 Cortex M4 core with FPU    
    168 MHz/256 KB RAM/2 MB Flash    
    32 bit STM32F103 failsafe co-processor

Sensors:

    ST Micro L3GD20 3-axis 16-bit gyroscope    
    ST Micro LSM303D 3-axis 14-bit accelerometer / magnetometer    
    Invensense MPU 6000 3-axis accelerometer/gyroscope    
    MEAS MS5611 barometer

Interfaces:

    5x UART (serial ports), one high-power capable, 2x with HW flow control
    2x CAN
    Spektrum DSM / DSM2 / DSM-X® Satellite compatible input
    Futaba S.BUS® compatible input and output
    PPM sum signal
    RSSI (PWM or voltage) input
    I2C® 
    SPI
    3.3 and 6.6V ADC inputs
    External microUSB port

Power System:

    Ideal diode controller with automatic failover
    Servo rail high-power (7 V) and high-current ready
    All peripheral outputs over-current protected, all inputs ESD protected

Weight and Dimensions:

    Weight: 38g (1.31oz)
    Width: 50mm (1.96")
    Thickness: 15.5mm (.613")
    Length: 81.5mm (3.21")

fill,inline


Input/Processing/Output


Electonical

git clone https://github.com/PX4/Hardware

PX4 FMU 2.4

fill


회로도 읽기

Pixhawk 2.1 회로도 (The Cube Autopilot)

회로도 읽는 순서

  • 주연(Main) 찾기
  • 조연(Sub) 찾기
  • 흐름(Flow) 찾기

실습:

  • 주인공 찾아보고 스펙 알아 보기. (뭘 봐야할지 토론)
  • 조연 찾아보고 역활 예측. (공유)

STM32f427

실습:


STM32f100

실습:


IMU (Inertial Measurement Unit)

  • Gyro
  • Acceleometer
  • Magnetometer

질문

  • 왜 여러개 일까?
  • 위치 찾기

Power

  • MIC5332, LTC4417 NTHD4102PT1G, BQ24313, BQ24315

질문

  • MIC5332의 장점?
  • BQ23415의 역활?
  • LTC4417의 역활?

FM24V01

  • 무슨 역활인가요?
  • 왜 너여야만 하니?

LINE BUFFER

  • TXS0108
  • 74lvc2g240

    실습:

  • 무슨 역활인가요?

  • 왜 너여야만 하니?
  • B쪽 포트에 붙은 120옴은 왜?

PCB Line, Hole 정보

  • 회로도에서 PCB line, hole, via, 동박두께 정보를 찾아보자! 어디에?

역활

왜 이런 선택을 하였나?


PX4 스펙 찾아보기

  • 핵심. mcu cortex m4.
  • flash 2mb/ 얼마나 들어가나?
  • 32bit fail safe. 보조 인가?
  • 자이로 센서 중복/
  • autopilot 목적. 확장성. uart. ppm, pwm.
  • servo rail hight power 10v/ hight current. 10a 이상. 어떨걸 심하게 돌리길래.
  • 8개는 failsafe and manual override. 6개 고출력 pwm 어떻게 다를지 궁금하다. (?) pwm

센서

  • IMU(Inertial Measurement Unit)
  • GPS(Lat/Lon/Alt, local earth frame velocity)
  • Magnetometer
  • Barometer Altitude
  • Airspeed
  • Range finder (땅으로부터 높이)
  • Opticalflow (광학/관성 델타값)
  • Vision odometer(Realsense, ZED ...)

IMU

  • 3축 각속도, 3축에 작용하는 힘
  • 가장 중요함
  • 작은 기체는 MEMS타입 (Micro Electro Mechanical System) 사용

  • 예시 MPU6000, ICM 20609

Barometer Altitude

  • 기압측정 하여 표준기압모델을 이용하여 고도로 변환
  • Altitude from atmospheric pressure Calculator
  • src/modules/sensors/voted_sensors_update.cpp
    airdata.baro_alt_meter = (((powf((p / p1), (-(a * CONSTANTS_AIR_GAS_CONST) / CONSTANTS_ONE_G))) * T1) - T1) / a;
    
  • 온도에 따른 드리프트
  • 공기 흐름에 따라 기압이 변화
  • 빛에 예민

Magnetometer

  • 지구의 자기장을 측정
  • 자북과 진북의 차이각도 입력 필수 (PX4에서는 기본으로 GPS위치를 기반으로 차이각 보정)
  • 외부 자기장 에러소스(전류로 부터 나오는 자기장, 자석, 자기장 방해) 에 영향을 받음
  • 참고: https://ibmhdd.tistory.com/2

GPS

  • 위치와 속도 측정. WGS-84 지구 좌표계
  • 위치와 속도의 메인 센서
  • 2 ~ 5m 오차
  • RTK 사용시 10cm