python TG9e 서버모터 구동

in tg9e •  7 years ago 

부품

 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)
Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!