Skip to content

Echo-here/moterControllerF103

Repository files navigation

  • 명령어 포멧 :

    • [left_moter_dir] [left_motor_speed] [right_motor_dir] [right_motor_speed]
  • direction : 진행 방향 선택

    • f → Forward (전진)
    • b → Backward (후진)
  • duty : 속도 (0~9, 10% 단위)

    • 0 → 0% (정지)
    • 1 → 10%
    • 9 → 90%
  • stop : 정지

    • s → 양쪽 모터 duty 0
    • e → 모터드라이브 브레이크

💡 명령어 예시

명령어 의미
f 1 f 1 왼쪽 모터 전진, 속도 10% 오른쪽 모터 전진, 속도 10%
b 4 f 4 오른쪽 모터 후진, 속도 40% 왼쪽 모터 전진, 속도 40%
f 9 f 9 왼쪽 모터 전진, 속도 90% 오른쪽 모터 전진, 속도 90%
s 정지

⚙️ 동작 원리

  1. UART 수신

    • STM32는 UART 인터럽트를 통해 명령어를 수신합니다.
    • 수신된 문자열은 버퍼에 저장되고, \n 또는 \r로 명령어 종료를 구분합니다.
  2. PWM 및 방향 제어

    • 속도 값은 PWM_DUTY_SCALE (100)을 곱해 실제 PWM duty 값으로 변환됩니다.
      • 예: 44 * 100 = 400 (40%)
    • 방향은 GPIO 핀(DIR_L, DIR_R)을 통해 전진/후진을 설정합니다.
    • PWM은 TIM2의 CH1(왼쪽), CH2(오른쪽) 채널에서 출력됩니다.

🛠️ 하드웨어 연결

  • TIM2_CH1 (PWM) (PA0) → Left Motor (왼쪽 모터)
  • TIM2_CH2 (PWM) (PA1) → Right Motor (오른쪽 모터)
  • PA8 → Left Motor Direction (왼쪽 모터 방향)
  • PB10 → Right Motor Direction (오른쪽 모터 방향)
  • PA6 → infrared sensor(적외선 센서)

⚠️ 핀 번호는 보드 및 회로 설계에 따라 변경 가능합니다.


🚀 확장 아이디어

  • 속도 0~100% 지원 → 현재는 10% 단위 (0~9), 이를 0~100까지 확장 가능
  • 양쪽 모터 동시 제어l r f 5 같은 그룹 명령 추가
  • 엔코더 피드백 기반 제어 → 목표 거리/속도까지 제어하는 클로즈드 루프

About

stm32f103rbt6 PWM 모터 드라이버 제어-2

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages