BeeSG90

简介


SG90舵机是一种微型伺服电机,能够接收并响应控制信号,实现角度或位置的精确控制。 它通常由直流电机、电机控制器、电位器和减速器组成,适用于需要角度不断变化并可以保持的控制系统。 SG90舵机具有扭矩、速度、转动角度等特性,工作电压一般在4.8V至6V之间。
BeeSG90是DBD团队专门为SG90舵机设计的高性能伺服驱动器, 用来替代SG90内置的控制系统, 通过直接连接电位器和电机到控制板, 可以实时读取舵机的角度, 从此SG90即是执行器,也是传感器. 通过对电流做限制, 避免瞬间大电流对SG90电机贵金属电刷的损耗, 从而延长电机的寿命. 通过PID控制算法,提升SG90的动态响应性能, 并且能够解决稳态抖动的问题. 通过运动曲线的规划, 提升电机运行的平滑度, 减少齿轮的冲击, 延长舵机寿命.
每个BeeSG90控制板可以带动四个舵机,并且可以通过RS485总线进行级联,进行矩阵控制.
BeeSG90目前正处于开发中,本页面会不断更新,欢迎关注.
关于控制模式,计划支持平滑角度控制,开换速度控制和拖动模式. 其中拖动模式下,电机处于关闭状态,但可以实时读取电位器的角度信息.


资源特性


重量 ?g
电机 SG90舵机(引出电机和电位器的引线)
分辨率 0.1度
工作电压 DC5V
PWM频率 20KHz
通道 4
RS485总线 隔离,最高10Mbps,默认500Kbps
运行温度 -10 to +60摄氏度

产品细节



机械尺寸



接口布局

接口采用一个XH2,54-2P接口用于供电,2个XH2.54-4P接口用于RS485通讯,还有4组SH1.0-5P的端子接口,用于连接SG90舵机.详细见下图.

接线图



运行模式


位置模式 位置模式下,当目标位置与当前位置不同时,则开始运动.可根据实际需求调整加速时间和速度等参数.针对SG90,运动范围为0-1800对应0-180度. 可通过零点偏移参数修正0度的个体偏差.
同步位置模式 同步位置模式下实现多个电机的同步角度控制,可由USB485Pro或者V3s或者H6Pro主控进行多轴运动的轨迹规划.
开环速度模式 由于SG90的位置反馈传感器的检测角度只有200度左右,所以在速度模式下只能实现开环的PWM调速.速度指令范围为正负1000.
拖动反馈模式 当关闭电机控制时,可以拖动SG90进行旋转.同时可以通过getActualPosition指令获取实时的位置反馈.

示例程序


扫描在线设备

                
import time
from libsg90 import SG90
m = SG90()
m.scanDevices()
time.sleep(1)
m.stop()

                
            

使能与失能

使能后,电机开始受控.
                
import time
from libsg90 import SG90
mid = 0
m = SG90()
m.setPowerOn(mid)
time.sleep(1)
m.stop()
                
            
失能后,电机不受控制.
                
import time
from libsg90 import SG90
mid = 0
m = SG90()
m.setPowerOff(mid)
time.sleep(1)
m.stop()
                
            

获取当前位置

当失能后,可以手动拖动电机末端,并读取实时位置.当然,在使能状态下,也可以读取.
                
import time
from libsg90 import SG90
mid = 2
m = SG90()
m.setPowerOff(mid)
for i in range(0, 3):
    time.sleep(0.5)
    print(m.getActualPosition(mid))
m.stop()
                
            

开环速度模式

开环速度模式,或者称作PWM模式.是通过调整加在直流电机两端的电压实现调速.
                
import time
from libsg90 import SG90
mid = 0
m = SG90()
m.setPowerOn(mid)
m.setPWMMode(mid)
m.setTargetPWM(mid, 500)
time.sleep(0.5)
m.stop()