스텝모터(StepMotor)를 이용한 소프트웨어 개발에 참고할만한 내용
스텝모터를 이용한 소프트웨어를 개발하다보면 복잡한 문제에 직면할 수도 있습니다. 스텝모터 자체의 특성만으로도 Trade-off(등가교환) 성향이 있는데 MCU와 결합되면서 더 복잡해지기 때문입니다. 스텝모터를 이용한 소프트웨어 개발에 참고할만한 내용은 다음과 같습니다. - 스텝모터를 위한 타이머(또는 Task)의 주기를 미리 알고 있을 - MCU는 타이머 제약으로 인해, 모든 PPS를 구현할 수 없음 - 모든 PPS를 구현할 수 없으므로, 모든 Torque를 구현할 수 없음 - PPS(속도)를 증가하면 Torqe(힘)이 약해지는 반비례 관계임 - PPS와 무관하게 구동 및 정지하는 스텝에서 시간이 필요한 스텝모터가 있음 - 각도를 알 수 있는 센서가 없다면, 전원이 인가되었을 때 초기 각도로 이동할 것 ..
2021.12.29
no image
스텝모터(StepMotor) PPS와 Torque 관계
스텝모터를 이용하면 PPS와 Torque에 개념을 알게 됩니다. 데이터시트에 특정 PPS에 따른 구동되는 Torque가 나와있습니다. 일반적으로 이 두개의 개념은 반비례 개념입니다. PPS(Pulse per Second)를 잠시 간략히 설명하자면, 초당 인가하는 Pulse라고 생각하면 됩니다. 스텝모터에서는 초당 변화되는 스텝이 좀 더 맞는 표현일지도 모르겠습니다. 아래의 그림은 Bipolar 및 Unipolar의 Torque와 PPS 간의 관계를 나타낸 것입니다. Bipolar와 Unipolar는 모터 설계 방식의 차이가 있는데 둘 모두 Torque와 PPS가 반바례임을 확인할 수 있습니다.
2021.12.29
스텝모터(StepMotor) 감쇠비로 제어 각도 계산하기
스텝모터(StepMotor)의 데이터시트에는 일반적으로 감쇠비가 설명되어 있습니다. 자신들의 스텝모터가 1스텝에 몇 도 움직이지를 나타내는 겁니다. 그런데 활용하고자 하는 여자 방식에 따라, 계산해야 하는 방식이 조금 달라질 수 있습니다. 이제 그 방식에 대해 알아보겠습니다. 데이터시트 여자방식과 제어하는 여자방식이 같은 경우 데이터시트에 적혀있는 레퍼런스 여자방식과 제어하고자 하는 여자방식이 같은 경우에는 계산법이 상대적으로 간단합니다. 예를 들어 아래와 같이 스펙이 되어있다고 해보겠습니다. - 감쇠비 : ‘5.625°/64’ 1스텝은 0.087891°(= 5.625°/64, 감쇠비) 입니다. 360°는 4096스텝(= 360°/0.087891°(감쇠비)) 입니다. 이와 같은 계산법으로 원하는 정밀한 ..
2021.12.29
스텝모터(StepMotor) 제어 방식 비교 : 1상, 1-2상, 2상 여자 방식
제가 사용했던 스텝모터는 일반적으로 1상, 1-2상, 2상 여자방식으로 제어가 가능한 모터였습니다. 모터 전공이 아니라서, 다른 제어 방식이 가능한 스텝모터도 있는지는 잘 모르겠네요. 일반적인 스텝모터는 A, B, A', B' 상이 존재합니다. 소프트웨어 개발자 입장에서는 제어할 수 있는 포트가 4개뿐인 상황이죠. 포트제어와 타이머를 이용해서 Torque, PPS, 전력효율 등을 제어할 수 있습니다. 그리고 이 방식들을 여자방식이라고 알려져 있습니다. 크게 1상 여자방식, 1-2상 여자방식, 2상 여자방식과 이 3가지 방식을 많이 활용하는데 스텝모터의 데이터시트에 보면 레퍼런스 제어방식이 나와 있습니다. 재미있는 점은 1-2상 여자방식으로 제안되어 있어도, 1상 또는 2상 여자방식으로 활용해도 동작에는 ..
2021.12.29
동기/비동기(Synchronous/Asynchronous) 개념 정리
소프트웨어 관련 여러 분야에서 동기/비동기(Synchronous/Asynchronous) 개념이 자주 등장합니다. 그런데 업계마다 동기/비동기 처리(또는 호출)에 대해 미묘하게 다르게 정의하고 있네요. 좋다 나쁘다 관점도 조금씩 다르던데, 제 생각에는 조직과 개발자들의 성향에 맞게 활용하시면 될 것 같습니다. 현재, 저에게 중요한 것은 개념이므로 기억에 남을 수 있도록 정리한 내용은 이렇습니다. 동기(Synchronous) 처리 및 호출 - C언어를 처음 접했던 환경과 유사한 구조 - 작성한 코드의 순서대로 처리되는 방식 - 단순 반복 비동기(Asynchronous) 처리 및 호출 - OS, 콜백함수, Task 등이 포함된 환경과 유사한 구조 - 작성한 코드의 순서대로 처리되지 않고, 처리하는 방식 - ..
2021.12.29
no image
스텝모터(StepMotor) 바이폴라(Bipolar)와 유니폴라(Unipolar)
스텝모터(Step Motor) 전자부품을 활용하게 되면, 바이폴라(Bipolar)와 유니폴라(Unipolar) 라는 단어를 볼 수 있습니다. 스텝모터를 통해 알게된 개념인데, 검색하다보니 전자/전기/전력 공학에서 많이 다뤄지는 내용이었네요. 스텝모터 기준으로 바이폴라와 유니폴라 개념을 정리하자면 아래와 같습니다. - 바이폴라(Bipolar) : 모터의 코일에 인가되는 전류의 방향이 스텝에 따라 바뀌는 방식 - 유니폴라(Unipolar) : 모터의 코일에 인가되는 전류의 방향이 스텝에 따라 바뀌지 않고, 일정한 방향으로 흐르는 방식 여기에서 스텝은 모터의 회전축을 옮기는 절차라고 생각하면 됩니다. 이번에는 유니폴라와 바이폴라의 장단점에 대해 알아보겠습니다. 바이폴라(Bipolar), 유니폴라(Unipola..
2021.12.29
XCP on Ethernet(TCP/IP) 연결 과정 요약
XCP on Ethernet(TCP/IP)에서의 연결 과정은 크게 두 과정을 진행해야 합니다. 두 과정은 다음과 같습니다. - TCP 연결 - XCP 연결 짧게 구분하면 간단해 보이지만, 내부 동작은 나름대로의 규칙을 가지고 있습니다. 조금 더 상세한 연결 과정은 아래와 같습니다. - TCP 연결 (TCP - Client / XCP - Master) ---------------> (TCP - Server / XCP - Slave) : (TCP - SYN) (TCP - Client / XCP - Master) (TCP - Server / XCP - Slave) : (TCP - ACK) - XCP 연결 (TCP - Client / XCP - Master) ---------------> (TCP - Serve..
2021.12.28
XCP on Ethernet(TCP/IP) 데이터 통신 시스템 구조 이해
요새, XCP on Ethernet에 대해 분석해야 할 일이 생겨 관련 내용들을 정리하고 있습니다. 분석하다보니 기존에 설계되어 있는 XCP on Ethernet 데이터 통신 시스템 구조에 의문점이 생겼습니다. TCP는 Client로 설정하고 XCP는 Master로 설정되어 있었습니다. 반대편의 경우에 TCP는 Server로 설정하고 XCP는 Slave로 설정되어 있었죠. 즉, 한 쌍을 요약하자면 아래와 같은 구조입니다. (TCP - Client / XCP - Master) (TCP - Server / XCP - Slave) 저만 그렇게 생각할지 모르겠지만, Client는 Slave와 매칭되어야 하고 Server는 Master라 매칭되어야 하는게 맞지 않나 생각했습니다. 별 것 아닌 내용으로 한참을 고민..
2021.12.28
TCP(Transmission Control Protocol) 연결 과정 요약
TCP(Transmission Control Protocol) 프로토콜에서 연결 과정은 3 Way-Handshake 과정을 이용합니다. 사람들이 만날 때, 악수를 통해 인사를 하는 것과 같이 연결을 위해 서로 확인하는 절차여서 Handshake 라고 이름이 붙혀진 것 같네요. TCP 연결 과정을 간단하게 표현하자면 아래와 같습니다. Client ---------------> Server : SYN Client Server : ACK 클라이언트에서 서버로 연결 요청을 하기 위해 SYN 메시지를 송신 합니다. 서버는 클라이언트의 연결 요청을 수락한다는 의미로 SYN, ACK라는 응답 메시지를 송신합니다. 마지막으로 클라이언트는 응답에 대한 응답 메시지인 ACK를 송신합니다. 굳이 이런 복잡한 연결절차를 왜 ..
2021.12.28