一、基础:PY102板引脚图


二、进阶:通过PY102板+A4988板带步进电机

(一)A4988驱动模块
(1)因为A4988内置了译码器,我们可以可以通过控制器的2个引脚来控制步进电机,一个控制旋转方向,另一个控制步数。
(2)A4988提供了五种不同的微步控制:全步(full-step),半步(haft-step),四分一步(quarter-step),八分之一步(eight-step)和十六分之一步(sixteenth-step)。

(二)引脚功能说明:
(1)DIR:控制转动方向,=1:正转,=0:反转;
(2)STEP:接PWM,旋转步数控制,每个脉冲对应转一个角度;
(3)VDD:接3.3V或者5V;
**(4)VMOT:电机直流供电:8~35V;**使用一个47uf的电解电容来保护驱动板免受瞬时电压的冲击
**(5)1A和1B引脚连接到步进电机的一相,2A和2B引脚连接到步进电机的另一相;**通常四相电机红绿为一组,蓝黄为一组。
(6)sleep,reset:通常短接;(RESET这个端口的配置,必须至高电平,否则脉冲被忽视,至于需不需要供地,这个没看板子的线路图,不过不需要自己去共地。所 以你们电机不动的原因不在于共地上,而在于RESET这个没有接入高电平上,可以直接接3.3V-5V ,也可以接Pin口上)
(7)MS1, MS2 和 MS3针脚用于微步设置。MS1和MS3引脚具有100kΩ的下拉电阻,MS2引脚具有50kΩ的下拉电阻。 当改变细分时,直到下一个STEP 上升沿改变才会生效。
重点:步进角微步驱动
即将每一步再细分,如一步是90度,全步时一圈四步;8分步时,一圈32步。微步主要使用驱动电压的大小进行分段。(详见《小型直流电机控制电路设计》P151)。当然16分步最平稳。
000:全步 2相 ;
100:半步 1-2 phase;
010:四分步 W1-2 phase;
110:八分步 2W1-2 Phase;
111:16分步 4W1-2 Phase
(8)ENABLE针脚用于打开和关闭场效应管的输出,低电平打开,高电平关闭。

(三)A4988的电路图
四、步进电机
(1)将电脉冲信号转变为角位移或线位移的开环控制电机。(
(2)42步进电机两相一般为50齿,步距角1.8,相电流1.3-1.7A)。(3)细分控制:两相步进电机的基本步距角是1.8°,即一个脉冲走1.8°,如果没有细分,则是200个脉冲走一圈360°,细分是通过驱动器靠精确控制电机的相电流所产生的,与电机无关,如果是16细分,则发一个脉冲电机走0.1125°,即3200个脉冲走一圈360°。

五、步进电机与直流电机控制小车的差异
(1)定时器配置
直流电机:PWM模式
步进电机:输出比较模式(输出4路不同频率的PWM波)
(2)直立控制
直流电机:PD控制
步进电机:P控制
(3)速度反馈与控制
直流电机:编码器反馈
步进电机:上一个控制周期计算的频率值代替编码器反馈

六、代码

from pyb import Pin, Timerp_out2 = Pin('X4', Pin.OUT_PP)      # MS1,MS2,MS3对应X4,X5,X6,都取高电平,即16细分
p_out2.high()
p_out3 = Pin('X5', Pin.OUT_PP)
p_out3.high()
p_out4 = Pin('X6', Pin.OUT_PP)
p_out4.high()p_out1 = Pin('X3', Pin.OUT_PP)     # DIR接X3 ,
y1 = Pin('Y1', Pin.IN)            #输入红外探头x3 = Pin('X3', Pin.OUT_PP)#p_out1.high()                      #有人时DIR高电平,正转tm2 = Timer(2, freq=100)                        # 定时器2,频率100HZ
tm3 = Timer(5, freq=500)                        # 选择定时器5,频率800HZ(决定速度)while 1:#高电平输入时(有人)if y1.value() == 1 :
#       print(y1.value())
#       x3.value(1)p_out1.high()                      #有人时DIR高电平,正转pyb.LED(2).on()pyb.LED(1).off()led3 = tm2.channel(1, Timer.PWM, pin=Pin.cpu.A15)  #led3.pulse_width_percent(50)                    #LED3的频率100HZ,近似长亮。 亮灯led3a4 = tm3.channel(1, Timer.PWM, pin=Pin.cpu.A0)  # 选择通道1和定时器5对应引脚A0a4.pulse_width_percent(50)                      # 占空比50%。PWM信号从X1输出给A4988的STEP脚,STEP接X1即A0      pyb.delay(10000)   #LED灯亮灯时间#低电平输入时(无人)else:
#       print(y1.value())
#       x3.value(0)p_out1.low()pyb.LED(1).on()pyb.LED(2).off()led3 = tm2.channel(1, Timer.PWM, pin=Pin.cpu.A15)  #led3.pulse_width_percent(50)                    #LED3的频率100HZ,近似长亮。 亮灯led3a4 = tm3.channel(1, Timer.PWM, pin=Pin.cpu.A0)  # 选择通道1和定时器5对应引脚A0a4.pulse_width_percent(50)                      # 占空比50%。PWM信号从X1输出给A4988的STEP脚,STEP接X1即A0      pyb.delay(3000)   #LED灯亮灯时间

micropython入门(二)硬件入门及步进电机驱动(102+A4988板)相关推荐

  1. arduino步进电机程序库_Arduino基础入门篇27—步进电机驱动库的使用

    本篇介绍步进电机驱动库的使用,通过读取电位器输入,控制步进电机转动相应角度. Stepper库是官方提供的驱动库,我们启动Arduino IDE,点击「文件」-「示例」就能找到Stepper库,官方提 ...

  2. arduino步进电机程序库_Arduino入门教程15(步进电机驱动库的使用):Arduino Uno R3+ULN2003+步进电机 使用Stepper驱动库,控制步进电机转动角度...

    本篇介绍步进电机驱动库的使用,通过读取电位器输入,控制步进电机转动相应角度. Stepper库是官方提供的驱动库,我们启动Arduino IDE,点击「文件」-「示例」就能找到Stepper库,官方提 ...

  3. Android10.0 Binder通信原理(二)-Binder入门篇

    摘要:本节主要来讲解Android10.0 Binder的设计原理,如何设计一个Binder通信 阅读本文大约需要花费15分钟. 文章首发微信公众号:IngresGe 专注于Android系统级源码分 ...

  4. 3D打印机基础知识入门之硬件知识

    目前,3D概念逐渐被越来越多年轻人人所接受,很多年轻人越来越喜欢用 3D打印机做3D打印diy玩具,但是3D打印基础知识还是有必要知道,极光尔沃小编认为下面的知识对你熟练操作3D打印工具是很有帮助的. ...

  5. walking机器人入门教程-硬件清单

    系列文章目录 walking机器人入门教程-目录 walking机器人入门教程-硬件清单 walking机器人入门教程-软件清单 walking机器人入门教程-测试底盘 walking机器人入门教程- ...

  6. 新手入门板卡硬件调试

    硬件电路调试步骤 新手入门板卡硬件调试 一看→观察焊接情况 二测→测量阻抗 三接触式上电 调试遇到的问题一般解决思路 电源供电 运放出现震荡 测量时GND的选取 振铃现象 新手入门板卡硬件调试 一看→ ...

  7. 【PC组装】电脑硬件入门与选配

    文章目录 前言 一.决定性能部件 1.1.主板 1.2. CPU 1.3.内存条 1.4.显卡 1.5.主板 二.保证性能部件 电源 散热 参考 前言:马上进入研二了,向老板提出配备一台高配电脑的请求 ...

  8. linux usb3.0改2.0,TX1入门教程硬件篇-切换USB2.0与USB3.0

    TX1入门教程硬件篇-切换USB2.0与USB3.0 说明: 介绍如何切换TX1USB口的为2.0或3.0版本 步骤: 编辑extlinux.conf文件,修改usb_port_owner_info= ...

  9. SQL基础使用入门(二): DML语句和DCL语句

    SQL语句第二个类别--DML 语句 DML是数据操作语言的缩写,主要用来对数据表中数据记录实例对象进行操作,包括插入.删除.查找以及修改四大操作,这也是开发人员使用中最为频繁的操作. 1.插入记录 ...

最新文章

  1. 手机桌面隐藏大师_受够了内置主题?扒一扒Windows 10隐藏主题
  2. 企业应用开发平台-GAP平台
  3. 【计算理论】计算复杂性 ( 两个带子的图灵机的时间复杂度 | 证明多个带子图灵机时间复杂度 )
  4. linux 进程与线程命令
  5. 工作四年的php程序员自述 一路走过来的风风雨雨
  6. 统一代码风格工具 editorConfig
  7. python 海象运算符,Python3.8新特性-- 海象操作符
  8. android单独刷入镜像
  9. 简单理解 Kafka 的消息可靠性策略
  10. 把我的爱送给你――C#3.5(这题目似乎写错了)
  11. UNIX网络编程笔记(2):一个简单的时间获取程序
  12. PATH和path,傻傻分不清
  13. 超全!一文看懂 9 种Transformer结构!
  14. (0)做开发必备软件
  15. 一篇文章读懂开源web引擎Crosswalk
  16. BZOJ-2456-mode(思维题)
  17. Java web项目目录结构以及作用详解
  18. 《孙子兵法》的逻辑结构
  19. Kafka Confluent 简介
  20. (二十一)sift 特征点检测

热门文章

  1. 进入四维空间 Time Machine带你星际穿越
  2. 上海地铁颜色配对色码值
  3. 网吧无盘服务器游戏盘,影响无盘网吧游戏性能的虚拟盘服务器
  4. win2008r2hpc无盘服务器配置,20台无盘网吧服务器配置
  5. Python 飞速下载各大平台音乐
  6. 获取中国各省份的名称以及该省份中的市及该市中的区
  7. 给日文网站所有汉字标上平假名----附《星》的歌词
  8. 作为程序员的他,大学四年一直自学,全靠这些实用工具和学习网站
  9. 【附源码】计算机毕业设计java智慧小区团购系统设计与实现
  10. xshell 密钥key登陆,和密码登陆