USART 통신 문의
UART 통신으로 RpmRef 및 motor_speed_rpm 값을 보내서 화면에 띄우는 것으로 이해를 했는데요.
1. Encoder 펄스란 홀센서로부터 들어오는 신호를 받아서 Interrupt 함수를 콜하는 순간을 말하는 건가요?
2.결국 두번의 인터럽트 함수를 콜하는 시간동안 Timer2에 의한 클럭 펄스가 몇번 발생하는지 카운팅하여 motor_speed_rpm 을 구하는 것인가요?
3. 또한, SpeedCal() 함수에 나와있는 calculated_rpm 값이 motor_speed_rpm 값과 동일한 건가요? (교육마다 변수명이 다른거같아서 문의드립니다.)
답변 2
0
안녕하세요, 제어쟁이입니다.
코드 기준으로 설명드리면, 현재 코드에서는 Hall Sensor 신호의 Edge를 이용해서 속도를 계산하고 있습니다.
네, 거의 맞게 이해하셨습니다.
다만 정확히 말하면 “Interrupt 함수가 호출되는 순간” 자체가 펄스라기보다는, 홀센서 신호가 변하는 순간, 즉 Edge가 발생한 순간을 MCU가 EXTI 인터럽트로 감지한다고 보시면 됩니다.
그 인터럽트 안에서Update_Hall_Sequence()로 현재 홀센서 상태를 읽고,SpeedCal()을 호출해서 속도를 계산합니다.맞습니다.
이전 홀센서 인터럽트 발생 시점과 다음 홀센서 인터럽트 발생 시점 사이에 TIM2 카운터가 얼마나 증가했는지를 보고 시간 간격을 계산합니다.
즉delta_time은 두 Hall Edge 사이의 시간 간격이고, 이 값을 이용해서 RPM을 계산합니다.calculated_rpm과motor_speed_rpm은 완전히 동일한 값은 아닙니다.calculated_rpm은SpeedCal()에서 바로 계산된 순간 RPM 값이고,motor_speed_rpm은 그 값을 LPF, 즉 저역통과필터를 거쳐 부드럽게 만든 필터링된 RPM 값입니다.
그래서 화면에 출력되는 RpmFdb는 최종적으로 motor_speed_rpm 값이라고 보시면 됩니다.
정리하면,
Hall Sensor Edge → EXTI Interrupt → SpeedCal() → calculated_rpm 계산 → LPF 적용 → motor_speed_rpm 출력
이 흐름입니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. dayday님.
Teleplot 프로그램을 사용해 RPM(회전수)을 모니터링하는 방법에 대해 궁금하신 것 같습니다. 일반적으로 Teleplot 프로그램은 임베디드 시스템에서의 센서 데이터나 피드백 값을 실시간으로 모니터링할 때 사용됩니다. STM32와 같은 마이크로컨트롤러 보드에서 UART(또는 USART) 통신을 통해 데이터를 전송하여 이러한 값을 컴퓨터에서 확인할 수 있게 합니다.
USART 통신을 통한 RPM 모니터링
UART 통신 설정:
- STM32와 같은 보드에서 UART 모듈을 설정하여 데이터 전송 준비. 보통 BAUD RATE(전송 속도) 설정이 필요합니다.
- STM32와 같은 보드에서 UART 모듈을 설정하여 데이터 전송 준비. 보통 BAUD RATE(전송 속도) 설정이 필요합니다.
데이터 전송:
- RpmRef(원하는 RPM)와 RpmFdb(피드백 RPM) 값을 실시간으로 STM32에서 측정하여 UART를 통해 전송.
- RpmRef(원하는 RPM)와 RpmFdb(피드백 RPM) 값을 실시간으로 STM32에서 측정하여 UART를 통해 전송.
Teleplot 연동:
- Teleplot 프로그램에서 해당 UART 포트를 연결하여 전송된 데이터를 실시간으로 시각화하고 모니터링.
- Teleplot 프로그램에서 해당 UART 포트를 연결하여 전송된 데이터를 실시간으로 시각화하고 모니터링.
이 과정을 통해 Teleplot 프로그램은 RPM 관련 데이터를 실시간으로 화면에 표시할 수 있게 됩니다. 이번 강의에서 또는 Q&A 게시판에서 다른 수강생들이 유사한 질문을 하셨던 경우를 찾아보시면, 전동킥보드로 배우는 임베디드 실전 프로젝트의 자료에서 더 자세한 정보를 찾으실 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
주파수 응답 특성 그래프 튜닝 방식
0
21
1
전동 킥보드에 사용되는 f767 고출력 모델 문의
0
32
3
모터 선정 질문
0
43
2
블루투스 핀 배열 질문
0
44
1
PCB 배선 연결 실수로 인한 증상 검토 요청 건.
0
55
2
ABC 상전류 측정
0
44
1
전동킥보드 펌웨어 코드 분석
0
55
3
전류센싱 pwm adc 동기화 관련 질문
0
42
1
BLDC / PMSM 문의
0
55
2
쓰로틀 측정 값
0
52
1
전류 측정
0
47
1
모터 와이어링
0
46
2
키트(고출력)과 BLDC 모터가 도착했습니다.
0
62
2
소형 BLDC 모터 관련
0
54
2
PCB 구매 관련
0
50
2
PCB 레이아웃 질문
0
43
2
수업관련
0
52
2
벅 컨버터 스위치 off 상태일 때 흐름
0
54
2
PCB 발주
0
57
1
32. MOSFET의 특성과 동작 영역 강의 내용 중 P=I^2R질문
0
38
2
LDO 선정 이유
0
45
1
벅컨버터 사용 및 그라운드 분리
0
78
2
EEPROM I2C 풀업저항
0
61
2
측정관련 질문
0
83
2





