单片机综合实验-PWM直流电机调速

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1/15武汉工程大学实验报告实验课程单片机综合实验实验项目单片机控制电机转速实验(PWM)专业名称07级通信工程实验日期2009年11月27日班级02班指导教师苏文静实验地点机电楼4082/15实验目的1.了解直流电机PWM的工作原理2.基础要求:编程并实现直流电机的调速,LED显示电机的转速,即电位器输出(开环)3.扩展要求:编程并实现直流电机的调速,以SPEED口输出的信号为反馈显示电机的实际转速(闭环)实验原理1.PWM的调速原理PWM调速是通过改变输出脉冲的占空比,从而改变电机转速的一种调速方法。PWM调速分为单极性和双极性两种。在单极性方式下,电机的转动方向不变,改变的只是转速;而在双极性方式下,电机的转动方向和转速都是可变的。以下以单极性为例说明PWM调速的基本原理。假设一个脉冲周期内,高电平电压为Us,持续时间为t1;低电平为0V,持续时间为t2。则脉冲周期T=t1+t2,该周期内平均电压U0=t1*Us/T。令α=t1/T,则U0=α*Us,α表示占空比。当高电平电压不变的情况下,电机两端电压的平均值U0取决于占空比α的大小。改变α值就可以改变端电压的平均值,从而达到调速的目的,这就是PWM调速原理。在双极性方式下,如果U0为负,意味着电机将反转,转速由U0的绝对值控制。2.对象模块(PWM电机调速模块)工作原理直流电机PWM调速模块由测速电路和PWM调速电路两部分组成。模块的电源由接口总线引入。本模块中使用的电机为5V的直流电机。电机测速部分(1)直流电机测速原理介绍电机测速部分由一个霍尔开关和信号放大电路组成。与电机同轴的转盘上装有两块的强力磁钢,它们的磁极性相反,以保持转盘的平衡并保证转盘每转一周霍尔开关只导通一次。霍尔开关平时输出为正电压,当转盘上的磁钢与霍尔开关正对时,霍尔开关输出负电压,经整形、放大输出。单片机通过对负脉冲计数,可计算出电机的转速。(2)电机测速部分电路原理及说明3144为霍尔开关,整形、放大由LM358完成。第一级358作为比较器使用,第二级作为电压跟随器。SPEED为负脉冲输出接口,对应于模块上的SPEED插孔。(3)电机测速部分电路测试方法将模块插在接口挂箱或对象挂箱上并接通电源,电机应转动。用示波器在SPEED插孔处可以看到连续的负脉冲。3/151Q13144R41MR210KVCC1+2-1LM358VCC1+2-2LM358SpeedR1100R310KR5R61k10kVCCVCCPWM调速部分(1)PWM调速电路原理及说明JUMP跳线为极性选择。2、3脚短接(模块上选择D端)为双极性;1、2脚短接(模块上选择S端)为单极性。单极性时,PWMIN为高,电机两端无电压;PWMIN为低,电机两端为正电压。双极性时,PWMIN为高,电机两端为负电压;PWMIN为低,电机两端为正电压。(2)PWM调速电路基本测试方法将CPU模块的P1.0~P1.1分别接至CPU挂箱的K1~K3,T0接PWM调速模块的PWMIN,模块的跳线1、2脚短接。运行测试程序,改变K1~K3的值,电机转速应随之变化。VCCVCCPWMINJ131U1A3274LS00R11KR21K1U2A3R321KQ12N9012Q32N9013D1IN4001D2IN4001274LS001VCC+B1MotorU3A1KR43R521K74LS00R6Q42N9012AD3-IN40011KQ22N9013D4IN40013.电位器模块电位器模块为一个10K的可调电阻,通过调节电位器上的旋钮可以改变电位器的电压输出。此电位器的电压输出为0~5V模拟电压。通过连接ADC0809可将电位器的模拟电压转换为数字量,提供给单片机使用。4/15IN0~IN7为模拟电压输入4.ADC0809模块ADC0809是一种逐次比较式8路模拟输入、8位数字量输出的A/D转换器。ADC0809START端为A/D转换启动信号,ALE端为通道选择地址的锁存信号。实验电路中将其相连,以便同时锁存通道地址并开始A/D采样转换,故启动A/D转换只需如下两条指令:MOVDPTR,#PORTMOVX@DPTR,AA中为何内容并不重要,这是一次虚拟写。在中断方式下,A/D转换结束后会自动产生EOC信号,将其与8031CPU板上的INT0相连接。在中断处理程序中,使用如下指令即可读取A/D转换的结果:MOVDPTR,#PORTMOVXA,@DPTRDQCKQU?19XTAL118XTAL29RST31EA/VPP29PSEN30ALE10P3.0/RxDVCCVCC40P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.560809_D0~D71OE11CLK3D14D27D38D413D514D617D718D810GNDVCCVCC20Q12Q25Q36Q49Q512Q615Q716Q819IN3IN4IN5IN6IN7STARTEOCD3OECLKVcc基准电压(V+r)(+)GNDADC08091234567891011121328IN227IN126IN025A24B23C22ALE21D720D619D518D417D016Vr(-)基准电压(-)11P3.1/TxD12P3.2/INT013P3.3/INT114P3.4/T015P3.5/T116P3.6/WR17P3.7/RD20VSSP80C31SBPNP1.67P1.78P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P2.7/A1528SN74LS374DW12161216D114ADC0809ADC080915D25.8279显示模块(1)、电路原理8279显示电路由6位共阴极数码管显示,74LS244为段驱动器,75451为位驱动器,可编程键盘电路由1片74LS138组成,8279的数据口,地址,读写线,复位,时钟,片选都已经接好,键盘行列扫描线均有插孔输出。键盘行扫描线插孔号为KA0~KA3;列扫描线插孔号为RL0~RL7;8279还引出CTRL、SHIFT插孔。六位数码管的位选、段选信号可以从8279引入,也可以有外部的其他电路引入,原理图如下:5/157155*4LED010aK19bK68c5d4e2f3g7DPDpyRed-CCLED110aK19bK68c5d4e2f3g7DPDpyRed-CCLED210aK19bK68c5d4e2f3g7DPDpyRed-CCLED310aK19bK68c5d4e2f3g7DPDpyRed-CC12ABDQ3CVCCVCC16Y015Y114CKQ74LS373A0809_CLK6OE14OE2A5OE2BY213Y312Y411Y510Y69568GNDY77VCC408279CLK1RL22RL3Vcc40RL139VCCSN74LS138DVCC18XTAL2P0.0/AD039P0.2/AD237VCCR13CLK4IRQ6RL5RL038CNTL/STB37SL3351K1K1K1K1K1K1K1KP0.4/AD435P0.5/AD5342K89RL7RESETSL133SL03274049RST31EA/VPP29PSEN30ALE10P3.0/RxD11P3.1/TxD12P3.2/INT013P3.3/INT114P3.4/T015P3.5/T116P3.6/WR17P3.7/RD20VSSP80C31SBPNP0.6/AD633P0.7/AD732P1.0/T210809_D0P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P2.7/A1528Cap104pF10RD11WR12DB013DB114DB215DB316DB417DB518DB619DB720Vss8279OUTB031OUTB130OUTB229OUTB328OUTA027OUTA126OUTA225OUTA324DB23CS22A0217404(2)、电路测试见整机测试六位数码管电路的测试:除去电路板上数码管右侧的跳线,系统加点,用导线将插孔LED1接低电平(GND),再将插孔LED-A,LED-B,LED-C,LED-D,LED-E,LED-F,LED-G,LED-DP依次接高电平(VCC),则数码管SLED1的相应段应点亮,如果所有的段都不亮,则检查相应的芯片75451,如果个别段不亮,则检查该段的连线、及数码管是否损坏。用同样的方法依次检查其它数码管。8259显示、键盘控制芯片电路的测试:加上数码管右边的所有短路线,复位系统,应能正常显示。否则检查8279芯片、244芯片、138芯片是否正常。系统组成1.系统链接框图8051单片机8279电位器ADC0809PWM调速模块LED显示单元2.系统原理图※(见附页)※6/15软件设计1.思路描述本实验要实现的功能分别为电机调速和LED显示。直流电机调速部分:由于电位器输出为模拟电压,而单片机所能处理的仅为数字信号,所以要经过ADC0809将电位器的输出装换为数字信号。因此编程时要启动IN0,启动A/D转换,并用软件延时一段时间等待转换结束,然后读取转换结果并将其存入指定的寄存器供调用。直流电机转速的调节需要改变输出脉冲的占空比,因此需要编写一个能输出方波的子程序。如先让PWM为0,延时一段时间后,再将PWM取反,即为1,在延时取反,如此反复就能达到输出方波的目的。通过调节电位器的电压输出改变输出方波的占空比,达到调速的目的。LED显示部分:本部分的主要功能是将ADC0809的输出显示在LED上。首先将转换结果存入寄存器R1,然后写显示RAM命令字,数据端口地址送R0,并将初值送R0。写8279数据口地址,读取转换结果,语句“ACALLTABLE”通过查表将ADC0809的转换结果转换为显示码,写入8279显示RAM指针R0加1,显示码送DPTR输出。计数器R7减1,不为零则跳转显示下一个数据,减为零则从子程序返回。2.程序流程图※(见下页)※7/15主程序流图开始堆栈指针、端口地址初始化启动通道IN0、启动AD转换软件延时,等待转换结束比较电压是否为0VN子程序LPY方波输出子程序LP2比较电压是N否等于5VY子程序LP1显示子程序8/15开始写显示RAM命令8279数据口地址转换结果存入R1,高四位存入50H,第四位存入51H取显示数据转换为端数据写入8279显示RAM指针R0加1计数器R7减1N为0?返回3.程序清单(1)PWM电机调速程序PWM模块调试接线说明模块的PWM插口与系统板上的P1.0插口相连;外扩a/d模块0809的片选信号与系统板上的CS3相连(箱式的片选地址为CFB8H)PWM模块的跳线:在S端短路时,单脉冲;在D段短路时,双脉冲0809的CLK接CPU挂箱的CLK3,ADIN0接模拟输入。CSEGAT4000HPORTEQU0CFB8HPWMEQUP1.09/15LJMPSTARTCSEGAT4030HSTART:MOVR3,#1HMOVDPTR,#PORT;启动通道0MOVX@DPTR,AMOVR0,#30HLOOP1:DJNZR0,LOOP1MOVXA,@DPTRSWAPAANLA,#0FHCJNEA,#0H,LPJMPLP2LP:CJNEA,#0FH,LP1JMPLP2LP1:MOVR0,AMOVR4,AMOVA,#0FHCLRCSUBBA,R0MOVR5,ALP2:CPLPWMMOVA,R4MOVR0,ACALLDELAYCPLPWMMOVA,R5MOVR0,ACALLDELAYDJNZR3,LP2MOVR3

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功