广东工业大学-基于某51单片机课程设计报告材料小直流电机调速控制系统.doc

上传人:李司机 文档编号:1119619 上传时间:2022-06-27 格式:DOC 页数:17 大小:395.50KB
返回 下载 相关 举报
广东工业大学-基于某51单片机课程设计报告材料小直流电机调速控制系统.doc_第1页
第1页 / 共17页
广东工业大学-基于某51单片机课程设计报告材料小直流电机调速控制系统.doc_第2页
第2页 / 共17页
广东工业大学-基于某51单片机课程设计报告材料小直流电机调速控制系统.doc_第3页
第3页 / 共17页
广东工业大学-基于某51单片机课程设计报告材料小直流电机调速控制系统.doc_第4页
第4页 / 共17页
广东工业大学-基于某51单片机课程设计报告材料小直流电机调速控制系统.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《广东工业大学-基于某51单片机课程设计报告材料小直流电机调速控制系统.doc》由会员分享,可在线阅读,更多相关《广东工业大学-基于某51单片机课程设计报告材料小直流电机调速控制系统.doc(17页珍藏版)》请在三一办公上搜索。

1、word单片机原理与应用技术课程设计论文课程名称单片机原理与应用技术 题目名称 小直流电机调速控制系统任 务 书 小直流电机调速控制系统1以AT89C51单片机为核心器件组成小直流电机调速控制系统;2搭建外围硬件电路;3系统程序编制与调试;4电路系统的综合调试;5撰写课程设计论文;6完成课程设计论文辩论。用ADC0809采样电位器的值,并在显示器上显示,将此信号值作为方波占空比,通过0832输出经放大后控制电机转速。时间设计容第1-2天查阅资料、方案比拟、设计与论证第3-4天仿真、程序编写第5天焊接第6天系统调试目录1.3 PWM变频调速开展前景-4 1.31PWM调速-52.方案论证规划、选

2、定-53.方案说明设计-5-97.技术小结完毕语-10-109.附录元件清单、电路图、源程序代码、实物图片等1.1 课题研究的目的与意义直流电机具有良好的启动性能和调速特性,虽然各种类型的电机层出不穷,然而在自动控制系统、电子仪器设备等方面,直流电机的应用还是占有突出地位。直流电机调速平滑,调速围广,过载能力强,可实现频繁的无级快速起动、制动、加减速和正反转。为了满足生产过程自动化系统化各种不同的特殊要求,从而对直流电机提出了较高的要求,改变电枢回路电阻调速、改变电压调速等技术已远远不能满足现代科技的要求,通过PWM方式控制直流电机调速的方法就应用而生。 PWM直流电机调压调速系统拥有需要的功

3、率元件少、线路简单、控制方便、开关频率高、低速性能好。通过学习并熟练掌握这个调速系统,对我们今后的工作有十分重要的意义。 本课题是以单片机为主要控制核心,针对直流电机的调速系统进展设计,通过本次课程设计培养我们综合运用所学的知识和技能解决问题的本领,巩固和加深多所学知识的理解。1. 2 国外电机控制的研究现状与开展国外主要电气公司如瑞典ABB公司、德国的西门子公司、AEG公司、日本的三菱公司、东芝公司、美国的GE公司、西屋公司等,均已经开发出多个数字直流调速装置,有成熟的系列化、标准化、模板化的应用产品。我国从20世纪60年代初试制成功第一只硅晶管以来,晶闸管直流调速系统也得到迅速的开展和广泛

4、的应用。目前晶闸管供电的直流调速系统在我国各部门得到运用。还有数字直流调速系统的研究,随着PWM技术的开展,我国直流电机调速也正向着脉宽调制方向开展。PWM调速作为一项新的调速技术,在西方兴旺国家已得到广泛应用。目前,不论是在同步电机调速方面,还是异步电机调速方面,PWM调速是较好的。1.31PWM调速现代的PWM调速采用的是脉宽调制技术,具体一点就是应用了采样控制理论中的一个重要理论,冲量相等而形状不同的窄脉冲加在具有惯性环节上时,其效果根本一样,冲量即窄脉冲的面积。2. 方案论证规划、选定方案一:以两块AT89C51单片机进展通信扩展I/O口为控制中心,采集电位器的值通过A/D转换器ADC

5、0809,单片机控制将其转换成数字量显示在数码管上;再将这个值作为信号,改变占空比,再通过D/A转换器DAC0832转换成模拟量,进而通过LM324运放和ULN2003放大控制直流电机调速。方案二:同样以AT89C51单片机为控制中心,但是只用一块单片机。采用两块595芯片级联来控制数码管的段选与位选,节省I/O口。采集电位器的值通过A/D转换器ADC0809,单片机控制将其转换成数字量显示在数码管上;再将这个值作为信号,改变占空比,再通过D/A转换器DAC0832转换成模拟量,进而通过OPAMP放大控制直流电机调速。经过比拟,方案一的硬件电路复杂,而且要用两块单片机比拟浪费和麻烦。最终选定了

6、硬件电路简单,需要在程序上进展一定数据处理的方案二。3.方案说明设计本设计以AT89C51单片机为控制中心,运用电位器采集信号,然后经过ADC0809进展模拟量到数字量的转换,将此作为占空比并将最终数据传输给单片机,单片机进展进一步处理并将处理的数据传输给DAC0832将数字量转换成模拟量再经过OPAMP放大输出驱动直流电机,并通过电位器值得改变来改变占空比,从而实现直流电机的调速。整体框图如下:ADC0808模数转换两个595级联控制数码管显示数字值电位器采集信号值AT89C51MOROROPAMP放大驱动模块DAC0832数模转换电位器的作用调节电压含直流电压与信号电压和电流的大小。电位器

7、的电阻体有两个固定端,通过手动调节转轴,改变动触点在电阻体上的位置,如此改变了动触点与任一个固定端之间的电阻值,从而改变了电压与电流的大小。电位器是一种可调的电子元件。它是由一个电阻体和一个转动或滑动系统组成。当电阻体的两个固定触电之间外加一个电压时,通过转动或滑动系统改变触点在电阻体上的位置,在动触点与固定触点之间便可得到一个与动触点位置成一定关系的电压。它大多是用作分压器,得到模拟量4.1.2模数转换与显示 当电位器发生改变时,阻值发生相应的变化,通过如下图所示的电路能够使得电位器两端的电压发生相应的改变。此时的输出信号为模拟量,单片机无法直接读取。通过ADC0809转换成数字量显示在数码

8、管上单片机通过MAX2719控制数码管显示上图为模数转换模块上图为数码管显示模块 89C51是一个低功耗,高性能CMOS 8位单片机,片含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统,芯片集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89C51可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89C51具有如下特点:40个引脚,4k Bytes Flash片程序存储器,128bytes的随机存取数

9、据存储器RAM,32个外部双向输入/输出I/O口,4个中断优先级,2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,部集成看门狗计时器片时钟振荡器。其工作电压在4.55V,一般我们选用5V电压。 ADC0809是带有8位A/D转换器、8路多路开关以与微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进展转换。三态输出锁存器用于锁存A/D转换完的数字量,当OE端为高电平时,才可

10、以从三态输出锁存器取走转换完的数据。下面为ADC0809与单片机的连接电路:DAC0832是8分辨率的D/A转换集成芯片。与微处理器完全兼容。这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。D/A转换器由8位输入锁存器、8位DAC存放器、8位D/A转换电路与转换控制电路构成。OPAMP(LM324系列由四个独立的,高增益,部频率补偿运算放大器,其中专为从单电源供电的电压围经营连接图如下:4.4 MAX2719 LED驱动显示模块 MAX7219是一种串入、并出的共阴极LED数码管显示驱动器,每片可驱动8位LED数码管显示,与单片机的接口只需3根线,带B

11、CD译码器,与显示测试、移位、锁存器等,输出电流达40mA,外围只需一只亮度调整电阻。 1、引脚功能说明DIN:串行数据输入端,CLK的上升沿时数据被载入部16位移位存放器中CLK:串行时钟输入端,最高工作频率可达10MHzLOAD:片选端,低电平接收DIN端的数据,高电平时数据被所存DIG07:LED的位控制端ADP:LED的端控制端DOUT:串行数据输出端,用于芯片的级联ISET:硬件亮度调整端,在该引脚与VCC之间跨接一个电阻,LED的亮度即可通过该电阻来调节,流过LED的段驱动平均电流为流过此电阻电流的100倍,此电阻值围为:1080K之间。2、部存放器说明 A、译码方式选择存放器地址

12、:09H赋值:FFH表示使用MAX7219部的BCD译码器00H表示不使用MAX7219部的BCD译码器 B、亮度调节存放器地址:0AH赋值:00H0FH可改变MAX7219所驱动的LED的亮度,其变化围在1/3231/32之间 C、扫描位数设定存放器地址:0BH赋值:00H所有位不显示01H07H依次对应于18位与前面位全部显示即需显示的位应为“1 D、待机模式开关存放器地址:0CH赋值:00HLED全灭01HLED正常显示 E、显示器测试存放器地址:0FH赋值:00HLED为正常显示状态01HLED测试状态,即LED全亮 F、8位LED显示数据存放器地址:01H08H首先处理数据的采集程序

13、。其次对数据进展处理。最后完善小直流电机的控制函数。 将数模转换模块作为主要程序,将模数与放大驱动模块等小模块写成头文件的形式置于主程序中,这样程序分模块易理解,易操作。如下图为ADC0809工作时序,知道后才能依据时序编写程序6.调试 先把程序下载到单片机,通电,开始调试。旋动电位器,改变电位器的值,数码管上显示数值变化,电机转速也有变化,转速的变化与数值大小变化趋势一致。软件调试是通过对用户程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除的过程。正确无误后加载至硬件电路中的单片机,如果发现不理想的效果,在确保硬件无误的情况下,根据需求修改程序,慢慢调试以实现自己想要的效

14、果。7.技术小结完毕语 从拿到课题的茫然到渐渐学会承受,开始慢慢自己动手查找资料,询问很多单片机学的好的同学与学长,再到查找到电路的设计,从程序的编写到仿真功能的根本实现,最后历经一路坎坷做出实物,效果和功能根本达到。感觉真的很辛苦,但同时也很快乐很充实,毕竟收获了许多。从查资料到确定方案就差不多花了四天时间,在设计过程中不断的发现问题,同时也不断的解决问题,越来越觉察制作实物相比整体设计要难一些,就算仿真完全没错实物运行也会有很多问题。实际制作过程中会遇到多种多样的问题,刚开始仿真效果总是出不来,要通过不断的测试和实验来解决,最后焊接出来的实物没有问题。总之,不能粗心大意,做任何事都要细心,

15、要考虑的周全,不能因为一时的失败而丧失信心,从哪里跌倒了要从哪里爬起来,只有有了这样的精神,才会从问题中学到更多的知识,为我以后更好的开展奠定了根底。谢谢学院和教师给予我们这次锻炼的机会,成长的机会,谢谢!1吴黎明主编单片机原理与接口技术第二版,科学.2毅刚主编,基于Proteus的单片机课程的根底实验与课程设计,人民邮电.9. 附录元件清单、电路图、源程序代码等元件用途 数量AT89C51单片机1晶振单片机外围电路需要1电容33PF单片机外围电路需要2ADC0809、DAC0832、MAX7219模数转换芯片、数模转换芯片、电子数码管控制需要各1电位器采集信号1电阻5.1KMAX7219芯片

16、使用1电阻1K数模转换电路需要1芯片电路需要4OPAMP(LM324)提供运放1小直流电机电机17SEG-MPX4-CCLED显示模块1连接图运行图/*小直流电机调速控制系统*/#include#include#define uchar unsigned char#define uint unsigned int/ADC0808的控制端口sbit OE=P10; /0808读取数字量允许,高电平有效sbit EOC=P11;/0808转换完毕标志,完毕时为1sbit START=P12;/下降沿开始转换sbit CLOCK=P13;/0808的芯片信号/DAC0832的控制端sbit CS=P

17、16; /0832的片选sbit WR1=P17;/0832写入数字量控制信号之一/LED的控制位sbit MAXDIN=P20; /数据输入口sbit MAXLOAD=P21;/载入数据,上升沿锁定sbit MAXCLK=P22;/上升沿读取/共阴极段码:123456789全灭uchar code ledcode=0x7e,0x30,0x6d, 0x79,0x33,0x5b,0x5f,0x70,0x7f,0x7b,0x00;/延时程序,要写在前面void delay(uchar time) uchar k,l; for(k=0;ktime;k+) for(l=0;l110;l+) ; /AD

18、C0808初始化/A,B,C已经全部接地,选中IN0输入void init_adc0808() EA=1; /中断总允许 TMOD=0x02;/T0工作方式2 TH0=216; /定时40us,CLOCK周期80us, ET0=1; /定时器1中断允许 TR0=1; /启动定时器 START=0; /下降沿开始进展下一轮A/D转换 OE=0; /高电平时允许读取数字数据 P1=0x30;/DAC0832初始化void init_dac0832() CS=0;/选中 WR1=0; /使其开始转换/向MAX7219写入字节8bitvoid sendbyte(uchar dat) uchar i,t

19、emp; _nop_(); for(i=0;i8;i+) /取最高位 temp =dat&0x80; /逐位左移 dat=dat1; if(temp) MAXDIN=1; else MAXDIN=0; MAXCLK=0; _nop_(); MAXCLK=1; /向MAX7219写入地址和控制字void sendword(uchar addr,uchar dat)/载入数据,连续数据的后16位在LOAD上升沿/时被锁定,第16个上升沿之后,必须把MAXDIN/置高,否如此数据从DOUT流失 MAXLOAD=0; _nop_(); sendbyte(addr); _nop_(); sendbyte

20、(dat); _nop_(); MAXLOAD=1;/MAX7219初始化void init_max7219() sendword(0x0c,0x01);/设置电源工作模式 sendword(0x0a,0x09);/设置亮度 sendword(0x0b,0x03);/设置扫描界限 sendword(0x09,0x00);/设置译码模式 sendword(0x0f,0x00);/显示测试/MAX7219清空void clear_max7219() uchar i; for(i=1;i=8;i+) sendword(i,0x00); /获取电压输入值数字量uchar adinput() uchar

21、 value; /停止转换4部曲 OE=0; /暂停转换 EOC=1; /转换完毕 START=0;/没有下降沿 P1&=0x8f; P1 |=0x00; delay(10); /产生一个低脉冲开始转换 START=1; delay(10); START=0; /等待转换完毕,完毕时EOC=1,跳过下面循环 while(!EOC); delay(10); /OE=1时允许读取转换结果 OE=1; delay(1); value=P0; /关掉读取 OE=0; return value;/将滑动变阻器的电压值显示在LED上void led(uchar v) /量程缩小后的值 /放大10000倍,

22、提高精度 unsigned int vv=(int)*v; /位数操作 uchar j,k,l,m; m=vv/10000;/个位 l=vv%10000/1000; /十分位 k=vv%1000/100; /百分位 j=vv%100/10; /千分位 init_max7219(); clear_max7219(); sendword(0x01,ledcodej); sendword(0x02,ledcodek); sendword(0x03,ledcodel); sendword(0x04,ledcodem | 0x80);/向DAC0832输出数据void dasend(uchar v) init_dac0832(); P3=v;/定时器中断T0void timer0(void) interrupt 1 /产生供应0808的时钟信号 CLOCK=CLOCK;void main() /变量要写在最前面 uchar input; /初始化ADC0808 init_adc0808(); while(1) /获得电压 input=adinput(); /显示电压 led(input); /输出PWM调制信号 dasend(input); 17 / 17

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号