ESP32-S3 프로그램으로 가상 모터를 움직입니다
ESP32-S3 단일 모터 예제가 이제 컴퓨터에서 피드백을 읽고 출력을 조정합니다. 일시 정지와 단계별 실행도 가능합니다. 현재 개발 상황을 정리했습니다.
모터를 제어할 때 코드만 읽어서는 발견하기 어려운 문제가 있습니다. 피드백 방향이 반대로 되어 있지는 않은지, 출력이 상한에 머물러 있지는 않은지는 보드와 모터를 연결해야 보이는 경우가 많습니다. 이런 문제 중 일부를 먼저 컴퓨터에서 살펴볼 수 있도록 ESP32-S3 시뮬레이션을 개발하고 있습니다.
최근 Botdraft에서 단일 모터 예제를 실행할 수 있게 되었습니다. ESP32-S3용으로 컴파일한 제어 프로그램을 이제 프로젝트 화면에서 실행할 수 있습니다. 프로그램의 출력이 모터 모델을 구동하고, 모델의 움직임이 모의 엔코더를 거쳐 프로그램으로 돌아오면, 프로그램이 다음 제어 동작을 결정합니다. Botdraft는 아직 임시 이름입니다.

현재 실행할 수 있는 단일 모터 예제입니다. 이 그림은 개념도이며 제품 스크린샷은 아닙니다.
현재 가능한 일
이 예제는 시작, 일시 정지, 단계별 실행, 실행 재개가 가능합니다. 일시 정지하면 모델의 시뮬레이션 시간도 같은 지점에 유지됩니다. 한 단계 진행하면 프로그램이 피드백을 읽고 출력을 조정하며, 화면에 표시되는 모터의 자세도 계산 결과에 따라 갱신됩니다. 특정 단계에서 멈춰 무슨 일이 일어났는지 살펴본 뒤 계속 실행할 수 있습니다.
우선 제어 프로그램의 디버깅을 돕는 데 활용하려고 합니다. 출력을 보낸 뒤 모델이 예상대로 변하는지, 프로그램이 받은 피드백으로 무엇을 하는지 살펴보려는 것입니다. 개발자가 하드웨어를 연결하기 전에 이런 점을 확인할 수 있도록 하고자 합니다.
프로그램이 읽는 피드백은 모델의 계산에서 나옵니다.
앞으로 추가할 일
지금까지 실행할 수 있게 된 것은 이 단일 모터 예제입니다. 아직 임의의 ESP32-S3 펌웨어 이미지를 가져와 실행할 수는 없습니다. 칩 내부 주변장치도 더 추가해야 하며, 개발 보드 전체의 회로를 완전히 시뮬레이션하지는 않습니다.
모터 모델에는 아직 테스트용 매개변수를 사용하고 있습니다. 실제 하드웨어와 비교하지 않았으므로, 이 결과로 특정 실제 모터가 어떻게 동작할지 판단할 수는 없습니다. 시뮬레이션 시간과 컴퓨터가 실제 실행에 쓰는 시간도 다릅니다. 실행 속도 역시 계속 개선해야 합니다.
다음으로는 이 프로젝트 화면에서 부하 변화와 피드백 중단을 다룰 예정입니다. 부하를 가했을 때 프로그램이 어떻게 반응하는지, 엔코더가 더 이상 갱신되지 않을 때 어떻게 처리하는지 살펴보려 합니다. 이 시나리오들은 현재 인터페이스에서 아직 완료되지 않았습니다. 주변장치 모델과 모터 매개변수도 추가하고, 찾을 수 있는 제조사의 공개 자료와 매개변수를 대조할 예정입니다.
전체 방향은 프로젝트 소개에 정리되어 있습니다. 이전의 소프트웨어 및 내보내기 개발 상황은 개발 범위 설명(영어)에서 볼 수 있습니다.