发布时间 : 星期日 文章基于STM32的步进电机控制系统 - 徐浩威组 - 图文更新完毕开始阅读
课程设计报告
设计题目: 基于STM32的步进电机控制系统 学 院: 电子工程学院
专 业: 电子信息科学与技术 班 级:13级电子信息科学与技术一班
学 号:201330310101、201330310109、
201330310126、201330310128
姓 名:白义霞、何婷芳、徐浩威、叶黎
电子邮件: 18637678173@163.com
时 间: 2016 年 9 月 成 绩: 指导教师: 杨意
华 南 农 业 大 学 电子工程学院 应 用 物 理 系
课 程 设 计(报告)任 务 书
学生姓名 白义霞、何婷芳、徐浩威、叶黎 指导教师 杨意 职称 讲师 学生学号 201330310101、201330310109、 201330310126、201330310128 专业 电子信息科学与技术
题目 基于STM32的步进电机控制系统 任务与要求
1.设计以STM32为核心的步进电机控制系统;
2.用键盘调整电机的速度值:按“+”键,电机速度增加。按“-”键,电机速度减少。没有按键按下时电机速度恒定;
3.按键按下的时候,用蜂鸣器表示按键音; 4.电机运转时,在液晶屏上显示其速度值; 5.设计硬件接口电路,编写裸机控制程序; 6.撰写课程设计报告。
开始日期 2016 年 9 月 2 日 完成日期 2016 年9 月 30 日
1. 引言
电机(electric machine),是依据电磁感应定律实现电能转换或传递的一种电磁装置。实现机械能转换成电能的称为发电机,在电路中用G表示;实现电能转换成机械能的称为电动机,在电路中用M表示。
步进电机是一种能够将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给步进电机一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点,使得步进电机在速度、位置等控制领域的控制操作非常简单[1]。
本设计以STM32嵌入式控制板为核心,设计了一款基于STM32的步进电机控制系统,该系统可通过按键进行控制,并实时检测步进电机的转速,通过LCD液晶模块,可以显示步进电机的转动情况。
2.系统的设计与理论分析
图1. 系统方案设计
如图1所示,本系统由STM32核心版、ULN2003驱动模块,步进电机模块、测速模块、按键控制模块、蜂鸣器模块和LCD速度显示模块组成。具体的工作方式如下:
1)STM32核心板通过GPIOC口与ULN2003驱动模块相连,保证ULN2003
1
工作在正常状态;
2)ULN2003驱动模块与步进电机相连,驱动步进电机正常转动; 3)测速模块与步进电机相连,对步进电机的转速进行实时测量,并将速度信号反馈回STM32核心板中;
4)LCD速度显示模块显示步进电机的转速;
5)按键控制模块通过与STM32相连,进而控制步进电机的工作情况(加速、减速、正转、反转等),按键按下时,蜂鸣器模块发声,表示按键音。
该方案的优点在于:
1)结构简单,无需进行复杂的布线设计;
2)使用方便,实现模块化,方便对电路进行焊接与错误调试; 3)所需元器件数量少,成本较低。
3. 硬件系统设计 3-1. STM32核心版
本设计采用STM32F103ZET6 作为 MCU ,它拥有的资源包括:64KB SRAM、512KB FLASH、2个基本定时器、4个通用定时器、2个高级定时器、2个DMA控制器(共12个通道)、3个SPI、2个IIC、5个串口、1个USB、1个CAN、3个12位ADC、1个12位DAC、1个SDIO接口、1个FSMC接口以及112个通用IO口[2]。MCU的部分原理图如图2所示。
STM32F103ZET采用ARM Cortex-M3的处理器,其内部资源十分丰富。相比于其他类型的MCU,STM32F103ZET优势在于:
1)支持ARM Thumb-2指令集,充分融合了ARM指令和Thumb指令,减少了系统状态切换的时间开销,提高了代码效率;
2)内部具有嵌套中断向量控制单元NVIC,支持“咬尾中断机制”和“晚到中断机制”,这使得系统的中断响应更加迅速,系统实时性更好,并且每个I/O口都可以作为中断输入,提高了硬件设计时的灵活性;
3)支持复用I/O重映射功能。
4)价格低,功能强大,具有丰富的外设资源;
2