查看“编码直流电机驱动器”的源代码
←
编码直流电机驱动器
跳转至:
导航
,
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于这些用户组的用户使用:
用户
,labplus
您可以查看与复制此页面的源代码。
[[文件:encoder_motor.png|400px|缩略图|右 |blue:bit-编码直流电机]]<br /> == 概述 == Encoder DC Motor 提供两路的编码电机的驱动模块。提供三种工作模式:PWM模式、巡航模式和定位模式。 == 技术参数 == * 工作电压:VCC 3.3-5V * 两路的电机驱动 * I2C数字信号输出 * 模块尺寸:24x46x7.5mm == 编码电机参数 == == 引脚定义/接口说明 == * I2C接口 {| class="wikitable" |- | <small>VCC</small> || <small>电源</small> |- | <small>SDA</small> || <small>I2C数据</small> |- | <small>SCL</small> || <small>I2C时钟</small> |- | <small>GND</small> || <small>地</small> |} {|style="background-color:#FCF8E3;color:#8A6D3B;" |style="padding: 2px;"| * 拨动开关,可选择模块的I2C地址,用于避免与其他I2C设备地址冲突。注意,重新选择I2C地址后,需要重新上电才能生效! |} * 编码电机接口 * 触发信号的输入接口 {| class="wikitable" |- | <small>VCC</small> || <small>电源</small> |- | <small>CH0</small> || <small>NA(未用)</small> |- | <small>CH1</small> || <small>触发信号输入</small> |- | <small>GND</small> || <small>地</small> |} * 可调电位器:调节触发信号的触发电平 == 使用教程 == * 在程序编程中需要注意拨动开关地址和程序中的地址一致! * 驱动模式 ** pwm模式 *:-通过调整PWM输出,调节电机的转速,-1023~1023 ** 巡航模式 *:-在pwm模式基础上,增加了PID算法,可自动稳定在固定的转速。当外界的力量(比如电机的驱动电压变化,电机受到的阻力变大等)迫使转速改变时,程序会通过PWM调节,保持恒定输出。-1023~1023 ** 定位模式 *:-可旋转指定位置,对控制步长有要求,较为有用。范围-1023~1023 === <font size=3px>Arduino</font> === <syntaxhighlight lang="Python" line='line'> #include <Wire.h> int reading = 0; int reading0 = 0; int reading1 = 0; int reading2 = 0; int reading3 = 0; int reading4 = 0; long trigger_begin; long trigger_end; float trigger_time; void Get_Photogate_value(char address) { Wire.requestFrom(0x51, 5); if (5 <= Wire.available()) { reading0 = Wire.read(); reading1 = Wire.read(); reading2 = Wire.read(); reading3 = Wire.read(); reading4 = Wire.read(); if(reading0==1) { trigger_begin = reading1*16777216 + reading2*65536 + reading3*256 + reading4; //Serial.println(1); //Serial.println(trigger_begin); } if(reading0==0) { trigger_end = reading1*16777216 + reading2*65536 + reading3*256 + reading4; //Serial.println(0); //Serial.println(trigger_end); trigger_time = (float)(trigger_end - trigger_begin)/2041667; //250000 2041667 Serial.println(trigger_time); } } void setup() { Wire.begin(); // join i2c bus (address optional for master) Serial.begin(9600); // start serial for output } void loop() { Get_Photogate_value(0x51); } </syntaxhighlight> === <font size=3px>掌控板</font> === * GitHub:[https://github.com/labplus-cn/mPython_bluebit bluebit for mPython library] * bluebit for mPython library API: https://mpython-lib.readthedocs.io/zh/master/bluebit/index.html <syntaxhighlight lang="Python" line='line'> """ 由于编码电机模块存在此缺陷:当程序上电后,会有异常脉冲信号导致I2C总线挂机 临时解决方案:将SCL(P19)引脚上电后先拉低 """ from machine import I2C,Pin p19=Pin(Pin.P19,Pin.OUT,value=0) # from mpython import * import bluebit motor = bluebit.EncoderMotor(0x10) while True: print("PWM mode") motor.set_pwm(500,-500) # pwm模式,M1 speed 500; M2 speed -500 sleep(2) print("Cruise mode") motor.set_cruise(800,800) # 巡航模式 M1,M2恒速800 sleep(5) print("Position mode:500") motor.set_position(500,500) # 定位模式 电机转到位置500 sleep(3) print("Position mode:-100") motor.set_position(-100,-100) # 定位模式 电机转到位置-100 sleep(2) </syntaxhighlight> === <font size=3px>microbit</font> === == 应用案例 == == FAQ == == 版本历史记录 == {| border="1" cellspacing="0" align="left" cellpadding="0" width="60%" style="text-align:center;" |- style="text-align:center;background-color:#6fa8dc;color:#fffff;" !width="10%"|Version !!width="15%"| Date !! <small>新增/删除/修复</small> |- | || || style="text-align:left"| |}
返回至
编码直流电机驱动器
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
软件
Labplus软件
mPython软件
Mixly集成盛思版
mpython_conn
教学套件
创客初级实验箱
创客初级实验箱进阶版
创客中级实验箱
创客中级实验箱Ⅱ
人工智能交互实验箱
桌面机器人
乐动魔盒
可穿戴作品电子套件
创意触摸板套装
乐动魔块中级套装
乐动魔块高级套装
bot:bit
编程造物套装
逻辑造物套装
人工智能套装
物联网套装
高中信息技术套装
掌控板初级套装
初中信息技术材料包
开源硬件教学套装
冲锋舟
造物
Arduino
乐动魔块(旧版)
Blue:bit电子积木
MicroBit系列
掌控板系列
AI摄像头V1.0
AI摄像头V2.0
1956
掌控魔盒
乐动掌控
乐动魔块
互动作品
森林奇遇记
创客森林
创客乐园
物联网演示系统
博物馆防盗演示实验系统
梦想舞台演示实验系统
智能家居演示实验系统
智能教室演示实验系统
智能停车场演示实验系统
DIY-木板系列
嘘寒问暖
硬币存款机
吼一声试试
斜不胜正灯
时光葫芦
旋转转盘
越光宝盒
治愈系萌犬
光明使者
避障机械车
DIY-亚克力系列
情绪机器人
创意七彩灯
温湿度机器人
留言机
游龙戏灯
三色时钟
光影精灵
光影时钟
智能应用系列
LED眼镜
32x16 RGB LED点阵屏
DIY环境温湿度显示系统
DIY创客空间访客记录仪
其他
金属结构件套装
耗材存取管理柜
更多
课程资源
常见问题解答
Arduino语法参考手册
链接
Labplus官网
STEAM创客教育平台
工具
链入页面
相关更改
特殊页面
页面信息