直流风扇电机转速测量与PWM控制 单片机课程设计
基于单片机AT89C51控制的直流电机PWM调速控制系统课程设计报告
第一章:前言1.1前言:直流电机的定义:将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。
近年来,随着科技的进步,直流电机得到了越来越广泛的应用,直流具有优良的调速特性,调速平滑,方便,调速范围广,过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速起动、制动和反转,需要满足生产过程自动化系统各种不同的特殊要求,从而对直流电机提出了较高的要求,改变电枢回路电阻调速、改变电压调速等技术已远远不能满足现代科技的要求,这是通过PWM方式控制直流电机调速的方法就应运而生。
采取传统的调速系统主要有以下的缺陷:模拟电路容易随时间飘移,会产生一些不必要的热损耗,以及对噪声敏感等。
而用PWM技术后,避免上述的缺点,实现了数字式控制模拟信号,可以大幅度减低成本和功耗。
并且PWM调速系统开关频率较高,仅靠电枢电感的滤波作用就可以获得平滑的直流电流,低速特性好;同时,开关频率高,快响应特性好,动态抗干扰能力强,可获很宽的频带;开关元件只需工作在开关状态,主电路损耗小,装置的效率高,具有节约空间、经济好等特点。
随着我国经济和文化事业的发展,在很多场合,都要求有直流电机PWM调速系统来进行调速,诸如汽车行业中的各种风扇、刮水器、喷水泵、熄火器、反视镜、宾馆中的自动门、自动门锁、自动窗帘、自动给水系统、柔巾机、导弹、火炮、人造卫星、宇宙飞船、舰艇、飞机、坦克、火箭、雷达、战车等场合。
1.2本设计任务:任务: 单片机为控制核心的直流电机PWM调速控制系统设计的主要内容以及技术参数:功能主要包括:1)直流电机的正转;2)直流电机的反转;3)直流电机的加速;4)直流电机的减速;5)直流电机的速度在数码管上显示;6)直流电机的启动;7)直流电机的停止;第二章:总体设计方案1、系统的硬件电路设计与分析电动机PWM驱动模块的电路设计与实现具体电路见下图。
本电路采用的是基于PWM 原理的H型桥式驱动电路。
单片机控制直流电动机PWM调速系统设计控制直流电动机PWM调速系统设计
基于单片机控制地直流电动机PWM调速系统设计青岛理工大学1.研究目地:近年来,随着科技地进步,电力电子技术得到了迅速地发展,直流电机得到了越来越广泛地应用.直流它具有优良地调速特性,调速平滑、方便,调速范围广。
过载能力大,能承受频繁地冲击负载,可实现频繁地无级快速起动、制动和反转。
需要能满足生产过程自动化系统各种不同地特殊运行要求,从而对直流电机地调速提出了较高地要求,改变电枢回路电阻调速,改变电枢电压调速等技术已远远不能满足要求,这时通过PWM方式控制直流电机调速地方法应运而生.2.项目内容:通过PWM方式控制直流电机调速地方法.冲量相等而形状不同地窄脉冲加在具有惯性地环节上时,其效果基本相同.PWM 控制技术就是以该结论为理论基础,使输出端得到一系列幅值相等而宽度不相等地脉冲,用这些脉冲来代替正弦波或其他所需要地波形.按一定地规则对各脉冲地宽度进行调制,既可改变逆变电路输出电压地大小,也可改变输出频率.控制方式来改变电压地占空比实现直流电机速度地控制.文章中采用了C程序来控制单片机,产生PWM信号.并自动调节PWM信号地占空比.将信号输入L298驱动芯片从而达到控制直流伺服电机地效果.该程序能使电机先正转加速再正转减速到0然后反转加速再减速到0.而电机采用地是价格低廉地直流有刷电机.另使用一个反应灵敏地数字电压表观察直流伺服电机两端地电压.3.推广价值:直流电机调速系统是以低价位地单片微机STC89c52为核心地调速系统.目前,已经有多种方法来实现对电机调速,相对于其他用硬件或者硬件与软件相结合地方法实现对电机进行调速,采用PWM 软件方法来实现地调速过程具有更大地灵活性和更低地成本.它能够充分发挥单片机地效能,为简易速度控制系统地实现提供了一种有效地途径.4、特色与创新点:1)本装置采用较低成本地器件设计制作,且误差较小,完全满足速度控制系统地要求,具有较高地性价比.2)PWM控制技术以其控制简单、灵活和动态响应好地优点而成为电力电子技术最广泛应用地控制方式,也是人们研究地热点. 3)实现了用数字方式来控制模拟信号,可以大幅度降低成本和功耗.4)因为开关频率高,快速响应特性好,动态抗干扰能力强,可以获得很宽地频带。
直流风扇电机转速测量与PWM控制
单片机课程设计_直流风扇电机转速测量与PWM控制一.设计思路程序应用模块化进行设计,主要有初始化模块、显示模块、读键模块、数制转换模块、双字节除法模块、中断模块和控制调节模块。
编程次序可按此先后进行。
初始化模块:8155工作方式、T0和T1工作方式、标志位状态、所用单元初值、中断设置以及初始显示等。
显示模块:设定值和实测值的数值与字符动态显示。
读键模块:从I/O口依据某位数码管亮时读入小按键是否有效,然后根据四个小键盘的不同功能进行相应的处理,只要设定值一改变立刻显示。
加1键和减1键要有连加连减功能。
数制转换模块:将二进制转换为十进制。
外部中断模块:将转1圈的时间通过双字节除法程序求出即时转速。
定时中断模块:PWM输出波形形成。
控制调节模块:通过设定值和实测值的比较来改变脉冲波的占空比,该数据的调节分为简单比例调节PP和比例积分调节PI。
调节公式分别为:YK=YK1+KP*EKYK=YK1+KP*EK+KI*EK2YK:要输出的数据YK1:上次输出的数据EK:设定值和实测值的差值EK1:上次的EK值EK2:EK-EK1的差值KP:比例系数(设KP=1~2)KI:积分系数(设KI=1~2)一.带注释软件清单;==========使用单元设定==========//..................................使用单元设定DIS0 EQU 30HDIS1 EQU 31HDIS2 EQU 32HDIS3 EQU 33HLED EQU 34HTM1 EQU 35H;TM2 EQU 36H;INTV BIT 37H;中断标志THX EQU 38H;定时脉宽高电平CISHU EQU 39HFIRST BIT 41H; 检测加减是否第一次按下SET1 BIT 42HSETZ0 EQU 43H;设定当前设定值SETZ0~SETZ3SETZ1 EQU 44HSETZ2 EQU 45HSETZ3 EQU 46HTM3 EQU 47H; 循环次数单元JIA1 BIT 48H; 单步加标志LIANJIA BIT 49H; 连加标志JIAN1 BIT 50H; 单步减标志LIANJIAN BIT 51H; 连减标志SETDATA EQU 52H; 设定速度暂存单元REALDATA EQU 53H; 实测速度暂存单元YK1 EQU 54H; 上次输出数据暂存单元KP EQU 56H;比例系数KI EQU 57H;积分系数EK EQU 58H;设定值和实测值的差值EK1 EQU 59H;上次的EK值OUTPUT EQU 60H;EK2 EQU 61H;EK-EK1的值ONPRESS BIT 62H;判定ENTER键是否弹起标志TMS EQU 63H;闪烁时长SHAN BIT 64H; 闪烁标志;==========主程序==========ORG 0000HSJMP MAINORG 0013H;外部中断1入口地址AJMP INX1ORG 001BH;定时器T1中断入口地址AJMP ITX1ORG 0070HMAIN: MOV SP,#70H;设定堆栈指针入口地址ACALL INIT;调用初始化程序M1: JB SET1,FLASH;当前为设置状态则跳到闪烁显示模块ACALL DISP; 否则为一般显示SJMP NEXTTFLASH: ACALL DISP1NEXTT: ACALL DELAY;调用按键延时程序ACALL M2;调用按键程序DJNZ CISHU,M1;第隔100MS刷新一下实测值MOV CISHU,#20ACALL CONTROL;调用控制调速模块SJMP M1//==========初始化模块==========INIT:MOV DPTR,#0FD00H ;设置PA、PB为输出口,PC为输入口MOV A,#03HMOVX @DPTR,AMOV TMOD,#21H ;定时器/计数器T1为方式2,定时器/计数器T0为方式1 MOV TL0,#00H ; 定时器/计数器T0赋初值#00HMOV TH0,#00HMOV THX,#0BBH ;输出单元赋初值#0BBH,即脉冲高电平宽度MOV TH1,THXMOV TL1,THXSETB TR1 ;启动定时器/计数器T1SETB TR0 ; 启动定时器/计数器T0SETB ET1 ;允许定时器/计数器T1溢出中断 SETB EX1 ;允许外部中断1中断SETB IT1 ;选择边沿触发SETB EA ;CPU开中断SETB 07H;SETB SHANCLR 11H;检测是否成功MOV LED,#7FHMOV R0,#DIS0MOV DIS0,#14MOV DIS1,#15MOV DIS2,#15MOV DIS3,#15MOV SETZ2,#15MOV SETZ3,#15CLR ONPRESSSETB SET1SETB FIRSTCLR JIA1CLR LIANJIACLR JIAN1CLR LIANJIANCLR INTVMOV KP,#1MOV KI,#1MOV EK1,#0MOV CISHU,#20MOV TM2,#50RET//==========显示模块==========DISP:MOV DPTR,#0FD02H ;指向PB口MOV A,LEDRL A ;左移1位JB ACC.4,D1MOV A,#0FEH ; 移出则重设起始值MOV R0,#DIS0D1:MOV LED,AMOVX @DPTR,AMOV A,@R0 ; 取显示RAM数据MOV DPTR,#TABMOVC A,@A+DPTR ; 换码操作MOV DPTR,#0FD01H ; 置8155 PA口MOVX @DPTR,AINC R0 ;未移出则显示RAM地址加1RET//==========设置时闪烁模块==========DISP1:JB SHAN,LIANG;DJNZ TMS,AN 闪烁标志SHAN为1时调用DISP显示模CPL SHAN; 块显示当前设定值,闪烁时间到,将标志取MOV TMS,#50 ;反,并再次送入闪烁时长TMS.当闪烁标SJMP SHANRET;志为0时闪烁时间到先将DIS3, DIS2, LIANG:ACALL DISP ; 送入#16,即全灭值,再调用DISP,再将标 DJNZ TMS,SHANRET; 志位取反,重新装入时长TMS,这样就CPL SHAN;能实现闪烁功能MOV TMS,#50SJMP SHANRETAN: MOV DIS3,#16MOV DIS2,#16ACALL DISPMOV DIS3,SETZ3MOV DIS2,SETZ2SHANRET: RET//==========延时5ms子程序模块==========DELAY:MOV TM2,#5DEL2:MOV TM1,#255DEL1:DJNZ TM1,DEL1DJNZ TM2,DEL2RET//==========读键模块====================M2: MOV DPTR,#0FD03H;置PC口MOVX A,@DPTRJNB ACC.5,KEY; 若PC5为0则调用按键程序ACALL KK0RETKEY: MOV A,LEDJB FIRST,PK1; 若FIRST为1则调用密码按键 PKEY1,KEY2,KEY3,PKEY4 JNB ACC.0,KEY1 ;否则调用一般按键KEY1-KEY4,其中KEY2,KEY3为共用的 JNB ACC.3,KEY4SJMP PK2PK1: JNB ACC.0,PKEY1JNB ACC.3,PKEY4PK2: JNB ACC.1,KEY2JNB ACC.2,KEY3RET;==========设置键设定==========KEY1:SETB SET1MOV DIS0,#11 ;将前次设定值代入MOV DIS1,SETZ1MOV DIS2,SETZ2 ;装入上次设定值MOV DIS3,SETZ3RET;==========加键设定==========KEY2:JNB SET1,ENDKEYACALL JIA; 调用JIA程序,看是单步加还是连加MOV A,DIS3MOV SETZ3,ACJNE A,#10,ENDKEYJIN1:MOV DIS3,#0;若低位满10则高位加1,并将低位变为0INC DIS2MOV A,DIS2MOV SETZ2,ACJNE A,#10,ENDKEYSJMP ENDKEY;==========减键设定==========KEY3:JNB SET1,ENDKEYMOV A,DIS3JZ PANGAOJJ:ACALL JIAN ; 调用JIAN程序,看是单步加还是连减 MOV SETZ3,DIS3RETPANGAO:MOV A,DIS2 ; 低位减到0判断高位是否为0,JZ ENDKEY ; 是0则什么也不做,返回JIE1:MOV DIS3,#9 ; 若高位不为0则高位减1,低位置9DEC DIS2MOV SETZ2,DIS2SJMP JJ;==========ENTER键设定==========KEY4:JB ONPRESS,ENDKEYCLR SET1; 将设置标志清掉MOV DIS0,#10MOV SETZ1,DIS1RET//==========设定密码时的设置和ENTER按键=============PKEY1:RETPKEY4:JB 11H,SUCCESSMOV A,DIS3CJNE A,#5,ERROR ; 判定输入密码的低位是否正确,不正确直接MOV A,DIS2; 跳到输入密码状态,若正确,再看高位正确否CJNE A,#6,ERROR ; 正确则跳到SUCCESS,否则也返回输入密码状态SUCCESS:SETB 11H ; 11H为判定密码成功与否标志JB 07H,FC ; 输入成功密码第一次先跳到FC,测定初值CLR FIRST ; 设定完成,将输入密码标志清掉SETB TR1 ; 定时器0和1打开SETB TR0;SJMP PRETFC: MOV DIS0,#11; 设定输入测定值的显示方式MOV DIS1,#15MOV SETZ2,#0MOV SETZ3,#0CLR 07H; 07H是用于设定是否第一次设定SETB ONPRESSRETERROR:MOV DIS3,#15; 当密码输入错误时,返回输入密码状态MOV DIS2,#15PRET: RETENDKEY:RET;==========单步加减&连续加减子程序==========;==加部分==JIA:JB JIA1,S1SETB JIA1MOV TM3,#20S2:INC DIS3JB LIANJIA,ALLRETS1:JB LIANJIA,S2DJNZ TM3,ALLRETSJMP S2RET;==减部分==JIAN:JB JIAN1,S3SETB JIAN1MOV TM3,#20S4:DEC DIS3JB LIANJIAN,ALLRETS3:JB LIANJIAN,S4DJNZ TM3,ALLRETSETB LIANJIANSJMP S4RET//============判断键是否弹起=========== KK0:MOV A,LEDJB ACC.2,KK1;CLR JIAN1CLR LIANJIANRETKK1:MOV A,LEDJB ACC.1,KK2CLR JIA1CLR LIANJIARETKK2:MOV A,LEDJB ACC.3,ALLRETCLR ONPRESSRETALLRET:RET//==========定时器T1中断模块(用于调速)========== ITX1:PUSH ACCPUSH BCPL P1.0JNB P1.0,L1MOV TH1,THXSJMP L2L1: MOV A,#0FFHCLR CSUBB A,THXMOV TH1,AL2: POP BPOP ACCRETI//==========外部中断1模块(用于测速)==========INX1:PUSH ACCPUSH BJB SET1,RETIX ; 若当前为设置状态则不做测速CLR TR0 ; 当产生中断时,先关定时器0MOV R6,TH0 ; 将当前的TH0放入R6,TL0放入R7MOV R7,TL0CHUZHI:MOV TH0,#00H; 将定时器初值置0MOV TL0,#00HSETB TR0 ; 定时器打开ACALL CHUFA ; 调用双字节除法程序RETIX: POP BPOP ACCRETI单片机课程设计_直流风扇电机转速测量与PWM控制(含P调节和PI调节)4#e# ;==========双字节除法==========CHUFA:MOV R2,#00H ; 赋被除数R2R3R4R5=500000usMOV R3,#07HMOV R4,#0A1HMOV R5,#20HDDIV: MOV B,#16DDV1:CLR CMOV A ,R5RLC AMOV R5,AMOV A,R4RLC AMOV R4,AMOV A,R3RLC AMOV R3,AXCH A,R2RLC AXCH A,R2MOV F0,CCLR CSUBB A,R7MOV R1,AMOV A,R2SUBB A,R6JB F0,DDV2JC DDV3 DDV2:MOV R2,A MOV A,R1MOV R3,AINC R5DDV3:DJNZ B,DDV1//==========数值转换模块(将二进制-->十进制)=========== BIN:MOV A,R5MOV B,#10DIV ABMOV DIS2,A ; 将商赋予显示值的高位DIS2MOV DIS3,B ; 将余数赋予显示值的低位DIS3MOV REALDATA,R5 ;将测速值R5赋予实测值单元REALDATA RET//==========控制调节模块==========CONTROL:JB P1.5,PI ; 若P1.5=1做PI环节,否则做PP环节ACALL PP;MOV TH1,THXRETPI:MOV A,SETZ2 ; SETZ2为设定值的高位MOV B,#10MUL ABADD A,SETZ3 ; 此时A中为设定值SETDATAMOV SETDA TA,ACLR CSUBB A,REALDATAMOV EK,A ; EK=设定值SETDATA-实测值REALDATAJC DOWNZERO ; 若有借位(即设定值SETDATA<实测值REALDA TA), SJMP OVERZERO; 转向DOWNZERO;否则转向OVERZERO DOWNZERO:MOV A,REALDATASUBB A,SETDATA ; 将实测值REALDA TA-设定值SETDA TA的差值存入A MOV B,KPMUL ABMOV B,A ; 将(REALDATA-SETDATA)*KP的值存入BMOV A,THX ;将上次输出的数据THX存入ASUBB A,BMOV 05H,A ; 05H=YK1+KP*EKJC FU ;若有借位,转向FU,否则转向ZHENGSJMP ZHENGOVERZERO:MOV B,KPMUL AB ;将EK*KP的值存入AADD A,THXJMP ZHENGZHENG: MOV A,EKSUBB A,EK1MOV EK2,A ;EK2=EK-EK1JC ZHENG1 ;若有借位即EK2<0,转向ZHENG1;否则转向ZHENG2ZHENG1: MOV B,KIMOV A,EK2MUL AB ; A=EK2*KIADD A,05H ;A=EK2*KI+YK1+KP*EKJC XX1 ;若有进位即(A)>风速最大值#0FFH,SJMP OVERPPI; 则转向XX1;否则转向OVERPPI XX1: CLR CMOV A,#0FFH ; 将风速最大值#0FFH存入ASJMP OVERPPIZHENG2: MOV A,EK1SUBB A,EK ; 将EK1-EK的值存入AMOV B,AMOV A,KIMUL AB ;将KI*(EK1-EK)的值存入AMOV B,AMOV A,05HSUBB A,B ; 将YK1+KP*EK+KI*EK2的值存入AJC XX2 ;若有借位即(A)<0,则转向XX2;SJMP OVERPPI; 否则转向OVERPPIXX2: CLR CMOV A,#00HFU: MOV A,EKSUBB A,EK1MOV EK2,AJC XX2 ; 若有借位即EK2=EK-EK1的值<0,SJMP FU1;则转向XX2;否则转向FU1FU1: MOV A,EK2SUBB A,05H ; A=EK2-(YK1+KP*EK)JC XX2 ; 若有借位即A的值<0,则转向XX2;SJMP OVERPPI; 否则转向OVERPPIOVERPPI:MOV THX,AMOV EK1,EKRETPP: MOV A,SETZ2 ; SETZ2为设定值的高位MOV B,#10MUL ABADD A,SETZ3 ;此时A中为SETDATAMOV SETDATA,ACLR CSUBB A,REALDATA ;此时A中为EK=SETDATA-REALDATAJZ CC ;若SETDATA=REALDAT,转向CCJC TT1 ; 若有借位即EK=SETDA TA-REALDATA<0,转向TT1 MOV B,KP ; 实测值小于设定值的情况MUL AB ;A=EK*KPADD A,THX ; A=EK*KP+上次输出的数据THX,即YK=YK1+EK*KP JC PP2 ; 若有进位即A>#0FFH,则转向PP2;否则转向PP4SJMP PP4TT1: CLR C ; 实测值大于设定值的情况MOV A,REALDATASUBB A,SETDATA ; A=REALDATA-SETDATAMOV B,KPMUL AB ;A=(REALDATA-SETDATA)*KPMOV B,AMOV A,THXSUBB A,B ;即YK=YK1+EK*KPJC PP1 ;若有借位即A的值<0,则转向PP1;否则转向PP4SJMP PP4PP1: CLR CMOV A,#00H ;将风速最低值#00H存入ASJMP PP4PP2: MOV A,#0FFH ;将风速最大值#0FFH存入ACLR CPP4: MOV THX,A ;将实测的风速值A存入输出单元THXCC: RET;==========数值表==========TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH;0~6DB 07H,7FH,6FH,77H,7CH,39H,5EH;7~dDB 73H,40H, 00H ;73H为字母”P”,40H为”-“,00H为数码管全灭END一.创新点说明及应用1.密码验证说明: 在这个程序中,我加入了密码验证功能,当用户第一次进入风扇调速系统.只有密码正确才能进入并设定转速.应用:在一些非内部人员或专业人员可以调试的设备,可用此密码验证功能,以防系统工作状态被他人改动.造成不必要的损失.2. 设定过程中闪烁功能。
单片机课程设计完整版《PWM直流电动机调速控制系统》
单片机原理及应用课程设计报告设计题目:学院:专业:班级:学号:学生姓名:指导教师:年月日目录设计题目:PWM直流电机调速系统本文设计的PWM直流电机调速系统,主要由51单片机、电源、H桥驱动电路、LED液晶显示器、霍尔测速电路以及独立按键组成的电子产品。
电源采用78系列芯片实现+5V、+15V对电机的调速采用PWM波方式,PWM是脉冲宽度调制,通过51单片机改变占空比实现。
通过独立按键实现对电机的启停、调速、转向的人工控制,LED实现对测量数据(速度)的显示。
电机转速利用霍尔传感器检测输出方波,通过51单片机对1秒内的方波脉冲个数进行计数,计算出电机的速度,实现了直流电机的反馈控制。
关键词:直流电机调速;定时中断;电动机;波形;LED显示器;51单片机1 设计要求及主要技术指标:基于MCS-51系列单片机AT89C52,设计一个单片机控制的直流电动机PWM调速控制装置。
1.1 设计要求(1)在系统中扩展直流电动机控制驱动电路L298,驱动直流测速电动机。
(2)使用定时器产生可控的PWM波,通过按键改变PWM占空比,控制直流电动机的转速。
(3)设计一个4个按键的键盘。
K1:“启动/停止”。
K2:“正转/反转”。
K3:“加速”。
K4:“减速”。
(4)手动控制。
在键盘上设置两个按键----直流电动机加速和直流电动机减速键。
在手动状态下,每按一次键,电动机的转速按照约定的速率改变。
(5)*测量并在LED显示器上显示电动机转速(rpm).(6)实现数字PID调速功能。
1.2 主要技术指标(1)参考L298说明书,在系统中扩展直流电动机控制驱动电路。
(2)使用定时器产生可控PWM波,定时时间建议为250us。
(3)编写键盘控制程序,实现转向控制,并通过调整PWM波占空比,实现调速;(4)参考Protuse仿真效果图:图(1)图(1)2 设计过程本文设计的直流PWM调速系统采用的是调压调速。
系统主电路采用大功率GTR为开关器件、H桥单极式电路为功率放大电路的结构。
单片机控制直流电机课程设计报告
void delay(unsigned char dlylevel){
int i=50*dlylevel;
while(--i);}
此函数为带参数DLYLEVEL,约产生DLYLEVEL*400us的延时,因此一个脉冲周期可以由高电平持续时间系数hlt和低电平持续时间系数llt组成,本设计中采用的脉冲频率为25Hz,可得hlt+llt=100,占空比为hlt/(hlt+llt),因此要实现定频调宽的调速方式,只需通过程序改变全局变量hlt,llt的值,该子程序流程图如图四。
MOV TL0,#0CH
SETB ET0 ;开定时器0
SETB EA
SETB TR0
LOOP:AJMP LOOP ;等待
AT89C51单片机功能强大,方便今后的功能扩展。通过各种方案的讨论及尝试,再经过多次的整体软硬件结合调试,不断地对系统进行优化。同时对电动机控制不是一个简单的电子控制问题,它涉及很多方面的知识。相信单片机在今后的自动控制领域中将有更广阔的应用前景。相信该系统能成功运用于直流电机转速系统的实时监控,简化控制逻辑系统,而且成本低廉、功能完整、抗干扰性能好。能成功应用于直流电机转速调节、监控、保护场合,并且监控界面友好,使用方便。能够对直流电机实行实时监控,不仅大大改善了高速运行时的稳定性,而且还实现了保护功能。
SETB P2.0
CLR P2.2
SETB GORD ;置高低电平判断位为1
MOV GAO,LEN ;置高电平初值
MOV A,#100 ;置周期总长值
SUBB A,GAO ;求低电平比例值
MOV DI,A ;存低电平比例值
课程设计基于单片机的直流电机pwm调速
目录1系统的方案设计 (1)1.1方案的分析 (1)1.2方案的制定 (2)2硬件的设计 (3)2.1单片机主电路的设计 (3)2.2数码管显示部分 (3)2.3L298N调制电动机电路 (5)2.4单片机驱动L298N模块 (6)3 软件设计 (7)3.1操作键盘设计 (7)3.2转速显示设计 (8)3.3PMW调制 (9)4 仿真截图 (10)4.1电机的正转工作状态 (10)4.2电机的反转工作状态 (11)5设计的体会 (12)参考文献资料 (13)附录 (14)仿真图 (14)原程序代码 (15)1系统的方案设计1.1方案的分析本课题以单片机为控制核心,用PMW控制技术实现对直流电机的速度及转向进行控制。
从而实现在数码管上显示当前转速,分别用按键进行加、减速及正反转控制。
单片机的选取:按单片机机器字长可分为:4位(很少用),8位,16位,32位。
按单片机内核可分为:MCS51、A VR、PIC、MSP、HT、ARM等等。
按单片机厂家分就更多了,MCS51内核的厂家就有多种:如SST、Atmel、STC、winbond等。
由于8位单片机的广泛应用场合及其不错的性性,一直受到小型电路解决方案的首选芯片,本方案采用ATMEL公司的AT89C51芯片做为驱动电机的核心电路模块,其性能足以扩展控制一个电机,而且该单片机支持在线编程并提供上千次的擦写功能。
并以低廉的价格普及于当今市场中。
数码管的选取,数码管分为单个数码管和多个数码管集成在一起。
由于考虑到电机转速能够达到很高,采用多个数码管集成在一起的比较省线,通过扫描动态显示数码管能够节省I./O接口,采用这种方式比较适合。
关于PMW波,PWM(Pulse Width Modulation)——脉冲宽度调制,简称脉宽调制,是一种最初用语无线电通信的信号调制技术,后来在控制领域中(比如电机调速)也得到了很好的应用,于是形成了独特的PWM控制技术。
PWM控制是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在功率控制与变换的许多领域中。
课程设计基于单片机的直流电机测速调速及显示系统设计
基于单片机的直流电机测速、调速及显示系统设计课程设计报告题目:基于单片机的直流电机测速、调速及显示系统设计摘要本文要紧研究了利用Quick51系列单片机操纵PWM信号从而实现对直流电机转速进行操纵的方式。
单片机具有体积小、功能强、本钱低、应用面普遍等优势,能够说,智能操纵与自动操纵的核心确实是单片机。
目前,一个学习与应用单片机的高潮在全社会大规模地兴起。
学习单片机的最有效方式确实是理论与实践并重,本文用8051单片机自制了一个采纳了专门的芯片组成了PWM信号的发生系统,而且对PWM信号的原理、产生方式和如何通过软件编程对PWM信号占空比进行调剂,从而操纵其输入信号波形等均作了详细的论述。
还对直流电机的速度进行了测量和显示。
关键词:单片机、PWM、调速、测速、显示系统目录摘要 (1)目录 (2)第一章概述 (3)1.1概述 (3)Quick51的技术简介和进展前景 (3)1.2.1 SmartSOPC与Quick51 (3)1.2.2 Quick51特性 (4)第二章整体方案设计 (5)8051单片机简介 (6)PWM信号发生电路设计 (12)2.2.1 P WM的大体原理 (12)128*64液晶显示 (13)第三章硬件设计与连接 (13)传感器电路设计 (13)信号处置电路设计 (16)存储器电路设计 (17)I2C总线概述 (17)存储器电路 (18)显示电路设计 (18)PWM信号发生电路设计 (19)第四章软件设计 (20)系统软件总流程图 (20)程序清单 (21)答辩问题 (22)第一章概述1.1概述本文要紧研究了利用Quick51系列单片机,通过PWM方式操纵直流电机调速的方式。
冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其成效大体相同。
PWM操纵技术确实是以该结论为理论基础,使输出端取得一系列幅值相等而宽度不相等的脉冲,用这些脉冲来代替正弦波或其他所需要的波形。
按必然的规那么对各脉冲的宽度进行调制,既可改变逆变电路输出电压的大小,也可改变输出频率。
单片机课程设计PWM直流电动机调速控制系统方案
单片机原理及应用—— P W M直流电机调速控制系统概括直流电动机具有良好的启动性能和调速特性。
具有起动转矩大、调速平稳、经济大范围、调速容易、调速后效率高等特点。
本文设计的直流电机调速系统主要由51单片机、电源、H桥驱动电路、LED 液晶显示器、霍尔测速电路和独立按键组成的电子产品组成。
电源采用78系列芯片,采用PWM波方式实现电机+5V、+15V调速,PWM为脉宽调制,通过51单片机改变占空比实现。
通过独立的按键实现电机的启停、调速和转向的手动控制,LED实现测量数据(速度)的显示。
电机转速采用霍尔传感器检测输出方波,通过51单片机统计1秒内方波脉冲个数,计算电机转速,实现直流电机的反馈控制。
关键词:直流电机调速; H桥驱动电路; LED显示屏; 51单片机目录摘要2摘要错误!未定义书签。
目录3第 1 章引言41.1 概述41.2 国外发展现状41.3 要求51.4 设计目的及6第 2 章项目论证与选择72.1 电机调速模块72.2 PWM调速工作模式72.3 PWM脉宽调制方式错误!未定义书签。
2.4 PWM 软件实现错误!未定义书签。
第三章系统硬件电路设计83.1 信号输入电路83.2 电机PWM驱动模块电路9第 4 章系统的软件设计104.1 单片机选型104.2 系统软件设计分析10第 5 章 MCU 系统集成调试135.1 PROTEUS 设计与仿真平台错误!未定义书签。
18传统开发流程对比错误!未定义书签。
第一章简介1.1 概述现代工业的电驱动一般要求部分或全部自动化,因此必须与各种控制元件组成的自动控制系统相联动,而电驱动可视为自动电驱动系统的简称。
在这个系统中,生产机械可以自动控制。
随着现代电力电子技术和计算机技术的发展以及现代控制理论的应用,自动电驱动正朝着计算机控制的生产过程自动化方向发展。
以实现高速、高质量、高效率的生产。
在大多数集成自动化系统中,自动化电力牵引系统仍然是不可或缺的组成部分。
基于单片机的PWM直流电机调速系统设计
基于单片机的PWM直流电机调速系统设计摘要:本文设计了一种基于单片机的PWM调速系统来控制直流电机的转速。
通过使用单片机的IO口产生PWM信号,可以精确地控制电机的转速。
通过对脉宽信号的调节,可以改变电机的转速。
实验结果表明,该系统可以实现精确的电机调速控制,具有较高的可靠性和稳定性。
关键词:单片机,PWM调速,直流电机,转速控制1.引言直流电机广泛应用于家电、机械设备等领域,其转速控制对于实际应用非常重要。
传统的直流电机调速方法主要通过电压调节或者极数切换来实现,但是这种方法调节范围有限。
随着单片机技术的发展,基于单片机的PWM调速系统成为一种较为先进和可靠的调速方法。
2.系统设计2.1硬件设计本系统使用STC12C5A60S2单片机作为控制核心。
单片机的IO口通过驱动电路连接到直流电机,驱动电路包括功率二极管和功率晶体管,用于放大和控制输出电流。
另外,系统还包括电流检测模块和电源模块。
电流检测模块用于实时监测直流电机的工作电流,电源模块提供系统所需的电源电压。
2.2软件设计单片机采用C语言编程,使用定时器中断来产生PWM信号。
首先,根据所需的转速范围确定PWM的占空比范围。
然后,根据转速需求,计算出相应的占空比,并将其输出到IO口。
通过不断改变占空比,可以改变电机的转速。
另外,系统还设置了保护功能,当电机超过设定的电流范围时,系统会自动停止电机运行,以防止电机损坏。
3.实验结果通过实验测试,验证了本系统的可行性和有效性。
当输入设定的转速值后,电机可以精确地调整到相应的转速,并保持稳定。
同时,当电机运行时,系统能够准确地监测电机的工作电流,当电机超过设定范围时,可以及时地停止电机运行。
实验结果表明,基于单片机的PWM调速系统具有较高的可靠性和稳定性。
4.结论本文设计了一种基于单片机的PWM调速系统来控制直流电机的转速。
通过使用单片机的IO口产生PWM信号,可以精确地控制电机的转速。
系统具有较高的可靠性和稳定性,并能够保护电机免受损坏。
单片机软件实现直流电机PWM以及电机测速
、摘要利用AT89C51设计一个直流电机地软件模拟PWMg动及测速系统•单片机读取键盘值来设定转速和正反转,并且通过红外对管来测量转速•本系统具有精度高,成本低,使用方便等优点•关键词:AT89C51 PWM测速.引言随着社会地发展,各种智能化地产品日益走入寻常百姓家•为了实现产品地便携性、低成品以及对电源地限制,小型直流电机应用相当广泛•对直流电机地速度调节,我们可以采用多种办法,本文给出一种用单片机软件实现PW碉速地方法及红外对管测转速•、直流电机调速知道通过调节直流电机地电压可以改变电机地转速,但是一般我们设计地电源大都是固定地电压,而且模拟可调电源不易于单片机控制,数字可调电源设计麻烦所以这里用脉宽调制<PWM来实现调速.方波地有效电压跟电压幅值和占空比有关,我们可以通过站空比实现改变有效电压• 一般用软件模拟PWM可以有延时和定时两种方法,延时方法占用大量地CPU所以这里采用定时方法.b5E2RGbCAP、直流电机旋转方向一般利用H桥电路来实现调速.H桥驱动电路:图4.12中所示为一个典型地直流电机控制电路.电路得名于“H桥驱动电路” 是因为它地形状酷似字母H.4个三极管组成H地4条垂直腿,而电机就是H中地横杠<注意:图4.12及随后地两个图都只是示意图,而不是完整地电路图,其中三极管地驱动电路没有画出来).如图所示,H桥式电机驱动电路包括4个三极管和一个电机.要使电机运转,必须导通对角线上地一对三极管.根据不同三极管对地导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机地转向.plEanqFDPw+ +图4.12 H桥驱动电路要使电机运转,必须使对角线上地一对三极管导通.例如,如图4.13所示,当Q1管和Q4管导通时,电流就从电源正极经Q1从左至右穿过电机,然后再经Q4回到电源负极.按图中电流箭头所示,该流向地电流将驱动电机顺时针转动.当三极管Q1和Q4导通时,电流将从左至右流过电机,从而驱动电机按特定方向转动<电机周围地箭头指示为顺时针方向).DXDiTa9E3d图4.13 H桥电路驱动电机顺时针转动图4.14所示为另一对三极管Q2和Q3导通地情况,电流将从右至左流过电机.当三极管Q2和Q3导通时,电流将从右至左流过电机,从而驱动电机沿另一方向转动<电机周围地箭头表示为逆时针方向).RTCrpUDGiT图4.14 H桥驱动电机逆时针转动可以把Q1跟Q4接在一起,Q3跟Q2接在一起,这样只要两个单片机I/O 口就行. 下面地程序中lun1 、lun2 就表单片机地两个I/O 口. 这个桥式电路图只用来说明原理,实际应用还要看电机地额定电压、电流•也可以用L293、L298直流地集成芯片. 5PCzVD7HxA四、PW程序void timer0(> interrupt 1{if(temp>{TH0=time_h_0。
单片机控制PWM的直流电机调速系统的设计
单片机控制PWM的直流电机调速系统的设计PWM(脉宽调制)是一种常用的电压调节技术,可以用来控制直流电机的转速。
在单片机控制PWM的直流电机调速系统中,主要包括硬件设计和软件设计两个方面。
硬件设计方面,需要考虑的主要内容有:电机的选择与驱动、电源电压与电流的设计、速度反馈电路的设计。
首先,需要选择合适的直流电机和驱动器。
选择直流电机时需考虑其功率、转速、扭矩等参数,根据实际需求选择合适的电机。
驱动器可以选择采用集成驱动芯片或者离散元件进行设计,通过PWM信号控制电机的速度。
其次,需要设计合适的电源电压与电流供应。
直流电机通常需要较大的电流来实现工作,因此需要设计合适的电源电流,以及保护电路来防止电流过大烧坏电机和电路。
最后,需要设计速度反馈电路来实现闭环控制。
速度反馈电路可以选择采用编码器等传感器来获得转速信息,然后通过反馈控制实现精确的速度调节。
软件设计方面,需要考虑的主要内容有:PWM输出的控制、速度闭环控制算法的实现。
首先,需要编写代码实现PWM输出的控制。
根据具体的单片机型号和开发环境,使用相关的库函数或者寄存器级的编程来实现PWM信号的频率和占空比调节。
其次,需要实现速度闭环控制算法。
根据速度反馈电路获取的速度信息,通过比较目标速度与实际速度之间的差异,调整PWM信号的占空比来实现精确的速度调节。
常用的速度闭环控制算法有PID控制算法等。
最后,需要优化程序的鲁棒性和稳定性。
通过合理的调节PID参数以及增加滤波、抗干扰等功能,提升系统的性能和稳定性。
在实际的设计过程中,需要根据具体的应用需求和单片机性能等因素,进行合理的选择和调整。
同时,还需要通过实验和调试来验证系统的可靠性和稳定性,不断进行优化和改进,以获得较好的调速效果。
电机测速课程设计PWM.
电机测速系统设计一、设计目的测量小功率直流电机的转速本次课程设计主要以单片机,直流电动机和显示器等器件及软件程序为基础,设计了一个简单的基于单片机的电机测速系统。
本统采用PWM测量电动机的转速,用STC89C52单片机对直流电动机的转速进行控制和检速。
本设计主要要求设计系统的基本结构、工作原理、运行特性及其设计方法有一定的掌握,且最终应用理论知识做出一个完整的简单测速模型,从而对测速系统的专业知识及机械化等方面的知识有一定的拓展。
二、设计要求1.用按键控制电机起停;2.电机有两种速度,可通过按键改变;3.用数码管显示电机每分钟或每秒转数。
STC89C52单片机的介绍本系统采用单片机STC8952作为主控制器,使用光电传感器测量电机的转速,最终在LED上显示测试结果。
此外,还可以根据需要调整制电机的转速,硬件组成由图3.1所示。
单片机( single Micro Controller Unit),又称为微控制器,是指在一块芯片上集成了中央处理器CPU、随机存储器RAM、程序存储器ROM、定时器/计数器、中断控制器以及串行和并行I/0 接口等部件,构成一个完整的微型计算机。
目前,新型单片机内还有A/D(D/A)转换器、高速输入输出部件、DMA 通道、浮点运算等特殊功能部件。
由于它的结构和指令功能都是按工业控制要求设计的,特别适用于工业控制及其数据处理场合。
STC89C52是拥有256字节的RAM,8K的片内ROM,3个16位定时器,6个中断源的微处理器,也就是俗称的单片机。
89系列单片机的内核是8031,所以其指令与Intel 8051 系列单片机完全兼容,并且具有以下优点:(1)内部含有Flash 存储器(STC89C52 有8k)。
因此在系统的开发过程中可以十分容易进行程序的修改,这就大大缩短了系统的开发周期。
同时,在系统工作过程中,能有效地保存一些数据信息,即使外界电源损坏也不影响到信息的保存。
基于单片机的直流电机控制风扇系统设计
基于单片机的直流电机控制风扇系统设计摘要:本文针对直流电机控制的风扇系统设计,采用单片机来实现控制功能。
本文首先介绍了直流电机的控制原理和常用的驱动方式,然后介绍了单片机的选择和控制算法设计,最后给出了具体的硬件设计和软件实现方案。
关键词:直流电机控制、单片机、驱动方式、算法设计、系统设计一、引言随着空调价格的下降和生活水平的提高,越来越多的人开始使用空调来调节室温。
但是空调的能耗较高,而且对环境的影响较大。
与之相比,风扇具有价格低廉、能耗小、使用方便等优点,在夏季调节室温时也是一种不错的选择。
为了提高风扇的使用效率和便利性,本文针对直流电机控制的风扇系统进行设计。
通过单片机实现对风扇的控制,可以实现多种控制方式和控制算法,增加风扇系统的智能化程度。
二、直流电机控制原理及驱动方式直流电机是一种最基本的电动机,它的转速和输出扭矩都与电机的电流成正比。
在直流电机控制中,常用的驱动方式有PWM调速和H 桥驱动。
PWM调速是通过改变占空比来改变电机的输出扭矩和转速。
在PWM调速中,需要将电机的速度信号反馈给单片机,并通过调整PWM输出的占空比来实现速度控制。
H桥驱动则是通过开关控制来改变电机正反转和速度。
在H桥驱动中,需要将电机的正反转信号和调速信号反馈给单片机,并通过控制H桥的开关状态来实现电机的控制。
三、单片机的选择和控制算法设计单片机的选择需根据具体控制要求来确定。
在本文中,采用STC单片机,其优点是有完善的周边设备和开发工具,可以快速完成控制算法设计和实现。
在控制算法设计中,需要考虑到风扇的启动特性和负载变化对电机转速的影响。
本文采用PID控制算法,实现对风扇转速的精确控制。
在控制过程中,需要对风扇的转速反馈信号进行滤波处理,避免由于噪声和干扰带来的控制误差。
四、系统设计在硬件设计中,需要选用适当的功率放大器和H桥驱动芯片,并根据调速和控制信号的特点来设计滤波器和保护电路。
在软件实现中,需要编写一系列的控制程序和驱动程序,通过串口通信和PC机进行交互,实现对风扇的智能控制和监测。
课程设计---直流电动机测速系统设计
专业课程设计题目三直流电动机测速系统设计院系:专业班级:小组成员:指导教师:日期:前言1.题目要求设计题目:直流电动机测速系统设计描述:利用单片机设计直流电机测速系统具体要求: 8051 单片机作为主控制器、利用红外光传感器设计转速测量、检测直流电机速度,并显示。
元件: STC89C52、晶振(12MHz)、小按键、 ST151、数码管以及电阻电容等2.组内分工(1)负责软件及仿真调试:主要由完成(2)负责电路焊接:主要由完成(3)撰写报告:主要由完成3.总体设计方案总体设计方案的硬件部分详细框图如图一所示 :数码管显示按键控制单片机 PWM 电机驱动一、转速测量方法转速是指作圆周运动的物体在单位时间内所转过的圈数,其大小及变化往往意味着机器设备运转的正常与否,因此,转速测量一直是工业领域的一个重要问题。
按照不同的理论方法,先后产生过模拟测速法 (如离心式转速表) 、同步测速法(如机械式或闪光式频闪测速仪) 以及计数测速法。
计数测速法又可分为机械式定时计数法和电子式定时计数法。
本文介绍的采用单片机和光电传感器组成的高精度转速测量系统,其转速测量方法采用的就是电子式定时计数法。
对转速的测量实际上是对转子旋转引起的周期脉冲信号的频率进行测量。
在频率的工程测量中,电子式定时计数测量频率的方法一般有三种:①测频率法:在一定时间间隔t 内,计数被测信号的重复变化次数N ,则被测信号的频率fx 可表示为f x =Nt(1)②测周期法:在被测信号的一个周期内,计数时钟脉冲数m0 ,则被测信号频率fx = fc/ m0 ,其中, fc 为时钟脉冲信号频率。
③多周期测频法:在被测信号m1 个周期内, 计数时钟脉冲数m2 ,从而得到被测信号频率fx ,则fx 可以表示为fx =m1 fcm2, m1 由测量准确度确定。
电子式定时计数法测量频率时, 其测量准确度主要由两项误差来决定: 一项是时基误差 ; 另一项是量化± 1 误差。
单片机课程设计完整版《PWM直流电动机调速控制系统》
单片机原理及应用课程设计报告设计题目:学院:专业:班级:学号:学生:指导教师:年月日目录设计题目 (2)1 设计要求及主要技术指标: (3)1.1 设计要求 (3)1.2 主要技术指标 (4)2 设计过程 (5)2.1 题目分析 (8)2.2 整体构思 (9)2.3 具体实现 (11)3 元件说明及相关计算 (13)3.1 元件说明 (13)3.2 相关计算 (14)4 调试过程 (15)4.1 调试过程 (15)4.2 遇到问题及解决措施 (19)5 心得体会 (20)参考文献 (21)附录一:电路原理图 (22)附录二:程序清单 (23)设计题目:PWM直流电机调速系统本文设计的PWM直流电机调速系统,主要由51单片机、电源、H桥驱动电路、LED液晶显示器、霍尔测速电路以及独立按键组成的电子产品。
电源采用78系列芯片实现+5V、+15V对电机的调速采用PWM波方式,PWM是脉冲宽度调制,通过51单片机改变占空比实现。
通过独立按键实现对电机的启停、调速、转向的人工控制,LED实现对测量数据(速度)的显示。
电机转速利用霍尔传感器检测输出方波,通过51单片机对1秒的方波脉冲个数进行计数,计算出电机的速度,实现了直流电机的反馈控制。
关键词:直流电机调速;定时中断;电动机;PWM波形;LED显示器;51单片机1 设计要求及主要技术指标:基于MCS-51系列单片机AT89C52,设计一个单片机控制的直流电动机PWM 调速控制装置。
1.1 设计要求(1)在系统中扩展直流电动机控制驱动电路L298,驱动直流测速电动机。
(2)使用定时器产生可控的PWM波,通过按键改变PWM占空比,控制直流电动机的转速。
(3)设计一个4个按键的键盘。
K1:“启动/停止”。
K2:“正转/反转”。
K3:“加速”。
K4:“减速”。
(4)手动控制。
在键盘上设置两个按键----直流电动机加速和直流电动机减速键。
在手动状态下,每按一次键,电动机的转速按照约定的速率改变。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
直流风扇电机转速测量与PWM控制摘要:本课题是对直流电机PWM调速器设计的研究,主要实现对电动机的控制。
因此在设计中,对直流调速的原理,直流调速控制方式以及调速特性,PWM基本原理及实现方式进行了全面的阐述。
为实现系统的微机控制,在设计中,采用了AT89C51单片机作为整个控制系统的控制电路的核心部分,在设计中,采用PWM调速方式,通过改变PWM的占空比从而改变电动机的电枢电压,进而实现对电动机的调速。
设计的整个控制系统,在硬件结构上采用了大量的集成电路模块,大大的简化了硬件电路,提高了系统的稳定性和可靠性,使整个系统的性能得到提高。
关键词:直流电机,转速测量,PWM控制。
一. 直流风扇电机转速测量与PWM控制的基本原理:直流电机的工作原理为:直流电机的磁极N,S间装着一个可以转动的铁磁圆柱体,圆柱体的表面固定着线圈abcd。
当线圈流过电流的时候,线圈受到电磁力的作用,产生旋转。
根据左手定则可知,当流过线圈中电流改变方向时,线圈的受力方向也将改变,因此通过改变线圈电流的方向实现改变电机的方向。
控制电路主要由单片机来控制,单片机发出的PWM脉冲来实现对驱动的控制。
二.设计方案:程序应用模块化进行设计,主要有初始化模块、显示模块、读键模块、数制转换模块、双字节除法模块、中断模块和控制调节模块。
编程次序可按此先后进行。
初始化模块:8155工作方式、T0和T1工作方式、标志位状态、所用单元初值、中断设置以及初始显示等。
显示模块:设定值和实测值的数值与字符动态显示。
读键模块:从I/O口依据某位数码管亮时读入小按键是否有效,然后根据四个小键盘的不同功能进行相应的处理,只要设定值一改变立刻显示。
加1键和减1键要有连加连减功能。
数制转换模块:将二进制转换为十进制。
外部中断模块:将转1圈的时间通过双字节除法程序求出即时转速。
定时中断模块:PWM输出波形形成。
控制调节模块:通过设定值和实测值的比较来改变脉冲波的占空比,该数据的调节分为简单比例调节PP和比例积分调节PI。
调节公式分别为:YK=YK1+KP*EKYK=YK1+KP*EK+KI*EK2YK:要输出的数据YK1:上次输出的数据EK:设定值和实测值的差值EK1:上次的EK值EK2:EK-EK1的差值KP:比例系数(设KP=1~2)KI:积分系数(设KI=1~2)三. 硬件设计对题目进行深入的分析和思考,可以将整个模块分为以下几个部分:控制部分,隔离电路,驱动电路和负载的续流电路。
系统的框图如图3.1所示。
3.1控制电路的设计控制电路主要由单片机来控制,编写一段程序使单片机发出的PWM脉冲来实现对驱动的控制。
新一代的单片机增加了很多的功能,其中包括PWM功能。
单片机通过初始化设置,使其能自动的发出PWM脉冲波,只有在改变占空比的时候CPU才干预。
3.2隔离电路的设计隔离电路主要作用是防止驱动电路中的电流过大,与单片机直接相连是可能会烧毁单片机而加的保护性电路。
其电路图如下图3.2所示。
其中1,2,3,4脚分别接单片机的P1.1 ,P1.2,P1.3,P1.4口。
电阻起限流左右。
电阻R1,R3,R5,R7阻值为470Ω,电阻R2,R4,R6,R8的电阻都为1KΩ。
其工作原理如下:当电机中的电压正常时,发光二极管导通,发光使光敏三极管导通,电路接通正常工作;当电路中电压很高时,发光二极管被击穿,电路不导通,从而起到保护单片机的作用。
3.3 驱动电路的设计开关驱动是利用大功率晶体管的开关作用。
将恒定的直流电源电压转换为一定的方波电压加在电机电枢上,与线性方式不同,在这种驱动方式下,驱动器的功率管工作在开关状态,当器件导通时,器件的电流很大但是压降很小;器件关断时,压降很大但是电流很小。
因此驱动器的功率消耗少,发热量少,效率较高。
通过控制开关的频率和脉宽,可以对电机的转向进行控制。
我们在本次设计中采用的PWM脉冲调制方式正是一种开关驱动方式,是直流电机最重要也是最常见的驱动方式。
采样控制理论中有一个重要的结论:冲量相等而形状不同的窄脉冲及在具有惯性环节上时,其效果基本相同,这正是PWM 控制技术的理论基础。
PWM驱动方式易与处理器接口,使用简单,最常见的就是H桥电路。
集成H桥芯片很很多型号,我们使用的是L298的芯片驱动电路是H桥电路,图3.4为H桥驱动电路的工作原理图。
同一侧的晶体管不能同时导通。
当SW1和SW4导通,当SW2和S3截止时,电路由正电流经SW1,从电机的正极流入电机,电机反向运转。
当SW1和SW3或者SW2和SW4同时导通的时候,电机处于制动状态,电路中二极管注意是起续流保护作用。
由于电机具有较大的感性,电流不能突变,若忽然将电流切断将在功率管两端产生巨大的电压,损坏器件。
我们采用的是模块是H桥芯片L298,图3.5所示是L298的内部原理图L298需要2个电压,一个为逻辑电路工作时所需要的5V电压VCC,另一个为功率电路所需的驱动电压VSS。
驱动电路的输入可直接与单片机的引脚相连,为了进一步提高抗干扰能力我们还使用了光电耦合器件组成的隔离电路和控制电路和动力电路进行电气隔离。
参见表3.1。
我们来分析原理,使能端输入使能。
控制输入端A端输入PWM信号,控制输入端B端输入PWM的反相信号,在一个PWM周期里,电机的电枢承受双极性的电压,电机的速度和方向均由PWM决定。
PWM占空比为50%时,对应的电机的转速为0 即电机停止转动,占空比为0%-50%的时候电机的转速时-MAX-0,即电机反转;占空比为50%-100%对应的电机的转速为0- +MAX即电机正转。
电机的转动速度由PWM脉冲的频率决定。
频率高则速度快,即电机加速,频率降低则是电机转动速度减慢。
即电机减速。
使能端输入PWM信号控制输入端A端和控制输入B端输入控制电机状态的信号,电机状态参见表3.2图3.6直流电机PWM调速方案图3.6 直流电机的PWM调速方案3.4续流电路的设计由于电机具有较大的感性,电流不能突变,若忽然将电流切断将在功率管两端产生巨大的电压,损坏器件。
我们应用二极管来续流,利用二极管的单向导通性。
二极管的选用必须要根据PWM的频率和电机的电流来决定。
二极管要有足够迅速的恢复时间和足够的电流承受能力。
电流如果突变易损坏功率管即L298芯片。
为保护芯片而加上续流电路,其电路原理图如图3.7所示3.5 整个电路原理图四.软件设计4.1主程序设计该程序主要完成初始化,设置定时常数和中断入口程序,主程序不断的循环,处于等待中断状态。
ORG0000HAJMP STARTORG 0003HLJMP INT0ORG 0030H ;系统初始化START: MOV SP,#60H ;赋初值MOV R0,#00H ;赋值R0=0MOV R1,#00H ;赋值R1=0CLR P1.5 ;置0CLR P1.6 ;置0CLR P1.7 ;置0MOV TMOD ,#01H ;写控制字MOV TL0,#0FFH ;置定时常数MOV TH0,#0FFHSETB EA ;允许中断SETB EX0 ;允许外部中断0SETB ET0 ;允许TL0中断CLR IT0SETB TR0 ;启动TL0图4.1 主流程图4.2 显示设计通过P1.1,P1.2口来控制数码,显示通过调用查表和调用延时来实现数的显示,其程序代码如下:MOV DPTR,#TABMOV 40H ,#0 ;置0MOV 41H ,#0 ;置0LED: SETB P1.1 ;P1.1置1CLR P1.2 ;P1.2清0MOV A ,40H ;将40H的内容送AMOVC A ,@A+DPTR ;查表MOV P0,A ;查表得A值送P0口LCALL TTS ;调用延时CLR P 1.1 ;P1.1清0SETB P1.2 ;P1.1置1MOV A ,41H ;将41内容送AMOVC A,@A+DPTR ;查表MOV P0,A ;查表得A值送P0口LCALL TTS ;调用延时CLR P 1.2 ;P1.2清0LJMP LED ;跳转到LEDORG 2000HTAB:DB 40H ,79H,24H,30H,19HDB 12H ,02H,78H,00H,10H4.3功能程序设计结束中断以后转入相应的功能键程序,为加速,减速,正转,反转,暂停。
程序代码如下:ITTO :CLR P 1.5JNB P1.5 ,Z1MOV A ,#0FFHSUBB A ,RO图4.2 数码显示流程图 图 4.3 中断子程序流程图MOV TH0 ,ASETB TR0 ;启动TR0 RETIZ1 :MOV TH0 ,R0 ;高电平定时 SETB TR0 RETIINT0:CLR EX0 ;实现键盘控制MOV A ,#0FFHMOV P2 ,AMOV A ,P2JNB ACC.0 ,JIAJNB ACC.1 ,JIANJNB ACC.2 ,ZZJNB ACC.3 ,FFJNB ACC.4 ,TZAJMP CCJIA:CJNE R0 ,#0FFH,AA ;实现电机加速 AJMP CCJIAN:CJNE R0 ,#00,BB ;实现电机减速 AJMP CCBB:MOV A ,R0SUBB A ,#5MOV R0 ,AAJMP CCCC:MOV A,R0 ;数码显数MOV B ,#5DIV ABMOV 40H,AMOV 41H ,BSETB EX0LCALL TTS ;调用延时LCALL TTS ;调用延时LCALL TTS ;调用延时LCALL TTS ;调用延时RETIZZ:SETB P 1.6 ;电机正转CLR P 1.7LCALL TTSLCALL TTSLCALL TTSSETB EX0RETIFF:CLR P 1.6 ;电机反转SETB P 1.7LCALL TTSLCALL TTSLCALL TTSSETB EX0RETITZ:CLR P1.6 ;实现电机停止CLR P1.7LCALL TTSLCALL TTSLCALL TTSSETB EX0RETITTS :MOV R3 ,#0E0H ;延时子程序TT1S:MOV R4 ,#30HTT0S:DJNZ R4 ,TT0SDJNZ R3 ,TT1SRETEND五. 结论通过本次课程设计,使我学到了许多书本上无法学到的知识,也使我深刻领会到单片机技术应用领域的广泛。
不仅让我对学过的单片机知识得到巩固,同时也对单片机这门课产生了很大的兴趣,在课程设计的过程中,体会良多,收获很大。
主要有以下方面:1.巩固了书本上学习的知识,通过本次的课程设计,对书本上面的知识更加的了解,也对编写程序有了一定的认识。
2.在本次的课程设计中,我进一步加强了自己的动手的能力和运用专业知识的能力,从中学到如何去思考和解决问题3.通过本次的课程设计,让我了解到单片机技术对当今人们生活的重要性。