STM32 MCU를 이용하여 PWM의 개념을 이해하고 PWM 생성 실습을 해보도록 하겠습니다. STM32F407VET6 블록 다이어그램 중 APB1/APB2 Clock - peripheral, timer [그림 1] APB1와 연결된 Timer 채널 : TIM2, TIM3, TIM4, TIM5, TIM12, TIM13, TIM14 APB2와 연결된 Timer 채널 : TIM1, TIM8, TIM9, TIM10. TIM11 TIM1 채널을 통한 PWM Pulse 출력 CubeMX TIM1 Pin, Mode Setting내부 클럭을 사용할 것이므로 Clock Source를 Internal Clock으로 세팅Channel 1에 PWM Pulse를 출력할 것이므로 PWM Generation CH1으로 세팅 [그..
지난 포스팅에서 보여드리기만 하고 증명이나 설명은 거의 없었던 그 식에 대해서 설명드리겠습니다. 이게 바로 저번 포스팅에서 얘기했던 식입니다. 각 부분에 대해서 다시 설명해보자면 변환할 값(새로 갱신된 데이터)에 변환 이득값을 곱해 작은 범위를 큰 범위로 늘려주고 마지막으로 모자란 보충값을 더해줍니다. 한번 세부적으로 예를 들어보도록 하겠습니다. sbus data는 지난 번에 얘기한 대로 352 ~ 1696의 범위를 가집니다.(모든 리시버의 데이터가 이 범위를 가지는 것은 아닙니다. 여러분 각자 하드웨어마다 다른 범위를 가질 것입니다.)그럼 범위의 scale은 1696 - 352 = 1344입니다. 한편 우리가 sbus data를 가지고 만들어야 할 pulse 값의 범위는 4619 ~ 8147입니다.(지..
오늘은 조종기 신호를 수신하는 SBUS 리시버의 output data를 이용하여 드론의 PWM을 생성해보는 방법에 대해서 알아보겠습니다. STM32 MCU를 이용하여 설명하겠습니다. 오늘 이 포스팅을 통해 어떤 하드웨어가 출력하는 PWM의 주기와 Duty Cycle을 MCU Timer 세팅을 통해 그대로 구현해 볼 수 있을 것입니다. 최근 진행했던 드론 프로젝트의 구성을 예로 설명하겠습니다. SBUS 리시버가 출력하는 PWM 파형 분석프로젝트에 사용했던 SBUS 리시버에서 출력하는 PWM을 오실로스코프를 통해 확인해보니 다음과 같은 결과가 있었습니다. PWM 주기 : 15msHIGH duration(한 펄스에서 HIGH가 차지하고 있는 시간) : 1.1ms ~ 1.94ms HIGH duration 범위를..
- Total
- Today
- Yesterday
- compile
- UART
- SPI
- teraterm
- 터미널
- 초기화 리스트
- 칼만필터
- PID
- 오실로스코프
- Effective C++
- C++
- 컴파일
- 고도필터
- c
- DCM
- 드론개발
- 멤버 초기화 리스트
- 드론
- 로그
- DMA
- computer_science
- STM32
- pwm
- 컴퓨터구조
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |