电机
OpenMV有IO口,可以驱动各种电机。
步进电机
什么是步进电机
步进电机是将电脉冲信号转变为角位移或线位移的开环控制电机,是现代数字程序控制系统中的主要执行元件,应用极为广泛。
比如3D打印机,机械臂。
步进电机驱动板
很多芯片和模块都可以来控制步进电机,我们使用一个很简单的模块,EasyDriver。
简单的来说,就是通过dir来控制方向,给step一个脉冲,电机就动一步。
连线
安装模块
把这个类的代码保存成stepper.py文件,放到OpenMV的根目录中。
代码
# 步进电机控制 - By: 小智智- 周日 4月 2 2017
from pyb import Pin
from stepper import Stepper
import time
step_pin = Pin('P0')
dir_pin = Pin('P1')
my_stepper = Stepper(step_pin,dir_pin)
print("relative angle move test begin:", my_stepper.read_pos())
my_stepper.rel_angle(180)#相对角度控制
print("relative angle move test end:", my_stepper.read_pos())
time.sleep(1000)
print("steps angle move test end:", my_stepper.read_pos())
my_stepper.steps(-400)#步进脉冲控制
print("steps angle move test end:", my_stepper.read_pos())
time.sleep(1000)
print("absolute angle move test begin:", my_stepper.read_pos())
my_stepper.abs_angle(0)#绝对角度控制
print("absolute angle move test end:", my_stepper.read_pos())
time.sleep(1000)
直流电机
教程26 - 电机扩展版控制直流电机:https://singtown.com/video
什么是直流电机
直流电机的转速和电压成正比。
驱动板
很多驱动板都可以驱动直流电机,这里使用TB6612FNG,双H桥。
连线
代码
待添加
舵机
OpenMV2有两个舵机引脚,P7,P8
OpenMV3有三个舵机引脚,P7,P8,P9
连线
检查电源
舵机属于大电流设备,必须使用外部电源(稳压电源,锂电池。。。),USB是无法给舵机供电的!
代码
# Servo Control Example
#
# This example shows how to use your OpenMV Cam to control servos.
import time
from pyb import Servo
s1 = Servo(1) # P7
s2 = Servo(2) # P8
#s3 = Servo(3) # P9 Only for OpenMV3 M7
while(True):
for i in range(-90,90):
s1.angle(i)
s2.angle(i)
time.sleep(10)
for i in range(90,-90):
s1.angle(i)
s2.angle(i)
time.sleep(10)
PCA9685连接多个舵机
宝贝链接:https://singtown.com/product/49277
视频教程25 - pca9685控制多个舵机:https://singtown.com/learn/50057/
PCA9685模块,只使用2个引脚(I2C协议),就可以控制16个PWM通道,也就是16个舵机或者16个LED灯。你甚至可以连接62个模块,依然只用2个引脚,可以控制992个PWM!
连线
代码
点击运行,即可