STM32 쿨링팬 제어와 RPM 읽기 테스트

작년에 ARM 기반 STM32 MCU를 사용하는 프로젝트에서 일부 기능 중 리모트로

  • 쿨링팬을 ON/OFF 할 수 있어야하고,
  • 쿨링(바람) 세기조절이 가능해야하며,
  • 현재 팬 상태(RPM)를 받아올 수 있어야 하는것을
  • 무선(30 ~ 50m 거리)으로 Windows 상에서 모두 처리할 수 있으면 했습니다.

목표로 하는것을 다이어그램으로 그려보면 다음과 같습니다.

Windows 프로그램에서 RS232로 특정 값을 STM32로 보내면 그에 상응하는 값으로 제어 시그날을 변경하도록 프로그램 했습니다.

회로도

MCU 입출력과 쿨링팬 제어쪽 시그날이 포토커플러를 통해 전기적으로 분리되어 있고 필요에 따라 TVS를 부착하면 써지 노이즈에 강한 보드를 설계할 수 있습니다.

테스트

프로젝트 진행당시 개발보드 테스트 동영상들입니다.

팬 속도 제어

Windows 상에서 C# WPF로 작성된 프로그램에서 RS232 시리얼 포트 STM32에 데이터를 전송하여 쿨링팬 속도를 제어하는 모습입니다. STM32 내부 타이머 인터럽트를 이용하여 PWM을 만들었습니다.

팬으로부터 RPM 피드백 받기

RS232 시리얼 모니터에서 캡처된 주파수 값과 회전 RPM을 보여주고 있습니다. STM32에서 타이머 입력캡처를 이용하여 팬에서 출력되는 센서값을 읽어들였습니다.

참고되시기 바랍니다.

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.