计算机控制技术课程设计---直流电机PWM调速系统-工艺夹具.doc
- 文档编号:154949
- 上传时间:2022-10-04
- 格式:DOC
- 页数:25
- 大小:153KB
计算机控制技术课程设计---直流电机PWM调速系统-工艺夹具.doc
《计算机控制技术课程设计---直流电机PWM调速系统-工艺夹具.doc》由会员分享,可在线阅读,更多相关《计算机控制技术课程设计---直流电机PWM调速系统-工艺夹具.doc(25页珍藏版)》请在冰豆网上搜索。
计算机控制技术课程设计
题 目:
直流电机PWM调速系统
专 业:
08自动化01班
姓 名:
学 号:
指导老师:
2011年12月27日
目 录
目 录 -1-
摘 要 -2-
1、设计目的 1
2、设计功能、要求 1
3、硬件设计 1
3.1、原理图设计 1
3.2、器件清单 2
3.3、各元器件作用说明 2
3.4、工作过程说明 2
4、软件设计 3
4.1、设计思路 3
4.2、工作原理图 4
4.3、流程图 4
4.4、程序清单 4
5、仿真结果 9
5.1、仿真环境说明 9
5.2、程序编译结果 9
5.3、软件仿真结果 9
5.4、仿真结果说明 12
6、设计总结 12
7、参考文献 12
摘 要
本设计主要是利用AT89C51单片机设计直流电机PWM调速系统(脉宽调制的全称为:
PulseWidthModulator),系统同时带有模拟测速功能。
利用汇编语言编写程序,通过Proteus软件进行仿真验证设计。
设计中还用到了外部晶振、六位LED数码管作为速度显示,外接四个按键作为功能设定。
按下启动按键进入启动显示、调速系统进入等待状态,按下正转功能键,电机正转;按下反转功能键,电机反转;按下停止功能键,电机由自身阻力减速到停止,这时会停止显示,显示屏熄灭,系统进入等待状态,如果按下启动按键将重新启动。
经过一系列的测试验证,设计能满足各项要求,经过长时间的运行测试程序都能正常地运行,没出现错误。
可应在实际中应用,能满足日常直流电机的调速。
关键字 单片机;直流电机;PWM调速;
直流电机PWM调速系统
1、设计目的
利用单片机设计直流电机PWM调速系统,加深对以单片机为代表的计算机控制技术的熟悉程度,把学习到的理论知识应用到实际中,把单片机的知识系统地联系起来,增强动手能力,为以后的设计、工作做准备。
也是对这学期计算机控制的学习的一次检验。
2、设计功能、要求
占空比采用可调电阻输入模拟电压,或拨码开关的方式输入;驱动电路可用达林顿晶体管驱动器ULN2803;检测电机转速,并显示(用压控振荡器(可用555电路构成)来模拟直流电机的运行,对压控振荡器输出的脉冲进行计数,可换算出转速);在Proteus下仿真。
3、硬件设计
3.1、原理图设计
原理图的设计主要的问题是一些器件的选用,其中以振荡器的选用最为繁琐,因为对很多器件不时十分熟悉,接硬件电路的时候会遇到很多的小问题,一般只能从网上查找答案,或者是不断地尝试,尝试每个接口应该怎样接,结合平时的经验以及器件的一些共通点。
硬件原理图如下:
图1.电路原理图
3.2、器件清单
器件名称
数值、型号
数量
原理图中标号
电阻
10kΩ
2
R1、R2
电容
1nF
2
C1、C2
单片机
AT89C51
1
U1
三极管
2N1711
4
Q1,Q2,Q5,Q6
三极管
2N2905
2
Q3,Q4
8路电阻
300
1
RESPACK-8
晶振
\
1
CRYSTAL
按键
拨码
4
启动、正转、反转、停止
LED显示屏
6位
1
D1
拨码按键
SW-SPDT
8
SW1-SW8
3.3、各元器件作用说明
电容C2,C3以及晶振CRYSTAL用来为单片机提供外部晶振。
拨码开关用于输入占空比,可以提供8位二进制精度的输入。
电机驱动电路上的晶体管用于控制电机的正反转通电方向。
显示屏D1用于显示模拟测量的电机转速,与占空比输入成一定的关系。
“启动”按键用来启动系统,使系统进入等待状态,显示屏显示“0000P”,等待“正转”或者“反转”按键按下;按下“正转”按键后,电机开始以占空比设定的正脉冲时间进行正向转动,占空比设定越大转速越快,反之,则越小;按下“反转”即电机反方向转动。
“停止”按键用来停止电机的通电以及显示屏的显示,按下“停止”按键后,电机将按自身惯性滑行,显示屏则熄灭,无显示内容。
3.4、工作过程说明
正转:
启动系统,按下“启动”按键后,显示屏显示“0000P”,系统处于等待状态,电机未通电;按下“正转”按键后,电机开始正向转动,显示屏也会显示采集到的脉冲对应的转速,但由于电机启动到设定的转速需要一定的时间,所以电机上自带的转速表并不会马上显示到设定速度,但显示屏由于是测量输出脉冲的,所以一开始显示的就是设定速度。
反转:
启动系统,按下“启动”按键后,显示屏显示“0000P”,系统处于等待状态,电机未通电;按下“反转”按键后,电机开始反方向转动,情况基本上和正转的一样,就是电机速度显示会是负的。
停止:
系统处于“等待”、“正转”、“反转”状态时按下“停止”按键,电机即停止通电、显示屏熄灭,电机自由滑动到停止。
占空比调整:
只需将拨码开关拨到高电平或者低电平一侧上,即能组成8位二进制精度的占空比输入,调节可在任何时候,只要启动电机即可生效。
4、软件设计
4.1、设计思路
总思路是利用功能性子程序的方法,将系统分开不同的功能,分别利用子程序来完成,这样可以方便调试,思路也可以很清晰。
主程序主要是判断“启动”、“正转”、“反转”、“停止”功能键的按下与否,其它的事务调用子程序完成即可,主程序大部分都是在调用子程序。
初始化子程序完成初始化功能,将各数据寄存器清零,将显示码表的首地址赋给DPTR指针,开定时器0、外中断1以及计数器1,设定相应的设置。
速度脉冲采集子程序完成速度的采集,此程序是参考书本上第九章的速度测量表设计的,通过探测P3.3的脉冲周期,在一个周期内读入外中断1口上的脉冲个数,用来作为速度显示。
速度计算子程序完成速度数据的存储以及0速度时的赋值,原本想利用一除法程序来完成速度的计算的,但由于比较复杂,而且时间上也不允许,所以最后唯有用比较简单的模拟方法模拟速度的测量,其原理是一样的,只是没对采集到的脉冲进行处理,直接用来显示,基本能满足模拟的要求。
显示子程序实现速度数值的显示,由于是动态显示,所以要不断地执行显示程序,而且很容易就会出现闪烁,一开始想用静态显示的,但由于静态显示用到的锁存器较多,而且对动态显示已经非常熟悉,所以最后就用了动态显示,也是对以前学单片机的复习吧。
定时器0中断子程序起到最主要的作用——电机控制脉冲的输出,定时时间为1ms,将这1ms分成255个时间段,按占空比设定的比值输出相应时间的正脉冲、负脉冲,控制电机的速度,由于电机的速度只是与占空比有关系,定时器的定时时间长短并不影响电机转速的控制。
延时子程序用于显示子程序的位与位之间的显示延时,让每一位都显示一定的时间,以让人眼能察觉。
启动系统
停止
电机按设定方向、占空比转动
4.2、工作原理图
图2.工作原理图
4.3、流程图
开始
否
启动键按下?
是
调用初始化子程序
调用脉冲采集子程序
调用速度计算子程序
显示时钟时
调用显示子程序
是
置正转标志位
正转按键按下?
是
否
置反转转标志位
反转按键按下?
否
停止按键按下?
否
图3.主程序流程图
4.4、程序清单
SPEED1 EQU 0031H ;速度高位
SPEED EQU 0032H ;速度低位
DUTY EQU 0033H ;占空比存储数据,正脉冲时间
DUTYN EQU 0034H ;占空比存储数据,负脉冲时间
DISDATA EQU 0035H ;高八位显示数存储
DISDATA2EQU 0036H ;低八位显示数存储
ORG 0000H
AJMP MAIN
ORG 000BH ;定时器0中断入口
AJMP SBR1
;====================主程序========================================
ORG 0100H
MAIN:
CLR EA ;停止按键按下后关所有中断
MOV P3,#0FFH ;输出停止控制字
MOV P2,#0
WAIT:
JNB P2.4,WAIT ;等待启动按键按下
BEGIN:
ACALL START ;初始化
LOOP:
DJNZ 37H,SPE
MOV 37H,#50
ACALL GET ;速度脉冲采集
ACALL CAL ;速度计算
SPE:
ACALL DIS ;速度显示
JNB P2.5,M1 ;正转按键转正转
SETB 01H ;置正转标志位
CLR 02H ;清反转标志位
AJMP HERE
M1:
JNB P2.6,HERE ;
SETB 02H ;置反转标志位
CLR 01H ;清正转标志位
HERE:
JB P2.7,MAIN ;停止按键按下,返回判断启动是否按下
AJMP LOOP
;==========初始化子程序=============================================
START:
MOV DPTR,#TAB;
MOV DUTY,#0
MOV DUTYN,#0
MOV A,#0
MOV R0,#0
MOV R1,#0
MOV R2,#
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机控制 技术 课程设计 直流电机 PWM 调速 系统 工艺 夹具