历史上的今天
今天是:2024年09月16日(星期一)
2021年09月16日 | 29-基于51单片机的步进电机控制系统
2021-09-16 来源:eefocus
具体实现功能
系统由STC89C52单片机+单体数码管+LED指示灯+ULN2003驱动芯片+DC-5V步进电机构成。
具体功能:
(1)实现按键控制步进电机正转、反转、加速、减速、停止;
(2)2个发光二极管显示正反转,1位7段LED数码管显示当前转速档位(共9个档位);
(3)4个红色LED,指示电机的转速。

设计背景
步进电机是一种将电脉冲信号转换成角位移的执行机构,其转子角位移与输入脉冲的频率成正比,通过改变脉冲频率可以实现大范围的调速;同时,步进电机易于与计算机和其他数字元件接口,因此被应用于各种数字控制系统中。
本设计所选的步进电机是四相步进电机,采用的方法是利用单片机控制步进电机的驱动。步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。本次毕业设计就是通过改变脉冲频率来调节步进电机的速度的,并且通过数码管显示其转速的级别。另外通过单片机实现它的正反转,步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。
本文设计的系统,操作简便,控制灵活,显示清晰,制作成本低,性价比较高。
硬件设计
硬件电路由以下模块构成:
(1)单片机最小系统。用于驱动和控制其他模块,以实现整体功能,其以STC89C52单片机为核心芯片,并辅以复位电路和晶振电路。
(2)按键模块。实现按键控制步进电机正转、反转、加速、减速、停止。
(3)显示模块。1位7段LED数码管显示当前转速档位(共9个档位)。
(4)步进电机模块。
(5)转数指示模块及正反转指示模块。

软件设计
根据本文设计需求,在硬件电路设计的基础上,需要通过软件编程实现的具体功能:
(1)驱动各个模块工作,实现数码管的清晰显示,实现电机驱动;
(2)实现按键控制步进电机正转、反转、加速、减速、停止;
(3)2个发光二极管显示正反转,1位7段LED数码管显示当前转速档位(共9个档位);
(4)4个红色LED,指示电机的转速。
原理图
本系统原理图设计采用Altium Designer19,具体如图。

程序
本设计利用KEIL5软件实现程序设计,具体如图。

仿真实现
本设计利用protues8.7软件实现仿真设计,具体如图。
史海拾趣
|
过完春节准备离职了 现在的工作就是消磨意志 工资也特低 民工中的民工 每天浑浑噩噩浑浑噩噩浑浑噩噩的过 满怀激情的来 经历过很多次“洗脑” 还是没有被同化 还是有一股子傲气和不安分 失望的离开 憧憬新的开始… 查看全部问答> |
|
我在linux下开发短信,使用开源的smstools来开发。 使用pdu模式时,发现对英语与数字可以很简单地实现。 但使用中文信息时,发现移动发过来的pdu报文解不正确。 如报文:测试 =“6D4B8BD5” 将两位一组转换为16进制数值,再转换为无符号字符。 ...… 查看全部问答> |
|
寻求指引:不知如何问起的问题,关于和PC通讯方面(软硬驱动都需要) (我一直做软件,虽然对Windows核心也有所了解,但却从未真正写过驱动,也未写过单片机软件,提的问题可能很不专业,请多包涵,多给点指引) 简单的说,可能这样:公司安排我项任务,改进一些旧的仪器。以前所有的仪器都是用RS232跟电脑连接的,我 ...… 查看全部问答> |
|
各位大哥,你们好,我的朋友想学习plc但不知道用什么开发工具,希望你们能提供一些信息!谢谢 各位大哥,你们好,我的朋友想学习plc但不知道用什么开发工具,希望你们能提供一些信息!谢谢… 查看全部问答> |
|
LM3S9997 J-LINK KEIL 这几天做了个LM3S9997的最小系统。。。。 JTAG已经连接上了。。。读到的IDCODE是 0X4BA00477。。。然后用打开LM3S8662的一个LED例程。。。 有个错误。无法下载程序:error :flash DOWNLOAD FAILED - CORTEX-M3 好 ...… 查看全部问答> |




