1、4调试(8) 硬件测试 (8) 软件调试 (111 直流电机转速控制方案设计设计要求通过设计了解如何运用电子技术来实现直流电机转速控制,完成直流电机转向和转速的控制,提高分析电路设计、调试方面问题和解决问题的能力。1、 用按键1控制旋转方向 ,实现正转和反转。2、 电机的设定转速与电机的实际转速在数码管上显示。3、 旋转速度可实时改变。设计框图本课题中测量控制电路组成框图如下所示:图12 直流电机转速控制硬件设计主要器件功能1、L298N 是专用驱动集成电路,属于H 桥集成电路,与L293D 的差别是其输出电流增大,功率增强。其输出电流为2A,最高电流4A,最高工作电压50V,可以驱动感性负载
2、,如大功率直流电机,步进电机,电磁阀等,特别是其输入端可以与单片机直接相联,从而很方便地受单片机控制。当驱动直流电机时,可以直接控制步进电机,并可以实现电机正转与反转,实现此功能只需改变输入端的逻辑电平。此外可能通过使能端的高低电平的变换,从而使电机通断,来控制电机的转速。 图2板上的EN1 与EN2 为高电平时有效,这里的电平指的是TTL 电平。EN1 为IN1 和IN2 的使能端,EN2为IN3 和IN4 的使能端。POWER 接直流电源,注意正负,电源正端为VCC,电源地为GND。2、ZLG7290的核心是一块ZLG7290B芯片,它采用I2C接口,能直接驱动8位共阴式数码管,同时可扫描
3、管理多达64只按键,实现人机对话的功能资源十分丰富。除具有自动消除抖动功能外,它还具有段闪烁、段点亮、段熄灭、功能键、连击键计数等强大功能,并可提供10种数字和21种字母的译码显示功能,用户可以直接向显示缓存写入显示数据,而且无需外接元件即可直接驱动数码管,还可扩展驱动电压和电流。此外,ZLG7290B的电路简单,使用也很方便。用户按下某个键时,ZLG7290的INT引脚会产生一个低电平的中断请求信号,读取键值后,中断信号就会自动撤销。正常情况下,微控制器只需要判断INT引脚就可以得到键盘输入的信息。微控制器可通过两种方式得到用户的键盘输入信息。其一是中断方式,该方式的优点是抗干扰能力强,缺点
4、是要占用微控制器的一个外部中断源。其二是查询方式,即通过不断查询INT引脚来判断是否有键按下,该方式可以节省微控制器的一根IO口线,但是代价是I2C总线处于频繁的活动状态,消耗电流多并且不利于抗干扰。 图3ZLG7290能够直接驱动8 位共阴式数码管(或64 只独立的LED),同时还可以扫描管理多达64 只按键。其中有8 只按键还可以作为功能键使用,就像电脑键盘上的Ctrl、Shift、Alt 键一样。另外ZLG7290B 内部还设置有连击计数器,能够使某键按下后不松手而连续有效。采用I2C 总线方式,与微控制器的接口仅需两根信号线。可控扫描位数,可控任一数码管闪烁。4、 MAX232芯片是美
5、信公司专门为电脑的RS-232标准串口设计的单电源 电平转换芯片,使用+5v单电源供电。图4第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。 其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。 8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。 TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2O
6、UT送到电脑DB9插头;DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。第三部分是供电。15脚GND、16脚VCC(+5v)。硬件原理图电路图图53 直流电机转速控制软件设计程序流程图图64 调试硬件测试单片机部分及其接口电路测试图7当按键S1按下时,产生INT0中断,使,取反.这样就能控制电机的正反转,且中断来时取反这样LED灯亮灭代表不同的转向.电机部分电路及其接口电路测试图8电机测试时,L298N的IN3,IN4的输出控制电机的正反转,IN3,IN4为0,1,时是一种转向,当IN3,IN4为1,0时,就反向转动.而电机的转速控
7、制是通过L298N的ENB来控制,由于ENB的状态直接确定电机的通断,所以,测试时,通过调节ENB占空比的输出来测试电机的转速控制.电机的测速是通过霍尔开关来获取的,电机的叶片上贴有磁钢,当磁钢经过霍尔开关时,霍尔开关2脚产生脉冲,当一定的时间到时,霍尔开关的2脚输出的脉冲数被单片机记录,然后经过处理在8位数码管上显示出来. 数码管的部分电路及其接口电路测试图9通过单片机控制使LED1显示输入需要控制的转速,LED2来显示实时的转速,单片机与LED灯之间通过集成芯片ZLG7290来进行连接。软件调试 按键程序 当按键按下的时候产生一个低电平,连接INT0,产生外部中断,使,取反,从而控制电机正
8、反转,和LED灯的状态,显示其转向.具体的程序如下:void INT0SUB() interrupt 0 P11=P11; P12=P12; P13=P13; PWM程序因为电机调速是本次设计的最主要任务之一,所以PWM程序也是程序中最重要的一环。PWM的调速原理是通过调节一个斩波周期中的脉冲占空比来调节电机功率而达到调速目的。本设计中,PWM的斩波周期为500us,那也就是说斩波频率为2kHz,在理论上能达到%线性可调,也就是能以%的调节精度来调节PWM占空比。PWM调速子程序是放在定时器0中断中进行的,中断设置如下:ET0 = 1;/中断允许位TMOD=0x51;TH0=0xFE;TL0=
9、0x0C;R0 = 1;/SETB TR0下面是PWM的中断子程序:void TIMER0() interrupt 1 TH0=0xFE; TL0=0x0C; if(r=0) a+; if(a=c) P10=0; a=0; r=1; if(r=1) b+; if(b=(100-c) P10=1; b=0; r=0; n-; 测速系统程序测速是本设计的另外一个重点。本设计中测速系统的工作原理为:利用电机叶片上的磁钢,引起霍尔开关产生脉冲,单片机就采集此脉冲数,加以计算,得出其实时速度。测速程序得用一个计数器1具体实现如下: TH1 = 0x00; TL1 = 0x00; ET1 = 1; TR1 = 1;函数中,TH1_1,TL1_1就是存放计数器1的计数值的缓冲区,当它们从TH1和TL1中取得数值之后,TH1和TL1随即被清零,为下一次计数做好准备。 int d,g,z; z=TL1; d=TL1*30; g=d-k; dat1=d%10; d=d/10; dat2=d%10; dat3=d%10; dat4=d; m=0; n=20; TL1=0X00; TH1=0X00; 调速程序本程序中我们利用逼近的方式来控制电机的转速,其相应的程序n
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2