RP2350 터치 LCD 3.5인치를 가지고 승마기구 컨트롤러를 구현했습니다.
- 12개 운전 모드: 수동 1개 + 프로그램 11개
- 10구간 속도 그래프: 구간별 속도 1~10 설정
- 6~60Hz 인버터 제어: 속도 단계에 따라 주파수 변환
- RS485 Modbus RTU: START·STOP·속도 명령과 운전 상태 확인
- RP2350 듀얼코어: 모터 통신과 터치 화면 분리
- 480×320 ST7796 LCD: 말 애니메이션과 부분 화면 갱신

RP2350 승마기 컨트롤러 사양
| 항목 | 적용 사양 |
|---|---|
| MCU | RP2350 듀얼코어 |
| 디스플레이 | 3.5인치 ST7796, 480×320 |
| 터치 | FT6336U 정전식 터치 |
| 운전 모드 | M01~M12 |
| 수동 모드 | M01 |
| 프로그램 모드 | M02~M12, 총 11개 |
| 프로그램 구간 | 모드당 10구간 |
| 사용자 속도 | LV01~LV10 |
| 인버터 주파수 | 6~60Hz |
| 통신 | RS485 Modbus RTU, 19200bps, 8N1 |
| 화면 처리 | RGB565 단일 백버퍼 + 변경 영역 전송 |

M01 수동 모드: 속도 1~10 직접 변경
M01은 수동 운전 모드입니다.
홈 화면의 S-, S+ 버튼으로 속도를 1~10단계에서 변경합니다.
| 화면 속도 | 인버터 지령 |
|---|---|
| LV01 | 6Hz |
| LV05 | 30Hz |
| LV10 | 60Hz |
사용자는 화면을 통해 LV01~LV10만 선택하고,
RP2350이 해당 값을 6~60Hz 주파수로 변환해 인버터에 전달합니다.
M02~M12 프로그램 모드: 10구간 자동 속도 변경
M02~M12는 프로그램 운전 모드입니다. 각 모드는 10개의 속도 구간을 가집니다.
총 운전 시간 ÷ 10 = 구간당 운전 시간
예시: 10분 운전
→ 구간당 1분
→ 1분마다 다음 속도 적용

RP2350 터치 LCD와 인버터·모터 연결



RP2350의 3.3V UART를 인버터 A/B 단자에 직접 연결하면 안 됩니다. UART와 RS485 사이에는 전압·신호 방식을 변환하는 RS485 트랜시버가 필요합니다.
START 후 7단계 프로세스
- 터치 화면에서
START입력 확인 - 인버터가 정지 상태인지 확인
- 선택한 속도를 S05 주파수 지령에 기록
- S05 값을 다시 읽어 반영 여부 확인
- S06에 FWD 운전 명령 기록
- 500ms 간격으로 운전 상태와 실제 주파수 확인
- 운전 확인 후 화면을
RUNNING으로 변경
Modbus 요청 1회의 응답 대기시간은 최대 200ms입니다. START 후 10초 안에 운전 상태와 실제 주파수가 확인되지 않으면 STOP을 전송합니다. 이 때, 상태 polling이 3회 연속 실패해도 STOP을 전송하도록 구성했습니다.

RS485 구현부와 터치 LCD 구현부
RS485 구현부는 START, STOP, 모드와 속도 명령만 터치 LCD로 전달합니다.
인버터 응답을 기다리는 최대 200ms 동안에도 터치 LCD구현부는 터치와 화면 처리를 계속합니다.

307,200바이트 백버퍼로 화면 깜빡임 감소
480×320 RGB565 화면 1장의 크기는 다음과 같습니다.
480 × 320 × 2byte = 307,200byte
화면 버퍼 2장을 사용하지 않고 307,200바이트 단일 백버퍼 1장을 사용했습니다. 버튼, 시간, 그래프나 말 프레임이 바뀌면 해당 사각형 영역만 ST7796으로 전송합니다.
말 애니메이션은 PNG 3프레임으로 구성했습니다. 이전 말이 있던 영역의 배경을 복원한 뒤 다음 프레임을 합성하기 때문에 검은 사각형을 남기지 않습니다.
세부 구현은 RP2350 TFT LCD 애니메이션 글과 ST7796 부분 갱신 글에 정리했습니다.
통신 STOP과 비상정지는 다릅니다
S06 STOP은 Modbus 통신 명령입니다. 전원 차단 기능이 아니며 통신선 단선, RP2350 고장이나 인버터 고장까지 차단하지 못합니다.
사람이 탑승하는 승마기구에는 다음 장치가 별도로 필요합니다.
- 하드웨어 비상정지 스위치
- 모터 전원 차단 회로
- 기구부 위치·한계 인터록
- 탑승자 이탈과 과부하 검출
- 실제 장비 조건의 정지거리 시험
정리
이번 승마기구 컨트롤러의 핵심은 다음 6가지입니다.
- RP2350 Touch LCD 3.5
- 수동 1개 + 프로그램 11개 모드
- 모드당 10구간 속도 프로파일
- 속도 1
10을 660Hz로 변환 - RS485 Modbus 인버터 START·STOP·상태 확인
- Core0 통신 / Core1 화면 분리
승마기구·재활기기·승마 시뮬레이터의 모드, 시간, 속도와 인버터 제어가 필요하다면 장비 사양에 맞춰 터치 UI와 RS485 통신을 함께 구성할 수 있습니다.
문의
- Email : [email protected]
- Insta : https://www.instagram.com/going.sen/
- Website : https://intosen.com/kr/consult/
댓글
닉네임만 입력하면 바로 댓글을 남길 수 있어요. Google/GitHub 로그인도 가능합니다.