单片机课程设计.docx
- 文档编号:11403772
- 上传时间:2023-05-31
- 格式:DOCX
- 页数:16
- 大小:162.93KB
单片机课程设计.docx
《单片机课程设计.docx》由会员分享,可在线阅读,更多相关《单片机课程设计.docx(16页珍藏版)》请在冰点文库上搜索。
单片机课程设计
电气信息学院
单片机综合课程设计报告
课题名称电风扇模拟控制系统设计
专业班级13工电01班
学号1304200303
学生姓名方军
指导教师苏文静
评分
2015年12月22日至12月29日
摘要
步进电机是将电脉冲信号转化为角位移或直线位移的执行文件。
步进电机可以直接用数学信号驱动,使用非常方便。
步进电动机的角位移量和输入脉冲的个数严格成正比,在时间上与输入脉冲同步,因此只要控制输入脉冲的数量、频率以及电动机绕组通电的相许,便可获得所需的转角,转速及转动方向。
在没有脉冲输入时,在绕组电源的激励下气隙磁场能使转子保持原有位置处于定位状态。
因此非常适用于单片机控制。
它的运行速度和步距不受电源电压波动及负载的影响,因而被广泛应用于数模转换、速度控制和位置控制系统。
本课程设计以80c51单片机作为微控制器,使用混合步进电机驱动芯片ULN2003A进行驱动,实现了对步进电机运行状态的简单控制。
本次设计能实现的功能有步进电机的正转、反转和连续旋转等。
Abstract
Steppermotoristheelectricpulsesignalintoangulardisplacementorlineardisplacementoftheimplementationofthedocument.Thesteppermotorcanbedirectlydrivenbymathematicalsignals,soitisveryconvenienttouse.Theangulardisplacementofthestepmotorisdirectlyproportionaltothenumberofinputpulses.Intime,theinputpulseissynchronizedwiththeinputpulse,soaslongasthenumberandthefrequencyoftheinputpulsesarecontrolled,therequiredrotationangle,therotationspeedandtherotationdirectioncanbeobtained.Whenthereisnopulseinput,theairgapmagneticfieldcankeeptherotorinthepositionoftherotorpositionundertheexcitationofthewindingpowersupply.Soitisverysuitableforsinglechipmicrocomputercontrol.Itiswidelyusedindigitalanalogconversion,speedcontrolandpositioncontrolsystembecauseofitsrunningspeedandsteplength,whichisnotaffectedbypowersupplyvoltagefluctuationandload.Thiscourseisdesignedto80C51microcontrollerasthemicrocontroller,theuseofhybridsteppermotordriverchipULN2003Atodrive,toachieveasimplecontroloftherunningstateofthesteppermotor.Thedesigncanachievethefunctionofthesteppermotorisrotating,reverseandcontinuousrotation,etc..
1、1设计任务
本次课程设计要求按键控制二相四线步机电机的工作状态,包括:
正转、反转。
步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。
2、设计方案
1.任务分析
1)1.1步进电机工作原理
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,它的旋转是以固定的角度一步一步运行的。
可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
2)1步进电机的主要特性
步进电机必须加驱动才可以运转,驱动型号必须为脉冲信号,没有脉冲的时候,步进电机静止,如果加入适当的脉冲信号,就会以一定的角度(称为步角)转动。
转动的速度和脉冲的频率成正比。
型号20BY20L010步进电机的步进角度为18度,一圈360度,需要20个脉冲完成。
步进电机具有瞬间启动和急速停止的优越特性。
改变脉冲的顺序,可以方便的改变转动的方向。
2.方案设计
1)步进电机的控制方法
电机的运转一般由脉冲和方向信号来控制的,脉冲的频率控制电机的转速,脉冲的个数控制电机的转角;方向信号的高、低电平控制着电机的正、反转。
用单片机控制步进电机,可以用一个输出口发送脉冲:
高电平->延时->低电平->延时……延时的长短控制脉冲的频率,电平的转换次数就是脉冲个数;另外用AT89C51的输出作为方向信号。
22)建立相序表
实现步进电机运行方式、方向和速度以及启/停的控制,是接口软件设计的
主要任务。
为此,在编写程序之前,要建立一个相序表,相序表的建立应根据步进电机运行方式的要求,如图2.2.1,图2.2.2。
步数
P2.0
P2.1
P2.2
P2.3
A
B
C
D
1
1
1
0
0
2
0
1
1
0
3
0
0
1
1
4
1
0
0
1
图2.2.1正转环形脉冲分配表
步数
P2.0
P2.1
P2.2
P2.3
A
B
C
D
1
1
1
0
0
2
1
0
0
1
3
0
0
1
1
4
0
1
1
0
图2.2.2反转环形脉冲分配表
3)硬件方案
控制器芯片的选择
控制器采用80C51单片机。
其引脚功能如下:
80C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51?
指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,intel的85C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
驱动芯片的选择
ULN2003是高耐压,大电流达林顿陈列,有七个硅NPN达林顿管组成。
ULN203的每一对达林顿管都串联一个2.7k的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。
ULN2003工作电压高,工作电流大,灌电流可达500mA,并且能在关态时承受50V的电压,输出还可以在高负载电流并行运行。
4)软件方案
运行方式与方向的控制——循环查表法
步进电机的运行方式是指各相绕组循环轮流通电的方式。
为了实现对各绕组按一定方式轮流加电,需要一个脉冲循环分配器。
循环分配器可用硬件电路来实现,也可用软件来实现。
采用软件来设计脉冲循环分配器,又有两种方法:
控制字法和循环查表法。
而本课程设计用到的是循环查表法。
循环查表法是将各相绕组加电顺序的控制代码制成一张表——步进电机相序表,存放在内存区,再设置一个地址指针。
当地址指针依次加1(或减1)时,即可从表中取出加电的代码,然后输出到步进电机,产生按一定运行方式的走步操作。
若改变相序表内的加电代码和地址指针的指向,则可改变步进电机的运行方式和方向。
3、系统硬件设计
1.时钟电路设计
如图3.1.1所示,采用内部时钟产生方式,在XTAL1和XTAL2两端跨接晶体或陶瓷振荡器,与内部反相器构成稳定的自击震荡。
其发出的时钟脉冲直接送入片内定时控制部件。
图3.1.1时钟电路
2.开关复位电路设计
如图3.2.1所示,也可用上电复位代替。
图3.2.1开关复位单路
3.驱动电路设计
如图3.3.1所示,本设计中实验1、2、3、4脚做输入端,16、15、14、13座相对应的输出端,起到放大的作用,以驱动电机。
图3.3.1驱动电路
4.开关电路设计
如图3.4.1所示,R1和R2为上拉电阻,开关K1控制步进电机正转,K2控制步进电机反转。
图3.4.1开关电路
4、系统软件设计
1.主程序流程图设计
N
N
YY
五、仿真与性能分析
1、系统仿真过程
1)进入KeilCμVision4开发集成环境,创建一个新项目(Project),并为该项目选定单片机CPU器件(AT89C52)。
并为该项目加入KeilC源程序(代码见附录)。
2)单击“Project菜单/OptionsforTarget”选项或者点击工具栏的“optionfortarget”按钮,弹出窗口,点击“Debug”按钮, 在出现的对话框里在右栏上部的下拉菜单里选中“ProteusVSMDriver”。
并且还要点击一下“Use”前面表明选中的小圆点。
再点击“Setting”按钮,设置通信接口,在“Host”后面添上“127.0.0.1”,如果使用的不是同一台电脑,则需要在这里添上另一台电脑的IP地址(另一台电脑也应安装Proteus)。
在“Port”后面添加“8000”。
设置好的情形如图所示,点击“OK”按钮即可。
最后将工程编译,进入调试状态,并运行。
3)进入Proteus的ISIS,鼠标左键点击菜单“Debug”,选中“useromotedebugermonitor”,如图所示。
此后,便可实现KeilC与Proteus连接调试。
图5.1.1原理图
2.仿真结果分析
1)步进电机正转,图5.2.1。
图5.2.1
2)步进电机反转,图5.2.2
图5.2.2
6、总结与体会
在完成本设计的过程中,我把注意力主要集中在编程,电路仿真和调试上。
合理的运用软件设计模块电路可以节省很多时间,但完全照搬也不能达到预期的效果,因为实际参数无法与设计精确匹配,因此做到精益求精,尽量达到指标要求。
本次设计综合运用了单片机和集成电路的知识,通过查阅大量相关资料,包括查阅相关书籍和网上的资料。
在方案设计方面,我们小组成员通过讨论筛选出最优的设计方案,比如在驱动电路设计时,我们放弃直接利用集成块驱动步进电机,而选用分离元件来实现同样功能,从而对小功率放大电路有了进一步的了解。
通过这次课程设计,进一步了解了步进电机的工作原理,以及单片机怎样控制电机的实现。
从电路设计,单片机控制编程以及Proteus仿真,让我感受最深的是搭建电路,第一遍搭建电路时很认真的按着原理图把电路搭建出来了,可是仿真时,按键后,电机一直不转动,于是我又把电路重新搭建一遍,因为第一遍搭建的电路可能忘记了接电源,而且仿真与实际电路参数存在差异,驱动电路中电阻选用不合理,放大后的电流没有达到电机所需要的0.5A。
第二遍搭建,我认识到了这个问题,上了电源,驱动电机工作。
但是测试了还是不动,最后经过我不断的调整,发现是基极电阻值小了,电流放大倍数不足以提供电机转动,最终还是到了正常状态。
另外就搭建过程中出现的问题而言,我认为在搭电路过程中我们要特别注意这样几个方面;一是搞清楚电路图中电路的流向,标出正负极;三是搭建时尽量使用最少的线连接一个赏心悦目的电路,便于老师检查,自己找错误。
本次课程设计,使我的设计能力、分析与解决实际问题的能力、动手操作能力得到了很大的提高。
通过该课题的设计学习,更熟悉的了解和掌握单片机应用系统设计的基本方法、设计思路、设计步骤及调试运行等全过程,达到了理论联系实际,学以致用的目的。
通过两周的努力,完成了老师交给我们的设计工程——单片机控制二相四线步进电机。
刚开始遇到一些困难,经过老师的细心指导,和同学的帮助,才得以解决。
在规定时间内完成了任务。
期间,感触最深的是自己的专业基础知识不熟练,知识面不够具体全面,虽然经翻阅资料,知识点能够整合完成,但更多的需要自己平时注意专业知识的补充和积累,提高动手,设计能力和分析解决问题的能力,为就业后的工程设计奠定良好的基础。
8七、参考文献
[1]王晓明编,电动机的单片机控制(第一版),北京航空航天大学出版社,2002
[2]张毅刚编,单片机原理与应用,高等教育出版社,2006
[3]康华光编,电子技术基础模拟部分(第五版),高等教育出版社,2006
[4]董峰,解统燕编,ProtelDXP电路设计基础教程,机械工业出版社,2008
附录1系统原理图
附录2程序清单
#include
#defineucharunsignedchar
#defineuintunsignedint
sbita=P0^0;
sbitb=P0^1;
uncharcodeTAB[8]={0x02,0x06,0x04,0x0c,0x08,0x09,0x01,0x03};
chari,j;
/延时子程序/
voiddelay()
{
uchark=65535;
uints;
do
{for(s=0;s<100;s++);
}while(--k);
}
/带返回值的当前励磁状态检测函数/
ucharread_tab()
{
uchartest;
test=P2;
test&=0x0f;
switch(test)
{
case0x02:
i=0;break;
case0x06:
i=1;break;
case0x04:
i=2;break;
case0x0c:
i=3;break;
case0x08:
i=4;break;
case0x09:
i=5;break;
case0x01:
i=6;break;
case0x03:
i=7;break;
default:
break;
}
/主函数/
voidmain()
{
P2=0xff;
P0=0x03;
while
(1)
{
if(a==0)
{
i=read_tab();
i=i+1;
if(i==8)
i=0;
P2=TAB[i];
dalay();
}
if(b==0)
{
i=read_tab();
i=i-1;
if(i<0)
i=7;
P2=TAB[i];
delay();
}
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)