为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

智能电动自行车调速控制系统

2021-01-22 5页 doc 1MB 15阅读

用户头像 个人认证

洛衣含

暂无简介

举报
智能电动自行车调速控制系统1绪论电动车比燃油车有更长的发展史。世界第一辆机动车就是电动车而不是燃油车。起初燃油汽车技术快速发展,电动车却未能在能源和行驶里程的研究上取得突破性成果。在上世纪20年代初到80年代末这段时间里,电动车一直没有得到重视。自从进入70年代以后,中东石油问题爆发并且人类逐渐认识到环境问题日益加重,电动车的研究再次成为人类关注的热点。近年来,许多国家投入了大量资金和人才到电动车开发研究领域。因此电动车的技术发展也获得了巨大成果。虽然电动车的能源和行驶距离方面至今还没有得到令人非常满意的突破,但是电动车的前景依然值得人们继续不断的开发...
智能电动自行车调速控制系统
1绪论电动车比燃油车有更长的发展史。世界第一辆机动车就是电动车而不是燃油车。起初燃油汽车技术快速发展,电动车却未能在能源和行驶里程的研究上取得突破性成果。在上世纪20年代初到80年代末这段时间里,电动车一直没有得到重视。自从进入70年代以后,中东石油问题爆发并且人类逐渐认识到环境问题日益加重,电动车的研究再次成为人类关注的热点。近年来,许多国家投入了大量资金和人才到电动车开发研究领域。因此电动车的技术发展也获得了巨大成果。虽然电动车的能源和行驶距离方面至今还没有得到令人非常满意的突破,但是电动车的前景依然值得人们继续不断的开发和改善相关技术。现代社会的不断发展,石油煤炭等不可再生能源持续消耗,清洁可再生能源的需求越加明显,电动自行车已经成为了当今世界各国急需开发的新型交通工具。虽然智能电动自行车在能源和续航时间的开发领域里,至今都没有取得突破性的成果,然而智能电动车光明的未来前景仍然激励着人类坚持不懈地研究新型电动自行车,不断完善和改良其性能。二十一世纪,能源紧缺和环境污染给人类带来了巨大的生存压力,越来越多的声音呼唤人类尽快的改善自身的自然生存环境,减少对环境的污染,更多使用绿色能源。为了推动这一倡导的发展,世界各国各地区的相关政府机关、学术研究领域、工业生产领域都在加大对电动自行车开发研究的投资资金和人才派遣力度,以推进电动自行车商品化的进度。虽然目前电动车在能源利用和行驶距离方面的现还未能达到理想程度,但已经可以满足人们出行的基本要求。从技术不断发展的方面来看,相信在经过漫长而艰难的研究开发历程以后,电动自行车将会获得的技术突破,有望成为二十一世纪的重要交通工具。在我国自行车的使用量相当大,在很长一段时期内,自行车仍将是老百姓出行最方便常用的交通工具。近年来,人民生活水平不断提高,一种以蓄电池为能的自行车用其轻便、安全、省时、省力、低能耗、零排放、低噪音、有利于创造绿色人居环境等优点,赢得了越来越受到人民群众的喜爱。在现如今的城乡大小街道上,电动自行车越来越普及,并且大有取代传统自行车的趋势。电动车电机的基本要求:(1)电动车的运行,相比于一般的工业应用有所区别,相当复杂。因此,对电动机驱动系统有很高的要求。(2)电动车使用的电动机应具备瞬时功率大,过载能力比较强、加速的性能比较好,使用寿命相对长的特点。(3)电动车用电动机的调速范围应该比较宽。在恒转矩区运行时,低速运行需要具有较大的转矩,从而能够达到起动和爬坡的需求;在恒功率运行时,低转矩运行需要具有较高的速度,从而达到车在平坦的路面可以高速行驶的要求。(4)电动车使用的电机应能够在车子速度减慢时实现能量回收,把减速的能量传输给蓄电池,提高电动车能量的利用率,在摩托车这种情况上是不能实现的。2总体论证总体方案论证部分选取了两个方案进行比较,一个方案是采用PSOC单片机来实现电动车调速系统,另一个方案则是使用STC89C52单片机实现课题要求的方案。2.1系统方案一关于通过PSOC单片机来实现电动车调速系统的设计,单片机产生PWM脉冲信号来完成信号检测、控制系统的任务。采用霍尔元件检测电动机所在的位置信号与当前转速,用场效应管MOSFET进行功率转换。PSOC片上系统具有很灵活的特性,控制效果可以达到很好的程度,并且可以增加系统的可靠性、安全性以及快速性。PSOC单片机通过霍尔元件测出频率,经过换算以后间接得到电机转速。电机刚开始启动时,速度变化快,电流输入信号大,得到较高的输出占空比,电动机所得到的平均电压提高。这样可以使电动机在启动的一段时间内拥有一个较高的启动转矩,但这是电流输入信号需要被限制从而可以减少因启动电流太大而导致电动机损坏。该控制系统原理框图如图2.1所示。图2.1调速系统框图调速系统根据对电动自行车和蓄电池的需要,设置保护电路等其他防护措施。在电动车运行时,通过电流中断保护电动机的方法最为有效。2.2系统方案二本设计的基本思想是以STC89C52为核心器件,从而控制电动自行车的行驶。以STC89C52为核心所组成的闭环控制系统,能够实现速度显示,速度控制,采用改变电机驱动电压的方法实现电机调速。电压调速的实现方法有多种,在应用单片机输出控制信号进行调速的场合,比较便于实现而且调整性能良好的是脉冲宽度调制(PWM)技术。系统框图如图2.2所示。图2.2系统框图2.2.1电源电路220V电压经过变压器调整过后变为12V电压,在经过L7805三端稳压器以后,可以输出单片机工作所需要的+5V的电压,作为工作电源。电路中电容用来补偿频率,这样可以防止稳压器产生过多的自激振荡,而且这样也可以减少电路产生的高频干扰。二极管用来起保护作用,电解电容具有较大容量,这样可以降低稳压电源输入电路以后产生的低频干扰。当输入端因为不可预知的原因而短路的时候,二极管可以给电容一个放电通路。2.2.2显示电路显示部分使用LCD1602液晶显示,1602液晶也可以称做1602字符型显示液晶,数字、字母、符号等信号都可以用LCD1602来显示在它的点阵型液晶模块上面。通过串行口通讯来连接液晶显示和单片机,可以充分利用单片机的端口,液晶显示依靠单片机的中断来工作。LCD1602的表示为是十六乘以二,意思是每行有16个字符的显示空间,可以显示两行。单片机计算出电动机的转速以后,再显示到LCD1602上面。2.2.3速度控制原理电动车所使用的电源电压一般都比较小。调控小功率的直流电动机一般会使用脉宽调制的方法控制转速。脉宽调制是一种经常被工程师使用的调速方法,这种调速方法拥有很多的优点:调速特性好、过载能力较大、可以频繁承受负载冲击、调速区间大、可以频繁瞬间启动、制动等。所以经过考虑选择采用脉宽调制方式控制直流电动机。2.2.4无刷直流电动机无刷直流电机是一种新型的直流电机,它伴随着迅猛发展起来的电子信息技术应运而生。现在无刷直流电动机已经成为一种重要的元件,并且被广泛的应用于新型科学技术以及军事装备中。法拉第电磁感应技术作为无刷直流电机的基础,然后加以电子、数字技术辅助,加上各种物理原理支持,这些都寄予了无刷直流电动机强大的生命力。无刷直流电机没有换向器以及电刷所构成的机械接触机构,这是它最大的特色。无刷直流电机的转子是永磁体所构成的,减少了能量的消耗。无刷直流电机的电枢绕组被安装在定子上。这样的设计减少了热量的产生,便于散热。由于有这样的设计就使得无刷直流电动机不会产生换向火花,失去了电磁干扰,使用时间变长,运行起来更加可靠。同时无刷直流电动机可以快速的实现无级变速,这样的特性使得它很适合用于电动自行车。2.2.5单片机选择STC89C52是具有损耗小,性能好的CMOS八位微处理器,片内有8K的快速擦除、写入、可重复编程的存储器。MCS-51作为STC89C52的核心,并且做了很多更新改良,这样使STC89C52具备了更多的功能。STC89C52拥有方便的8位处理器以及可在系统可编程Flash。STC89C52有高灵活度、高效率的特点使系统设计变得更为简单。2.3系统方案确定经过两种设计方案的比较,并且根据任务要求,第二种方案更加适合本课题的需要,相对来说第二种方案程序设计比较简单操作起来更为方便,因此选择第二种方案来进行本次课题设计。3硬件电路设计硬件电路设计主要分为电源电压转换电路、电动机驱动电路、电动机调速、液晶显示电路、速度控制电路几大部分。具体的各部分电路以及所用到的芯片和元件将会在各个部分中详细进行介绍。3.1电源电路单片机所需要的+5V电源需要通过三端稳压器LM7805将12V电源转换以后得到。选用LM78/LM79系列三端稳压电源,可以极大地减少外围电路的元件。在芯片内部电路有过流和过热的保护电路。这一系列的集成稳压型号中,LM78XX其中XX表示的是经过三端稳压器输出来的电压大小。例如LM7808的含义就是三端稳压输出电压为正8V,LM7910含义是三端稳压输出电压为负10V。LM78XX系列输出电压分别有:5V、6V、8V、9V、10V、12V、15V、18V、24V。电源电路图如图3.1所示。图3.1电源电路图220V电压经过变压器调整过后变为12V电压,在经过L7805三端稳压器变压以后,可以输出单片机工作所需要的+5V的电压,作为工作电源。电路中电容用来补偿频率,这样可以防止稳压器产生过多的自激振荡,而且这样也可以减少电路产生的高频干扰[1]。二极管用来起保护作用,电解电容具有较大容量,这样可以降低稳压电源输入电路以后产生的低频干扰,当输入端口因为不可预知的原因而短路的时候,二极管可以给电容一个放电通路。3.2液晶显示电路显示模块采用LCD1602来实现在本系统中,采用占用I/O资源少,功耗低,体积小,显示字符多的1602液晶显示器作为显示器件。LCD液晶连接图如图3.2所示图3.2LCD仿真连接图LCD液晶显示器的优点:(1)显示质量高:液晶显示器相比于阴极射线管来说有很多的优点,阴极射线管现实的时候要通过不停的刷新亮点来保持显示,而液晶则不需要这样,液晶上的每个点接收到信号以后,就可以一直显示,持续发出光亮,所以液晶显示器画质好而且不会产生闪烁现象。(2)数字式接口:液晶显示器通过串行口与单片机系统接口连接操作起来更加便利而且可靠。(3)体积小、重量轻:液晶显示器相比于传统显示器在重量上要有很大的优势,液晶显示器上的液晶分子由电极控制从而能够正常的把信息显示出来。(4)功耗低:在功耗方面液晶显示器比其它显示器要省电得多,因为液晶显示器消耗的电能主要用于内部电路以及芯片的驱动。LCD液晶显示器的显示原理:LCD1602的点阵图是16×2个显示字符构成的,每行有16个字符,一共有2行,所以LCD1602一共有16×8=128个点组成,液晶显示屏上通过各个点位置的明暗来显示信息。比如说第一行的明暗对应RAM区的000H——00FH的16个字节。如果(000H)=FFH的时候,这时液晶显示屏左上方显示一条明亮的线,有8个字符的长度,如果(3FFH)=FFH的时候,那么屏幕右下方就会显示一条亮线。LCD的基本显示原理就是这样。3.3单片机介绍3.3.1STC89C52单片机STC89C52是具有损耗小,性能好的CMOS八位微处理器,片内有8K字节的可重复擦除快速写入可重复编程的存储器。MCS-51作为STC89C52的核心,并且做了很多更新改良,这样使STC89C52具备了更多的功能。STC89C52拥有方便的8位处理器以及可在系统可编程Flash。因为STC89C52具有高灵活度、高效率的特点为应用系统提供了很大便利。STC89C52单片机在电子行业中有着广泛的应用。单片机最常用的是40引脚双列直插式集成电路芯片。由于单片机是一个芯片。本身体积小,为了增加其功能,许多管脚具有两个功能[2]。为了方便说明,下面将单片机的引脚按功能分为4部分:(1)主电源引脚Vcc和GNDVcc(40脚)——接+5V电源。GND(20脚)——接地端。(2)外接晶体引脚XTALl和XTAL2XTAL2(18脚)——接外部晶振和微调电容。当需要外部时钟时,这个引脚可以作为外部时钟的输入端口。XTAL1(19脚)——接外部晶振和微调电容的另一端口。当需要外部时钟时,这个引脚只有接地才能使时钟生效。(3)控制信号引脚RST(9脚)——复位输入,高电平有效,使单片机回复到初始状态。(29脚)——该端口低电平有效,同时也是外部程序存储器读选通信号输出端。此引脚的输出作为外部程序存储器的读选通信号。ALE(30脚)——地址锁存信号,并且输出高电平时有效。当外部存储器受访问时,ALE(允许地址锁存)的输出脉冲用于锁存P0端口地址/数据总线上的低8位地址。ALE信号通常连接到外部地址锁存器的使能引脚上。因此,它可用作对外输出用于定时的时钟电路。在复位期间,ALE可以被强制输出高电平。(31脚)——用于访问存储器程序的控制信号。当EA为低电平时,对程序存储器ROM的读操作限定在外部程序存储器。当选用内部没有程序存储器,必须扩展外部程序存储器的单片机时,EA信号应为低电平,即接地。当选用内部具有程序存储器的单片机时,EA信号为高电平时,对程序存储器ROM的读操作从内部ROM延伸到外部ROM[3]。(4)输入/输出端口引脚P0、P1、P2、P3(共32条口线)P0口(32脚~39脚):一个8位漏极开路型双向I/O口。当用作通用I/O口时,每个引脚可驱动8个TTL负载;当用作输入时,每个端口首先置1。在反问外部存储器时,它是分时传送的低字节地址和数据总线,此时,P0口内含上拉电阻。P1口(1脚~8脚):一个带有内部提升电阻的8位准双向I/O口。当用作通用I/O口时,每个引脚可驱动8个TTL负载。当用作输入时,每个端口首先置1。P1口还用于第二功能。P1.0(T2):定时器2的外部事件输入端;可编程脉冲输出端。P1.1(T2EX):定时器2的捕捉/重装触发器输入端;定时器2的计数方向控制端。P1.5(MOSI):Flash串行编程/下载时串行指令输入端。P1.6(MISO):Flash串行编程/下载时串行数据输出端。P1.7(SCK):时钟输入端。P2口(21脚~28脚):一个带有内部提升电阻的8位准双向I/O口,在访问外部存储器时,它输出高8位地址。P2口可以驱动四个TTL负载。当用作输入时,每个端口首先置1。P3口(10脚~17脚):一个带有内部提升电阻的8位准双向I/O口。能驱动四个TTL负载。当用作输入时,每个端口首先置1。P3口还用于第二功能。P3.0(RxD):串行口输入端;P3.1(TxD):串行口输出端;P3.2(INT0):外部中断0请求输入端;P3.3(INT1):外部中断1请求输出端;P3.4(T0):定时器/计数器0计数脉冲输入端;P3.5(T1):定时器/计数器1计数脉冲输入端;P3.6(WR):外部RAM写选通输出端;P3.7(RD):外部RAM读选通输出端。STC89C52单片机主要特点:(1)兼容MCS51指令系统。(2)8kb可反复擦写(大于1000次)FlashROM。(3)32个双向I/O口。(4)256×8bit内部RAM。(5)3个16位可编程定时/计数器中断。(6)时钟频率0MHz~24MHz。(7)2个串行中断,可编程UART串行通道。(8)2个外部中断源,共8个中断源。(9)2个读写中断口线,3级加密位。(10)低功耗空闲和掉电模式,软件设置睡眠和唤醒功能。(11)有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应产品的需求[8]。3.3.2STC89C52最小系统单片机的扩展一般是以基本的最小系统为基础的,所谓的最小系统,是指一个真正可用的单片机最小配置系统。而对于本系统中所使用的单片机,基于其片内自带有程序存储器,因此只需要在芯片相应引脚外接复位电路和晶振电路就构成简单的最小系统。单片机的XTAL1和XTAL2引脚通过与一个12MHz的晶振和两个33pF的电容相连接形成晶体振荡器,二者分别组成振荡器的反相放大器的输入端和输出端[4]。RST接单片机的复位电路,是单片机的复位端,当该引脚为高电平是,单片机复位,所有数据回到初始状态。本系统的复位电路包含复位开关,复位电阻和复位电容[7]。STC89C52单片机最小系统如图3.3所示。图3.3STC89C52单片机最小系统单片机的最小系统指的是外接部分简单的电路就能够开始独立工作,完成一定的工作任务的单片机系统,一般由最基本的电路元件组成[5]。STC89C52单片机的最小系统由单片机芯片、电源、时钟电路和复位电路组成。单片机的时钟电路用来产生时钟信号,为单片机片内各数字逻辑电路模块的工作提供时间基准。片内振荡方式和片外振荡方式是STC89C52单片机时钟电路的两种电路形式。本实验采用内部振荡方式。晶振电路图如图3.4所示。图3.4单片机晶振电路在实际的电路中,本设计方案采用的是上电复位法中的高电平复位法:即将电容接在高电平上,电阻与地相连接,中间为RST。其工作原理是:通电瞬间,电容充电电流最大,电容相当于短路,RST端为高电平,自动复位;电容两端的电压达到电源电压时,电容充电时电流为零,电容相当于开路,RST端为低电平,程序正常运行[9]。本设计时钟方式采用的内部时钟方式,在时钟工作的时候通过XTAL1、XTAL2引脚外接晶振电路构成自激振荡以此向内部时钟提供振荡时钟,其振荡频率主要取决于所选择的晶体。复位电路如图3.5所示。图3.5单片机复位电路复位对于单片机来说是一项非常重要的调零操作。复位电路是为了电路的安全起见,是系统上电提供复位信号,当系统电源稳定后系统才撤销复位。同时为了防止电源抖动对系统的影响,一般情况都会对系统经过一定时间的延时再撤销复位信号。在单片机的程序进入死循环后,复位电路能使单片机重新执行程序而非进入死循环。在本设计方案中,采用的是上电复位的方法[6]。上电复位法指的是上电压从无到有在RESET处会先处于高电平一段时间,然后由于该点通过电阻接地则RESET该点的电平会逐渐的改变为低电平,从而使得单片机复位口电平从1到0,达到给单片机复位的功能。3.4控制电路控制电路中LM2596开关电压调节器能够输出3A的驱动电流,而且它还具有良好的线性调节特性和负载特性。可调版本可以输出任意小于27V的电压值。LM2596是性能较好的降压型电源控制集成芯片[7]。控制电路图如图3.6所示。图3.6控制电路控制电路原理:单片机通过I/O发送信号到锁存器74HC573。因为单片机I/O端口输信号的能力较弱,有时高电平甚至可能会低于3V,这样权电阻网络会午盘I/O口输出的信号,所以选择锁存器74HC573来加强单片机I/O端口的驱动能力。经过74HC573处理过的信号就会很稳定,然后信号经过权电阻网络以后,数字信号被转换为电压信号。电压信号经过5脚进入电压跟随器LM324,以稳定电压信号。接着信号通过3脚进入电压比较器和进入2脚的基准电压进行比较。当3脚电压高于2脚电压时,1脚就会输出高电平,3脚电压低于2脚电压时,1脚就会输出低电平。电容C7用来抑制运算放大器产生的干扰。信号从1脚出来以后,经过4脚进入LM2596,不断通断的电压信号就是PWM信号。LM2596是PWM控制型电压开关芯片,通过改变LM2596的4脚PWM脉冲信号,就可以改变LM2596的输出电压和电流。最后电压信号输出到电机驱动电路。LM2596封装形式包括的5脚TO-220封装(DIP)和5脚TO-263表贴封装(SMD)。该器件还有其他一些特点:在特定的输入电压和输出负载的条件下,输出电压的误差可以保证在±4%的范围内,振荡频率误差在±15%的范围内;可以用仅80μA的待机电流,实现外部断电;具有自我保护电路[8]。特点:可以选择固定电压输出3.3V、5V、12V和可调电压输出,可调输出电压范围1.2V~37V±4%,输出线性好且负载可调节,输出电流可高达3A,输入电压可高达40V。其采用150kHz的内部具有振荡频率,属于第二代开关电压调节器,而且功耗小、效率高,低功耗待机模式,IQ的典型值为80μA。具有TTL断电能力,具有过热保护和限流保护功能。74HC573输入是和标准CMOS输出兼容的;加上拉电阻,他们能和LS/ALSTTL输出兼容。当74HC573的锁存使能端LE为高电平时,这些器件的锁存对于数据是透明的,也就是说输出同步[9]。当锁存的使能变低电平时,符合建立时间和保持时间的数据会被锁存。U36755X出能直接接到CMOS,NMOS和TTL接口上;U25805X作电压范围:2.0V~6.0V;U20302X输入电流:1.0uA;CMOS器件具有高噪声抵抗特性。三态总线驱动输出:置数并行存取、缓冲控制输入、使能输入有改善抗扰度的滞后作用。原理说明:M54HC563/74HC563/M54HC573/74HC573的八个锁存器都是透明的D型锁存器,当使能G为高时,Q输出将随数据输入数据D的变化而变。当输入使能端为低电平时,输出信号就可以锁存到已建立的数据电平上[3]。之前被存储的数据可以先被存储,甚至在输出关闭的时候也可以不受影响,因此输出的控制不会影响到锁存器内部的工作秩序。同时新数据仍然可以继续出入,这样的电路设计能够驱动大电容以及低阻抗的负载,这样可以直接和系统总线借口共同驱动,节省了外接接口的麻烦[10]。这样的设计很适合于双向驱动器。3.5电机驱动电路电机转速检测:电路中的无刷直流电动机模型本身就附带了3个霍尔传感器,几个霍尔传感器输出信号的相位差是120度。电机转子每转过60度就会数除一种编码状态,所以每当无刷电机的转子旋转一周时,霍尔传感器就能够输出6种编码状态[11]。因此每当霍尔传感器输出状态变化一次以后,这就表示无刷直流电动机的转子旋转了60度。在单位时间T内接收到霍尔传感器输出编码改变的次数n得到电机的转速为V=60n/T。根据这个原理,通过信号输入捕获得到一个霍尔传感器的输出信号周期,可以较为准确的检测出无刷直流电动机的转速。无刷直流电机的连接图如图3.7所示。图3.7无刷直流电机在做仿真的设计时Motors元件库里有两种无刷直流电动机模型可以进行选取,一种是三相星型联接方式的电机,另一种是三相角型联接方式的电机。这两种无刷电机的区别在于它们的联接绕组方式不同。模型的引脚左边三个是a、b、c作用是绕组线圈信号出入的端口,右边三个引脚sa、sb、sc则是作为霍尔传感器的输出端。load作为负载输入端口,omega作为转子速率输出端[12]。电机驱动原理:电动及驱动电路可以分为三部分,MOTORA、MOTORB、MOTORC。这三部分的电路原理是一样的,具体通过MOTORA讲述。MOTORA部分电路是H桥的变形两个三极管B772、D882是其中两个桥臂,另外两个桥臂是芯片ULN2003的内部反相器。ULN2003连接到单片机上来驱动电动机,单片机输出信号给ULN2003,经过两级反相器之后,控制电机两端的电压。驱动电路中从LM2596输出的电压和电流从MOTOR_VDD输入,R11的15脚的低电平,从ULN2003的15脚送过来。这时Q1是导通的,电机左端电压高于右端电压,电动机正向转动。由于电动自行车行驶只需要一个方向的转动,因此单片机输出的信号不用改变只要正向转动既可以。MOTORB、MOTORC与MOTORA电路原理相同。最后通过MOTORA、MOTORB、MOTORC分别输入到电动机的a、b、c三个输入端来驱动电动机。电机驱动电路图如图3.8所示。图3.8电动机驱动电路电动自行车一般使用低功率的直流电机,目前较为常用的对于小功率的直流电机调速方法有两种。第一种方法称作线性型调速:这种调速方法要用到功率三极管作为放大器;经信号放大输出后来控制无刷直流电机[13]。这种驱动电路结构较为简单,原理也容易理解并且材料成本较低,加速效果也比较好。然而这种方法最大的问题是功率损耗太大,尤其是在低速大转矩区域工作时,电阻中通过的电流大,大量发热,有很大的能量损耗。第二种方法称作脉宽调制型调速:目前这种调速方式被广泛应用于电动机调速。脉宽调速方式有很多的优点:速度调整区间大、能承受较大过载、可以频繁承受负载冲击、调速后反应速度快。因此决定选择脉宽调速方式控制无刷直流电机[14]。PWM直流电机面宽调速的原理:无刷直流电机的转速由电机的输入端得到的电压Va决定,当电机输入端得到的电压持续时间越长,电机转动时间越久,那么电机的速度就会越来越快。当出入电压Va变为0时电机得不到持续的电压,那么电机的速度就会持续下降。无刷直流电机的具体工作原理:先输入给电机一段时间的电压,电机得到电压以后就会持续转动速度不断地升高,达到给定的速度附近输入电压信号变为0,电机因为惯性会持续转动,但速度会减慢,这时再给电机输入持续电压使电机继续加速,然后Va再次变为0就这样电机转转停停速度一直保持在一个范围内,如果需要更高的速度,那么就要调整输入电压的脉宽,然后再次保持在另一个更高的速度范围内。脉冲信号图如图3.9所示。图3.9脉冲信号图Vx表示电机最大转速,Vn为表示电机最小转速,Vb为最大转速和最小转速的平均值。Vb=D×Vx式中D=t/T表示为占空比,D的数值越大Vb就越大,D的值变小Vb也就相应的减小。平均转速Vb和电枢上的脉冲占空比D之间关系如图3.10所示。图3.10Vd/D关系图根据上图可以观察出来平均转速Vb和占空比有很大的联系,所以控制电动机的速度,也就是要控制占空比D的大小,从而达到控制电机速度的目的。PWM脉宽调速方式可以分为两种,一种是双向式,另一种是单向式。第一种双向式:T表示一个脉冲周期设T=Tm+Tn,Ta和Tb导通的时间是Tm,Tc和Td的导通时间是Tn。当电机运转在Tm时间区间,电机流过正向电流,当电机运转在Tn时间区间,电机流过反向电流。那么Tm=Tn时,电机不转动,当Tm>Tn时电机正向转动,当Tm流程
图的介绍为主,程序流程图分为控制程序流程图、主程序流程图、转速检测流程图、液晶显示流程图四个部分,各部分程序的介绍可以在附录B可见。4.1软件流程图及说明4.1.1控制程序流程图原理说明:按键控制程序开始运行以后,程序先进行初始化,LCD显示当前电动机的速度。同时程序会扫描键盘是否有进行操作,当有按键按下改变相应数据时,相应的中断程序执行,改变当前的PWM占空比以得到相应的速度。控制程序流程图如图4.1所示。图4.1控制程序流程图4.1.2主程序流程图原理说明:程序开始以后开始扫描按键是否按下,如果按键按下启动开关,则开始运行。然后霍尔传感器检测到电动机的转速以后把数据传送到液晶显模块,并显示出当前速度。同时当按键改变速度时程序会对当前改变的速度值进行扫描,然后经过PWM脉宽调速进行计算相应的脉宽,接着又IR2301芯片驱动调整当前脉宽,从而达到改变当前速度的目的。最终电动机进行相应的转速改变,使电动车得到相应的速度从而完成电动自行车的调速。主程序流程图如图4.2所示。图4.2主程序流程图4.1.3转速检测流程图原理说明:转速检测部分当电机开始运行以后,程序通过传感器独处当前电动机的转向。当速度被调整以后,程序计算出速度调整后的变量值,对相应的数据进行改变以满足改变后的速度。接着清零数据变量,结束转速检测。转速检测流程图如图4.3所示。图4.3转速检测流程图4.1.4液晶显示程序流程图原理说明:液晶显示程序开始执行以后,系统复位LCD液晶开始显示。首先程序设置首地址(x=0,y=0),调用子程序WR,隔列显示。然后设置首地址(x=1,y=0),调用子程序WR。接着设置地址(x=2,y=0),调用子程序WR。最后设置地址(x=3,y=0),调用子程序WR,返回到液晶显示。液晶显示程序流程图如图4.4所示。图4.4液晶显示程序流程图5仿真与实物调试仿真和实物调试能结果够表明课题的完成程度,以及功能实现是否完整。下面通过仿真调试和实物调试两部分介绍本次课题的设计成果。5.1仿真调试在制作实物之前,一般都会先在仿真程序上制作仿真电路,这样便于调试程序和连接线,可以为实物制作带来很大的方便。在仿真制作好之后紧接着就要开始调试,一开始调试的时候有三个问题,一个是调整电机速度是电机转速无明显变化,第二个是关闭电路后其他元器件都停止工作但是电机却无法停止。下面是电路仿真的调试。仿真电路刚开始运行,但并未按下启动按键,可以看到这时的速度为0km/h,速度显示如图5.1所示。图5.1未启动状态刚开启电动车的时候,电动车的初始设定速度是10km/h,但电动车的速度并不能够直接变成10km/h,而是需要一个过程的,然后速度才能达到设定值。按下启动键以后的速度显示如图5.2所示。图5.2刚按下启动按键经过一段时间以后,电动车速度达到设定值的速度显示如图5.3所示。图5.3速度达到初始设定按下加速按键,速度设定值提升到15km/h,速度同样不能立刻达到设定值如图5.4所示。图5.4速度未达到到15km/h实际速度达到设定值15km/h,速度显示如图5.5所示。图5.5速度达到15km/h按下加速键,速度设定值刚提升到20km/h,如图5.6所示。图5.6速度未达到20km/h实际速度达到设定值20km/h,速度显示如图5.7所示。图5.7速度达到20km/h按下按键,速度设定值刚调到25km/h,速度显示如图5.8所示。图5.8速度未达到25km/h实际速度达到设定值25km/h,速度显示如图5.9所示。图5.9速度达到25km/h按下按键,速度设定值达到最高速度30km/h,速度显示如图5.10所示。图5.10速度未达到30km/h实际速度达到30km/h,速度显示如图5.11所示。图5.11速度达到30km/h当电动车速度调整到最高以后就不能再继续升高,达到电动车的极限速度。减速的情况与电动车加速的情况一样,每当降到一个设定的速度值时,电动车的速度并不能立刻将下来这也需要一个过程。电动车达到最高速度以后,按下停止按键以后。电动车的速度会持续下降直到降到0km/h为止,速度降到22km/h如图5.12所示。图5.12电车速度降到22km/h电机速度降到10km/h如图5.13所示,并且电机速度会最终将到0km/h为止。图5.13速度降到6km/h电机的问题花了不少时间,无法控制单片机输出信号的占空比,于是用示波器观察了电机上电压信号的占空比,发现在占空比变化很大的情况下,电机转速仍然没有明显的变化,最后发现是因为单片机直接输出的电压太小,就算占空比变化了一定的大小,电机上的平均电压变化并不明显。所以这里需要用到三极管来放大单片机的输出电压再送到直流电机上,这样电机上的平均电压就会有明显的变化,这样电机转速的变化也就更加明显。5.2实物调试下面将介绍实物电路板各部分的功能和作用,以及怎样通过按键控制电机的速度。实物调试的演示图如图5.14所示。图5.14实物电路布局图实物电路板上最上面一部分是液晶显示部分,SPEED表示的是当前电机的速度,limite表示的是速度的设定值。LCD1602液晶显示器下面是STC89C52单片机。单片机下面六个按键为调速系统的控制按键。从左边数第一个键为停止按键,按下以后电动机会停止转动;左边数第二个按键为电动机启动按键,按下以后电动机开始运转;中间两个按键没有设置功能;左数第五个键为减速按键,按下以后电动机的设定值limite会降低,然后电动机速度SPEED会减少;第六个键为加速按键按下以后设定值limite会升高,然后电动机速度SPEED会相应增加。按键下面一部分是电机的驱动电路。最下面一部分是电源部分。按下启动键启动电机以后,电机会直接达到最小设定速度。电机最小速度为20km/h,表示电动自行车的最小速度为20km/h如图5.15所示。图5.15电动车最小速度电动机经过按键加速以后,把速度设定值调整到40km/h,电动机速度逐渐上升到40km/h,表示电动车速度达到40km/h如图5.16所示。图5.16电机速度40km/h电动机经过按键加速,速度调到最高60km/h。达到这个速度以后,速度值达到极限不能再增加液晶显示如图5.17所示。图5.17电机达到最高速度5.3调试小结通过上面的仿真调试的演示,以及描述可以表明本次课题设计,在仿真方面已经达到了任务所需的要求。可以实现任务所需要的各部分功能。由于仿真对电脑CPU要求的关系,最高转速只能够达到30km/h,不能够完全达到实物60km/h的速度,所以仿真和实物的调速范围有所不同。仿真电路和实物调速的工作原理是一样的。实物已经实现了单片机驱动电动机,并且可以通过按键控制电动机的转速。电动机转速经过霍尔传感器,检测出电动机速度以后显示到LCD液晶显示屏上。实现了课题所要求的任务。结束语本课题研究的是智能电动自行车调速控制系统设计。最初任务从外文翻译开始,外文翻译部分,遇到了一些困难不少的专业名词翻译的不够准确,经过查阅相关的英文文献,然后进行参考以后终于翻译得较为准确了。另外还有一些比较长的句子翻译也出现了问题,经过反复的思考以后也比较的完整的翻译了出来。开题报告的撰写需要对毕业设计有一个整体的设计实现的方案,经过查阅相关的文献资料,并且参考从网络上搜集的资料以后,拟定了一个可以实现毕业设计所需功能的方案,然后请教老师对方案进行论证可以实现后,确定方案。前期材料完成以后,接下来就是智能电动自行车调速控制系统的电路仿真工作。电路仿真和实物的制作过程并不是很顺利,在仿真的制作中就遇到了两个问题,一个问题是电机转速测量出现问题,刚开始选的电机型号有问题,不能够进行转速的反馈,测出电机的转速需要一个霍尔传感器,后来换的电机带有三个霍尔传感器能够根据每次霍尔传感器的变化计算出电机的转速,然后电机转速测量的问题得到了解决。在实物的制作过程中干扰一直是个大问题,仿真中不存电磁干扰的问题,每个元器件的引脚间的距离肯定不会太大,所以在焊接之前先在纸上画出了元器件的排版方式选择了连接线交叉最少的一种排版方式。在实物做好后还是出现了一个意想不到的问题,就是LCD显示屏只能发亮,无法正常显示所需要的数据,一开始以为还是干扰的问题没有处理好,但是怎么调整还是无法使其正常工作,后来查阅了相关资料后发现LCD需要12V直流电供电,而这里只用了给单片机供电的5V直流电供电,后来用了12V电源适配器给LCD显示器供电后就可以正常工作了。在相继解决了仿真和实物的问题后此次设计算是完成了,但还是存在一些不足之处。这次设计中电动机的速度控制是最主要的一部分可能是由于电路板连线的干扰问题,在实物按键控制电机转速时不是每次都能稳定的增加或减少设定值大小的速度,但是这并不影响电动机速度的控制,总之本次课题基本上按要求完成了。致谢为期14周的毕业设计即将结束,在我的毕业设计过程中遇到了很多问题。有的问题经过自己的思考和努力可以独立解决,有的问题则是我所不能够独自解决的,但是经过老师的帮助和指导也都顺利得到了解决。经过这次毕业设计,我对所学知识的应用能力得到了很大的提高,不仅仅只是停留在理论学习上面,在实践中巩固了单片机的知识,这样使我对单片机有了更深的理解。同时在Protel和Proteus这两个软件的使用上我能够更加得得心应手,能够有这得多的提高都要感谢学校给我这个机会。在此我十分的感谢我的导师,他能够在我有问题的时候细心讲解,并且为我提供资料和指导,很多问题都是在他的指导下才能顺利解决,完成我的毕业设计。同时我也很感谢在毕业设计期间为我提供帮助的同学。参考文献[1]来清民.传感器与单片机接口及实例[M].北京:北京航空航天大学出版社,2008.[2]徐江红.解析无刷直流电机的工作原理[J].黑龙江:黑龙江科技信息期刊.2009,5(39):20~11.[3]房小翠.单片机实用系统设计技术[M].北京:国防工业出版社,1999.[4]窦振中.模糊逻辑控制技术及其应用[M].北京:机械工业出版社,2005.[5]王化祥.传感器原理及应用[M].天津:天津大学出版社,1998.[6]沙占友,王彦朋,孟志永.单片机外围电路设计[M].北京:电子工业出版社,2003.[7]彭伟.单片机C语言程序设计实训100例[M].北京:电子工业出版社,2009.[8]何立民.单片机应用技术选编[M].北京:北京航空航天大学出版社,1999.[9]吴国经.单片机应用技术[M].北京:中国电力出版社,2004.[10]求是科技.8051系列单片机C程序设计完全手册[M].北京:人民邮电出版社,2006.[11]张毅刚.MCS-51单片机应用设计[M].哈尔滨:哈尔滨工业大学出版社,2004.[12]张重雄.微机化测试系统[M].南京:南京理工大学,1998.[13]舒怀林.单片机原理与接口技术[M].武汉:华中科技大学出版社,2001.[14]侯宝玉.基于Proteus的51系列单片机设计与仿真[M].北京:电子工业出版社,2001.[15]赖麒文.8051单片机C语言彻底应用[M].北京:科学出版社,2002.附录A调速系统原理图附录B调速系统仿真图附录C程序清单1.液晶显示/*--------------------------------------------------------------*///LCD1602四线驱动程序//File:LCD1602_4.H//Date:08-8-7//Time:9:21//Ver:0.01/*--------------------------------------------------------------*/#ifndef__LCD1602_4_H__//防止被重复定义#define__LCD1602_4_H__/*--------------------------------------------------------------*///LCD1602接口定义#defineLCD_DATAP0//P2口高四位(P2^4~P2^7)与LCD的高四位(D4~D7)一一对应相接sbitLCD_RS=P0^0;//数据指令//sbitLCD_RW=P0^1;//使能端sbitLCD_EN=P0^2;//使能端//sbitLCD_RW=GND;//读写控制端接地/*--------------------------------------------------------------*///函数声明voidLCD_init(void);//液晶初始化voidLCD_en(void);//输入使能voidLCD_clr(void);//液晶清屏voidLCD_cmd(unsignedcharcmd);//指令输入voidLCD_dat(unsignedchardat);//数据输入voidLCD_delay(unsignedcharm,unsignedcharn);//延迟时间voidLCD_pos(unsignedcharx,unsignedchary);//液晶定位voidLCD_printc(unsignedcharx,unsignedchary,unsignedcharc);//字符定位输出voidLCD_prints(unsignedcharx,unsignedchary,unsignedchar*s);//字符串定位输出/*voidLCD_fprints(unsignedchar*s,signedcharpos);//字符串输出*//*--------------------------------------------------------------*///延迟时间12us→130000usvoidLCD_delay(unsignedcharm,unsignedcharn){unsignedchartempm,tempn=n;do{tempm=m;while(--tempm);}while(--tempn);}/*--------------------------------------------------------------*///液晶初始化voidLCD_init(void){LCD_cmd(0x28);LCD_en();LCD_cmd(0x28);//四线显示LCD_cmd(0x0c);//显示打开LCD_cmd(0x01);//显示清屏LCD_delay(2,249);//2000-2us}/*--------------------------------------------------------------*///输入使能voidLCD_en(void){LCD_EN=1;LCD_delay(1,1);//12usLCD_EN=0;}/*--------------------------------------------------------------*///指令输入voidLCD_cmd(unsignedcharcmd){LCD_delay(15,1);//40usLCD_RS=0;//指令LCD_DATA&=0x0f;//清高四位LCD_DATA|=cmd&0xf0;//写高四位LCD_en();cmd<<=4;//低四位移到高四位LCD_DATA&=0x0f;//清高四位LCD_DATA|=cmd&0xf0;//写高四位LCD_en();}/*--------------------------------------------------------------*///数据输入voidLCD_dat(unsignedchardat){LCD_delay(15,1);//40usLCD_RS=1;//数据LCD_DATA&=0x0f;//清高四位LCD_DATA|=dat&0xf0;//写高四位LCD_en();dat<<=4;//低四位移到高四位LCD_DATA&=0x0f;//清高四位LCD_DATA|=dat&0xf0;//写高四位LCD_en();}/*--------------------------------------------------------------*///液晶清屏voidLCD_clr(void){LCD_cmd(0x01);LCD_delay(2,249);//2000-2us}/*--------------------------------------------------------------*///液晶定位voidLCD_pos(unsignedcharx,unsignedchary){if(y)LCD_cmd(x|0xc0);elseLCD_cmd(x|0x80);}/*--------------------------------------------------------------*///字符定位输出voidLCD_printc(unsignedcharx,unsignedchary,unsignedcharc){LCD_pos(x,y);LCD_dat(c);}/*--------------------------------------------------------------*///字符串定位输出voidLCD_prints(unsignedcharx,unsignedchary,unsignedchar*s){LCD_pos(x,y);while(*s){LCD_dat(*s);s++;}}/*--------------------------------------------------------------*///字符串输出//pos=-1清屏*s='\n'换行*s='\b'退格/*voidLCD_fprints(unsignedchar*s,signedcharpos){unsignedchari;if(pos==-1){LCD_cmd(0x01);//清屏LCD_delay(2,249);//2000-2uspos=0;}while(*s){switch(*s){case'\n'://换行{if(pos<17){for(i=pos;i<16;i++)LCD_printc(i%16,i/16,'');pos=16;}else{for(i=pos;i<32;i++)LCD_printc(i%16,i/16,'');pos=32;}break;}case'\b'://退格{if(pos>0)pos--;LCD_printc(pos%16,pos/16,'');break;}default:{if(*s<0x20)*s='';LCD_printc(pos%16,pos/16,*s);pos++;break;}}s++;}}*//*--------------------------------------------------------------*/#endif2.按键中断I0()interrupt0//按键中断{//TR0=0;//TR1=0;//switch_temp=0;if(P3_3==0){start=1;}elseif(P3_5==0){if(ZHENGFAN==0){ZHENGFAN=1;start_2=0;}}elseif(P3_4==0){/*if(ZHENGFAN){ZHENGFAN=0;start_2=0;}*/}elseif(P3_7==0){if(SET_SPEED<60){SET_SPEED+=5;}}elseif(P3_6==0){if(SET_SPEED>20){SET_SPEED-=5;}}elseif(P3_2==0){start=0;}//TR0=1;//TR1=1;}3主程序main(){P2=40;//LCD_RW=0;LCD_init();//液晶初始化LCD_init();LCD_init();LCD_clr();new_lcd();T1_Init();/*TMOD|=1;PT0=1;ET0=1;*/EX0=1;//中断IT0=1;//EA=1;//TR0=1;pwm_OUT=1;while(1){//logic2(ZHENGFAN);if(new_flag){SPEED=cesu/3;//500ms检测一次,转一圈6个节拍,所以把所测得的节拍数*2/6cesu=0;ms_500flag=0;if(SPEED<10)start_2=1;//转速低才可以重新反动;if(start){if(SPEED>SET_SPEED){if(P2>25)P2--;if(pwm_date>5){if(pwm_date>(SPEED-SET_SPEED)){if((SPEED-SET_SPEED)>3){pwm_date-=(SPEED-SET_SPEED)/2;}else{pwm_date--;}}elsepwm_date--;}}elseif(SPEED3){pwm_date+=(SET_SPEED-SPEED)/2;}elsepwm_date++;if(pwm_date>pwm_max)pwm_date=pwm_max;}}}else{}new_flag=0;new_lcd();}else{//delay();}}}4.调速程序voidT1_Init()//定时器初始化{TMOD=0x10;TH1=0x3c;TL1=0xb0;ET1=1;EA=1;TR1=1;}tt0()interrupt1//定时器0中断{TH0=0x3c;TL0=0xb0;//50msms_200flag++;}TT1()interrupt3{TL1=0X0c;//TH1=0XFE;//if(start&&start_2){logic2(ZHENGFAN);}elseswitch_temp=0XC0;ms_500flag++;if(ms_500flag>=1000){new_flag=1;}if(old_A!=save_A){old_A=save_A;if(new_flag==0)cesu++;}}delay(){unsignedintddd
/
本文档为【智能电动自行车调速控制系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索