就好比 B3位电池
发布时间:2019-05-09 09:58

  的控制部分和信息的采集部分, P0到P4个IO4实现数据的显示部分,既可以作为数控稳压液晶显示。其实充分利用 STC12C5A32S2自带的8路AD、2路PWM完全可以实现全自动充电的多功能数字钟,既可以来显示数字钟,又可以对电池进行充电,电池给单片机供电,当电池没电时,系统自动充电,可是最后由于硬件的原因没有完成,但是当时进行数字钟改进时的一个思想。

  单片机部分主要是用来控制系统的运行,采集电压和通过PWM给充电器提供一个基准电压,利用内置AD对电源输出的电压,电流进行检测,单片机控制1602液晶进行显示,控制数码管进行数码管显示,控制按键对各个界面进行切换,蜂鸣器用来实现报警,闹钟时间到了就进行蜂鸣器报警。显示部分分为两种,1602液晶显示和数码管显示,数码管可以显示电压值和电流值,时间,闹钟。按键用来切换数码管显示不同的界面。

  通过此电路,将电源电压稳定在5V,此时取的基准点位3.6V,当输出电压高于7.2V时,这时,U1:A的反向端电压会高于3.6V,这时输出会减小,从而使输出电压减小,反之,当输出电压偏小时,使输出电压增大。通过调节基准电压,可以实现电源电压可变,本系统就是利用这一原理对电池进行充电。对于电流取样,就好比B3位电池,R4是一个比较小的电阻,对电路的影响不大,当对电阻两端的电压进行采样之后,在除以电阻就可以算出其流过电池的电流,对于电池两端的电压取样,利用的是R7和R8,采集R7两端的电压U7,则u=U7/R7*(R7+R8),对于电流的采集,利用的是同向比例放大器,取样电阻选择的是0.2欧姆,当电压放大五倍时正好采集到的电压值等于电流的值,不过仿真和实际的电路会有区别。

  还有另一种做智能充电器的方案,利用减法器实现对电流的采集,感觉这种采集电流的要比我的要好。这一个电路,利用两路PWM来实现对电源基准点的调节作用,两路ADC分别进行对电压的采样和对电流的采样。利用二极管的单向导电性将两路PWM进行隔离,当电流大时,二极管导通,从而使输出的压降减小,当电流偏小时,二极管截止,控制电压的一路起作用,使电源电压增加,从而达到稳流的作用,当进行恒压充电时,电流一般较小,二极管截止。

  系统选择的是STC12C5A32S2,此类单片机具有4个16位定时器,P0到P4个IO口,其中P1口可以作为8路AD采集,具有10位精度的ADC,转换速率可达250K/S;2路PWM,既可以当两路DA,又可以再实现两个定时器,还具有双串口的功能(以前用过,通过这次再次使用,更加进一步了解了串口通信的原理,接受和发送的区别)。

  单片机最小系统由震荡电路,复位电路,单片机和电源组成,单片机的P0口加了上拉电阻。

  此系统的显示部分有两个,1602液晶显示和数码管显示,1602液晶利用其自带的英文字库在液晶中显示信息,数码管根据二极管的导通和截止显示不同的数字。

  VCC和GND为1602液晶提供电源,滑动变阻器用来调节1602的亮度,单片机通过P0口和RW、RS、E为1602写地址和写命令,从而时液晶进行显示。

  数码管分为共阴极数码管和共阳极数码管,这里我选择的是4位连体共阳极数码管,由于单片机驱动能力有限,故不能直接用单片机给数码管供电令其显示,在这里三极管的功能像是开关的作用,当IO口位高电平时三极管截止,数码管不显示,当IO口位低电平时,三极管导通,数码管显示。

  由于单片机实现数字钟的方法很多,有定时器的还有通过时钟芯片的,定时器的芯片有点误差较大于是选择运用时钟芯片,这里时钟芯片选择的时DS1302。 DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。 工作电压宽达2.5~5.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此广泛应用于测量系统中。

  在这里蜂鸣器实现的功能主要是报警的功能,当脑钟时间到,蜂鸣器报警一分钟,当电池充电充满时进行报警,起到保护和提醒的作用。

  单片机给低电平时,三极管导通,从而有电流流过蜂鸣器,当单片机给高电平时没有电流流过蜂鸣器,从而蜂鸣器截止,IN4148主要是用来保护蜂鸣器,防止电流从蜂鸣器的负级流向正级。