제조공정
| × | 1 | ||||
| × | 1 | ||||
| × | 8 | ||||
| × | 8 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
|
| ||||
|
Hackster의 이전 게시물에서 동일한 배치의 다른 서보가 어떻게 회전하는지 비교하기 위해 리그를 만든 방법에 대해 썼고 동일한 PWM 신호를 다른 서보에 전송하면 상당한 차이가 발생한다는 것을 보여주었습니다. 아래 그림은 서보를 보여줍니다. 가장 먼 시계 반대 방향 위치에서 시작하여 동일한 PWM 신호를 보냈습니다. 모두 약간 다른 동작을 합니다.
Arduino에 기존 서보 라이브러리를 사용하지 않는 이유는 무엇입니까?
나는 Adafruit PWM Servo Driver를 사용하여 많은 서보를 구동하고 이를 통해 각 서보에 다른 PWM 신호를 보낼 수 있습니다. 내 Arduino 설치에 내장된 Servo 라이브러리를 사용할 수 있지만 이렇게 하지 않는 데에는 몇 가지 이유가 있습니다.
<울>물론 내가 사용하고 있는 9g 서보는 저렴하고 정확성을 위해 설계되지 않았습니다. 그러나 나는 그것들로부터 더 많은 가치를 짜낼 수 있다고 생각합니다. 보행 로봇에 사용하고 싶고 행동이 좀 더 정확하고 예측 가능해야 합니다.
취미용 서보를 더 정확하게 제어하려면 어떻게 해야 하나요?
내 서보가 모두 약간 다르게 동작한다는 것을 확인하면서 서보를 보정할 수 있는 장치를 만들고 싶었습니다. 서보를 0도 위치로 이동하려면 어떤 PWM 값이 필요합니까? 아니면 90도 중심점입니까? 크런치 및 기어 연삭이 많은 극단적인 위치에 서보를 스냅하는 PWM 값을 보내는 것을 어떻게 피합니까?
몇 가지 간단한 개념을 결합하기로 결정했습니다.
<울>이 버전의 경우 Arduino IDE의 직렬 모니터를 사용하여 수동으로 기록할 수 있는 PWM 신호의 값을 알려줘서 기뻤습니다.
저는 Autodesk 123D를 사용하여 전위차계, 각도기, 단일 서보, Arduino 및 Adafruit PWM 서보 드라이버를 전원 공급 장치와 함께 고정할 수 있는 간단한 장비를 설계했습니다.
최종 프로젝트에서 사용할 가능성이 높은 보정을 위해 Adafruit PWM 서보 드라이버를 계속 사용하고 싶습니다. Arduino의 핀에서 직접 서보를 제어하려면 장치에서 이를 복제하고 Arduino의 PWM에 대해 서보를 보정합니다.
기기 제작
각각의 부품을 출력해서 M3볼트와 와셔를 이용해서 붙였습니다.
내 장치 디자인의 장착 구멍은 구성 요소에 맞게 조정됩니다. 구성 요소마다 구멍 직경과 위치가 다를 수 있습니다.
전자 제품의 경우 전위차계의 중앙 핀을 Arduino의 A0 핀에 연결하고 다른 핀을 Arduino의 0v 및 5v에 연결했습니다. PWM 서보 모터 드라이버를 Arduino에 연결한 다음 DC-DC 벅 컨버터를 연결했습니다(9v 전원 공급 장치 입력을 5v 출력으로 변환하도록 조정했습니다). 9g 서보를 서보 모터 드라이버 쉴드의 첫 번째 슬롯에 연결한 다음 스케치를 Arduino에 업로드했습니다.
최종 결과는 아래 사진에 나와 있습니다. 장치의 왼쪽 상단에 있는 손잡이를 돌려서 서보의 위치를 제어할 수 있고 Arduino IDE의 직렬 모니터를 사용하여 주어진 각도에서 서보 모터로 전송되는 PWM 신호를 읽을 수 있습니다.피>
그러면 기기는 무엇을 알려줍니까?
내 서보의 경우 시계 방향으로 가장 멀리 회전하고 와이퍼를 서보에 배치하여 교정 장치 각도기의 180도 표시 바로 너머에 위치하도록 했습니다.
장치에 전원을 연결한 다음 서보 바늘이 각도기의 0도 표시와 정렬될 때까지 전위차계 손잡이를 돌리고 내 Arduino IDE의 직렬 출력에 작성된 PWM 값을 기록했습니다. 그런 다음 서보 바늘이 10도를 가리킬 때까지 전위차계를 회전하고 PWM 값을 다시 기록했습니다. 180도에 도달할 때까지 10도마다 이 과정을 계속했고 결과를 아래 표에 공유했습니다.
결과 그래프를 만들었습니다(아래 참조). 예상대로 PWM과 서보 각도 사이에는 강한 선형 관계가 있음이 분명합니다.
이제 이 특정 서보의 특성인 PWM 및 각도 값을 얻었습니다. 다른 서보도 유사한 특성을 가질 수 있지만 동일하지는 않습니다.
보다 정확한 서보 성능을 위한 몇 가지 옵션이 있습니다.
<울>어느 쪽이든, 나는 이전보다 더 정확하고 자신있게 이 서보를 제어할 수 있습니다. 각 서보를 정밀하게 보정하려면 꽤 많은 노력이 필요하지만 제 프로젝트에서는 추가 정확도를 위해 그만한 가치가 있습니다.
물론 장치에서 서보를 제거할 때 서보 와이퍼를 부착한 상태로 유지합니다. 측정은 보정되는 동안 와이퍼가 부착된 방식과 관련이 있기 때문입니다.
다음 버전의 개선 사항
몇 개의 서보를 보정한 후 다음 버전에 구축할 몇 가지 개선 사항을 생각했습니다.
<울>
마무리
그게 다야 - 내 취미 서보는 저렴하고 정확성을 위해 설계되지 않았습니다 - 많은 응용 분야에서 완벽하게 괜찮습니다. 그러나 저는 제 것에서 좀 더 정확하고 반복 가능한 성능을 얻고 싶습니다. 이 게시물의 장비는 이를 달성하는 데 도움이 됩니다.
섹션> <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">#include섹션>#define analogIn A0Adafruit_PWMServoDriver pwm =Adafruit_PWMServoDriver();int inputValue =0;int tmpPwmValue =0;void setup() { Serial.begin(9600); pwm.begin(); pwm.setPWMfreq(60);} 무효 루프() { inputValue =analogRead(analogIn); // inputValue는 0과 1024 사이입니다. // 관찰에 따르면, 서보 최소 및 최대 PWM 값은 일반적으로 100과 612 사이입니다. // 아래 공식을 사용하면 아날로그 입력을 PWM으로 간단히 변환할 수 있습니다. int pwmValue =(int)(100 + ( 입력값 / 2)); pwm.setPWM(0, 0, pwm값); // 중복 데이터를 불필요하게 표시하고 있지 않은지 확인합니다. if (pwmValue !=tmpPwmValue) { Serial.print("Potentiometer Input ="); Serial.print(입력값); Serial.print(", PWM ="); Serial.println(pwm값); } tmpPwm값 =pwm값; 지연(15);}
제조공정
Polymaker는 최근 새로운 필라멘트인 PolyTerra의 출시를 발표했습니다. Polymaker는 FDM 3D 인쇄 재료의 유명한 제조업체로, 필라멘트의 품질과 기존 및 기술 모두에서 다양한 재료로 잘 알려져 있습니다. 이 경우 Polymaker는 보다 환경 친화적인 필라멘트 개발을 선택했습니다. , 지속 가능한 고품질 제품을 만들기 위해 모든 세부 사항을 관리합니다. 이미지 1:Polyterra 스풀. 출처:폴리메이커 PolyTerra PLA는 PLA와 유기 미네랄을 결합하여 처음부터 개발한 바이오 플라스틱입니다. 따
PLA (폴리락트산의 줄임말)는 데스크톱 FDM 3D 프린팅과 관련하여 의심할 여지가 없는 필수품입니다. . 식물성 전분으로 만든 바이오 플라스틱 및 열가소성 플라스틱입니다. , 예를 들어 옥수수, 감자, 타피오카, 사탕수수 또는 사탕무 펄프. 그 식물에서 얻은 설탕은 발효되고 그 결과 젖산은 PLA로 만들어집니다. PLA의 광범위한 사용은 수많은 특성에 기인할 수 있습니다. , 저비용, 우수한 저장 수명, 낮은 인쇄 온도, 무독성, 치수 정확도, 강도 및 생분해성. 이러한 이유로 PLA 필라멘트는 테스트 및 보정 항목, 치수가