全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 接口/总线/驱动 >

STM32单片机步进电机控制系统设计案例

时间:2023-07-25 15:24

人气:

作者:admin

标签: 电机  STM32  单片机  步进   

导读:STM32单片机步进电机控制系统设计案例-本项目使用Proteus8.12仿真STM32单片机控制器,使用ULN2003电机模块、LCD1602模块、按键模块等。...

一、功能简介

本项目使用Proteus8.12仿真STM32单片机控制器,使用ULN2003电机模块、LCD1602模块、按键模块等。

主要功能:

系统运行后,LCD1602显示电机当前运行档位、方向、状态。可通过按键K4启动与停止,按键K1加速、按键K2减速,按键K3换向;档位可在1-5档。

主要功能如下:

(1)按键功能:具有加速、减速、正转、反转、启动和停止;

(2)显示功能:LCD1602显示档位、方向、运行状态;

(3)电机驱动:ULN2003驱动步进电机

二、软件设计

//系统参数设定

void sys_parm_set(void)

{

u8 key=0;

key=KEY_Scan(0);

//启动/停止

if(key==KEY4_PRESS)

{

sys_ctrl.run=!sys_ctrl.run;

if(sys_ctrl.run)

lcd1602_show_string(4,1,"RUN ");

else

lcd1602_show_string(4,1,"STOP");

}

//运行中

if(sys_ctrl.run)

{

//方向切换

if(key==KEY3_PRESS)

{

sys_ctrl.dir=!sys_ctrl.dir;

}

//加速

else if(key==KEY1_PRESS)

{

sys_ctrl.gear++;

if(sys_ctrl.gear>5)sys_ctrl.gear=1;

}

//减速

else if(key==KEY2_PRESS)

{

sys_ctrl.gear--;

if(sys_ctrl.gear<1)sys_ctrl.gear=5;

}

step_motor_28BYJ48_send_pulse(4,sys_ctrl.dir,gspeed[sys_ctrl.gear-1],1,sys_ctrl.run);

}

}

//系统参数显示

void sys_parm_show(void)

{

//运行状态

if(sys_ctrl.run)

{

if(sys_ctrl.dir)lcd1602_show_string(14,0,"ZZ");

else lcd1602_show_string(14,0,"FZ");

//档位显示

lcd1602_show_num(5,0,sys_ctrl.gear,1);

}

}

//应用控制系统

void appdemo_show(void)

{

sys_parm_init();//系统参数初始化

step_motor_gpio_init();

KEY_Init();

lcd1602_init();//LCD1602初始化

sys_open_show();//系统初始界面显示

while(1)

{

sys_parm_set();

sys_parm_show();

}

}

三、实验现象

图片

图片

图片

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信