modbusRTU控制的0-30v可变电压源毕业论文
2021-11-05 19:38:50
摘 要
第一章 绪 论 - 2 -
1.1 背景及意义 - 2 -
1.2 国内外研究现状 - 2 -
1.3 发展现状和前景展望 - 3 -
1.4 研究主要内容 - 3 -
第二章 系统方案设计 - 4 -
2.1系统设计方案选择 - 4 -
2.2 芯片选择 - 4 -
2.3 软件方案设计 - 4 -
2.4 系统总体框图 - 5 -
第三章 硬件设计 - 6 -
3.1 stm32最小系统 - 6 -
3.2 电源模块 - 8 -
3.3 buck主回路 - 8 -
3.4 驱动模块 - 10 -
3.5 1602液晶显示模块 - 11 -
3.6 按键模块 - 13 -
3.7 电流、电压采样模块 - 13 -
3.8 仿真调试模块 - 14 -
第四章 软件设计 - 15 -
4.1利用STM32CUBEMX软件 - 16 -
4.3 主控电路模块 - 21 -
4.4 LCD1602液晶显示子程序 - 22 -
4.5 按键子程序 - 23 -
第五章 系统硬件与软件调试 - 24 -
5.1 软件的调试 - 24 -
5.2 硬件的调试 - 25 -
结论 - 27 -
致谢 - 28 -
附录 源程序 - 30 -
摘 要
由于fieldbus在工业应用中的广泛应用和不断增加的人气,作为简单协议的modbus也得到了人们的支持。STM32F103作为最经典的STM系列芯片,本文以它作为核心控制芯片,在 Modbus协议中采用串口方式携带 RTU模式实现可变电源功能。利用单片机PWM输出电压信号,来调控buck电路输出所需电压源。改变 buck驱动电路信号占空比可以稳定调节电压,基本实现0-30 v电压稳定可调。配合液晶1602及按键等,优化了操作,使操作更方便。
关键词: Modbus、BUCK降压、STM32F103、可变电压源
绪 论
背景及意义
随着世界经济的飞速攀升的同时,人们对电源有了更大的需求。而伴同计算机通信和信息技术的飞跃进步,电子产品愈加频繁地推陈出新。由于在实时性和可靠性方面的突出表现,数控电源逐渐走进人们的生活和工作。
现代工业控制产品需要具有低脉动和宽调节范围的高电压电源。一般来说,电位计和频率开关用于调整公共数值控制电压源的电压,而电压计表示电压的值。然而,频率开关的调节精度不高,用电位计读取电压不方便也不直观,同时还易磨损。上述传统稳压电源的缺点可以通过单片机系统的数控直流电源很好地解决。数字技术能有效降低参与过程中的不确定性和人为制造的失误,大大提高电源模块的精度和可靠性。Modbus作为一种通讯规范在工业生产中被大量运用,也成为使用频率最高的连接方式来连接当今工业电子设备,它无疑有着独特的优势。所以,研究使用 modbusRTU工业工厂中精确控制电源电压,具有重要意义。
国内外研究现状
自20世纪九十年代末以来,随着人们对系统高效化和低功耗的要求越发急切,通过电气通信和数据通信设备的技术更新,促进了电力产业中dc/dc电力转换器的开发,提高了灵活性和智能。从80年代末第一代分布式电源结构开始高度转换为第四代和中间总线结构。dc/dc电力产业将遭遇到如何在现有基础上新增嵌入式系统和数字控制的挑战。
早在上世纪末时期,就有小部分的开发商们研发出了数控电压源的技术,而那个时代,与大量运用在各个场合的模拟控制理论相比,它的性价比偏低,属于未来技术,因而无法得到当时人们的认可。
之后因为新一代技术-板载电源控制的横空出世和人们对于节约能源和最优化运行的观念的建立,电源领域巨头们逐渐合作展开了对“数控电压源”这种新技术的研制。
而在直流电源产品快速更新的现在,驱动模块从原来的分立元件和集成电路控制更新到由单片机操纵,增强了电压源的自动化程度,大致完成了直流电源的自动调节输出。
发展现状和前景展望
自从上世纪80年代以来,随着电子科技的发展与进步,人们对数控设备的性能有了新的期望,也对电源系统带来了新的挑战。随着人们对高效率、低功耗、高灵活性和智能化等方面要求的不断提高,数字控制和嵌入式智能控制已成为21世纪的研究热点。
在如今的控制技术中,现场总线和网状网络等新兴技术不断被研发并得到实践。modbus协议凭借广其在各种通信介质上简单实现的特性。被人们誉为世界上运用最普遍的工业领域协议。如果客户在使用已有的前代操纵系统时发现需要增加现场仪器或添加远程控制装置,那么最为简单的解决方案就是MODBUS了。当客户想要新增外部设备与内部操控系统相连时,MODBUS接口的使用是最简单的方法。尽管在现在看来,MODBUS这种方式显的有些古老,但由于MODBUS在使用上非常方便,可靠性强,价格便宜,同时可连接对象涵盖几乎所有控制工业领域,因此它仍是最普遍的通信方式。
研究主要内容
数字控制电压源在科学研究和精密实验中都是无可或缺的仪器设备。市面上现有的直流可调电源,大多采用旋纽进行电压调节,电压的精确度低,且出现跳变现象的频率很高,用起来极为不便。基于上述问题,本设计提出了单片机控制的数控式高精度简易直流电压源,其设计方案简明,精度高,调节方便,可扩展性好,节省资源,在对精度需求偏高的地方非常合适。本毕业设计就是设计一种可通过 modbusRTU通讯协议控制的可调电压电源。利用STM32F1030单片机搭配同步buck的降压斩波电路,实现了电压的可调性。调整电压的软件控制。
系统方案设计
2.1系统设计方案选择
第一种方案:主机 PC机,STM32作为从机利用 串口TTL实现和主机的通信,主机通过向从机传出modbus指令来获取其内容,从机接收到主机传来的命令后,将主机所需要的相应的数据通过MODBUS返回给主机, 主机接收到从机数据后通过程序更新从机数据,到此MODBUS的通信功能基本上完成了。
第二种方案:主从机均选用单片机,从机设有数据显示接口,主机通过向从机传出modbus指令来获取其内容,从机接收到主机传来的命令后,将主机所需要的相应的数据通过MODBUS返回给主机,主机接收到从机数据后通过程序更新从机数据,以实现 MODBUS通信功能。
方案一开发难度低,仅用研制从机的串口通信模块来进行和计算机的通信,创建从机的MODBUS通信的代码,主机可用虚拟串口代替,实际操作起来也很方便。第二种方案是选择LCD取代主机PC的显示界面,主机和从机均使用STM32,将主从机的开发一起完成,主从机均要求编写 一份MODBUS程序,开发较为困难。折衷后的方案一综合性较好,因此本设计拟使用方案一进行。
2.2 芯片选择
本系统拟采用ST公司的STM32F103K6T6芯片作为主控芯片。作为一种基础级别的芯片,它的内设和外设虽然不是顶尖级别的,但是完全足够满足设计的需求,同时价格便宜易得,是此次设计的不二选择。
2.3 软件方案设计
这次设计以上位机PC作为主机,以STM32单片机作为从机平台,利用其串口TTL,主机通过向从机传出modbus指令来发送指令到从机,改变其内控制STM32的PWM脉冲输出占空比的模拟量值,它也是buck驱动电路主控信号。STM32通过PID算法进行实时电压调控,输出的电压通过ADC与运放电路进行实时采集。然后,将采集到的数据送入STM32的MCU中。最后,上位机PC通过TTL串口向STM32发送Modbus命令,读取MCU中存储的数据。
2.4 系统总体框图
由于系统需要对电压输出大小进行控制,所以本设计采用闭环反馈控制方式,实现输入对输出的控制,用CPU产生高速PWM波驱动开关管电路输出电流,PWM设计为双路并行反相的形式,方便驱动后级电路。系统整体框图如图2.2所示。
图2.2 系统总体框图
硬件设计
该系统是基于 Modbus协议的,上位 PC机通过串口 TTL接口与STM32通信。利用STM32F030K6T6单片机,通过 MOS驱动模块调节,实现了同步串行降压斩波电路电压调节。每个电路都由辅助电源模块单独供电。信号调节电路采集输入电压、输出电压、输出电流等信号,并将其反馈到主控电路中,主控电路通过对采集信号的运算控制来实现恒压恒流输出。系统总原理图如下图:
图3.1 系统原理图
3.1 stm32最小系统
主控芯片采用STM32F103K6T6其功率为2.4-3.6 V,闪存最高可达64 K, SRAM最高可达8 K。STM32F030K6T6外围电路设计简单,芯片最小系统电路如图3.2所示。STM32资源分配如表1所示。
功能分类 | 引脚名称 | 对应信号 | 说明 |
PWM信号 | PA8 | PWM1 | 上桥臂驱动信号 |
PB13 | PWM2 | 下桥臂驱动信号 | |
ADC信号 | PA1 | ADC1 | |
PA5 | ADC2 | ||
串口通信 | PA9 | USART1_TX | USART1发送 |
PA10 | USART1_RX | USART1接收 | |
程序下载接口 | PA13 | SWDIO | SDW仿真接口 |
PA14 | SWCLK | ||
液晶1602 | PB3-PB10、PA15 | D0-D7、E | 液晶控制、使能 |
PA11 | RS | 数据/命令选择 | |
PA12 | RW | 读/写选择 | |
按键 | PC13-PC15 | MODE | 模式选择 |
PB12 | KEY | 按键使能 |
表1 STM32资源分配
图3.2 STM32控制电路
3.2 电源模块
系统电源采用XL1509稳定电压3.3 V,以3.3 V主芯片和 buck主控电路作为输出电源,电源模块原理图见图3.3。
单片机XL1509型异步降压式稳压器,输入电压最低为4.5V最高为40V,输出3V-37V可调直流电压,最小2A恒流和输出饱和压降1.5 V;开关频率固定为150 KHz。
芯片内优化了功率管,因此可以输出良好的线性,具有 TTL关断功能;XL1509包含8个插头,其中5~8个是接地插头,1个是电压输入插头,2个是输出插头,3个是反馈插头 FB,4个是使能插头,4个是开机插头,4个是开关插头。
图3.3 电源模块
3.3 buck主回路
Buck电路原理图如图3所示。图中Q1为IGBT全控器件,D为续流二极管。驱动信号加在Q1上,控制Q1周期地导通与截止,当Q1导通时,电源VIN为负载供电,D上加的电压UD=Ui;当Q1断开时,电流经二极管D续流,与负载形成回路,UD近似于零。导通和断开共同构成一个周期T,周期T结束时,驱动电路再使Q1导通,重复上一周期的过程。一周期T内加在负载上的平均电压为: