当前位置:首页 » 《我的小黑屋》 » 正文

ESP32入门教程(四)基于ESP-32 WROOM开发板的WEB网页控制步进电机滑台(A4988)

25 人参与  2024年09月24日 18:40  分类 : 《我的小黑屋》  评论

点击全文阅读


源代码GIT链接:ESP32-STEPPING: 基于ESP-32 WROOM开发板+A4988控制四线两相式步进电机,并可通过web页面改变步进电机运行速度,开发环境:VSCode + PlatformIO

https://shop64022682.taobao.com/ DIY模块地址

1.打开VsCode,点击左边栏PlatformIO图标->点击”Create New Project”按钮->点击“+ New Project”按钮,新建工程。

2.在弹出的工程向导对话框中,填选相应信息。Name:工程名,Board:开发板类型,Framework:框架,Location:工程文件在PC的存放路径,可以选默认路径或者自己设置。

3.工程创建成功后,会自动生成默认源代码。在src目录下的main.cpp文件即为主程序文件。

setup()函数程序一启动便首先运行,且只运行一次,可以将系统的初始化代码放在这里面。

loop()函数是主函数,在setup()之后循环执行。

myFunction()函数是用户自定义程序,用户可以随意添加代码。

4.电路原理

    电路图如上所示,ESP32通过A4988驱动步进电机动作,ESP32只需向A4988提供STEP步进信号和DIR电机转动方向信号即可。其中STEP步进信号为典型的方波信号,每一个信号周期驱动电机前进一步,信号频率控制电机的运动速度,在电机的速度范围之内,频率越高电机运动越快。

为更直观的反应电机的运动,本文采用步进电机驱动的微型滑台。

该滑台丝杆的导程是3mm,步进电机为两相四线制电机,步进角18°,即20步/圈。由3mm÷20步=0.15毫米/步 得出,电机每前进一步滑台前进 0.15毫米。

5.编写驱动步进电机的代码。

首先设置步进信号引脚为PIO27,方向信号引脚为PIO26。WIFI热点名称为“ESP32-STEPPING”,WIFI密码为“12345678”,服务器的端口号为HTTP服务的默认端口号80。

Time_Init()函数用于初始化定时器,设置定时器为中断模式,为了让步进电机在刚启动时不运动,Time_Init()默认不启动定时器。

timer_group0_isr()函数是中断响应回调函数,每次定时器中断,累加一次电机步数计数器,累加到800次(即滑台运动60毫米)之后,计数器清零,并切换一次运动方向。

SetStepFreq()函数用于设置步进信号的频率、启动定时器,即控制步进电机的运行速度。

Wifi_Init()函数用于初始化Wifi参数,将Wifi设置为AP模式,手机可直接连接该WiFi,并通过浏览器登录web控制页面,来控制步进电机的运动。在Wifi初始化完成后,会通过串口将Wifi的相关信息打印出来,方便用户连接。

   在浏览器中输入”192.168.4.1”或者”http:// 192.168.4.1”即可登录控制页面。

在主循环中,循环检测是否有设备连接,若有链接,则将控制网页源码发送给客户端浏览器,并且检测用户GET请求中是否含有“/100Hz”、“/300Hz” 、“/500Hz”、“/STOP”字段,若有其中一个字段,则设置对应的步进引脚频率或停止定时器运行。

5.点击PlatformIO:Upload按钮,编译代码,并把程序烧录到开发板上,。

打开串口,便可以看到WIFI准备完成的信息。

根据输出的信息,使用手机WIFI连接WIFI热点“ESP32-STEPPING”,密码“12345678”,然后打开手机浏览器,输入网址”192.168.4.1”或者”http:// 192.168.4.1”即可登录控制页面。

点击相应控制按钮,便可以控制步进电机滑台的运动状态。


点击全文阅读


本文链接:http://zhangshiyu.com/post/164145.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1