python TG9e 서버모터 구동
부품
TG9e 서버모터
여러 가지 연결해둔 상태라 참고만.
해당 TF9e 서버모터는 3개 핀을 이용
전선이 위로/모터날개가 위에서 보이는 방향을 기준으로
GND,VCC,GPIO Pin 순으로 연결
별도 노이즈에 대해 주워들은바로 4.7k옴 을 +,Gpio 연결선에 추가
또는 Vcc,Gnd 에 캐패시터 를 연결 하여 노이즈를 제거한다함
개요
파이썬을 통해 코딩
TG9e 서버모터 2개를 연결후 전원을 인가.
주의할점은.. 서버모터를 핸들링 하지않는 상태에서 GPIO.setup , 전원인가시
별도의 노이즈 필터링 처리를 하지않은경우.
전력소모 또는 구동되지 않는 상태에서 모터에 부가되는 노이즈로 지지직거림
때문에 해당 코딩은 서버모터를 제어시 GPIO에 대한 setup 후 모터를 구동
소스
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
servoHz = 50
servo1 = 17
servo2 = 27
#서보 번호
servoChk = input("Please Servo Number 1 or 2 ")
if servoChk == 1:
servoNum = servo1
elif servoChk == 2:
servoNum = servo2
#서보회전값
servoVal = input("Please Rotate Number - Now %d Hz / Now 5, Min 1, Max 13 " % (servoHz))
if servoVal >= 0:
GPIO.setup(servoNum, GPIO.OUT)
pServo = GPIO.PWM(servoNum,servoHz)
pServo.start(5)
#pServo.ChangeFrequency(servoHz)
pServo.ChangeDutyCycle(servoVal)
time.sleep(0.1)
# for dc in range(0, 101, 5):
# print dc
# pServo.ChangeDutyCycle(dc)
# time.sleep(0.1)
pServo.stop()
else:
GPIO.cleanup()
pServo.ChangeFrequency(50)
pServo.stop()
GPIO.cleanup()![](https://steemitimages.com/DQmNQ1vxQn2LYksP3FAb5KPMHaTTymMVsHGE8MwDtMXhYn1/image.png)