单片机原理与应用课程设计报告电动车控制器专业班级:电气工程及其自动化xxx班姓名:时间: 2010.3.3—3.19 指导教师:xxxxxxxxxxxxxxxxxxxxxxxxx2010年 3 月19日基于单片机的电动车控制器一.设计要求(一)基本功能1.显示:实时显示电瓶的电量;车速2.线性调速功能:要求采用传统的手把调速方式(通过线性霍尔传感器),此处对霍尔器件的电压处理要求利用压频转换来代替A/D转换。
3.具备完善的保护功能:如过载保护、欠压保护、短路保护和防飞车等功能。
(二)扩展功能1.可增加实时的总里程显示2.速度具有一定的记忆功能二.计划完成时间三周1.第一周完成软件和硬件的整体设计,同时按要求上交设计报告一份。
2.第二周完成软件的具体设计和硬件的制作。
3.第三周完成软件和硬件的联合调试。
目录1引言 (1)2总设计方案 (1)2.1设计思路 (1)2.2单片机介绍 (1)2.3设计框图 (1)3设计原理分析 (2)3.1硬件设计 (2)3.1.1最小系统 (2)3.1.2时速控制电路 (3)3.1.3驱动电路 (4)3.1.4过流、欠压保护电路 (4)3.1.5刹车保护 (4)3.1.6显示电路 (5)3.2软件设计 (5)3.2.1主程序流程 (5)4结束语 (6)参考文献 (7)符录1 (8)符录2 (9)基于单片机控制的电动车控制器电气072班李占业摘要:本系统由单片机系统、显示系统、驱动系统和数模转换系统组成。
通过按键来控制单片机,通过P1口输出的具有时序的方波作为电动车的控制信号,使电动车的里程与转速发生变化,达到对电动车控制的目的。
该设计具有结构简单、可靠性高、使用方便、可以实现较复杂的控制、具有较大的灵活性和适应性等特点。
关键词:电动车单片机ADC0809 A44E1 引言电动车控制器是用来控制电动车电机的启动、运行、进退、速度、停止以及电动车的其它电子器件的核心控制器件,它就象是电动车的大脑,是电动车上重要的部件。
微型计算机的出现给人类生活带来了根本性的变化,使现代科学研究发生了质的飞跃,单片机技术的出现给现代生活带来了一次新的技术革命。
本设计主要是设计一个由单片机控制的电动车控制器系统,操作者可通过系统的按钮控制电动车的旋转速度电量和里程。
同时为了可以直观的看出电动车的运行状态,其旋转速度和当前电量可以在数码管上显示出来。
2 总体设计方案2.1 设计思路根据电动车的工作原理可以知道,电动车控制器是通过霍尔速度转把采集信号,然后通过数模转换将信号传给单片机,利用单片机控制输出用改变功率管控制信号PWM的方法来控制电动车的转速,用霍尔元件A44E安装在车轮上,车轮每转一圈霍尔器件就会给单片机一个脉冲,单片机根据这个脉冲的频率来计算车速并用数码管显示出来,另外为了保护电池当电池电压下降到一定程度的时候要有警示电路(用普通发光二极管警示)。
并且要设计配套的刹车保护、欠压保护、过流保护等保护电路。
2.1.1 单片机的选用单片计算机即单片微型计算机。
(Single-Chip Microcomputer ),是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。
随着科学技术的发展,越来越多的智能化产品都用到了单片机。
他体积小,成本低,功能强,广泛应用于智能产品和工业自动化上。
而51 单片机是各单片机中最为典型和最有代表性的一种。
本设计选用常见的AT89S51。
2.1.2 电动车电机的选用目前电动车电机普遍采用永磁直流电机。
所谓永磁电机,是指电机线圈采用永磁体激磁,不采用线圈激磁的方式。
这样就省去了激磁线圈工作时消耗的电能,提高了电机机电转换效率,这对使用车载有限能源的电动车来讲,可以降低行驶电流,延长续行里程。
本设计也选用此永磁直流电机。
2.1.3设计框图如下图1。
图1总设计框图3 设计原理分析3.1、硬件设计本设计的硬件电路主要包括最小系统、时速控制电路、显示电路、驱动电路四大部分组成。
最小系统主要是为了使单片机正常工作;控制电路主要由开关和按键组成,由操作者根据相应的工作需求进行操作;显示电路主要是为了显示电机的工作状态和转速;驱动电路主要是对单片机输出的脉冲进行功率放大,从而驱动电机转动。
3.1.1、最小系统单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统,对51系列单片机来说,最小系统一般应该包括:单片机、复位电路、晶振电路。
复位电路通常有两种基本形式:上电复位和上电或开关复位。
上电复位要求接通电源后,自动实现复位操作。
上电或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。
常用的上电或开关复位电路图3所示。
上电后,由于电容C1的充电作用,使RST持续一段时间的高电平,持续两个机器周期以上就将复位。
单片机在运行当中时,按下复位键S1后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作晶振电路:8031单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。
在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。
由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。
内部振荡方式的外部电路如图3示。
其电容值一般在5-30pF。
晶振频率的典型值为12MH2,采用6MHz的情况也比较多。
内部振荡方式所得的时钟情号比较稳定,实用电路中使用较多。
如图2.。
图5 过流,欠压保护电路3.1.5 刹车保护刹车时,为避免大电流对控制器、电机、蓄电池的冲击,要求在刹车瞬间即刻关闭PWM 输出.如图6。
P1.0图6刹车保护3.1.6 显示电路四个LED显示电池电量,当电池电压不足时四个LED全亮。
两个数码管显示电动车的时速,范围0~99千米每小时。
电路如下图7。
图7显示电路3.2、软件设计实现系统功能可以采用多种方法,由于随时有可能输入加速、减速信号和方向信号,因而用中断方式效率最高,本设计主要用到外部中断0,用它来计算车轮旋转圈说,且用定时器T1来记忆固定旋转圈数所需要的时间用以计算车速。
而对于显示电池电量,和刹车保护则用查询方式。
数码管显示使用静态显示。
3.2.1主程序设计主程序中要完成的工作主要有系统初始值的设置、系统状态的显示、及驱动程序。
其中显示程序有电压过低时的警示,车速的显示。
驱动程序也就是把霍尔手柄的变动的0~5v的模拟电压信号通过AD0809转换成数字量用这个数字量作为输出脉冲高低电平的延迟子程序中的参数变量,这样就实现改变PWM占空比从而改变车速的目的。
主程序流程如图9所示。
图9主程序流程图4结束语我是出于对电动车的极大兴趣才选择这个设计课题的,通过这次的课程设计使我在各个方面都有了很大的提高。
首先,对电动车的工作原理有了一定的了解,同时在设计的过程中使我感觉到整体电路的综合调试是非常重要的,仿真正确在实际电路中却有可能不能实现。
再次要考虑到单片机不能直接控制步进电机,必须根据步进电机功率的大小合理的选择功率驱动器件。
同时在数码管显示的系统中,用到的口线较多,采用串并转换的方式可以节省口线,可以节省很多的单片机资源。
还有就是编程,学习中,小程序可以很快的编出来,通过这次实习,一次系统的编程所需要考虑到的问题,是我这次实习中的一个很大的收获。
总之,通过这次实习,我学到了很多的知识,同时也找到了一些问题。
这将为我以后的学习起到很大的帮助。
参考文献[1] 景晓松Proteus在MCS-51&ARM7系统中的应用[M]. 北京:电子工业出版社,2006[2] 蒋辉平.周国雄.单片机原理及应用技术[M]. 北京:北京航空航天大学出版社,2007[3] 王晓明.电动机的单片机控制(第二版)[M].北京:北京航空航天大学出版社,2007[4] 张大明.单片机控制实训指导及综合应用[M].北京:机械工业出版社,2007[5] 张迎新.单片机初级教程(第二版)[M].北京:北京航空航天大学出版社,2006[6] 刘玉宾.朱焕立.单片机原理及接口技术[M].北京:机械工业出版社,2004[7] 谢自美.电子线路设计实验测试(第三版)[M].武汉:华中科技大学出饭社,2006[8] 童诗白.华成英. 模拟电子技术基础(第三版) [M].北京: 高等教育出版社,2001[9] 万光毅.单片机实验与实践教程(第二版) [M].北京: 北京航空航天大学出版社,2006年,第2版[10] 李朝青. 单片机原理及接口技术(第3版)[M]. 北京: 北京航空大学出版社,2005周润景.袁伟亭.附录1 总图V附录 2 总程序HICOUNT EQU 72HLOWCOUNT EQU 71HTOCOUNT EQU 70HSCOUNT EQU 60HADC EQU 35HST BIT P1.2OE BIT P1.4EOC BIT P1.3PWM BIT P3.7ORG 0000HAJMP MAINORG 0003HAJMP INSERO主程序ORG 0030HMAIN:SETB EASETB EX0MOV P0,#00HMOV P1,#00HSETB P1.0MOV TH1,#3CHMOV TL1,#0B0HWAIT:JB P1.1,LOWPOWERJNB TF1,GOON1INC R0GOON1:CJNE R0,#0FEH,GOON2MOV 71H,#00HMOV 72H,#00HGOON2:LJMP OUTPUTSPEEDJNB P1.0,STOPCLR STSETB STJNB EOC,$SETB OEMOV ADC,P2CLR OESETB PWMMOV A,ADCLCALL DELAYCLR PWMMOV A,#255SUBB A,ADCLCALL DELAYSJMP W AIT延时子程序DELAY: MOV R6,#1D1: DJNZ R6,D1DJNZ ACC,D1RET刹车时停止PWM输出子程序STOP: CLR PWMRET电池电压过低警示子程序LOWPOWER: MOV P1,#0FEHRET电动车时速显示子程序OUTPUTSPEED:PUSH PSWPUSH ACCLJMP TOSPEEDMOV R1,LOWCOUNTMOV A,@R1MOV DPTR,#TABMOVC A,@A+DPTRMOV SBUF,AKLO:JNB TI,KLOCLR TIINC R1MOV DPTR,#TABMOVC A,@A+DPTRMOV SBUF,APOP ACCPUSH PSWRET求时速子程序TOSPEED:PUSH PSWPUSH ACCMOV R6,#02HMOV R5,#0D0H DV: MOV R7,#08H SO:CLR CMOV A,R5RLC AMOV R5,AMOV A,R6RLC AMOV 07H,CCLR CSUBB A,TOCOUNTJB 07H,S1JNC S1ADD A,TOCOUNTSJMP S2S1:INC R5S2:MOV R6,ADJNZ R7,SOMOV A,R5DA AMOV R5,AANL A,#0FHMOV LOWCOUNT,ASWAP AANL A,#0FHMOV HICOUNT,APOP ACCPOP PSWRET外部中断0中断服务子程序INSERO:PUSH PSWPUSH ACCINC SCOUNTMOV A,SCOUNTCJNE A,#01H,LOOP1SETB TR1SJMP LOOP2LOOP1:MOV A,SCOUNTCJNE A,#0BH,LOOP2CLR TR1CLR TF1MOV TH1,#3CHMOV TL1,#0B0HMOV TOCOUNT,R0MOV R0,#00HMOV SCOUNT,#00H LOOP2:POP ACCPOP PSWRETITAB:DB 11H,77H,92H,32H,74HDB 38H,18H,73H,10H,30H,0FEH END。