6浏览
查看: 6|回复: 4

[K10教程] 【花雕动手做】K10 通过 I2C IO 扩展板读取电机AB两相脉冲

[复制链接]
【花雕动手做】K10 通过 I2C IO 扩展板读取电机AB两相脉冲图2

行空板K10是一款专为快速体验物联网和学习人工智能而设计的开发学习板,100%采用国产芯片,知识产权自主可控,符合信息科技课程中编程学习、物联网及人工智能等教学需求。该板集成2.8寸LCD彩屏、WiFi蓝牙、摄像头、麦克风、扬声器、RGB指示灯、多种传感器及丰富的扩展接口。凭借高度集成的板载资源,教学过程中无需额外连接其他设备,便可轻松实现传感器控制、物联网应用以及人脸识别、语音识别、语音合成等AI人工智能项目。

主要特点
集成摄像头&内置算法,可进行离线图像检测
集成麦克风&内置算法,可进行离线语音识别
集成扬声器&内置算法,可进行离线语音合成
2.8寸彩色屏幕,数据展示更清晰
集成度高,利于教学
接口丰富,兼容软件多,扩展性好


【花雕动手做】K10 通过 I2C IO 扩展板读取电机AB两相脉冲图1

驴友花雕  高级技神
 楼主|

发表于 2 小时前

【花雕动手做】K10通过I2C IO扩展板读取电机AB两相脉冲

本帖最后由 驴友花雕 于 2026-6-28 16:49 编辑

实验使用的电机(12V 3640)与 IO 扩展板

【花雕动手做】K10 通过 I2C IO 扩展板读取电机AB两相脉冲图1

【花雕动手做】K10 通过 I2C IO 扩展板读取电机AB两相脉冲图2

【花雕动手做】K10 通过 I2C IO 扩展板读取电机AB两相脉冲图3

回复

使用道具 举报

驴友花雕  高级技神
 楼主|

发表于 2 小时前

【花雕动手做】K10通过I2C IO扩展板读取电机AB两相脉冲

主打:人工智能模块

【花雕动手做】K10 通过 I2C IO 扩展板读取电机AB两相脉冲图2

语音识别相关说明

【花雕动手做】K10 通过 I2C IO 扩展板读取电机AB两相脉冲图1


回复

使用道具 举报

驴友花雕  高级技神
 楼主|

发表于 2 小时前

【花雕动手做】K10通过I2C IO扩展板读取电机AB两相脉冲

辅助:屏幕显示相关积木

【花雕动手做】K10 通过 I2C IO 扩展板读取电机AB两相脉冲图1

扩展板模块

【花雕动手做】K10 通过 I2C IO 扩展板读取电机AB两相脉冲图3

LED控制模块

【花雕动手做】K10 通过 I2C IO 扩展板读取电机AB两相脉冲图2

回复

使用道具 举报

驴友花雕  高级技神
 楼主|

发表于 1 小时前

【花雕动手做】K10通过I2C IO扩展板读取电机AB两相脉冲

知识点:直流无刷减速电机 AB 两相脉冲

一、什么是 AB 两相脉冲
这款雅腾内置驱动无刷电机自带两相正交霍尔脉冲输出,两根信号线(青线 A 相、棕线 B 相)会随电机转动持续输出高低电平方波信号,A、B 两路波形相位固定相差 90°,行业称为正交 AB 相脉冲。
它属于电机内置简易测速反馈,不是高精度独立编码器,依靠电机内部霍尔元件感应转子磁场产生脉冲。

二、核心硬件参数与线材定义
输出线材
青线:A 相位脉冲输出
棕线:B 相位脉冲输出
公共参考地:电机黑线(12V 负极),必须和单片机 / 扩展板共地才能读取信号
电气特性
相位差:A、B 波形相位角度固定 90°;
输出电平:3.3V/5V 数字电平,可直接接入行空板 IO 扩展板 C 口;
精度:分辨率普通,仅用于基础测速、转向判断,不适合高精度角度定位;
触发逻辑:电机停止时无脉冲,转轴转动才持续输出交替高低电平。

三、AB 两相脉冲两大核心作用
1. 测量电机转速(测速)
电机每旋转固定角度就会产生一组脉冲,通过单片机统计单位时间内脉冲总数,就能换算出电机每分钟转速(r/min)。
计算公式:
转速 (r/min) = 采样周期内脉冲总数 ÷ 采样时长 (s) ÷ 单圈总脉冲数 × 60
例:2 秒采集 300 个脉冲,电机转一圈输出 100 个脉冲
转速 = 300 ÷ 2 ÷ 100 × 60 = 90 转 / 分钟
2. 判断电机旋转方向(正转 / 反转)
A、B 相位差 90°,两路电平变化有先后顺序,以此区分转向:
正转(CW,方向线悬空):A 相电平先翻转,之后 B 相再翻转;
反转(CCW,方向线接负极):B 相电平先翻转,之后 A 相再翻转。
单片机实时对比 A、B 电平先后顺序,即可实时识别当前旋转方向。

四、波形工作原理(正交波形逻辑)
电机匀速转动时,A、B 输出连续方波,错开 1/4 个波形周期:
正转时序:A 高 B 低 → A 高 B 高 → A 低 B 高 → A 低 B 低,循环往复;
反转时序:A 低 B 高 → A 高 B 高 → A 高 B 低 → A 低 B 低,反向循环;
通过捕捉电平上升沿(低电平跳变高电平),完成脉冲计数与转向判定。

五、行空板 K10+IO 扩展板读取硬件要求
1. 接线规范
电机青线 (A 相)、棕线 (B 相) → 扩展板C0/C1/C2/C3数字 IO 口(S 舵机通道无法读取脉冲);
电机黑线 (12V 负极)、行空板 GND、IO 扩展板 GND 三线短接共地;
电机红线独立外接 DC12V 稳压电源,不可借用行空板供电。
2. 程序配置要求
将接入 A/B 相的 C 口设置为数字输入模式 eReadGpio;
循环实时读取引脚电平,记录上一次电平状态,捕捉上升沿实现脉冲计数;
减少程序内长延时 delay,避免脉冲跳变被程序跳过,造成计数丢失。

六、优缺点对比
1、优点
一体化集成:电机内置霍尔元件,无需额外加装编码器,接线简单;
功能齐全:同时实现测速、转向识别,满足机器人关节、底盘基础控制;
电平兼容:3.3V/5V 信号可直接接入单片机,无需电平转换;
成本低:相比独立高精度编码器价格更低,适合教学机器人项目。
2、缺点
分辨率低:脉冲数量少,无法精准控制旋转角度;
无零位信号:缺少 Z 相原点脉冲,不能精准复位机械位置;
长线易干扰:导线过长时脉冲电平乱跳,计数误差变大;
停机无记忆:断电后丢失转动位置数据。

七、典型应用场景(适配雅腾机器人电机)
教育机器人:头部、颈部、机械臂转速监测,区分左右旋转;
小型行走底盘:左右轮测速,实现简易差速直行修正;
云台转向机构:监测云台转动速度,配合语音调速实现匀速转动;
自动化小型传动设备:实时监控电机是否堵转(长时间脉冲无增加判定堵转)。

八、常见使用问题与解决办法
1、完全无脉冲、计数始终为 0
未共地:电机黑线与扩展板 GND 断开;
电机未上电:12V 电源未接通,霍尔元件不工作;
脉冲接错引脚:接到 S 舵机通道,仅 C 口支持数字输入读取。
2、脉冲计数乱跳、数值波动极大
线路干扰:信号线过长,可在脉冲引脚并联 10K 下拉电阻至 GND;
电源纹波大:更换稳压 12V 电源,减少电压波动。
3、计数数值偏小、大量脉冲丢失
程序存在长 delay 阻塞循环,脉冲跳变被跳过;
优化:缩短延时,将脉冲读取代码放在 loop 循环最前端优先执行。
4、无法区分正反转
只单独读取单路脉冲,未同时采集 A、B 两相电平对比时序。

【花雕动手做】K10 通过 I2C IO 扩展板读取电机AB两相脉冲图1

【花雕动手做】K10 通过 I2C IO 扩展板读取电机AB两相脉冲图2

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2026 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail