程控电源控制器Word文档格式.doc
《程控电源控制器Word文档格式.doc》由会员分享,可在线阅读,更多相关《程控电源控制器Word文档格式.doc(36页珍藏版)》请在冰豆网上搜索。
(2)软件设计:
串口接收、发送,信号的A/D检测等。
(3)系统的综合调试。
2程控电源控制器的系统组成
2.1程控电源控制器的参数
实现功能:
输出一组0~50V,3A直流电源,提供试验继电器线圈工作电压。
输出电压值由触摸屏设置,并有对应的显示。
输出电压可程控,在每个运行周期的高电流阶段可以切断,接通。
具体切断,接通的时间可设置。
具有过压、过流保护功能。
工作形式:
对电源输出电流的控制过程为:
图2控制波形图
其中:
I1为低档电流值,设置范围1~1000A,设置分辨率1A。
I2为高档电流值,设置范围100~3000A,设置分辨率1A。
T1为低档电流的起始维持时间,设置范围1~1000S设置分辨率1S。
T2为电流上升的时间,设置范围100~1000mS,设置分辨率1mS。
Ta为T3开始后到关断V2输出的时间,设置范围1~1000ms,设置分辨率1mS。
Tb为关断V2输出的时间,设置范围1~1000ms,设置分辨率1mS。
T3为高档电流的维持时间,设置范围1~2000mS,设置分辨率1mS。
T4为电流下降的时间,设置范围100~2000mS,设置分辨率1mS。
T5为低档电流的后期维持时间,设置范围1~1000S,设置分辨率1S。
周期数:
从T1~T5完成为一个周期,可设置运行周期数,设置范围1~9999。
可设置任意电流值时的连续工作。
2.2程控电源控制器总体方案
图3程控直流恒流源控制器的系统框图
STM32利用IO口驱动外部D/A芯片,输出控制信号,由于D/A芯片参考内部电压为2.5V,不能满足为试验电源提供控制信号的要求,利用信号调理电路,使得控制信号达到0~5V,用来驱动试验电源。
为了测量试验电源输出信号大小,由于STM32不能直接检测外部信号,将外部信号经过输入信号调理电路,转换成STM32A/D可以检测的信号,如果检测到信号过压,过流,那么启动保护电路。
触摸屏用来设置参数(I1、I2、T1、T2、T3、T4、T5、V2),如图2所示。
为了方便客户,设置的参数都会由存储器保存,以便下次直接使用。
2.3微控制器
由于程控电源控制器对时间要求很高,一般的单片机运行速度不够,例如处理通信协议、D/A转换、A/D转换、存储、计算波形数据(浮点数)等其他中断资源消耗的时间,难以让时间精度控制在1ms。
所以选用STM32F103ZET6单片机。
内核:
ARM32位Cortex-M3CPU,最高工作频率72MHz,1.25DMIPS/MHz。
单周期乘法和硬件除法。
存储器:
片上集成32-512KB的Flash存储器。
6-64KB的SRAM存储器。
时钟、复位和电源管理:
2.0-3.6V的电源供电和I/O接口的驱动电压。
上电复位(POR)、掉电复位(PDR)和可编程的电压探测器(PVD)。
4-16MHz的晶振。
内嵌出厂前调校的8MHzRC振荡电路。
内部40kHz的RC振荡电路。
用于CPU时钟的PLL。
带校准用于RTC的32kHz的晶振。
低功耗:
3种低功耗模式:
休眠,停止,待机模式。
为RTC和备份寄存器供电的VBAT。
调试模式:
串行调试(SWD)和JTAG接口。
DMA:
12通道DMA控制器。
支持的外设:
定时器,ADC,DAC,SPI,IIC和UART。
3个12位的us级的A/D转换器(16通道):
A/D测量范围:
0-3.6V。
双采样和保持能力,片上集成一个温度传感器。
2通道12位D/A转换器:
STM32F103xC,STM32F103xD,STM32F103xE独有。
最多高达112个的快速I/O端口:
根据型号的不同,有26,37,51,80,和112的I/O端口,所有的端口都可以映射到16个外部中断向量。
除了模拟输入,所有的都可以接受5V以内的输入。
最多多达11个定时器:
4个16位定时器,每个定时器有4个IC/OC/PWM或者脉冲计数器。
2个16位的6通道高级控制定时器:
最多6个通道可用于PWM输出。
2个看门狗定时器(独立看门狗和窗口看门狗)。
Systick定时器:
24位倒计数器。
2个16位基本定时器用于驱动DAC。
2.4DGUS触摸屏
传统的自动化控制系统通常采用键盘、开关作为控制输入设备,采用液晶、数码管作为显示输出设备,这样的人际界面操作复杂、方式笨重。
而通常的TFT触摸屏GUI界面集成在操作系统内。
由于其界面都有代码绘制而成集成在系统内无疑增加变量设置、增加系统复杂程度同时浪费了芯片资源,并且还增加了系统的不稳定性,也降低了显示的实时性。
DGUS屏是TFT触摸屏的开发应用,将键盘与界面集成为一体,结构更加紧密对系统资源的利用率更高,同时也能更好地满足实时性需求。
DGUS触摸屏优点:
借助PC软件进行设计,实现丰富功能;
简化CPU代码量,5条指令实现人机交互;
在实际的应用中,针对DGUS的通信机制,控制系统与触摸屏之间不能进行直接通讯,而需要根据DGUS所使用的协议对通讯程序进行开发。
采用编程实现DGUS屏幕与STM32F103芯片的通讯。
2.5嵌入式实时操作系统UC/OS-II
简单的小系统通常在设计成前后台系统,这个结构包含一个死循环和若干中断服务程序:
应用程序是一个无限的循环,循环中调用相应的操作(后台),中断服务程序用于处理系统的异步事件(前台)。
前台也称做中断级,后台是任务级。
为了保证得到及时处理,那些本该在任务级执行的关键代码也必须放在中断里执行,这导致中断程序的运行时间变长。
中断程序即使立刻生成了特定的数据,后台程序也必须运行到对应的处理代码时才能进行处理,这称为任务级响应延迟。
最长的任务及响应延迟取决于后台循环的运行时间,因此特定模块的运行时间间隔是不确定的,并且后台循环的任何修改都会使所有功能模块的运行时间间隔受到影响。
很多低成本、大批量的微控制器应用(例如微波炉、电话或玩具)都采用了前后台的设计。
实时内核是用于管理微处理器、微控制器或数字信号处理器的时间及硬件资源的软件代码。
设计实时系统时,可把系统功能划分成多个任务,每个任务仅负责实现某一功能。
每个任务(或称线程)都是一段简单的程序,通常是个死循环。
CPU在任意时刻只能执行一个任务,但每个任务都认为自己在独自使用整个CPU。
实时内核负责管理这些任务,决定运行哪个任务,何时停止运行当前任务并切换到其他任务,这称为多任务管理。
CPU在多个顺序执行的任务代码间切换。
多任务管理造就了多CPU的假象,实现对CPU资源的最大化利用。
多任务管理也有助于实现应用程序开发的模块化,能帮助程序员实现复杂的实时应用。
3硬件设计
3.1信号调理电路设计
图4OP07引脚图
Op07芯片是一种低噪声的双极性运算放大器集成电路。
由于OP07具有非常低的输入失调电压(对于OP07A最大为25μV),所以OP07在很多应用场合不需要额外的调零措施。
OP07同时具有输入偏置电流低(OP07A为±
2nA)和开环增益高(对于OP07A为300V/mV)的特点,这种低失调、高开环增益的特性使得OP07特别适用于高增益的测量设备和放大传感器的微弱信号等方面。
优点:
超低偏移:
150μV最大
。
低输入偏置电流:
1.8nA
低失调电压漂移:
0.5μV/℃
超稳定,时间:
2μV/month最大
高电源电压范围:
±
3V至±
22V
OP07是具有两个输入端,一个输出端的高增益、高输入阻抗的电压放大器。
若在它的输出端和输入端之间加上反馈网络就可以组成具有各种功能的电路。
当反馈网络为线性电路时可实现乘、除等模拟运算等功能。
运算放大器可进行直流放大,也可进行交流放大。
使用OP07时,调零和相位补偿是必须注意的两个问题,此外应注意同相端和反相端到地的直流电阻等,以减少输入端直流偏流引起的误差。
图5输入信号调理电路设计
同相放大器具有输入电阻很高,输出电阻很低的特点,广泛用于前置放大器。
同相放大器的闭环增益为
Af=(1+)
当输入为0~75mv信号时,由于STM32检测0~3.3V信号,利用D17、D18、R68、R69、R70、R71、C26、R66、R67构成同相放大器,将信号进行放大使之对应0~3.3V。
Af=≈44倍
当R69=1K时,由上式可知
≈39K
其中,反馈电阻R69不能取得太大,否则会产生较大的噪声及漂移,其值一般取几十千欧到几百千欧之间。
若将输出电压的全部反馈到反相输入端,就构成电压跟随器。
Af=1
当输入0~5V信号时,将信号电压跟随,由R125、R126构成分压电路转换成0~3.3V信号,再利用A/D检测。
A1=≈0.66倍
利用电阻分压原理:
当R125=2K时,由上式可知
R126=R125/A1≈3K
由于没有精准的3K电阻,加上电阻的制造误差,换5.1K滑动变阻器进行调节。
(3)信号的输入为0~5V或0~75mV,由于是两路信号,使用其中一个,所以用短路帽进行人工选择。
最后由U18构成电压跟随器,传送到A/D检测端。
为了防止输入信号过大,导致送到STM32检测端信号大,损坏STM32,所以使用瞬态抑制二极管进行保护。
实际输入信号不稳定(例如受到电网波动,打雷等影响),出现很大的脉冲,可能会损坏运放的输入引脚,所以在U17输入端用二极管做了限幅。
为防止受到高频干扰,这里使用电容组成RC网络进行滤波,使信号趋于稳定值。
为了防止由于阻抗不匹配,导致信号衰减,所以由电压跟随器降低输出电阻,再传输信号到A/D检测端。
由于运算放大器输入级采用差分放大,产生失调电压,失调电流,利用电位器(例如R70)调节。
3.2D/A转换电路
如图2.1.2所示,系统要求电流的最大值可达3000A,设置分辨率0.1A,如果仅仅用STM32内部的D/A,加上参考电压不是非常精准的3.3V,转换精度是不够的。
所以采用DAC8562芯片,使用内部的2.5V参考电压,支持双通道16位D/A转换,转换速度也快。
图6