单片机课程设计报告单片机控制步进电机Word下载.docx

上传人:b****1 文档编号:13356703 上传时间:2022-10-10 格式:DOCX 页数:22 大小:1.24MB
下载 相关 举报
单片机课程设计报告单片机控制步进电机Word下载.docx_第1页
第1页 / 共22页
单片机课程设计报告单片机控制步进电机Word下载.docx_第2页
第2页 / 共22页
单片机课程设计报告单片机控制步进电机Word下载.docx_第3页
第3页 / 共22页
单片机课程设计报告单片机控制步进电机Word下载.docx_第4页
第4页 / 共22页
单片机课程设计报告单片机控制步进电机Word下载.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

单片机课程设计报告单片机控制步进电机Word下载.docx

《单片机课程设计报告单片机控制步进电机Word下载.docx》由会员分享,可在线阅读,更多相关《单片机课程设计报告单片机控制步进电机Word下载.docx(22页珍藏版)》请在冰豆网上搜索。

单片机课程设计报告单片机控制步进电机Word下载.docx

(2)程序的首地址应使目标机可以直接运行,即从0000H开端。

在主程序的开端部分必须设置一个合适的栈底。

程序放置的地址须持续且靠前,不要在中间留下大批的空间地址,以使目标机可以应用较少的硬件资源。

(3)采用单片机控制一个三相单三拍的步进电机工作。

步进电机的旋转方向由正反转控制信号控制。

步进电机的步数由键盘输入,可输入的步数分别为3、6、9、12、15、18、21、24和27步,且键盘具有键盘锁功能,当键盘上锁时,步进电机不接受输入步数,也不会运转。

只有当键盘锁打开并输入步数时,步进电机才开始工作。

(4)电机运转的时候有正转和反转指示灯指示。

(5)电机在运转过程中,如果过热,则电机停止运转,同时红色指示灯亮,同时警报响。

本题目的关键之处是:

如何生成控制步进电机的脉冲序列。

1.2选作项目

1、用单片机(AT89S52)为主芯片设计电路来控制步进电机。

2、设三个自锁按键,分别作开关键盘、左转、右转控制。

3、设9个触电按键分别控制输入的步数为3、6、9、12、15、18、21、24和27步。

4、设置一片LCD12864显示器实时显示步进电机工作状态,并提示用户步操作。

2设计阐明

2.1设计内容

用ZY15MCU12BD型综合单片机实验箱仿真实现控制步进电机集采问过程。

2.2设计要求

(1)采用单片机控制一个三相单三拍的步进电机工作。

(2)电机运转的时候有正转和反转指示灯指示。

(3)电机在运转过程中,如果过热,则电机停止运转,同时红色指示灯亮,同时警报响。

(4)上机调试程序。

(5)写出设计报告。

2.3设备及工作环境

(1)硬件:

AT89S52单片机一片、35BYJ412步进电机一台、ISP下载器一个、LCD12864显示器、温度传感器18B20芯片。

(2)软件:

Windows操纵系统、KeilC51软件。

3系统方案整体设计

3.1设计思路

步进电机的不同驱动方式,都是在工作时,脉冲信号按一定顺序轮流加到三相绕组上,从而实现不同的工作状态。

由于通电顺序不同,其运行方式有三相单三相拍、三相双三拍和三相单、双六拍三种(注意:

上面“三相单三拍”中的“三相”指定子有三相绕组;

“拍”是指定子绕组改变一次通电方式;

“三拍”表示通电三次完成一个循环。

“三相双三拍”中的“双”是指同时有两相绕组通电)。

(1)三相单三拍运行方式:

下页图所示为反应式步进电动机工作原理图,若通过脉冲分配器输出的第一个脉冲使A相绕组通电,B,C相绕组不通电,在A相绕组通电后产生的磁场将使转子上产生反应转矩,转子的1、3齿将与定子磁极对齐,如果图(a)所示。

第二个脉冲到来,使B相绕组通电,而A、C相绕组不通电;

B相绕组产生的磁场将使转子的2、4齿与B相磁极对齐,如图(b)所示,与图(a)相比,转子逆时针方向转动了一个角度。

第三个脉冲到来后,是C相绕组通电,而A、B相不通电,这时转子的1、3齿会与C组对齐,转子的位置如图(c)所示,与图(b)比较,又逆时针转过了一个角度。

图反应式步进电机工作原理图

当脉冲不断到来时,通过分配器使定子的绕组按着A相--B相--C相--A相……的规律不断地接通与断开,这时步进电动机的转子就连续不停地一步步的逆时针方向转动。

如果改变步进电动机的转动方向,只要将定子各绕组通电的顺序改为A相--C相--B相--A相,转子转动方向即改为顺时针方向。

单三拍分配方式时,步进电动机由A相通电转换到B相同点,步进电动机的转子转过一个角度,称为一步。

这时转子转过的角度是30度。

步进电动机每一步转过的角度称为步距角。

(2)三相双三拍运行方式三相双三拍运行方式:

每次都有两个绕组通电,通电方式是AB--BC--CA--AB……,如果通电顺序改为AB--CA--BC--AB……则步进电机反转。

双三拍分配方式时,步进电动机的步距角也是30度

(3)三相单,双六拍运行方式:

三相六拍分配方式就是每个周期内有六个通电状态。

这六中通电状态的顺序可以使A--AB--B--BC--C--CA--A……或者A--CA--C--BC--B--AB--A……六拍通电方式中,有一个时刻两个绕组同时通电,这是转子齿的位置将位于通电的两相的中间位置。

在三相六拍分配方式下,转子每一步转过的角度只是三相三拍方式下的一半,步距角是15度。

单三拍运行的突出问题是每次只有一相绕组通电,在转换过程中,一相绕组断电,另一相绕组通电,容易发生失步;

另外单靠一相绕组通电吸引转子,稳定性不好,容易在平衡位置附近震荡,故用的较少。

双三拍运行的特点是每次都有两相绕组通电,且在转换过程中始终有一相绕组保持通电状态,因此工作稳定,且步距角与单三拍相同。

六拍运行方式转换时始终有一相绕组通电,且步距角较小,故工作稳定性好,但电源较复杂,实际应用较多。

4硬件设计

4.1系统硬件设计

4.1.1最小单片机系统

5V电源:

给系统供电。

复位电路:

程序跑飞时复位电路可以使程序从新执行,相当于电脑的重启。

晶振:

给单片机运行提供时钟。

比如电脑的2.2GHz频率。

EA接高电平:

表示运行内部程序存储器下载的程序。

P0口接排阻:

P0口开漏结构,使用时一般接排阻拉高电平。

4.1.2键盘设计

该电路中采用独立键盘工作方式,共设有12个按键,分别提供3、6、9、12、15、18、21、24布局选择功能、键盘锁功能以及步进电机转动方向选择功能。

其中有程序决定起作用。

4.2系统工作原理论述

该系统的工作核心CPU为ATMEL公司生产的AT89S52芯片将多种功能的8位CPU与FPEROM(快闪可编程/擦除只读存储器)结合在一个芯片上,是一种低功耗、高性能的CMOS控制器,为很多嵌入式控制应用提供了非常灵活而又价格适宜的方案,其性能价格比远高于同类芯片。

它与MCS-51指令系统兼容,片内FPEROM允许对程序存储器在线重复编程,也可用常规的EPROM编程器编程,可循环写入/擦除1000次。

89S52内含4KB的FPEROM,一般的EEPROM的字节擦除时间和写入时间基本上均为10ms,对于任一个实时控制系统来说,这样长的时间是不可能在线修改程序的。

●CPU为Atmel公司生产的89C51/89C52/89C55等。

出厂所配晶振频率为11.0592MH,每个机器周期为1.085us,用户更换晶振以提高速度;

●存贮器为64K,前4K/8K20K在CPU内部,其它程序在EPR0M27512中;

●数据存贮器为32K(62256),地址为8000—FFFFH;

●Ⅰ/O扩展8155,片内RAM地址∶200O-20FFH;

●8155命令口地址为∶2100H;

●A口地址∶21O1HB口地址:

2102HC口地址:

2103H;

●T低八位∶2104HT高八位∶2105H;

●多路模拟开关的使用∶

IN0∶P1=0F8HIN4:

P1=0FCHIN1∶P1=0F9HIN5:

P1=OFDH

IN2∶P1=0FAHIN5:

P1=0FEHIN3∶P1=0FBHIN7:

P1=0FFH

●不掉电数据存贮器为∶500EH-507FH;

●控制板∶160x1O9(mm)供电∶+5V300mA+12V100mA-12V100mA;

●AT89C51是一种低功耗、高性能的片内含有4KB快闪可编程/擦除只读存储器(FPEROM-FlashProgrammableandEraseableReadOnlyMemory)的8位CMOS微控制器,使用高密度、非易失存储技术制造,并且与80C51引脚和指令系统完全兼容;

●主要性能:

与MCS-51微控制器产品系列兼容;

片内有4KB可在线重复编程的快闪擦写存储器。

引脚简介:

整体介绍:

该系统采用的芯片还有:

DS18B20温度传感器、ULN2003A以及MP28GA四相五线步进电机,并且步进电机在双八拍的方式下工作,步矩为5.625°

,步进电机的旋转方向由正反转控制信号控制。

步进电机的步数由键盘输入,可通过独立键盘S1~S9输入的步数分别为3、6、9、12、15、18、21、24和27步对应的角度为16.875°

、33.725°

、……、151.875°

,且键盘S10具有键盘锁功能,当键盘上锁时,步进电机不接受输入步数,也不会运转。

只有当键盘锁打开,选择运转方向并且输入步数时,步进电机才开始工作。

电机运转的时候有正转指示灯D2和反转指示灯D3指示。

电机在运转过程中用温度传感器采集步进电机外表温度(可设置),如果过热,则电机停止运转,同时红色指示灯亮,同时蜂鸣器警报响。

5软件设计

5.1分析论证

此步进电机控制电路设计与实现,主要采用了ULN2003A驱动芯片,温度传感器芯片DS18B20芯片,独立键盘等,包含步进电机运行驱动,温度采集,主函数三大功效模块。

5.1.1步进电机运行驱动模块

由于该系统中没有完全使用I/O端口,所以采用了独立键盘的工作方式,系统工作时,键盘控制的I/O口处于高电平状态,当按键按下时触发低电平,驱动程序实时监测并立即响应执行相应工作。

5.1.2温度采集模块

该模块的重要功效是对步进电机的外表采集温度,并且对已设定好的数值进行比较,从而确定机身温度是否过高,正常时电机正常转动,当温度过高时电机不再转动,并且蜂鸣器报警,红灯点亮。

5.1.3主函数模块

该模块重要功效是调动温度采集函数、步进电机函数中函数,实现模块化编程。

5.1.4整体功效

AT89S52芯片控制ULN2003A芯片驱动步进电机,扫描键盘输入运行状态以及运转步数,当电机外表温度超过32℃是电机停止转动,并且报警!

5.2程序流程图

主程序流程图如图所示:

图2程序流程图

5.3程序清单

步进电机驱动函数:

//BJDJ.h

#ifndef_BJDJ_H_

#define_BJDJ_H_

#include<

reg52.h>

intrins.h>

#defineucharunsignedchar

#defineuintunsignedint

sbitk1=P1^0;

sbitk2=P1^1;

sbitk3=P1^2;

sbitk4=P1^3;

sbitk5=P1^4;

sbitk6=P1^5;

sbitk7=P1^6;

sbitk8=P1^7;

sbitk9=P0^0;

sbitk10=P0^1;

sbitk11=P0^2;

sbitk12=P0^3;

voidkey_scan();

voidmotor_turn();

voidmotor_stop();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1