简介
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()