《程控电源控制器(共38页).doc》由会员分享,可在线阅读,更多相关《程控电源控制器(共38页).doc(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上1 绪论直流继电器广泛运用于电动汽车,近年面对日益加剧的能源和生态危机,电动汽车成为汽车行业发展的主要方向。电动汽车在充电及运行过程中,直流继电器可能出现意外事故,造成动力系统的窜动、挤压、短路、开裂、漏电、热冲击、爆炸、燃烧等,由此对乘员产生机械伤害、电伤害、化学伤害、电池爆炸伤害以及燃烧伤害等,并可能引发更大的连发性事故以及二次伤害。为了减小事故的发生,对直流继电器性能测试是非常重要的,为了测试直流继电器的性能,测试仪器研发显得非常重要。1.1 课题研究背景及意义本课题来源于企业产品设计,根据要求,利用微控制器以及信号调理电路为特殊设备提供程序化控制试验电源。需要
2、分段设定施加电压的时间及电压升降的变化速度,重复次数及周期,并对试验过程进行过压、过流、过温、短路等保护。通过微控制器输出控制信号,利用控制信号控制试验电源的电流、电压,继而测试电器的性能。微控制器A/D端检测两路信号,测量试验电源实际输出。图1 系统简图通过研发测量仪器,可以测量到特殊设备的一些重要运行参数,为产品的安全性提供保障。随着经济活动在转入高新技术产业迅猛发展时期。程控电源控制器是电子技术常用的仪器设备之一,广泛的应用于教学、科研等领域,是电子实验员、电子设计人员及电路开发部门进行实验作和科学研究所不可缺少的电子仪器。1.2 本课题的主要工作(1)硬件设计:信号调理电路设计,电源电
3、路设计、通信电路设计等。(2)软件设计:串口接收、发送,信号的A/D检测等。(3)系统的综合调试。2 程控电源控制器的系统组成2.1 程控电源控制器的参数实现功能:输出一组050V,3A直流电源,提供试验继电器线圈工作电压。输出电压值由触摸屏设置,并有对应的显示。输出电压可程控,在每个运行周期的高电流阶段可以切断,接通。具体切断,接通的时间可设置。具有过压、过流保护功能。工作形式:对电源输出电流的控制过程为:图2 控制波形图其中:I1为低档电流值,设置范围11000A,设置分辨率1A。I2为高档电流值,设置范围1003000A,设置分辨率1A。T1为低档电流的起始维持时间,设置范围11000S
4、设置分辨率1S。T2为电流上升的时间,设置范围1001000mS,设置分辨率1mS。Ta为T3开始后到关断V2输出的时间,设置范围11000ms,设置分辨率1mS。Tb为关断V2输出的时间,设置范围11000ms,设置分辨率1mS。T3为高档电流的维持时间,设置范围12000mS,设置分辨率1mS。T4为电流下降的时间,设置范围1002000mS,设置分辨率1mS。T5为低档电流的后期维持时间,设置范围11000S,设置分辨率1S。周期数:从T1T5完成为一个周期,可设置运行周期数,设置范围19999。可设置任意电流值时的连续工作。2.2 程控电源控制器总体方案图3 程控直流恒流源控制器的系统
5、框图STM32利用IO口驱动外部D/A芯片,输出控制信号,由于D/A芯片参考内部电压为2.5V,不能满足为试验电源提供控制信号的要求,利用信号调理电路,使得控制信号达到05V,用来驱动试验电源。为了测量试验电源输出信号大小,由于STM32不能直接检测外部信号,将外部信号经过输入信号调理电路,转换成STM32 A/D可以检测的信号,如果检测到信号过压,过流,那么启动保护电路。触摸屏用来设置参数(I1、I2、T1、T2、T3、T4、T5、V2),如图2所示。为了方便客户,设置的参数都会由存储器保存,以便下次直接使用。2.3 微控制器由于程控电源控制器对时间要求很高,一般的单片机运行速度不够,例如处
6、理通信协议、D/A转换、A/D转换、存储、计算波形数据(浮点数)等其他中断资源消耗的时间,难以让时间精度控制在1ms。所以选用STM32F103ZET6单片机。内核:ARM32位Cortex-M3 CPU,最高工作频率72MHz,1.25DMIPS/MHz。单周期乘法和硬件除法。存储器:片上集成32-512KB的Flash存储器。6-64KB的存储器。时钟、复位和电源管理:2.0-3.6V的电源供电和I/O接口的驱动电压。上电复位()、掉电复位()和可编程的电压探测器(PVD)。4-16MHz的晶振。内嵌出厂前调校的8MHz RC振荡电路。内部40 kHz的RC振荡电路。用于CPU时钟的。带校
7、准用于的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个外部中断向
8、量。除了模拟输入,所有的都可以接受5V以内的输入。最多多达11个定时器:4个16位定时器,每个定时器有4个IC/OC/PWM或者脉冲计数器。2个16位的6通道高级控制定时器:最多6个通道可用于PWM输出。2个看门狗定时器(独立看门狗和窗口看门狗)。Systick定时器:24位倒计数器。2个16位基本定时器用于驱动DAC。2.4 DGUS触摸屏传统的自动化控制系统通常采用键盘、开关作为控制输入设备,采用液晶、数码管作为显示输出设备,这样的人际界面操作复杂、方式笨重。而通常的TFT触摸屏GUI界面集成在操作系统内。由于其界面都有代码绘制而成集成在系统内无疑增加变量设置、增加系统复杂程度同时浪费了芯
9、片资源,并且还增加了系统的不稳定性,也降低了显示的实时性 。DGUS屏是TFT触摸屏的开发应用,将键盘与界面集成为一体,结构更加紧密对系统资源的利用率更高,同时也能更好地满足实时性需求。DGUS触摸屏优点:借助PC软件进行设计,实现丰富功能;简化CPU代码量,5条指令实现人机交互;在实际的应用中,针对DGUS的通信机制,控制系统与触摸屏之间不能进行直接通讯,而需要根据DGUS所使用的协议对通讯程序进行开发。采用编程实现DGUS屏幕与STM32F103芯片的通讯。2.5 嵌入式实时操作系统 UC/OS-II 简单的小系统通常在设计成前后台系统,这个结构包含一个死循环和若干中断服务程序:应用程序是
10、一个无限的循环,循环中调用相应的操作(后台),中断服务程序用于处理系统的异步事件(前台)。前台也称做中断级,后台是任务级。为了保证得到及时处理,那些本该在任务级执行的关键代码也必须放在中断里执行,这导致中断程序的运行时间变长。中断程序即使立刻生成了特定的数据,后台程序也必须运行到对应的处理代码时才能进行处理,这称为任务级响应延迟。最长的任务及响应延迟取决于后台循环的运行时间,因此特定模块的运行时间间隔是不确定的,并且后台循环的任何修改都会使所有功能模块的运行时间间隔受到影响。很多低成本、大批量的微控制器应用(例如微波炉、电话或玩具)都采用了前后台的设计。实时内核是用于管理微处理器、微控制器或数
11、字信号处理器的时间及硬件资源的软件代码。设计实时系统时,可把系统功能划分成多个任务,每个任务仅负责实现某一功能。每个任务(或称线程)都是一段简单的程序,通常是个死循环。CPU在任意时刻只能执行一个任务,但每个任务都认为自己在独自使用整个CPU。 实时内核负责管理这些任务,决定运行哪个任务,何时停止运行当前任务并切换到其他任务,这称为多任务管理。CPU在多个顺序执行的任务代码间切换。多任务管理造就了多CPU的假象,实现对CPU资源的最大化利用。多任务管理也有助于实现应用程序开发的模块化,能帮助程序员实现复杂的实时应用。3 硬件设计3.1 信号调理电路设计图4 OP07引脚图Op07芯片是一种低噪
12、声的双极性运算放大器集成电路。由于OP07具有非常低的输入失调电压(对于OP07A最大为25V),所以OP07在很多应用场合不需要额外的调零措施。OP07同时具有输入偏置电流低(OP07A为2nA)和开环增益高(对于OP07A为300V/mV)的特点,这种低失调、高开环增益的特性使得OP07特别适用于高增益的测量设备和放大传感器的微弱信号等方面。优点:超低偏移:150V最大。低输入偏置电流:1.8nA。低失调电压漂移:0.5V/。超稳定,时间:2V/month最大高电源电压范围:3V至22VOP07是具有两个输入端,一个输出端的高增益、高输入阻抗的电压放大器。若在它的输出端和输入端之间加上反馈
13、网络就可以组成具有各种功能的电路。当反馈网络为线性电路时可实现乘、除等模拟运算等功能。运算放大器可进行直流放大,也可进行交流放大。 使用OP07时,调零和相位补偿是必须注意的两个问题,此外应注意同相端和反相端到地的直流电阻等,以减少输入端直流偏流引起的误差。 图5 输入信号调理电路设计同相放大器具有输入电阻很高,输出电阻很低的特点,广泛用于前置放大器。同相放大器的闭环增益为 Af =(1+) 当输入为075mv信号时,由于STM32检测03.3V信号,利用D17、D18、R68、R69、R70、R71、C26、R66、R67构成同相放大器,将信号进行放大使之对应03.3V。Af=44倍当R69
14、 = 1K时,由上式可知39K其中,反馈电阻R69不能取得太大,否则会产生较大的噪声及漂移,其值一般取几十千欧到几百千欧之间。 若将输出电压的全部反馈到反相输入端,就构成电压跟随器。Af = 1当输入05V信号时,将信号电压跟随,由R125、R126 构成分压电路转换成03.3V信号,再利用A/D检测。A1=0.66倍利用电阻分压原理:当R125=2K时,由上式可知R126 =R125/A13K由于没有精准的3K电阻,加上电阻的制造误差,换5.1K滑动变阻器进行调节。(3)信号的输入为05V或075mV,由于是两路信号,使用其中一个,所以用短路帽进行人工选择。最后由U18 构成电压跟随器,传送
15、到A/D检测端。为了防止输入信号过大,导致送到STM32检测端信号大,损坏STM32,所以使用瞬态抑制二极管进行保护。实际输入信号不稳定(例如受到电网波动,打雷等影响),出现很大的脉冲,可能会损坏运放的输入引脚,所以在U17输入端用二极管做了限幅。为防止受到高频干扰,这里使用电容组成RC网络进行滤波,使信号趋于稳定值。为了防止由于阻抗不匹配,导致信号衰减,所以由电压跟随器降低输出电阻,再传输信号到A/D检测端。由于运算放大器输入级采用差分放大,产生失调电压,失调电流,利用电位器(例如R70)调节。3.2 D/A转换电路如图2.1.2所示,系统要求电流的最大值可达3000A,设置分辨率0.1A,
16、如果仅仅用STM32内部的D/A,加上参考电压不是非常精准的3.3V,转换精度是不够的。所以采用DAC8562芯片,使用内部的2.5V参考电压,支持双通道16位D/A转换,转换速度也快。图6 DAC8562内部图解表1 DAC8562引脚定义名称引脚描述AVDD9供电2.7-5.5V/CLR5异步清零输入,在下降沿清零所有寄存器,24个跳变沿后退出该模式。在该模式中输入被禁止。Din8SPI 24位数据输入口。/LDAC4在同步模式下,数据与24个下降沿更新SCLK周期,如下一个下降边缘同步。这种同步更新,LDAC引脚是不需要的,它必须连接到接地或永久性的断言和举行低之前,发送命令到设备。在异
17、步模式下,LDAC引脚是用来作为一个负边沿触发定时信号同步DAC的更新。多个单通道命令可以写为设置不同的通道缓冲器所需的值,然后在LDAC引脚下降沿同时更新DAC输出寄存器。SCLK7SPI 信号输入,最大到50MHz/SYNC6级别触发控制输入(低电平)。这个输入是输入的数据帧同步信号。当同步变低,它使输入移位寄存器,并在随后的下降时钟采样数据边缘。DAC输出更新后的24时钟的下降沿。如果是采取同步高前23时钟的上升沿同步边缘,作为中断,和写序列被忽略。VOUT11A路输出VOUT22B路输出VREF参考电压输入或2.5V参考电压输出图7 应用电路由于DAC8562使用内部参考电压,输出02
18、.5V信号,放大信号到05v,再将信号电压跟随,作为后续的控制信号。图8 输出信号调理电路设计(1)同相放大器具有输入电阻很高,输出电阻很低的特点,广泛用于前置放大器。同相放大器的闭环增益为 Af =(1+) 当DA输出为02.5v信号时,利用R20、R21、R26、R25、R24构成同相放大器,将信号进行放大使之对应05V。Af = 2倍令R20= 3K时,由上式可知=3K 由于无法得到精确3K电阻,放大倍数无法很精确,利用R26、R23进行调节.其中,反馈电阻R21不能取得太大,否则会产生较大的噪声及漂移,其值一般取几十千欧到几百千欧之间。 为了与后级电路阻抗匹配,最后由U23构成电压跟随
19、器,由于跟随器输入级采用差分放大,产生失调电压,失调电流,利用电位器(例如R102)调节。3.3 电源电路本系统需要多个电源,单片机使用+3.3V稳压电源。在高精度的系统中,稳压电源有着非常重要的作用。在进行研究后得出以下方案。本电源先通过变压器电压变换隔离,桥式全波整流,电容滤波,再通过三端固定输出集成稳压器产生稳定电压+12V,-12V。为了改善负载的瞬态响应,在输出端加接电容。采用三端集成稳压器7805得到+5V,采用AMS1117得到+3.3V。 图9 5V电压电路图图10 3.3电压电路图3.4 串口通信电路随着电子技术的不断发展,单片机的应用范围越来越广泛,在工业控制、家电控制、数
20、据采集等多个领域都有着十分重要的作用,由于单片机的使用,越来越多的系统开始向智能化方向发展。利用单片机的串口通信可以实现数据的远程传输、数据分析与系统综合控制功能,尤其是在数据量比较大的场合下,利用一个主机向各个从机发送控制指令是一个很好的解决方案。在本课题中实现与触摸屏、上位机通信。图11 串口通信电路图专心-专注-专业4 4.1 系统总程序简图系统上电开始初始化数据,需要将所有初始化数据装载到发送数据队列,由发送数据任务负责给上位机、触摸屏发送数据。并开始检测外部的信号,根据检测外部信号是否异常,执行系统动作,并实时通知给显示系统(触摸屏、上位机),即需要发送数据入队,由发送数据任务负责发
21、送数据,让用户知道系统产生异常。当接收到来自上位机、触摸屏数据时,数据入队。当执行到接收数据任务时,接收数据出队,执行协议分析,分析收到的数据,并且判断数据的有效性,用来对数据存储,相关数据的计算,系统动作等提供条件,实时通知当前系统的运行情况,即将通知信息装载到发送队列,由发送数据任务进行发送数据。图12 系统程序简图 总程序主要分为三个任务,接收数据任务、发送数据任务、检测信号任务。由于系统本身要对处理指令,具有足够快的响应,所以接收数据任务的优先级是最高的,把时间控制在每7ms执行一次,虽然也可以换做其他值,但经过实际验证,7ms的时间响应比较好,也不影响其它软件功能。发送数据任务负责发
22、送数据,任何需要通知上位机、触摸屏都需经过发送数据任务处理、所以它的优先级相对于接收数据任务要低一点。检测新号任务负责检测外围的信号,因为系统本身,会输出一定的电压、电流,那么运行情况如何,会对周围环境造成什么影响,所以必须要监测电压、电流实际输出。所以检测信号任务也尤为重要,经过以上分析,时间安排,优先级安排,如图13所示。图13 时间流程图4.2 串口接收与发送4.2.1 串口接收因为程控电源控制器与上位机,触摸屏通信数据量较多,所以我采用队列的方式,也便于程序调用。将所有接收到的数据存到二维数组中,即队列中。队列是指允许在一端进行插入、而在另一端进行删除的线性表。允许插入的一端称为队尾,
23、通常用一个称为尾指针(rear)的指针指向队尾元素,即尾指针总是指向最后被插入的元素;允许删除的一端称为排头(也称为队头),通常也用一个排头指针(front)指向排头元素的前一个位置。显然,在队列这种数据结构中,最先插入的元素将最先能够被删除,反之,最后插入的元素将最后才能被删除。因此,队列又称为“先进先出”的线性表。在队列的队尾(rear)接收一帧数据称为入队运算,从队列的排头(front)读取一帧数据称为出队运算。在循环队列中,当队列满时而再要进行入队时,只要队列的第一个位置空闲,便可将队尾指针指向第一个位置,即队列的第一个位置作为队尾。在队列中,用队尾指针rear指向队列中的队尾元素,用
24、排头指针front指向排头元素的前一个位置,因此,从排头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素。每进行一次入队运算,队尾指针就进一。rear=rear+1每进行一次出队运算,排头指针就进一。front = front+1当队列满时由front=rear,而当队列空时也有front=rear,即在对列中,当front=rear时,不能确定是队列满还是队列空。在实际使用中,为了区分队列满还是空,通常增加一个标志判断。图14 循环队列示意图从图4.1.1中可以看出,当串口接收到数据时DATA0,启动定时器,定时1ms,如果在1ms之内串口接收到数据
25、DATA1,那么重置定时器。如果1ms之内没有接收到数据,那么这帧数据接收完毕,队尾指针进一。当然1ms的时间不是固定的,它是根据你的通信速度(波特率)决定。4.2.2 串口发送将需要发送的数据写入二维数组(与串口接收二维数组不同),即发送数据入队,原理与上节相同。当系统进行出队操作时,发现还有未发送的数据,立刻将数据发送出去。4.3 输出波形控制算法由于DAC8562无法写入小数,在程序进行计算时,往往取整数,这就会造成误差。图15 线性图从图中可以看出I1、I2的值,上升T2为1ms。假设I1为100(假设对应AD转换值1000),I2为250(假设对应DA转换值1550),DA差值为55
26、0,将1ms分解成10个100us,即550/10=55。每100us DA值加55。可以看出在不调节的情况下,线性度极差,在调节的情况下,线性度有所好转。若DA差值很小,再分解成10次,线性度基本不变。如何避免差值过小带来无用调节,是个重要的问题,因为分解成10个100us,意味着在1ms的时间内程序做了10次无用调节。使系统运行效率下降,实时性变低。令平均因子为X,DA差值为E, X随着E的变化动态取值: ,X = E;| 10 , X = 10;0|E| 2 ,X = 1;这样就可以避免时间资源的浪费,实时性得到了改善。4.4 滑动滤波算法微控制器需检测实际输出电流、电压,实际信号会有干
27、扰的存在。软件抗干扰就显得尤为重要。图16 滑动滤波示意图把连续N个采集值看成一个队列,每次采集到的新数据放入队尾,并扔掉原来队首的数据。把队列中的N个数据进行平均计算,即可获得新的滤波结果。图17 滤波流程图5 系统5.1 硬件调试输入信号调理电路调试:当输入信号为075mv,对应到A/D端为03.3V,如图5所示。将P22端输入0V,查看P24 引脚1是否为0V,若不是0V,调节R70 、R67直到0V为止。 将P22端输入75mv,查看P24 引脚1是否为3.3V,若不是3.3V,调节R70 、R67直到3.3V为止。当输入信号为05v,对应到A/D端为03.3V,如图5所示。将P21端
28、输入0V,查看P24 引脚3是否为0V,若不是0V,调节R124 、R126直到0V为止。 将P22端输入5v,查看P24 引脚1是否为3.3V,若不是3.3V,调节R124 、R126直到3.3V为止。将信号利用后级电路进行电压跟随,若P24 引脚2与PA3电压不一致,则调节R72 直到电压相等为止。输出信号调理电路调试:当输入信号为02.5v,对应输出为05V,如图8所示。将V-A端输入0V,查看R34 调节端电位是否为0V,若不是0V,调节R24 、R23 ,直到0V为止。将V-A端输入2.5V,查看R34 调节端电位是否为5V,若不是5V,调节R24 、R23 ,直到5V为止。将信号利
29、用后级电路进行电压跟随,若R34 调节端电压与P4端电压不一致,则调节R102 直到电压相等为止。5.2 系统调试5.2.1 通信调试在实际的应用中,针对DGUS的通信机制,控制系统与触摸屏之间不能进行直接通讯,而需要根据DGUS所使用的协议对通讯程序进行开发。利用微控制器串口发送相应协议,编程实现DGUS屏幕与微控制器芯片的通讯,初始化运行数据。图15 运行参数5.2.2 功能调试根据设置的参数,点击触摸屏启动,图中可以看出图标变为绿色提示,示意图如下。图16 运行监控点击启动之后,用示波器检测电流波形图如下。图17 电流波形示意图5.2.3 装机调试将程控电源控制器接入试验电源,将程序下载
30、到微控制器,仿真器在线调试。图18 调试 结论1本系统利用自动控制监测技术,设计开发了一套操作方便、简洁实用的程控电源控制器。2系统软硬件设计合理,其中软件采用模块化的程序设计方法,各模块相互独立,提高了系统的可靠性和可扩展性,整个系统具有较高的性能价格比。3系统C语言编程,程序结构清晰,显示板界面非常友好,使得操作者在使用该系统时就像是在操作一台实际的控制仪器一样。4系统功能独立,配置合理。5经运行验证,系统具有响应速度快,操作简便,工作可靠等特点。6.系统软件结构可以进一步优化,操控界面可以做的更人性化。 致谢在论文完成之际,我首先向关心帮助和指导我的指导老师徐江海老师表示衷心的感谢并致以
31、崇高的敬意! 在做论文过程中,遇到了软硬件设计上的问题,一直得到徐老师的亲切关怀和悉心指导,使我的问题一一得到解决,并且还教会了我该如何的把重点突出来和该如何答辩,也使我的知识得到进一步充实。徐江海老师以其渊博的学识、严谨的治学态度、求实的工作作风和他敏捷的思维给我留下了深刻的印象,我将终生难忘。再一次向他表示衷心的感谢,感谢他为学生营造的浓郁学术氛围,以及学习、生活上的无私帮助! 值此论文完成之际,谨向徐老师致以最崇高的谢意!在此,感谢我的任课老师们,你们的辛苦,让我认识到到了做人、做事、学习的重要性。感谢身边所有的朋友与同学,谢谢你们四年来的关照与宽容,与你们一起走过的缤纷时代,将会是我一
32、生最珍贵的回忆。在我即将完成学业之际,感谢我的父母,没有你们,就没有我的今天,你们的支持与鼓励,永远是支撑我前进的最大动力。 参考文献1 (美)Jean J. Labrosse.嵌入式实时操作系统uC/OS-II. 北京航空航天大学出版社,2007.2 徐士良.葛兵.计算机软件基础(第三版).清华大学出版社,20103谭浩强C程序设计(第三版)M清华大学出版社,20054张俊.匠人手记. 北京航空航天大学,2008.5 STM32微控制器参考手册.6 STM32微控制器数据手册.7 STM32微控制器库函数手册.8 童诗白.华成英.模拟电子技术基础(第四版).清华大学出版社,2008.9 阎石
33、.数字电子技术基础(第五版).清华大学出版社,2009.10 DGUS使用须知手册.11 DGUS 开发指南手册.12(美国)阿什比 (Darren Ashby).电子电气工程师必知必会,2009.13马忠梅.马广云.徐英慧.田译.ARM嵌入式处理结构与应用基础M.北京航空航天大学出版社.200214 刘荣.圈圈教你玩转USB. 北京航空航天大学出版社,2013.15周航慈.嵌入式常用软件算法. 北京航空航天大学出版社,2010.16铃木雅臣.晶体管电路设计(上).科学出版社,2004.16铃木雅臣.晶体管电路设计(下).科学出版社,2004.17 Bruce Carter, Ron Mancini. 运算放大器权威指南.人民邮电出版社,2007.附录一电路原理图线路制版图样板图 焊接实物图 附录二程序