免费预览已结束,剩余6页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的电动车控制器摘要:本设计介绍了一种以单片机89c51为主控芯片的电动自行车调速控制系统和测速系统的设计方案给出了系统的硬件构成和软件设计方法。实验证明:该系统性能可靠、成本较低,是一种实用的直流电动机调速系统。关键词:89c51、直流电机、pwm调速、霍尔传感器1 引言当前,随着保护环境、节约能源的呼声日益高涨无污染、能源可多样化配置的新型交通工具引起了人们的普遍关注,同时也得到了极大的发展,电动自行车便是其中之一。它以蓄电池发出的电能作为驱动能源,以电动机作动力,具有无废气污染、“零排放”、无噪音、轻便美观等特点特别适合在人口较集中的大中城市中使用。但目前市场上的电动自行车还存在着一些不够完善的地方,尤其是电机控制方面有待于进一步提高。电动车控制器是用来控制电动车电机的启动、运行、进退、速度、停止以及电动车的其它电子器件的核心控制器件,它就象是电动车的大脑,是电动车上重要的部件。本设计根据无刷直流电机的原理,利用美国公司推出的一款89c51单片机作为主控芯片设计了一种无刷直流电机调速控制系统,该系统具有硬件结构简单、软件设计灵活、适用面广、价格低廉等优点具有一定的实用价值。具有超静音设计技术:独特的电流控制算法,能适用于任何一款无刷电动车电机,并且具有相当的控制效果,提高了电动车控制器的普遍适应性,使电动车电机和控制器不再需要匹配。自动识别电动车电机的换向角度、霍尔相位和电机输出相位,只要控制器的电源线、转把线和刹车线不接错,就能自动识别电机的输入几输出模式,可以省去无刷电动车电机接线的麻烦,大大降低了电动车控制器的使用要求。2 总体设计方案2.1 设计思路 电动车控制器,其主要的功能是能线性调节车速,最终还是直流电机调速问题,本设计采用脉宽调制(PWMM)配以单片机为中心控制元件的调速系统。利用霍尔线性传感器实现传统的车把调速,把电压信号通过模数转换后送入单片机IO口,控制占空比,再经过信号放大控制电机转速。速度显示利用开关型霍尔传感器采集两高点评的时间计算速度,通过串行口输出显示。2.1.1方案确立整个系统主要包括车轮霍尔开关器件检测电路及测速电路、调速电路、低压、过载、过流保护电路和稳压电路。单片机小系统电是基础,模数转换以ADC0809为核心,显示电路采用74ls164和七段共阳数码管静态显示,稳压电路采用7805芯片给单片机以及显示和模数转换单元供电。2.2 设计方框图 最小系统速度信号检测电路手把模 数 转 换 系 统速 度 显 示 系 统过流,低压检测电路速度控制信号放大电路如图1设计方框图3 设计组成及分析3.1 最小系统电路的设计51单片机有4组并行IO口和一组全双工的串行口,有完善的中断系统,包括4k的程序存储器和的数据存储器,加上丰富的控制指令是微型控制系统的理想芯片。采用12MHZ的晶振和辅助元件为单片机提供时钟信号,提供5V的电源就能组成最小系统了。最小系统如图2,12MHZ的晶振提供始终信号,它是单片机工作的节拍。复位端接电容在上电时对单片机进行复位操作。如图2最小系统电路图3.2 PWM速度控制电路的设计模数转换电路中ADC0809是核心,它有8个输入端口和8个输出端口,输出精度高,转换速度快,只用从线性霍尔传感器采集电压信号送进一个输入端口通过控制使能就能很快转换出一组八位二进制数据,在单片机里进行延时控制占空比就实现了脉宽调制。PWM脉宽调制,是靠改变脉冲宽度来控制输出电压,通过改变周期来控制其输出频率。而输出频率的变化可通过改变此脉冲的调制周期来实现。这样,使调压和调频两个作用配合一致,且于中间直流环节无关,因而加快了调节速度,改善了动态性能。由于输出等幅脉冲只需恒定直流电源供电,可用不可控整流器取代相控整流器,使电网侧的功率因数大大改善。利用PWM逆变器能够抑制或消除低次谐波。加上使用自关断器件,开关频率大幅度提高,输出波形可以非常接近正弦波。PWM变频电路具有以下特点:(1) 可以得到相当接近正弦波的输出电压(2) 整流电路采用二极管,可获得接近1的功率因数(3) 电路结构简单(4) 通过对输出脉冲宽度的控制可改变输出电压,加快了变频过程的动态响应现在通用变频器基本都再用PWM控制方式,所以介绍一下PWM控制的原理脉宽调制(PWM)。控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等的脉冲,用这些脉冲来代替正弦波或所需要的波形。也就是在输出波形的半个周期中产生多个脉冲,使各脉冲的等值电压为正弦波形,所获得的输出平滑且低次斜波谐波少。按一定的规则对各脉冲的宽度进行调制,即可改变逆变电路输出电压的大小,也可改变输出频率。PWM是单片机上常用的模拟量输出方法,通过外接的转换电路,可以将占空比不同德尔脉冲变成不同的电压,驱动直流电机的转动从而得到不同的转速。程序中通过调整输出脉冲占空比来调节输出模拟电压。控制电路如图3所示。图3调速电路用电位器代替霍尔现行传感器调节AT89C51的PWM占空比,将A/D转换后的数据作为延时常数。当电位器阻值发生变化时,ADC0809的输出也将发生变化,进而调节单片机输出PWM占空比,控制直流电机的转速。控制流图如图4:开 始设置定时器位ADC0809提供时钟脉冲启动A/D转换读取转换值存入ADCPEM位输出高电平调用延时,ADC为延时常数PWM位输出低电平调用延时,255-ADC位延时常数图4控制流图3.3 速度测量电路设计74LS164是串行输入并行输出的八位移位寄存器,通过单片机串口方式一可以很简单实现速度的静态显示。而速度的测量是通过开关霍尔传感器在车轮上采集相邻两高电平的时间(采集位置固定为一米),就能计算出瞬时速度,精确,不过速度的计算在单片机里的实现是个问题需要进行三字节除法,这个问题需要解决。霍尔器件的原理:霍尔传感器是利用霍尔效应实现磁电转换的一种传感器,它具有灵敏度高,线性度好,稳定性高、体积小和耐高温等特点,在机车控制系统中占有非常重要的地位。对测速装置的要求是分辨能力强、高精度和尽可能短的检测时间。按要求选择或设计脉冲发生器,能够实现高性能检测。 工作方法:当该霍尔器件处在任何极性的恒定磁场中时,其上的两个霍尔传感器将产生同样的输出信号。无论该磁场的绝对强度有多大,它们之间的差值总为零。然而,由于一个单元面向磁场集中的轮齿,另一个单元则面向一个齿隙,如果两个霍尔单元之间存在磁场梯度,那么将产生一个差值信号,并在芯片上放大。实际上,这个差值体现了一个小偏移,它可由相应集成的控制电路来修正。速度信号的检测用A44E开关器件,在车轮固定地方安装磁铁霍尔器件安在其对应地方,当磁铁经过霍尔器件时会有高电平脉冲产生。信号送给单片机开始定时,当下一个高电平出现时就能计算出速度。显示电路通过单片机串行口输出给串入并出的八位移位寄存器74LS164,进行显示。由于电动车的速度不可能大于100m/s,所以只要用两个七段数码管显示即可。图5测速电路3.4 保护电路设计本设计只是简单实现了欠压和过流保护,保护电路如图6: 图6保护电路本设计的保护电路是通过LM339和单片机实现的,过流保护检测电机电流,通过电阻转换成电压信号,和基准电压比较,高于基准电压则LM339给单片机送高电平,程序检测到P2.1管脚的高电平调用停止子程序停止控制信号。欠压保护是通过检测电瓶电压和基准电压比较小于则送单片机P2.2管脚低电平,调用停止程序。其详细的保护有一下几方面:(1)欠压保护 这里指的是电源的电压。当放电最后阶段,在负载状态下,电源电压已经接近“放电终止电压”,控制器面板(或仪表显示盘)即显示电量不足,引起骑行者的注意,计划自己的行程。当电源电压已经达到放终时,电压取样电阻将分流信息馈入比较器,保护电路即按预先设定的程序发出指令,切断电流以保护电子器件和电源。 (2)过流保护 电流超限对电机和电路一系列元器件都可能造成损伤,甚至烧毁,这是绝对应当避免的。控制电路中,必须具备这种过电流的保护功能,在过流时经过一定的延时即切断电流。 (3)过载保护 过载保护和过电流保护是相同的,载重超限必然引起电流超限。电动自行车都有载重能力,但有的骑行者或未注意这一点,或抱着试一下的心理故意超载。如果没有这种保护功能,不一定在哪个环节上引起损伤,但首当其冲的就是开关功率管,只要无刷控制器功率管烧毁一只,变成两相供电后电动机运转即变得无力,骑行者立即可以感觉到脉动异常;若继续骑行,接着就烧毁第2个、第3个功率管。有两相功率管不工作,电动机即停止运行,有刷电机则失去控制功能。因此,由过载引起的过电流是很危险的。但只要有过电流保护,载重超限后电路自动切断电源,因超载而引起的一系列后果都可以避免。 (4)欠速保护 仍然属于过流保护范畴,是为不具备0速起步功能的无刷控制系统而设置, (5)限速保护 是助力型电动自行车独有的设计控制程序。车速超过某一预定值时,电路停止供电不予助力。对电动型电动自行车而言,统一规定车速为20km/h,计算速度时如果大于6m/s就停止控制信号。4 软件设计程序流程图如图7所示:初始化程序检测A44E脉冲信号测车速下降沿开始计时溢出30H加1,TH0存放在31H,TL0存放在32H调用计算子程序,采用减法迭代,速度显示读取转换值,调用延时程序,调节占空比,进行脉宽调制是否欠压或过流把转换值置零否是图7程序流程图本设计最重要的地方是pwm调节的实现,采用了单片机这个功能就能很好的实现了。单片机的计数、中断系统很丰富,计数可以实现延时调节高低电平时间,中断时实现高低电平跳变。再配以ADC0809模数转换器把从车把采集的电压模拟信号转换成单片机能处理的数字信号,就可以通过控制占空比来实现脉宽调制。ORG 0000HAJMP MAINORG 0BHLJMP INT_TOORG 0023HAJMP XSHORG 0030HMAIN: MOV SCON,#00HMOV A,#01HMOVC A,A+DPTRCLR P2.0MOV SBUF,ALOOP SJMP,$XSH: SETB P2.0ACALL DECLR TIMOV A,#03HMOVC A,A+DPTRCLR P2.0MOV SBUF,ARETIMOV R7,#00HtIAOSU:ADC EQU 50HCLOCK BIT P0.0ST BIT P0.2EOC BIT P0.1OE BIT P0.3PWM BIT P3.3START: MOV TMOD,#20H MOV TH0,#14H MOV TL0,#00H MOV IE,#88H SETB TR1WAIT: CLR ST SETB ST CLR ST JNB EOC,$ SETB OE MOV ADC,P1LCALL DELAY CLR PWM MOV A,#255 SUBB A,ADCLCALL DELAYINT_TO: CPL CLOCKRETIDELAY: MOV R6,#1HD1: DJNZ R6,D1 DJNZ ACC,D1RET JB P3.1,STOP JNB P3.0,STOPSTOP: MOV ADC,#00HLOOP1: JNB P3.7,LOOP1LOOP2: JB P3.7,LOOP2INC R7MOV A,R7MOV SBUF,ALJMP MAIN速度的计算部分采用三字节除法,把1m转换成1000nm存进单片机中就是二进制的0F4A40H是三字节,从霍尔开关元件采集的时间变量存入三字节中,三字节除法通过减法实现。三字节除法子程序如下:ORG 0000HAJMP MAINORG 0030HMAIN: MOV 77H,#0FHMOV 78H,#42HMOV 79H,#40HMOV 7AH,#00HMOV 7BH,#03HMOV 7CH,#0E8HLCALL DIV_MBSJMP MAIN;= ; DIVISION FOR THREE-BYTE DATA ; DIVIDEND FROM 77H&78H&79H; DIVISOR FROM 7AH&7BH&7CH; QUOTIENT TO 77H&78H&79H;ARITHMETICAL COMPLIMENT TO 7DH&7EH&7FH ; 2008_05_08 BY SZCKIC;=DIV_MB: MOV 7DH,#00HMOV 7EH,#00HMOV 7FH,#00HMOV R7,#18HNEXTBIT: CLR CMOV A,79HRLC AMOV 79H,AMOV A,78HRLC AMOV 78H,AMOV A,77HRLC AMOV 77H,A;Arithmetical complimentMOV A,7FHRLC AMOV 7FH,AMOV A,7EHRLC AMOV 7EH,AMOV A,7DHRLC AMOV 7DH,AMOV 5AH,7DHMOV 5BH,7EHMOV 5CH,7FHMOV 5DH,7AHMOV 5EH,7BHMOV 5FH,7CHLCALL TDECJNC UPDATEDJNZ R7,NEXTBITTMPRETUPDATE: INC 79HMOV 7FH,5CHMOV 7EH,5BHMOV 7DH,5AHDJNZ R7,NEXTBITTMPRETNEXTBITTMP:LJMP NEXTBIT;= ; Subtracter for three-byte data ;= TDEC: CLR CMOV A,5CHSUBB A,5FHMOV 5CH,AMOV A,5BHSUBB A,5EHMOV 5BH,AMOV A,5AHSUBB A,5DHMOV 5AH,ARET除法程序写成了子程序形式,很方便调用,除法中要频繁用到三字节数据大小的比较,所以也写成了一个小子程序。思路很简单,抛开我们习惯了的乘法口诀,以一个小学二年级学生的思路去做就简单了,一步一步的比较、移位,只不过这里是二进制而不是习惯了的十进制,当然二进制也有一个优点那就是:假设A,B是两个同样位数的二进制数据(首位不为0),且AB,则A肯定小于2倍的B,所以对于每次移位只用比较一次程序编写是按照顺序执行的方式进行的,每一程序周期进行一次速度测量显示和一次速度调节信号检测。而保护部分通过检测过流、欠压信号把速度控制信号置零实现的。5 总结与体会此次设计实习对我来说既是机遇又是挑战,因为自己一直想动手做件电子产品,由于没有器件就没有进行,借着这次单片机实习我努力把自己的设计做的完美,但是第一次独立设计毕竟经验不足,很多地方都没有考虑到以致在最后编程时遇到了很多难题很多是硬件不合理,比如说串口输出单片机只有一组,但是我的输出要三组,最后只有放弃了另两个功能。如果自己在设计、制板前有充分的考虑硬件的实现效果就会好一点了。还有这次设计没有和老师配合好,老师是指导我们设计的而我却一意孤行,只管做自己的,最后不能改变的是坏的结果,这我感触很深。再者,学的东西要付诸实际,首先必须的是精益求精的知识,否则一点失误可能造成很大的损失。挑战与机遇并存是现代社会的最大特点,谁的综合素质高就能接受挑战获得机遇,在今后不长的大学学习中我要把自己的知识细化,具体化做到知其因之气果。相信这次的努力会对以后起到启发和激励作用的。6 结束语车用电机控制器近年来的发展速度之快,使人难以想象,操作上越来越“傻瓜”化,而显示则越来越复杂化。比如,车速的控制已经发展到“巡航锁定”;驱动方面,有的同时具有电动性能和助力功能,如果转换到助力状态,借助链条张力测力器,或中轴扭力传感器,只要用脚踏动脚蹬,便可执行助力或确定助力的大小。电动车控制器技术会更加成熟的。参考文献1叶挺秀.应用电子学.杭州:浙江大学出版社,19942朱承高.电工及电子技术手册.北京:高等教育出版社,19903阎石.数字电子技术基础(第三版). 北京:高等教育出版社,19894周润景.PROTEUS在MCS-51&ARM7系统中的应用百例.北京:电子工业出版社,20065 李朝青.单片机原理及接口技术(第三版).北京:北京航空航天大学出版社2005附录(一)程序清单程序清单如下:ORG 0000HAJMP MAINORG 0BHLJMP INT_TO ;定时器0中断入口ORG 0023HAJMP XSH ;串口中断,显示车速ORG 0060HMAIN: MOV TMOD,#02H MOV TH0,#00H MOV TL0,#00H MOV IE,#82HLOOP1: JNB P3.7,LOOP1LOOP2: JB P3.7,LOOP2 ;判断是否出现下降沿 SETB TR0LOOP3: JBC TF0,YICHUYICHU: INC 30H JNB P3.7,LOOP3LOOP4: JB P3.7,LOOP4 ;判断是否出现相邻的下降沿,然后定时结束 MOV 31H,TL0 MOV 32H,TH0 CLR TR0 LCALL SUDU ;定时时间存放在30H31H32H TIAOSU:ADC EQU 50H ;PWM调制初始化CLOCK BIT P0.0ST BIT P0.2EOC BIT P0.1OE BIT P0.3PWM BIT P3.3START: MOV TMOD,#20HMOV TH0,#14H MOV TL0,#00H MOV IE,#88H SETB TR1WAIT: CLR ST SETB ST CLR ST JNB EOC,$ SETB OE MOV ADC,P1 ;把转换后的值送给缓存单元LCALL DELAY CLR PWM MOV A,#255 SUBB A,ADC LCALL DELAY ;延时单元,改变占空比INT_TO: CPL CLOCK ;中断,给ADC0809提供时钟RETIDELAY: MOV R6,#1HD1: DJNZ R6,D1 DJNZ ACC,D1RET JB P3.1,STOP ;检测欠压信号 JNB P3.0,STOP ;检测过流信号STOP: MOV ADC,#00H ;保护命令;*以下程序处理速度,三字节除法*SUDU: MOV 33H,#0FH MOV 34H,#42H MOV 35H,#40HLCALL DIV_MBDIV_MB: MOV 36H,#00H MOV 37H,#00H MOV 38H,#00H MOV R7,#18HNEXTBIT: CLR C MOV A,35H RLC A MOV 35H,A MOV A,36H RLC A MOV 36H,A MOV A,37H RLC A MOV 37H,A MOV A,38H RLC A MOV 38H,A MOV A,34H RLC A MOV 34H,A MOV A,33H RLC A MOV 33H,A MO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论