Estoy utilizando el BGMC2 (http://www.rovertec.com/products-bgmc2.html) para controlar un motor gimbal (http: / /www.iflight-rc.com/ipower-motor-gbm5208h-200t-brushless-gimbal-motor-with-as5048a-encoder.html) . Estoy ejecutando el siguiente código en mi Raspberry pi para enviar al controlador una señal PWM:
import os
import time
os.system("sudo pigpiod") #launch GPIO library
time.sleep(1)
import pigpio
ESC = 4
# white wire to 4 (7)
# black wire to 23 (6)
pi = pigpio.pi();
pi.set_servo_pulsewidth(ESC, 0)
max_value = 2500
min_value = 500
def control():
print "Starting motor"
time.sleep(1)
speed = 1900
while True:
pi.set_servo_pulsewidth(ESC, speed)
def arm():
print "Connect battery and press Enter"
inp = raw_input()
if inp == '':
pi.set_servo_pulsewidth(ESC, 0)
time.sleep(1)
pi.set_servo_pulsewidth(ESC, max_value)
time.sleep(1)
pi.set_servo_pulsewidth(ESC, min_value)
time.sleep(1)
control()
print "Starting..."
arm()
Aquí está el esquema que construimos:
Noté que el controlador destella regularmente la luz ROJA etiquetada como D2 y mi motor de cardán se mueve de un lado a otro mientras esto sucede. Me preguntaba cómo podría solucionar este problema para evitar que el motor se sacudiera de un lado a otro.