【《基于STC158H1K28单片机的电动自行车自助充电系统设计》8500字(论文)】_第1页
【《基于STC158H1K28单片机的电动自行车自助充电系统设计》8500字(论文)】_第2页
【《基于STC158H1K28单片机的电动自行车自助充电系统设计》8500字(论文)】_第3页
【《基于STC158H1K28单片机的电动自行车自助充电系统设计》8500字(论文)】_第4页
【《基于STC158H1K28单片机的电动自行车自助充电系统设计》8500字(论文)】_第5页
已阅读5页,还剩22页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于STC158H1K28单片机的电动自行车自助充电系统设计本设计的主要内容为电动自行车的充电系统设计,因为现在的充电桩数量少,不方便,收费不合理成为了日常使用者的痛楚,本设计的充电系统可以对充电的电动自行车的充电功率数据进行采集,本且可以通过对其功率不同的电动自行车设置合理的充电时间,比如功率大的电动自行车缩短充电时间,功率小的电动自行车提高充电时间。本设计主要使用的STC158H1K28单片机作为主控芯片,通过驱动TM1640芯片,然后使数码管作为显示屏来显示画面。最为主要的是HLW8032芯片进行电压、电流、功率的采集,串口发送到单片机,使单片机读取数据进行处理,以达到合理的收费标准。关键词HLW8032,电动自行车充电,NRF24L01,TM1640目录1、绪论 11.1研究背景 11.2发展状况 12、总体方案设计 13、硬件总体设计 33.1硬件系统设计 33.2元件选择及特点 43.2.1单片机 43.2.2HLW8032电压电流采集芯片 43.2.3TM1640数码管驱动芯片 53.2.4FM1702SL刷卡芯片 53.2.5按键 63.2.6继电器 63.3、硬件电路具体设计 63.3.1主控电路设计 73.3.2电源电路设计 73.3.3晶振电路设计 83.3.4复位电路设计 83.3.5FM1702SL刷卡电路设计 93.3.6TM1640数码管驱动电路设计 103.3.7继电器控制电路设计 113.3.8HLW8032电压电流采集电路设计 113.3.9按键电路设计 123.3.10蜂鸣器电路设计 134、软件设计 134.1主程序设计 144.2刷卡检测功能子程序设计 164.2.1FM1702SL初始化子程序设计 164.2.2刷卡检测子程序设计 174.3电压电流功率采集子程序设计 184.4数码管显示子程序设计 204.4.1TM1640初始化子程序设计 204.4.2TM1640写数据子程序设计 224.4.3TM1640功能显示子程序设计 234.5按键子程序设计 244.6充电时间控制子程序设计 251、绪论1.1研究背景在当前全球能源危机和环境危机严重的大背景下,国家正积极推进开发和使用新能源,提倡节能减排。在目前的状态下,电动自行车的逐步发展,非常的符合目前国家新推出的节能减排政策。目前来讲,基本上每家每户都有电动自行车,但是在农村基本上还是比较方便充电的,但是在城市寸土寸金的地方,电动自行车的的充电问题较为复杂,有的人在小区拉长线进行充电,这样不仅不方便,而且还存在着一定的危险性。另外一种就是去专门的充电站进行充电,但是价格比较昂贵,而且充电时间不能保证。通过对目前的充电桩商家进行调研发现,目前绝大多数的充电站具有充电费用高,耗能大,充电时间短等一系列问题。总结上述所见的问题,本设计设计一款电动自行车自助充电系统设计,其原理在于通过读取使用者在进行充电过程中,充电器的功率值。不通过对比功率对应的时间来解决充电时间问题。功率大的电动自行车则缩短充电时间,充电功率小的电动自行车增大充电时间,减少不合理的充电时间以及收费现象。当然本设计采用IC卡的方式进行付费消费充电。使用者可以将IC卡与钥匙放在一起,即刷即用,减少了支付的时间,并且还方便一些不会使用手机的老年人。刷卡之后,即根据采集的功率进行分配充电时间,然后扣费计时,时间到,即停止充电。1.2发展状况目前在我国,国内的电动自行车充电桩主要存在的问题为:1、数量较少,无法满足大多数使用者的要求。2、收费标准高,有的电动自行车充电站厂家为了方便,不考虑电动自行车充个电的功率大小,所有的电动自行车充电的时间一致,这也导致了收费的不公平。在国外电动自行车充电桩已经发展的很好了,在英国,他们的使用者不仅可以把车子放在那里进行充电,而且可以给手机进行充电。德国最近发明的快速充电不仅可以缩短充电的时间,而且这种充电技术对电动自行车的电平还是无损害的。总结以上发展情况,所以一个安全便捷、可靠、收费标准的电动自行车充电站显得尤为重要。2、总体方案设计本课题拟研究一种电动自行车充电系统设计,充电方式采用IC卡刷卡的方式进行消费。主要通过硬件电路设计,采集电压、电流、功率来进行判断收费的标准,可以更为方便的检测和识别电动自行车的电池参数,避免出现收费不合理的现象,从而成为一种便捷、可靠性的解决方案,以解决人们日常生活的出行问题。电源输出模块由单片机采集刷卡信息后进行判断是否输出电源。在工作过程中,给供电系统通入220V交流电源和12V直流电源,控制系统开始运行,微控制完成复位工作。电源指示灯点亮来确定系统的正常运行,单片机输出指示灯点亮来确定单片机的工作正常。电压电流的采集信息给MCU,刷卡模块数据输入给MCU读取,按键数据信息输入给微处理器;微处理器输出控制继电器;微控制器输出控制显示器。整体方案设计图如图2.1所示。图2.1总体方案设计图故经以上汇总,本次的课题所需要做的内容有以下几个方面:(1)第一章节注重介绍电动自行车冲电站的发展历程,以及科技创新下的产物。(2)第二章节主要介绍总体的方案设计。(3)第三章节主要介绍硬件电路的设计,以及各个硬件的工作流程,以及各个硬件在系统中充分发挥的作用。(4)第四章节是系统的软件部分,也是这个设计中的重中之重。通过将各个模块独立化区分,然后通过软件进行驱动设计,以达到实现所需要完成实现的内容,主要包含电压、电流、功率的采集测量,以及显示问题,还有在不同充电功率下充电时间的选择问题。(5)第五章节主要为系统的调试过程,通过调节实物的操作步骤,以达到实现所需要完成的目标。3、硬件总体设计3.1硬件系统设计本课题拟研究一种电动自行车充电系统设计,充电方式采用IC卡刷卡的方式进行消费。结合目前市场上电动自行车的电压型号大同小异,而且目前的电动自行车的电压都处于逐渐上升的水平,所以本课题主要通过硬件电路设计,采集电压、电流、功率来进行判断收费的标准,可以更为方便的检测和识别电动自行车的电池参数,避免出现收费不合理的现象。按键系统作为输入连接到MCU的P00-P03端口,给与单片机高低电平数据;刷卡模块作为输入连接到MCU的P12-P17端口,通过模块传输刷卡数据给与MUC;MCU的输出通道有P26、P27、P23、P34、P35五个端口,而P26、P27两个端口控制着数码管的显示功能;P23、P34两个端口作为系统的指示灯的功能;P35端口作为控制继电器的吸合与关闭的功能。其整体硬件框图如图3.1所示:图3.1整体硬件系统框架图本课题所采用的方案为以下6点:通过HLW8032芯片实现电压的采集。通过HLW8032芯片实现电流的采集。通过HLW8032芯片实现功率的采集。通过TM1640芯片实现数码管的显示。通过FM1702芯片电路实现刷卡的功能。通过按键功能实现显示画面的切换以及数据的调节。3.2元件选择及特点3.2.1单片机本设计中的单片机拟采用的是STC8H1K28-32PIN芯片,由于系统运行较为复杂,既要处理数据计算得出并驱动TM1640显示芯片,将数据显示在LED数码管上,而且还有要对充电功率不同的设备进行判断决定充电的时间,还需要满足处理刷卡的功能,所以工程量有点多,所以选择此芯片作为本设计的处理芯片,主要原因在于其具有功耗低、性能高等优点。单片机器件实物图如图3.2所示:图3.2单片机实物图3.2.2HLW8032电压电流采集芯片本系统采用HLW8032芯片对充电器当前充电的电压、电流、功率参数等参数进行采集,由于此芯片属于高端智能芯片,自身可以对电压、电流、功率等参数进行采集AD值,并通过自身进行AD转换,计算得出当前对应的电压、电流、功率等参数值。然后将这些数据值可以通过自身的串口的方式,发送给单片机,然后单片机进行串口通信读取相对应的数据,从而采集其电压、电流、功率等参数。在电压采集方面,220V输出通过5个串联的22K电阻,给电压互感器提供5mA的电流,通过互感器的输出余50R电阻并联分压给HLW8032芯片进行电压采集。在电流采集方面,通过电流互感器产生5mA电路,其电流通过1R的电阻产生5mV的电压并联在HLW8032的IP、IN端口上,采集其电流值。HLW8032芯片通过采集电压及电流信号,通过内部计算出电压、电流、功率寄存器值后,通过串口发送到处理器。然后通过处理器处理计算,得到电压、电流、功率值。其HLW8032芯片实物图如下图3.3所示:图3.3HLW8032实物图3.2.3TM1640数码管驱动芯片本设计中主要采用数码管作为显示电路的显示原件,用于显示测量的数据、余额、剩余时间等数据,由于使用4位数码管,要是直接连接到单片机的IO口上,不仅电路较为复杂,线路较多,而且还占用了大量的IO口,给单片机输出的使用造成了或多或少的麻烦。故本设计采用通过控制TM1640来使数码管进行显示电压、电流、功率等值以及余额,剩余时间等画面。其TM1640实物图如图2.4所示:图3.4TM1640实物图3.2.4FM1702SL刷卡芯片本系统采用FM1702SL芯片作为刷卡的主要元器件。由于目前大部分的主流单片机同采用TTL电平进行供电,以及数据的传输,故此芯片可以满足电平的使用要求。软件控制的powerdown模式,包含三个模式,“一个可编程计时器,一个中断处理器,一个串行输出输入口,通讯口较多,可以满足通讯的要求问题。以下图3.5为FM1702SL实物图。图3.5FM1702SL实物图3.2.5按键本系统通过一个4个按键当作系统的按键输入,用于“设置”、“+”、“-“、”查询“等功能。其实物图如图2.6所示:图3.6按键实物图3.2.6继电器本系统采用控制继电器的开合来控制外部电源的输出。在外部输出接口处,若检测到充电器的接入,则发送信号给单片机来控制外部电源的输出。其继电器实物图如图3.7所示。图3.7继电器实物图3.3、硬件电路具体设计3.3.1主控电路设计本章将对系统的各个硬件电路设计进行具体的说明,本设计选用STC8H1K28单片机作为主控芯片,具体引脚连接图如图3.8所示。图3.8主控电路单片机IO口1_2-1_7为FM1702SL刷卡电路连接端口;P3.5为蜂鸣器输出端口;P2.3、P3.4分别为报警指示灯红灯、绿灯的输出端口;单片机IO口P3_3为继电器控制数据端口;单片机IO口P0_0-P0_3接按键电路S1,S2,S3,S4键;单片机IO口P2_6-P2_7接TM1604控制数码管显示电路;单片机IO口P1_6-P2_7接单片机晶振电路,发送时钟信号;VCC脚接电源,GND脚接地。3.3.2电源电路设计本系统通过变压器模块将交流220V转换为12V直流电之后。12V直流电给系统中的继电器等器件进行供电。12V直流电通过LM2596芯片将12V直流电转成5V稳定的直流电,用来给单片机等需要5V的元器件进行供电。LM2596的芯片好处在于可以输出负载电流达到3A,尺寸小,功耗低,自带150KHz的固定频率振荡器。电源电路如图3.9所示:图3.9电源电路3.3.3晶振电路设计晶振控制电路由晶体振荡器和电容组成。由于本设计采集的数据较为繁琐,所以选用22.1184M的晶振来为系统提供时间。晶振电路如图3.10所示:图3.10晶振电路3.3.4复位电路设计本次设计复位电路可以实现单片机的上电复位。由于单片机的复位方式为高电平复位,故复位电路一端连接单片机的RST引脚,电路上电后,单片机的RST复位引脚的电压会一直持续保持高电平,电源给电容E1进行充电,若充电时间超过两个机械周期,系统将进行复位。复位电路的设计如下图3.11所示。图3.11复位电路3.3.5FM1702SL刷卡电路设计本系统采用FM1702SL模块进行刷卡电路的实现。本文中所采用的IC卡为M1卡,而FM1702SL正好可以实现此功能,并且FM1702SL还具有以下几个优点:集成度高,只需要很少的外围电路,减少外围器件的使用;包含64byte的FIFO;还支持SPI协议,减少单片机端口的使用;内部具有加密单元;操作距离可以达到10M之远;其FM1702SL刷卡电路如图3.12所示:图3.12FM1702SL刷卡电路3.3.6TM1640数码管驱动电路设计主要采用4位数码管作为显示电路的显示原件,用于显示测量的电压值、测量的电流值、测量的功率值,然后通过单片机给TM1640芯片发送数据,然后通过TM1640控制数码管的位置选择,以及数码管显示的内容。将TM1640SDA数据端口连接到MCU的P26引脚,芯片的TM1640SCL与MCU的P27引脚进行相连,通过这两个引脚进行数据的传输功能。而G1-G4为数码管显示的位置选择。G1引脚通过mcu赋值高电平,此时第一个数码管可以被点亮;GRID2引脚通过单片机赋值高电平,此时第2个数码管可以被点亮;GRID3引脚通过单片机赋值高电平,此时第3个数码管可以被点亮;GRID4引脚通过单片机赋值高电平,此时第4个数码管可以被点亮。然后通过单片机控制数码管的点亮,因为数码管是由8个红色LED发光二级管组成,故通过给TM1640芯片发送数据,然后TM1640在SEG1-SEG7端口引脚输出控制数码管的显示。从而表达出系统想表达显示出的数字或字符。其TM1640驱动数码管电路如图3.13所示:图3.13TM1640驱动数码管电路3.3.7继电器控制电路设计本设计的采用的继电器为12V继电器,当继电器吸合后,此时充电线路进行供电,将给电动自行车进行充电,继电器没有闭合后,将停止给电动自行车充电。继电器的吸合与关闭通过三极管来控制,当单片机输出高电平时,此时继电器吸合,当MCU的输出端口输出低电平时,此时集电极的电流无法流向发射极,故继电器无法吸合。在线圈的两端并联一个二极管,由于二极管的特性,反向电压无法通过,可以避免继电器断开,三极管被击穿。其继电器控制电路设计如图3.14所示:图3.14继电器控制电路设计3.3.8HLW8032电压电流采集电路设计本系统采用的是HLW8032芯片进行对电压、电流、以及功率的采集。在电压采集方面,220V输出通过5个串联的22K电阻,给电压互感器提供5mA的电流,通过互感器的输出余100R电阻并联分压给HLW8032芯片进行电压采集。在电流采集方面,通过电流互感器产生5mA电路,其电流通过1R的电阻产生5mV的电压并联在HLW8032的IP、IN端口上,采集其电流值。HLW8032芯片通过采集电压及电流信号,通过内部计算出电压、电流、功率寄存器值后,通过串口发送到单片机,然后单片机通过对数据进行处理计算,得到其准确的电压、电流、功率值。其TX端口接到单片机的P3.7引脚上,来接收芯片发来的数据。HLW8032电压电流采集设计电路如图3.15所示:图3.15HLW8032电压电流采集设计电路图3.3.9按键电路设计本设计中共采用4个按键S1、S2、S3、S4。按键数据输入端分别连接到单片机的P0.0-P0.3。每个按键左端通过一个5V上拉电阻给单片机的I/O端口提供高电平,按键的右端连接GND,当按键按下后,将会给单片机的I/O触发低电平信号。按键1短按(按下时间小于1秒),进行“查询”功能,按键S2短按(按下时间小于1秒)此时进行阈值“+”计数,按键S3短按(按下时间小于1秒)此时进行阈值“-”计数,按键S4短按(按下时间小于1秒),此时进入“设置”功能。其按键电路如图3.16所示:图3.16按键电路图3.3.10蜂鸣器电路设计本设计中采用蜂鸣器来作为本设计的声音报警装置,若单片机的P13口为高电平,那么此时的三极管将导通蜂鸣器鸣响。若MCU的P13端口输出低电平,此时蜂鸣器无法鸣响。其蜂鸣器电路图如图3.17所示:图3.17蜂鸣器电路图4、软件设计本次课题的软件设计由主程序,刷卡检测功能子程序,电压电流功率采集子程序,数码管显示子程序,按键功能子程序,充电时间控制子程序组成。其中刷卡检测功能子程序主要作于刷卡的检测以及识别,并通过系统进行扣费处理等一系列操作;电压电流检测子程序功能在于,当检测到点电动自行车充电器插上之后,然后开始采集当前充电自行车的充电的一系列参数,然后通过采集芯片内部进行处理数据,然后通过串口的方式发送这些参数数据的功能;数码管显示子程序主要用于系统的显示功能,单片机通过通过输出相应的程序来控制TM1640芯片的数据输出,然后控制数码管的显示,具体显示内容如电压值、电流值、充电时间、余额等数据;按键功能子程序的功能:一是作为系统显示的切换,二是作为系统的设置按键,由于选择的数码管为4位数码管,无法显示多组数字,所以通过数码管进行多帧画面的切换;主程序主要接收这些子程序输入信号或者数据,然后进行处理计算这些数据,最终控制显示子程序,以及充电时间控制子程序;而充电时间控制子程序的作用就是控制继电器的吸合与断开的时间,从而实现不同功率的电动自行车获得不同的充电时间。具体设计如下:4.1主程序设计主程序流程图如图4.1所示:图4.1主程序流程图流程图的说明如下:1、上图为总流程图,通过24V直流电以及交流220V作于主电源输入,经过电源模块转化成整个系统所有模块所需电压,工作首先是观察代表着供电正常的指示灯是否点亮,若成功点亮则说明供电正常,反之检查电源哪里出现了问题。2、接着是单片机上电之后会输出点亮指示灯,若未点亮,则单片机或者相关电路出现问题,需要进行检查或更换。3、接着是检查刷卡功能是否正常,正常的话,指示灯点亮。如果刷卡功能不能实现的话,则进行对刷卡模块的检查或者更换。4、若刷卡成功扣费之后,此时系统检查对电动自行车充电端口放电是否处于正常状态,若充电结果不正常,则需要对充电线路进行维修和检查,或者更换电路的相关器件。5、观察显示显示屏是否正常点亮,若不点亮,则检查相关电路或者模块,进行维修或者更换。4.2刷卡检测功能子程序设计4.2.1FM1702SL初始化子程序设计系统上电后,即开始进行初始化,先进行初始化SPI,写数据为“切换到线性寻址”;给定时器周期设置寄存器写数据为“0X0B”;给定时器控制寄存器写数据为“0X02”,发送之后芯片打开定时器功能;给定时器初值寄存器写数据为“0X42”;给中断使能/禁止寄存器写数据为“0X7F”;给中断请求标识寄存器写数据为“0X7F”;给mfOUT选择配置寄存器写数据为“0X02”;给发送控制寄存器写数据为“0X5B”;并将增益调到最大,然后结束。此时FM1702SL初始化已完成。其FM1702SL初始化子程序流程图如图4.2所示:图4.2FM1702初始化子程序流程图4.2.2刷卡检测子程序设计FM1702SL初始化完成后,开始检查是否有M1卡存在,若有卡存在开始检查是否冲突,若不存在,重新进行检卡;若不冲突,将执行选卡函数,代表选卡成功,若冲突,重新进行检卡;若选卡成功,开始对卡进行加载密钥,若加载成功,将进行三重认证,若加载密钥失败,将重新进行检卡;若三重认证成功,即权限全部打开,即可对卡进行读写操作。其刷卡检测子程序设计流程图如图4.3所示:图4.3刷卡检测子程序流程图4.3电压电流功率采集子程序设计系统工作后,单片机对串口1初始化,然后打开中断。初始化完成后即可接收数据。HLW8032芯片的TX端每50MS进行发送一次数据,其芯片与单片机之间通过光耦进行隔离,避免出现通讯数据错误。在芯片通过串口发送的数据中,第一个BIT位芯片的状态寄存器值,发送的数据中,一串数据中,数据的第2个BIT是作为芯片的检测寄存器数值。一串数据中,数据的第3个BIT是数据的电压参数寄存器值。一串数据中,数据的第4个BIT是数据的电压寄存器数值。一串数据中,数据的第5个BIT是数据的电流参数寄存器数值。一串数据中,数据的第6个BIT是数据的电流寄存器数值,一串数据中,数据的第7个BIT是数据的功率参数寄存器寄存器数值,一串数据中,数据的第8个BIT是数据的功率寄存器数值。一串数据中,数据的第9个BIT是数据的数据更新寄存器数值。一串数据中,数据的第10个BIT是数据的PF寄存器数值。一串数据中,数据的第11个BIT是数据的校验和寄存器数值。通过接收这些寄存器中的数值,然后进行计算,可以得出其电流电压,功率值。图4.4电压电流功率采集子程序流程图4.4数码管显示子程序设计4.4.1TM1640初始化子程序设计本设计采用TM1640芯片控制数码管显示来作为显示工具,用来显示电压、电流、功率、时间、以及余额等等画面。系统上电后,TM16402先进入初始化,TM1640采用I2C协议,故只需要两个引脚连接单片机的P2.6和P2.7两个引脚即可。IIC协议的开始子程序为:先将SCL置为高电平,等待两个_nop_()函数后,将SDA置为高电平,等待两个_nop_()函数后,将SDA置为低电平,等待两个_nop_()函数后,将SCL置为低电平;IIC协议的停止子程序为:将SDA端口电位置为低电平,然后将SCL数据端口的电平置为低电平,在然后将SCL端口的电位置为高电平,最后将SDA数据端口电平置为高电平。TM1640初始化子程序步骤为:开始指令,发送关显示,停止指令;开始指令,发送自动地址数据,停止指令;开始指令,发送开显示,停止指令。执行完毕后,TM1640的初始化执行完毕,此时可以进行写指令和写数据的功能。其IIC开始子函数,IIC停止子函数,TM1640初始化子程序流程图如图4.5、4.6、4.7所示:图4.5IIC开始子函数流程图图4.6IIC停止子函数流程图图4.7TM1640初始化子程序流程图4.4.2TM1640写数据子程序设计TM1640写数据时,因为需要发送8为数据,所以需要for循环进行通过I2C协

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论