微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > PIC单片机的可编程电源的设计

PIC单片机的可编程电源的设计

时间:01-18 来源:EDN 点击:

图4 电源模块电路结构


图中的辅助电源提供+12 V的电压,另经三端稳压器件KA7805(图中未画出)产生+5V的电压,给比较器和单片机控制模块提供电源。

3.2 单片机控制电路

  PIC16F874是美国微芯科技公司(Microchip Technology)的一款8位单片机,内置4K×14位的Flash、128字节的RAM和64字节的EEPROM。另外,它具有丰富的外设资源,其内置1个UART模块可供串口通信用,2个CCP模块可以产生2路独立、10位分辨率的PWM信号,8路10位的A/D转换通道。另外,PIC系列单片机的每个I/O能提供25mA的驱动电流,对于LED的接口电路可以省掉外加晶体管的驱动电路。

  单片机控制模块结构框图如图5所示。

图5 单片机控制模块结构框图

单片机控制系统的主要接口电路:

  ① 按键接口电路。采用暂触式开关输入,使用电阻电容去抖。

  ② 数码管及LED显示电路。数码管显示电压、电流、时间等信息。LED指示当前显示的参数种类。PIC单片机的I/O能够直接驱动数码管和LED。按键输入和显示接口电路如图6所示。

图6 按键输入和显示接口电路

③ A/D采样和PWM输出电路。A/D负责采样输出电压电流并送到数码管显示。当前电流电压设定值通过由单片机内部的CCP模块产生的两路PWM信号来给电源模块提供一个参考值。单片机内部的CCP模块可以设置成PWM输出模式,通过写周期寄存器和脉宽寄存器的值就可由硬件产生不同频率和占空比的PWM波形。

  ④串口通信接口电路。串口通信接口电路采用MAX232芯片作为RS232收发器。

  4 软件设计

  4.1 软件流程

  软件用C语言编写,使用HighTech公司为PIC系列单片机提供的PICC编译器。系统上电时,单片机读出非易失性存储器(EEPROM)中上次设置参数,进行电流电压输出。在软件设计中,采用多个任务的概念,可以模拟一个简单的操作系统进行任务的调度。由定时器产生一个5ms的中断,在中断程序中激活各个任务的标志。如显示任务主要负责A/D采样、数码管与LED的刷新,可每5ms执行一次。键盘处理任务负责按键的扫描、软件去抖、键盘命令的解释和扫行,可每10ms执行一次。PWM输出任务负责按照设定的值进行PWM的输出,可以每50ms执行一次。如果有PC机或其他电源通过串口编程,单片机将在UART中断中接收编程数据,接收完改写EEPROM中设置并强行复位。如果接收到通过按键的编程,则在按键处理中修改EEPROM的设置并复位。程序主流程则扫描各个任务是否到时间执行。是,则执行该任务;否则,跳过该任务。主程序流程如图7所示。

图7 主程序流程

4.2 串口编程软件

  在PC机上设计了软件来实现PC机与单片机的通信。通过该软件可以方便地实现对电源电流电压输出、定时等参数的设定。只要将电源上的RS232口与PC机串口相连,就可实现通信。

  利用Visual Basic中的Mscomm控件进行串口通信软件的设计(这里仅作简要的介绍)。PC端数据接收通过Oncomm事件来实现,当接收缓冲区的数据达到rthreshold属性设定值时,就会触发Oncomm事件,在中断程序中读出接收缓冲区中的数据,将收到的字符型数据转换成字符串后便送到各个文本框显示。数据发送时,首先读出文本框内字符串,再将其转换成字符型数据,最后通过单击"发送"按钮,将数据送到发送缓冲区中,从而将数据从串口发送出去。

  结语

  采用单片机控制,克服了开关电源单一输出的缺点,能够提供灵活的电压输出。通过功率联合扩展的功能,可以满足不同功率场合的要求。电源也可以被当成铅酸电池充电器来使用,能自动调整充电电流和电压,应用场合非常广泛。

  参考文献

  [1] 窦振中,汪立森. PIC单片机应用设计与实例[M]. 北京: 北京航空航天大学出版社,1999.

  [2] 张占松,蔡宣三. 开关电源的原理与设计[M]. 北京: 电子工业出版社,2002.

  [3] 李荣正. PIC单片机原理及应用[M]. 北京: 北京航空航天大学出版社,2005.

  [4] 范逸之. Visual Basic与RS232串行通讯控制[M]. 北京: 中国青年出版社,2000.


发布者:博子

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top