东北石油大学单片机控制直流电动机课程设计(共22页)_第1页
东北石油大学单片机控制直流电动机课程设计(共22页)_第2页
东北石油大学单片机控制直流电动机课程设计(共22页)_第3页
东北石油大学单片机控制直流电动机课程设计(共22页)_第4页
东北石油大学单片机控制直流电动机课程设计(共22页)_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、东 北 石 油 大 学课 程 设 计课 程 单片机课程设计 题 目 单片机控制直流电动机 学 院 电气信息工程学院 专业班级 学生姓名 学生学号 指导教师 李艳辉 邵克勇 2014年 7 月 7 日东北(dngbi)石油大学课程设计任务书课程(kchng) 单片机课程设计题目(tm) 单片机控制直流电动机 专业 自动化 姓名 学号 主要内容:采用单片机设计一个控制直流电机并测量转速的装置。单片机扩展有A/D转换芯片ADC0809和D/A转换芯片DAC0832。基本要求:(1)通过改变A/D输入端可变电阻来改变A/D的输入电压,D/A输入检测量大小,进而改变直流电机的转速。手动控制。在键盘上设置

2、两个按键直流电动机加速键和直流电机减速键。在手动状态下,每按一次键,电机的转速按照约定的速率改变。键盘列扫描(46)。主要参考资料:1 马淑华. 单片机原理与接口技术M. 北京: 北京邮电大学出版社, 2005.2 方建军. 智能机器人M. 北京: 化学工业出版社, 2004.3 刘复华. 单片机及其应用系统M. 北京: 清华大学出版社, 1992.4 周万珍. 单片机分析与设计应用 M. 北京: 电子工业出版社, 2004.5 陈元杰. 串级控制的PID参数自整定算法M. 北京: 电子工业出版社, 1996.完成期限 2014.6.30-2014.7.4 指导教师 李艳辉 邵克勇 专业负责人

3、 目录(ml) TOC o 1-3 h z u HYPERLINK l _Toc13984 第1章 概述(i sh) 第1章 概述(i sh)1.1 设计(shj)目的1、通过单片机课程设计,熟练掌握C语言的编程方法,将理论联系到实践中,提高我们的动脑和动手(dng shu)的能力。2、通过对单片机控制直流电动机控制系统的设计,掌握A/D转换、D/A转换的有关原理,加深对PWM波的理解和使用,同时对单片机的使用更加熟练,通过对简单程序的编写提高我们的逻辑抽象能力。1.2 设计任务和要求任务:采用单片机设计一个控制直流电动机并测量转速的装置。要求: 1、通过改变A/D输入端的可变电阻来改变A/D

4、输入电压,D/A输入检测量大小,进而改变直流电机的转速。2、手动控制。在键盘上设置两个按键直流电动机加速键和直流电机减速键。在手动状态下,每按一次键,电机的转速按照约定的速率改变。3、键盘列扫描(4*6)。1.3 设计原理直流电机是通过两个磁场的互作用产生旋转。其结构如下页图所示,固定部分(定子)上,装设了一对直流励磁的静止的主磁极N和S,在旋转部分(转子)上装设电枢铁心。定子与转子之间有一气隙。在电枢铁心上放置了由A和X 两根导体连成的电枢线圈,线圈的首端和末端分别连到两个圆弧形的铜片上,此铜片称为换向片。直流电机的速度与施加的电压成正比,输出转矩则与电流成正比。由于必须在工作期间改变直流电

5、机的速度,直流电机的控制是一个较困难的问题。直流电机高效运行的最常见方法是施加一个 PWM(脉宽调制)方波,其占空比对应于所需速度。电机起到一个低通滤波器作用,将PWM信号转换为有效直流电平。特别是对于微处理器驱动的直流电机,由于PWM信号相对容易产生,这种驱动方式使用的更为广泛。本项目的示例程序为了能够演示DAC0832的使用,未使用PWM驱动方式。而是利用直流电机的速度与施加电压成正比的原理,通过滑动变阻器向ADC0809输入控制电压信号,经AD后,输入到AT89C51中,AT89C51将此信号转发给DAC0832,通过功放电路放大后,驱动直流电机。需要注意的是,本题目使用的Proteus

6、版本,未提供ADC0809的仿真模型,这里以引脚、功能与之相同的ADC0808代替。同时,DAC0832也可以用引脚、功能相同的DAC0830代替。第2章 系统结构及主要(zhyo)元器件2.1 AT89C51单片机AT89C51是一种带4K字节(z ji)闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器

7、制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合(zh)在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 图图2-1 AT89C51单片机引脚2.2 LCD显示器1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个57或者511等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用。 图2-2 LCD1602

8、引脚图第3章 硬件(yn jin)设计 根据总设计方案可知硬件电路是以单片机为核心辅以适当的电路以完成要求功能。主要包括(boku)显示模块,A/D转换模块,D/A转换模块等模块。3.1 按键(n jin)电路3.1.1 AT89C51AT89C51是一种带4K HYPERLINK /view/60408.htm 字节FLASH HYPERLINK /view/87697.htm 存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位 HYPERLINK /view/1125.htm 微处理器,俗称

9、HYPERLINK /view/1012.htm 单片机。AT89C2051是一种带2K字节闪存可编程可擦除 HYPERLINK /view/132973.htm 只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多 HYPERLINK /view/2613031.htm 嵌入式控制系统提供了一种灵活性高且价廉的方案。图

10、3-1按键(n jin)电路的设计AT89C51 提供以下(yxi)标准功能:4k HYPERLINK /view/60408.htm 字节(z ji)Flash HYPERLINK /view/600209.htm 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工 HYPERLINK /view/716175.htm 串行通信口,片内振荡器及 HYPERLINK /view/2246970.htm 时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种 HYPERLINK /view/37.htm 软件可选的节电

11、工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及 HYPERLINK /view/597855.htm 中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。3.1.2 按键电路 如图2.1所示,单片机的P2.1和P2.2口分别接一个按键用于控制电机。当按下S1键时,电机转速提高,进入加速状态;当按下S2键时,电机转速减慢,进入减速状态。通过S1,S2两个按键可以达到键盘控制电机的作用。3.2 显示电路3.2.1 MAX7219MAX7219/MAX7221是一种集成化的串行输入/输出共阴极显示驱动器,它连接微处理器

12、与8位数字的7段数字LED显示,也可以连接条线图显示器或者64个独立的LED。其上包括一个片上的B型BCD编码器、多路扫描回路,段字驱动器,而且还有一个8*8的静态RAM用来存储每一个数据。 只有一个外部寄存器用来设置各个LED的段电流。 MAX7221与SPI、 QSPI以及 MICROWIRE相兼容,同时它有限制回转电流的段驱动来减少EMI(电磁干扰)。 一个方便的四线串行接口可以联接所有通用的微处理器。 每个数据可以寻址在更新时不需要改写所有的显示。MAX7219/MAX7221同样允许用户对每一个数据选择编码或者不编码。 整个设备包含一个150A的低功耗关闭模式,模拟和数字亮度控制,一

13、个扫描限制寄存器允许用户显示1-8位数据,还有一个让所有LED发光的检测模式。3.2.2 工作(gngzu)原理 图3-2 显示(xinsh)电路的设计 如图2.2所示,可变电阻接ADC0808转变成相应电压(diny)的数字信号,单片机通过P0口读取,再由P1口输出与转速相应的8位BCD编码到MAX7219。经由MAX7219处理后通过四位数码管显示出来。电动机所处速度级以速度档级数显示。正转时最高位显示“三” ,其它三位为电机转速;反转时最高位显示“F”,其它三位为电机转速。每次电动机启动后开始显示,停止时数码管显示出“0000”。3.3 A/D转换模块3.3.1 ADC0808 ADC0

14、808是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D HYPERLINK /view/425600.htm 模数转换器。其内部有一个8通道多路开关,它可以根据 HYPERLINK /view/178200.htm 地址码锁存 HYPERLINK /view/189742.htm 译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。是目前国内应用最广泛的8位通用A/D芯片。 主要特性 1)8路输入通道,8位A/D转换器,即分辨率为8位。 2)具有转换(zhunhun)起停控制端。 3)转换(zhunhun)时间为100s(时钟(shzhng)为640kHz时),130

15、s(时钟为500kHz时) 4)单个+5V电源供电。 5)模拟输入电压范围0+5V,不需零点和满刻度校准。 6)工作温度范围为-40+85摄氏度。 7)低功耗,约15mW。 ADC0809的工作过程首先输入3位地址,并使ALE=1,将地址存入 HYPERLINK /view/1498669.htm 地址锁存器中。此地址经 HYPERLINK /view/189742.htm 译码选通8路模拟输入之一到 HYPERLINK /view/421754.htm 比较器。START上升沿将逐次逼近 HYPERLINK /view/6159.htm 寄存器复位。下降沿启动 A/D转换,之后EOC输出信号

16、变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入 HYPERLINK /view/629932.htm 锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到 HYPERLINK /view/712987.htm 数据总线上。 转换数据的传送 A/D转换后得到的数据应及时传送给 HYPERLINK /view/1012.htm 单片机进行处理。 HYPERLINK /view/5593592.htm 数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。为此可采用下述三种方式。 (1

17、)定时传送方式 对于一种A/D HYPERLINK /view/110440.htm 转换器来说,转换时间作为一项技术指标是已知的和固定的。例如ADC0809转换时间为128s,相当于6MHz的MCS-51单片机共64个 HYPERLINK /view/713240.htm 机器周期。可据此设计一个延时 HYPERLINK /view/933538.htm 子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。 (2)查询方式 A/D转换芯片由表明转换完成的状态信号,例如ADC0808的EOC端。因此可以用查询方式,测试EOC的状态,即可确认转换是否完

18、成,并接着进行数据传送。 (3) HYPERLINK /view/2595212.htm 中断方式 把表明转换完成的状态信号(EOC)作为 HYPERLINK /view/600250.htm 中断请求信号,以中断方式进行数据传送。 不管使用上述哪种方式,只要一旦确定转换完成,即可通过指令进行数据传送。首先送出口地址并以信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受。图3-3 AD转换电路(dinl)的设计3.3.2 工作(gngzu)原理 如图2.3所示,外部电源通过滑动变阻器向ADC0808输入(shr)控制电压信号,经A/D处理后,输入到AT89C51中,交由AT89C

19、51处理,进行下一步动作。3.4 D/A转换模块3.4.1 DAC0832 DAC0832是8分辨率的D/A转换集成芯片。与微处理器完全兼容。这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。 HYPERLINK /view/405241.htm D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。主要特性参数 1.分辨率为8位; 2.电流稳定时间1us; 3.可单缓冲、双缓冲或直接数字输入; 4.只需在满量程下调整其线性度; 5.单一电源(dinyun)供电(+5V+15V); 6.低功耗,20mW。DAC0832的工

20、作(gngzu)方式DAC0832进行D/A转换,可以采用两种方法(fngf)对数据进行锁存。 第一种方法是使输入寄存器工作在锁存状态,而DAC寄存器工作在直通状态。具体地说,就是使 和 都为低电平,DAC寄存器的锁存选通端得不到有效电平而直通;此外,使输入寄存器的控制信号ILE处于高电平、 处于低电平,这样,当 端来一个负脉冲时,就可以完成1次转换。 第二种方法是使输入寄存器工作在直通状态,而DAC寄存器工作在锁存状态。就是使和为低电平,LE为高电平,这样,输入寄存器的锁存选通信号处于无效状态而直通;当和端输入1个负脉冲时,使得DAC寄存器工作在锁存状态,提供锁存数据进行转换。 图3-4 D

21、A转换电路的设计3.4.2 工作(gngzu)原理如上图2.4所示,电压信号输入(shr)后经过AD转换输入到AT89C51,由单片机通过P1口输出与转速相应(xingyng)的8位BCD编码,该编码通过DAC0832译成相应的模拟电压,经过信号放大实现电动机转向与转速的控制。 第4章 软件设计 4.1程序框图系统初始化按键是否按下 读取键值 Y 减速加速电机减速电机加速 调用显示子程序将模拟电压转变为数字信号 显示速度返回图 4-1 程序流程图 4.2程序(chngx)源代码#include#define uchar unsigned charuchar TABLE10=0XC0,0XF9,

22、0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90;unsigned int frq1,c;void delay(unsigned int k)unsigned int i,j;for(i=0;ik;i+)for(j=0;j121;j+);void display()uchar qian,bai,shi,ge;qian=0;bai=0;shi=0;ge=0;c=frq1;qian=c/1000;bai=c/100%10;shi=c/10%10;ge=c%10;P1=0 x01;P2=TABLEqian;delay(5);P1=0 x02;P2=TABLEbai;de

23、lay(5);P1=0 x04;P2=TABLEshi;delay(5);P1=0 x08;P2=TABLEge;delay(5);void chang(void) interrupt 0 using 0if(INT0=0)while(!INT0)frq1+;void main()unsigned int i=0;while(1)TMOD=0 x01;TH0=55536/256;TL0=55536%256;TR0=1;EA=1;EX0=1;while(TF0=1)i+;if(i=10) display();frq1=0;TF0=0;调速程序(chngx)#includereg51.h#incl

24、udeintrins.h#define uchar unsigned char#define uint unsigned intsbit P20=P20;sbit P21=P21;uchar flag=0;/*高低电平标志(biozh)*/bit direction=0;/*方向(fngxing)标志*/static uchar constant=1;/可以(ky)改变占空比void time0(void) interrupt 1 using 1 static uchar i;i+; /*频率为固定的1kHZ左右,只是占空比发生变化*/if(i=constant)flag=1;if(icons

25、tant)flag=2;if(i=10) i=0;TH0=0X9C;TL0=0X9C;/*改变转向标志*/void int1_srv (void) interrupt 2 using 2if(INT1=0)while(!INT0); constant-;if(constant=10)constant=0;/*中断(zhngdun),调节占空比*/void change(void) interrupt 0 using 0if(INT0=0)while(!INT0); constant+;if(constant=10)constant=0;/*/void main()EA=1;TMOD=0 x02

26、;ET0=1;TR0=1;EX0=1;IT0=1;EX1=1;IT1=1;TH0=0X9C;TL0=0X9C;while(1)P21=0;if(flag=1)flag=0;P20=1;if(flag=2)flag=0;P20=0;第5章 系统(xtng)仿真及调试5.1 仿真(fn zhn)步骤加载目标(mbio)代码文件 打开元器件单片机属性窗口,在“Program File”栏中添加上面编译好的目标代码文件“keil-12.hex”;在“Clock Frequency”栏中输入晶振频率为12MHz。ADC0809的时钟信号设置为640kHz。启动仿真如下页图所示,各按键功能如图中所注,LED中显示的为当前电压的数字信号值,即当前转速的档位(0-256),通过调整从滑动变阻器输出的电压值,可以观察到直流电机不同的转速。通过按键加减速,改变电机转速,数码管显示的数字也相应改变。结果如图4.1所示:图5-1 仿真(fn zhn)结果 按下加速键后,电机转速加快,数码管显示的数值(shz)增大。结果如图4.2所示:图5-2 仿真(fn zhn)结果5.2仿真结果(ji gu)分析通过键盘向单片机输入相应控制指令,数码管显示出不同的数值。当按下加速键时,数码管显示数值增大,说明电机转速增快;当按下减速(jin s)键时,数码管显示数值减小,说明电机转速

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论