1、数制转换模块:将二进制转换为十进制。外部中断模块:将转1圈的时间通过双字节除法程序求出即时转速。定时中断模块:PWM输出波形形成。控制调节模块:通过设定值和实测值的比较来改变脉冲波的占空比,该数据的调节分为简单比例调节PP和比例积分调节PI。调节公式分别为:YK=YK1+KP*EKYK=YK1+KP*EK+KI*EK2YK:要输出的数据YK1:上次输出的数据EK:设定值和实测值的差值EK1:上次的EK值EK2:EK-EK1的差值KP:比例系数(设KP=12)KI:积分系数(设KI=12)三. 硬件设计对题目进行深入的分析和思考,可以将整个模块分为以下几个部分:控制部分,隔离电路,驱动电路和负载
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.3 驱动电路的设计开关驱动是利用大功率晶体管的开关作用。将恒定的直流电源电压转换为一定的方波电压加在电机电枢上,与线性方式不同,在这种驱动方式下,驱动器的功率管工作在开关状态,当器件导通时,器件的电流很大但是压降很小;器件关断时,压降很大但是电流很小。因此驱动器的功率消耗少,发热量少,效率较高。通过控制开关的频率和脉宽,可以对电机的转向进行控制。我们在本次设计中采用的PWM脉冲调制方式正是一种开关驱动方式,是直流电机最重要
4、也是最常见的驱动方式。采样控制理论中有一个重要的结论:冲量相等而形状不同的窄脉冲及在具有惯性环节上时,其效果基本相同,这正是PWM控制技术的理论基础。PWM驱动方式易与处理器接口,使用简单,最常见的就是H桥电路。集成H桥芯片很很多型号,我们使用的是L298的芯片驱动电路是H桥电路,图3.4为H桥驱动电路的工作原理图。同一侧的晶体管不能同时导通。当SW1和SW4导通,当SW2和S3截止时,电路由正电流经SW1,从电机的正极流入电机,电机反向运转。当SW1和SW3或者SW2和SW4同时导通的时候,电机处于制动状态,电路中二极管注意是起续流保护作用。由于电机具有较大的感性,电流不能突变,若忽然将电流
5、切断将在功率管两端产生巨大的电压,损坏器件。我们采用的是模块是H桥芯片L298,图3.5所示是L298的内部原理图L298需要2个电压,一个为逻辑电路工作时所需要的5V电压VCC,另一个为功率电路所需的驱动电压VSS。驱动电路的输入可直接与单片机的引脚相连,为了进一步提高抗干扰能力我们还使用了光电耦合器件组成的隔离电路和控制电路和动力电路进行电气隔离。参见表3.1。我们来分析原理,使能端输入使能。控制输入端A端输入PWM信号,控制输入端B端输入PWM的反相信号,在一个PWM周期里,电机的电枢承受双极性的电压,电机的速度和方向均由PWM决定。PWM占空比为50%时,对应的电机的转速为0 即电机停
6、止转动,占空比为0%-50%的时候电机的转速时-MAX-0,即电机反转;占空比为50%-100%对应的电机的转速为0- +MAX即 电机正转。电机的转动速度由PWM脉冲的频率决定。频率高则速度快,即电机加速,频率降低则是电机转动速度减慢。即电机减速。使能端输入PWM信号控制输入端A端和控制输入B端输入控制电机状态的信号,电机状态参见表3.2 图3.6直流电机PWM调速方案图3.6 直流电机的PWM调速方案3.4续流电路的设计我们应用二极管来续流,利用二极管的单向导通性。二极管的选用必须要根据PWM的频率和电机的电流来决定。二极管要有足够迅速的恢复时间和足够的电流承受能力。电流如果突变易损坏功率
7、管即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 ;CLR P1.7 ;置0 MOV TMOD ,#01H ;写控制字MOV TL0,#0FFH ;置定时常数MOV TH0,
8、#0FFH SETB EA ;允许中断SETB EX0 ;允许外部中断0SETB ET0 ;允许TL0中断CLR IT0 SETB TR0 ;启动TL0图4.1 主流程图4.2 显示设计通过P1.1,P1.2口来控制数码,显示通过调用查表和调用延时来实现数的显示,其程序代码如下:MOV DPTR,#TABMOV 40H ,#0 ;MOV 41H ,#0 ;LED: 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
9、;P1.1清0SETB P1.2 ;P1.1置1 MOV A ,41H ;将41内容送AMOVC A,A+DPTR ;CLR P 1.2 ;LJMP LED ;跳转到LED ORG 2000HTAB:DB 40H ,79H,24H,30H,19HDB 12H ,02H,78H,00H,10H4.3功能程序设计结束中断以后转入相应的功能键程序,为加速,减速,正转,反转,暂停。程序代码如下:ITTO :CLR P 1.5 JNB P1.5 ,Z1MOV A ,#0FFH SUBB A ,RO 图4.2 数码显示流程图 图 4.3 中断子程序流程图MOV TH0 ,A 启动TR0 RETI Z1 :
10、MOV TH0 ,R0 ;高电平定时 SETB TR0 RETIINT0:CLR EX0 ;实现键盘控制MOV P2 ,A MOV A ,P2 JNB ACC.0 ,JIA JNB ACC.1 ,JIANJNB ACC.2 ,ZZJNB ACC.3 ,FFJNB ACC.4 ,TZAJMP CCJIA:CJNE R0 ,#0FFH,AA ;实现电机加速 AJMP CCJIAN:CJNE R0 ,#00,BB ;实现电机减速BB:MOV A ,R0 SUBB A ,#5 MOV R0 ,A AJMP CC CC:MOV A,R0 ;数码显数 MOV B ,#5 DIV AB MOV 40H,A
11、MOV 41H ,B SETB EX0 LCALL TTS ; RETIZZ:SETB P 1.6 ;电机正转 CLR P 1.7 LCALL TTSSETB EX0 RETI FF:CLR P 1.6 ;电机反转 SETB P 1.7 RETI TZ:实现电机停止 CLR P1.7TTS :MOV R3 ,#0E0H ;延时子程序TT1S:MOV R4 ,#30H TT0S:DJNZ R4 ,TT0S DJNZ R3 ,TT1S RET END 五. 结论通过本次课程设计,使我学到了许多书本上无法学到的知识,也使我深刻领会到单片机技术应用领域的广泛。不仅让我对学过的单片机知识得到巩固,同时也对单片机这门课产生了很大的兴趣,在课程设计的过程中,体会良多,收获很大。主要有以下方面:1.巩固了书本上学习的知识,通过本次的课程设计,对书本上面的知识更加的了解,也对编写程序有了一定的认识。2. 在本次的课程设计中,我进一步加强了自己的动手的能力和运用专业知识的能力,从中学到如何去思考和解决问题3.通过本次的课程设计,让我了解到单片机技术对当今人们生活的重要性。同时这次课程设计也让我明白不管做什么事都要脚踏实地,刻苦努力的去做。在本次的课程设计中,得到了我们的指导老师王义琴老师的悉心指导和帮助,在此表示衷心的感谢。六参考资料1. 梅丽凤,王艳秋,汪毓铎
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1