Arduino 通用双极性步进电机控制库——精准控制转速、角度、圈数与方向
组件与材料
| 组件 | 数量 |
|---|---|
| Arduino UNO | 1 |
| L293D 双 H 桥驱动芯片 | 1 |
库功能特性
- 支持任意双极性步进电机(两相四线)
- 控制旋转方向(顺/逆时针)
- 精准控制圈数(1、2、3…圈)
- 转速设定精度达 95% 以上(RPM)
- 角度控制 0-360°,精度 80-100%
- 兼容所有 Arduino 开发板
安装方法
将 bi_polar_Stepper 文件夹复制到 Arduino 库目录(如 C:\arduino-1.6.7\libraries),重启 IDE 即可在草图中通过 #include 调用。
核心 API(9 个函数)
| 函数 | 说明 |
|---|---|
bi_polar_Stepper(p1,p2,p3,p4) | 构造函数,指定四相驱动引脚 |
set_step_per_rev(steps) | 设置每圈步数(如 1.8° 电机为 200) |
set_RPM(rpm) | 设定转速(RPM),精度 95% |
rotate_CW() | 持续顺时针旋转(需在 loop 中循环调用) |
rotate_CCW() | 持续逆时针旋转 |
rotate(dir) | 单步旋转,dir=1 顺时针,0 逆时针 |
rotate_one_rev(dir) | 精准旋转 1 圈 |
rotate_n_rev(dir, n) | 精准旋转 n 圈 |
rotate_x_deg(deg) | 旋转指定角度(0-360°) |
五大应用示例
- 60 RPM 持续单向旋转:
set_RPM(60); loop(){ rotate_CW(); } - 30 RPM 往复 1 圈:顺时针 1 圈 → 延时 1s → 逆时针 1 圈 → 延时 1s
- 变速往复:100 RPM 顺时针 2 圈 → 50 RPM 逆时针 2 圈
- 多圈变速:20 RPM 顺时针 4 圈 → 10 RPM 逆时针 2 圈
- 90° 往复摆动:30 RPM 顺时针 90° → 逆时针 90°(实际调用 270° 实现反向)
驱动电路
L293D 典型应用电路:四相输入接 Arduino 数字引脚,电机四线接 L293D 输出端,外接电机电源(5-36V),共地。大电流电机可改用 L298N 或 4 路达林顿管(TIP122 等)。
测试电机规格
- 两相双极性,5V,100 RPM max,200 步/圈(1.8°)
- 两相双极性,5V,60 RPM max,200 步/圈
库文件仅提供下载,无在线预览。
制造工艺
- Sensor Telemetry 2.0.1:基于 Azure IoT Hub 的高精度温度监控系统
- Raspoulette:太阳能自主鸡舍门控制系统原型
- DIY 自动追踪奈夫炮塔:基于步进电机、摄像头与 Arduino 的智能发射装置
- Arduino 步进电机自动刷 Tinder/Bumble:小时 800+ 次滑动神器
- SmartWay:基于 Arduino MKR Fox 1200 的儿童上学路径监护系统
- Arduino 串口控制步进电机旋转台:28BYJ-48 精准定位
- 线性电机原理与演进:从电能到精密直线运动的技术演变
- 伺服电机深度解析:工作原理、分类与核心价值
- 伺服与步进电机:打破认知边界的现代灰色地带
- 磁阻电机:类型、运行原理与应用
- 步进电机:类型、特性与实际应用
- 集成驱动器简化大功率步进电机设计