基于Lora的风力电站峰谷自动补偿系统设计与实现_第1页
基于Lora的风力电站峰谷自动补偿系统设计与实现_第2页
基于Lora的风力电站峰谷自动补偿系统设计与实现_第3页
基于Lora的风力电站峰谷自动补偿系统设计与实现_第4页
基于Lora的风力电站峰谷自动补偿系统设计与实现_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章绪论全球气温上升、环境污染严重、能源危机时常出现在我们生活的话题之中,风力发电在这个背景下应运而生,并且得到国家大力支持。1.1项目背景全球各国都在关注气候问题。随着全球气温上升、环境污染和能源消耗需求增加,各国政府面临着寻找新的、能够负担得起的清洁能源的严峻挑战。风力发电是一种可能的解决方案,因其环境友好性和可重复性的优势以及快速发展的技术而成为全球增长最快的可再生能源之一。虽然风力发电对电网的贡献不断增加,但由于风力发电具有固有的随机性和间歇性,因此其可用性存在可变性和不确定性。在这种情况下,为了使风力发电系统更加稳定地发展,需要采取措施来消纳蓄能、减少资源浪费、充分利用风能,并根据实际情况合理调整电力供应,从而提高电力系统的稳定性REF_Ref17279\r\h[1]。目前,越来越多的风力发电项目采用分布式开发模式,将大型集中式发电系统转变为分散在不同地点的小型发电系统,从而提高了能源利用效率和可靠性。中国风电技术相对落后于西方国家,这使得整体风力发电系统的维护与管理至关重要,以保障其稳定运行。据相关数据统计,在全球范围内,风力发电行业的相关产品与服务占全球能源消耗的近50%,而中国风力发电行业所占份额则相对较小。随着中国风电事业的发展,风力发电市场规模不断扩大,未来几年里,风电设备和服务将迎来一个新的增长时期。作为一个新兴的能源行业,风电产业作为绿色产业的一部分,在能源需求不断增长和环境保护日益重要的背景下,如何进行风电场维护管理等方面研究已成为重要课题。而这一课题也是我国风电产业发展过程中急需解决和进一步研究的问题。1.2研究现状1.2.1国内研究现状风能产生电能对解决我国的能源危机和环境问题有着重要的意义。然而,由于风力发电的运行环境相对恶劣且体量较大REF_Ref17429\r\h[2],容易出现各种类型的故障,一个风力发电机在故障时造成的损失是不可计量的,因此对发电设备的维修发展是有重大意义的,电力能源是我国在长久发展经济背景下必不可少的重要能源资源,当代电力能源处于相对比较紧缺的局面上,为了能够实现可持续发展,可以借助风力发电系统的构建,实现电能的转换。风力发电技术是我国重点扶持的建设项目,其能源开发效果相对较好,但与此同时,也要注意到发电设备的故障维修重要意义。当前风力发电系统主要是应用到集中式的风力发电场作为主要的开发模式,难以借鉴国外的众多成熟可靠性预防维护策略理论。需要我国积极自主研究探索适应我国国情以及风电系统的预防性维修策略模型,从而提升设备使用的可靠性,降低故障率,能够在故障发生前加以预防维修REF_Ref17530\r\h[3]。其次是在对风力发电得到广泛运用过程中,也有许多问题暴露出来,因此,如何将智能化技术应用到风力发电自动化控制系统中也成为领域内的主要研究方向REF_Ref17566\r\h[4]。1.2.2国外研究现状人口的用电模式不同,因此在一天中会出现大量供电需求,也会出现不需要太多供电的情况,并且风能存在着固有的随机性和间歇性,由于风力与气候和气象也存在很强的相关性,需要对风能产生的电量进行储存和释放来减轻风力发电的可变性REF_Ref17615\r\h[10]。美国风力发电的快速增长可归因于成本的急剧下降、可再生能源的财政激励以及各州和当局在环境政策中的作用。美国的年风力发电量从2006年的6亿千瓦时增加到2018年的800亿千瓦时。由于环境效益被认为是分配公共资金激励可再生能源的主要原因,因此准确衡量这些效益对于评估现有政策和确定未来政策方向至关重要。因此,近年来这一课题已成为经济和工程研究的热点REF_Ref17670\r\h[11]。1.3解决办法首先采用STM32单片机作为主控制器,同时,需要将风能转换成电能,使其能供更多人使用,因此需要对风力发电进行控制,对风力发电进行实时监控。而这些都可以通过无线通信来实现。目前国内外针对无线传感网络的研究还很少,在此项目中主要利用LoRaWAN协议栈作为底层协议,而LoRaWAN是一个专门为低功耗应用而设计的自组网协议栈,具有非常好的安全性和移动性。在风力发电系统中,为了满足不同场合下的功率输出需求,需要对辅助补偿装置进行动态调整。通过搭建一个基于云服务器的上位机系统,可以远程监控和控制风力发电系统中的辅助补偿装置。当系统检测到负载功率波动时,上位机可以通过云平台向控制器发送命令,动态调整辅助补偿装置的工作状态,使其能够快速响应并适应负载变化,从而实现峰谷自动补偿。此外,通过使用云平台,并使用SQL数据库,还能够实现数据的实时传输和存储,方便后续的数据分析和处理。为了保证风力发电系统的稳定运行,需要通过远程监测对陆上的风力电机进行实时的故障检测和问题诊断。在此过程中,可以利用温度传感器、红外光电传感器等多种传感器获取电机的运行状态数据,并通过无线通信技术将这些数据传输到云平台上进行分析处理。特别地,通过采集电机的绕组温度,我们能够及时发现电机故障问题并有效预防。同时,使用GPS定位技术也是很重要的一环。当某个风力电机出现故障时,我们可以借助GPS快速定位出故障点,减少故障排除时间。为了使这些数据得到更好的传输和处理,我们采用Lora网络将故障信息上报到控制台。这样,在监测到故障后,控制台可以尽快地接收并处理这些信息,实现及时响应和迅速解决问题。同时,通过持续地监测电机状态和故障记录,我们还能够进行数据分析和挖掘,从而发现和预测潜在的故障点,降低系统运维成本并提高可靠性。

第2章系统整体方案2.1系统功能需求分析实现Lora组网数据的传输。实现远程实时监测风力发电机的发电量。实时监测风力电机的故障状态,当出现故障时及时上报。实现风力发电机位置的定位,便于管理者维护。实现实时监测发电烧组的温度,防止过温烧毁。实现上位机数据库管理,远程上位机可以方便对设备进行维护。实现峰谷自动补偿,当发电较多时,自动将多余电量储存到蓄电池组,当发电量不足时,自动控制蓄电池组放电。2.2方案结构该系统由三个主要组成部分组成:上位机、下位机和网关。为实现对各种物理量的数据采集和监测。下位机在Keil5开发环境中使用C语言对单片机和传感器进行编程控制,与DS18B20温度传感器、红外光电开关传感器、GPS模块等协作工作,收集各种物理量并将其转换为数字信号,以便上位机对其进行处理。同时,下位机还可以根据上位机发出的指令执行一些特定的操作。上位机负责对下位机发送来的数据进行管理和处理,包括存储和分析。整个上位机使用VSCode编辑器对上位机系统进行编码编译调试操作。业务逻辑处理方面,上位机通过PHP语言使用一些算法和模型对数据阈值判断。此外,上位机还可以通过远程控制下位机的方式对整个系统进行监测和调度,以确保系统的运行稳定性和安全性。所测量的物理量可以通过HTML语言、CSS、JavaScript语言搭建的网页进行直观的显示,接收到的数据存储到MySQL数据库中并通过后端进行抓取。网关则起到了一个数据通信中继的作用,通过ESP8266通过串口传给上位机服务器,单片机建立串口通信来实现下位机与上位机之间的通信,同时也能够转发上位机发出的指令到下位机。中继器与各个节点由于距离或近或远,通信则通过Lora通信协议实现。在这个过程中,网关可以扮演一个数据安全的关键角色,防止数据的泄露或被非法篡改。该系统采用了分层设计的思想,使得不同的模块之间能够相对独立地工作,并且充分利用了各种技术手段,以达到高效、准确的监测和控制效果。子节点温度传感器子节点温度传感器DS18B20电池蜂鸣器GPS模块WiFi模块中继器连接服务器端红外光电开关传感器图2.1系统的架构图系统设计的总体硬件图如下图所示:图2.2系统硬件图2.3元器件选型2.3.1主控选型:方案一:STM32是一种基于ARMCortex内核的微控制器,具有强大的性能,丰富的外设,易于集成,低功耗,开发工具丰富。方案二:STC89C52是一款由中国STC公司生产的单片机芯片,它基于Intel8051内核,具有快速运行速度,大容量存储空间,丰富的外设接口,低功耗设计,易于编程和调试,同时还提供了丰富的仿真调试功能,使得开发人员可以快速完成产品的开发和调试方案选择:STM32,STC89C52和STM32都是单片机芯片,但STM32相对于STC89C52有以下优势:1.更高的性能:STM32基于ARMCortex-M内核,运算速度更快、功耗更低,且具备更多的外设模块,如USB接口、DMA控制器等。2.更大的存储空间:STM32内置的Flash存储器和RAM容量比STC89C52更大,可以支持更复杂的应用程序。3.更全面的软硬件支持:STM32拥有众多的开发工具和开发板,可以方便地完成开发、调试和部署工作,同时还有庞大的用户社区提供技术支持和资源共享。4.更广泛的应用场景:STM32广泛应用于各种领域,如工业自动化、智能家居、智能终端、移动设备等,适用于不同复杂度和规模的项目。风电场需要更高的性能、更大的存储空间、更全面的软硬件支持和更广泛的应用场景,所以在选择单片机芯片时,选择STM32单片机。2.3.2温度传感器:方案一:DS18B20,DS18B20是一款数字温度传感器,具有单总线接口,精度高,数字输出,多种包装形式,可编程分辨率,低功耗,易于集成等优点,被广泛应用于温度监测、自动化控制、环境监测、消费电子等领域。方案二:LM35,LM35是一款模拟温度传感器,它可以直接输出与温度成线性关系的电压信号,具有精度高,输出线性,低功耗,宽工作电压范围,LM35体积小巧,无需校准。广泛应用于温度测量和控制系统、工业自动化、医疗设备、气象观测等领域。方案选择:DS18B20,DS18B20和LM35都是常用的温度传感器,但DS18B20相对于LM35有以下优势:相对精度更高:DS18B20具有±0.5°C(-10°C至+85°C)的精度,相对于LM35的±2°C来说,精度更高。数字信号输出:DS18B20采用数字信号输出,不受外界干扰影响,抗干扰能力强。而LM35采用模拟信号输出,受到噪声和干扰的影响较大。单总线接口:DS18B20可以通过单总线接口进行通信和供电,即可实现多个传感器同时工作,且布线简单方便。而LM35需要额外的模拟输入接口和运算放大器等。应用范围广泛:DS18B20广泛应用于自动化控制、环境监测、消费电子等领域,而LM35主要适用于中低温度范围内的测量。在选择温度传感器时,需要更高的精度、更稳定的信号输出、更方便的布线和更广泛的应用场景,所以选择DS18B20。2.3.3通信模块选型:方案一:Lora无线通信模块,LoRa强大的穿透力,长距离传输,低功耗,多节点连接,LoRa是一种开放标准,具有良好的兼容性和可扩展性,LoRa采用扩频调制技术,具有强大的抗干扰能力和良好的穿透性能。方案二:ZigBee无线通信模块,ZigBee是一种低功耗、低速率、近距离无线传输协议,Zigbee可以支持大规模的网络,最多达到数百或数千个节点;自组网能力。安全性,兼容性,同时ZigBee还支持多种应用层协议。方案选择:Lora模块,Lora模块与ZigBee都是无线通信模块,适用于物联网应用,但它们在技术原理、应用场景和技能特点等方面有较大的不同。相较于ZigBee,LoRa的传输距离更远,可达到数公里甚至更远,适合于广域物联网通信需求。LoRa在障碍物密集的室内、城市等环境中也具有较好的通信能力,适用于复杂环境下的物联网应用。LoRa采用自适应码率和自适应功率控制技术,在低功耗模式下依然能够保持较高的通信质量,适合于电池供电的设备和长期运行的物联网设备。LoRa是一种开放标准,具有良好的兼容性和可扩展性,可以与其他协议和技术进行无缝连接,适合于多厂家设备集成和开发。多节点连接:LoRa支持多节点连接,可实现简单的星型、树形以及网状拓扑结构,提高了网络的覆盖范围和可靠性。2.3.4GPS模块选型:方案一:芯片级GPS模块:芯片级GPS模块具有更高的灵活性,在电路设计上更加灵活,可以根据实际需求进行定制化设计;由于不带天线,因此可以通过外部天线接口进行连接,可以选择不同种类的天线,获得更好的效果;可以在一些特定的应用场景中使用,并且相对于带天线的GPS模块来说,芯片级GPS模块价格更低,成本更加可控。方案二:带天线的GPS模块:带天线的GPS模块内置了天线,在电路板布局中,可以直接使用,并且天线与GPS芯片是一体化设计的,天线与芯片之间的匹配更加精确,能够获得更好的接受效果。方案选择:带天线的GPS模块:本课题采用的是带天线的GY-NEO有源陶瓷天线,GY-NEO有源陶瓷天线模块是一种带天线的GPS模块,它内置了GPS芯片和陶瓷天线,并通过串口输出NMEA格式的GPS数据信息。该模块基于NEO-6M芯片设计,具有高灵敏度、低功耗、快速定位等特点,适用于车载导航、物联网设备、气象站等领域。因为它带有天线,所以相对于芯片级GPS模块来说,使用起来更加方便。2.4器件参数与特性2.4.1主控单片机STM32F103C8T6是一个基于ARMCortex-M3内核,他的最高主频为72MHz,具有64KB闪存和20KB的SRAM,还有2个12位ADC,16个通道,最大转换速率为1Msps,3个16位定时器,1个基本定时器,1个高级定时器,1个通用定时器2个I2C接口,3个USART接口,2个SPI接口,1个USB接口,1个看门狗定时器,具有低功耗模式:停机模式,休眠模式,待机模式。在本设计中,将STM32作为主控制器,协调各传感器与上位机工作。2.4.2WiFi模块ESP8266是一种基于TensilicaL106Diamond架构的32位处理器的Wi-Fi模块。它支持802.11b/g/nWi-Fi标准,支持STA/AP/STA+AP工作模式,支持TCP/IP协议栈,支持WPA/WPA2安全加密,支持OTA(空中升级)功能,支持多种GPIO引脚,包括PWM、I2C、SPI、UART等,支持多种开发环境。ESP8266在本系统中,主要负责中继器与上位机端进行通信。2.4.3温度传感器DS18B20是一种数字温度传感器,具有独特的单总线接口方式,在与微处理器连接时仅需要一条数据总线即可实现通讯,抗干扰性强。并具有以下参数和特性:工作电压范围为3V至5.5,可以在-55℃至+125℃的范围内测量温度,可以满足恶劣天气的温度要求,对风电场的环境能够有很强的适应性,可编程上限和下限警报功能,方便及时的对风电机控制调节,具有非易失性EEPROM存储器,可存储用户配置信息,对后期数据的存储。2.4.4红外光电开关红外光电开关是一种常见的传感器,用于检测物体的存在或接近。它通常由红外发射器和接收器组成,可以通过检测红外光线的反射或遮挡来确定物体的位置或状态。工作电压范围通常为3V至24V具有多种输出类型,包括数字输出和模拟输出等,具有多种检测模式,包括单通道、双通道和三通道等,具有多种安装方式。根据他的特性作为小型发电机的频率计数,上传到云服务器端。2.4.5GPS模块GPS-NEO-6M是一种常见的GPS模块,用于获取全球定位系统(GPS)的位置和时间信息。它通常由GPS接收器和天线组成,可以通过接收卫星发射的GPS信号来确定设备的位置和时间。以下是一些常见的GPS-NEO-6M的参数和特性:工作电压范围通常为3.3V至5V,具有多种定位模式,包括热启动、温启动和冷启动等,具有多种定位精度,最高可达2.5米,具有多种天线类型,包括内置天线和外置天线等。2.4.6OLED显示器OLED代表有机发光二极管,是一种使用有机材料制成的发光二极管,可以在不需要背光的情况下发出光。OLED显示器通常具有更高的对比度和更快的响应时间,因为它们不需要背光,并且可以逐像素地控制亮度和颜色。OLED显示器可以在显示黑色时关闭像素。对于本课题的设计,占有十分重要的地位。

第3章系统下位机设计3.1系统下位机总体设计STM32通信模块STM32通信模块电压电流检测蜂鸣器红外光电开关GPS模块温度传感器WiFiLora组网图3.1系统硬件结构图3.2系统下位机设计3.2.1通信模块设计该系统下位机设计采用STM32单片机作为主控。1.下位机设计中中继器端,由于WiFi和Lora是通过串口连接到中继器端,因此下位机程序中首先对WiFi串口和Lora串口进行初始化,波特率分别设置为115200、9600。采用Lora自组网模块进行各个节点之间的无线数据传输,可以实现多个节点之间的通信和协同工作,在Lora模块有VCC、GND、TXT和RXD等引脚,将Lora模块VCC接到单片机的电源引脚,GND引脚连接到单片机的地线。将Lora的TXD引脚连接到单片机的RXD引脚,RXD引脚连接到单片机的TXD,初始化串口模块并指定波特率后发送AT指令,实现Lora模块的设置。程序端通过read_lora()函数读取节点端发送的数据,通过lora()发送数据。再通过ESP8266与上位机端进行通信,首先建立TCP连接,设置透传模式,最后开始发送数据。使用wifi_tx()对数据进行发送,使用WiFi_rev()对数据进行接收,实现与服务器之间通讯。对数据的接收与发送会在main()函数下有一个while循环来循环运行,保证数据能够实现相对高速率地传输。具体的代码如下图所示:图3.2循坏代码图2.下位机设计中子节点端,使用Lora自组网模块每隔两秒发送一次数据实现与中继端非阻塞式的数据传输。Lora模块与ESP8266硬件图如下图所示:图3.3Lora模块图3.4ESP82663.2.2红外光电开关对于风力电机的运行状态实时监测与控制,通过红外光电开关来实现。具体的方法是将小电机作为风力电机,利用红外光电开关检测到小电机的叶片遮挡了红外开关时,向单片机发送一个低电平信号。这个低电平信号通过外部中断接收脉冲。在中断中进行风力fun_nub变量的自加,再通过fan_test()函数将转速显示到屏幕上。利用STM32单片机对风力电机进行控制和协调。红外光电开关硬件图如下图所示:图3.5红外光电开关3.2.3温度传感器设计在风力电机故障检测方面,系统采用温度传感器DS18B20监测风力电机绕组的温度。将DS18B20的VCC引脚连接到主板的+3V电源引脚,将GND引脚连接到主板GND引脚,将DQ引脚连接到主板的数字IO引脚。单片机借助单总线通信协议驱动温度传感器采集温度,再将温度数据读出来,并将数据转发到Lora模块,Lora转发给网关。网关端的Lora接收到数据后,通过WiFi上传到服务器中。当温度过高时,系统通过报警模块向STM32单片机发出报警信号。若工作人员未及时处理故障,则STM32单片机通过中断向系统发送复位命令,系统复位后温度自动恢复正常。另外,当工作人员在特殊情况下(如停电、过热)未及时处理故障时,可以通过调节服务器端温度预警值来防止因过热导致设备损坏。DS18B20温度传感器如下图所示:图3.6温度传感器3.2.4电流电压测量设计为了实现对风力电机发电量的采样,系统通过ADC端口4接收电压,ADC端口5接收电流,系统使用P_TEST()函数将端口号作为实参传递到adc.c文件中的get_ad()中,P_TEST()函数代码如下图3.7所示,完成将电流和电压转换为数字信号的过程。在完成功率的计算后,将数据传输至上位机进行处理分析。由于在实际运行过程中,由于电压基本不变,电流急速上升的情况下,电路可能会发生短路,导致整个系统损坏。在上位机上设置相应的程序代码,通过上位机与STM32单片机进行通信。上位机程序在收到STM32单片机发出的报文后,向STM32单片机发送该电机电路故障提示。并且在中继器上报警系统报警。这样可以实现对风力电机的实时监控和保护。图3.7P_TEST函数代码图3.2.5GPS模块设计在定位风力电机位置方面,系统采用带天线的GY-NEO有源陶瓷天线模块进行定位,GPS-NEO-6M是一款常用的GPS模块,它可以通过串口与单片机或者计算机进行通信。在进行硬件调试时,需要确保模块正确连接到单片机,并且单片机的串口通信设置正确。1.确保模块正确连接到单片机。GPS-NEO-6M模块通常有6个引脚,包括VCC、GND、TX、RX等引脚。VCC和GND分别连接到单片机的电源和地,TX和RX分别连接到单片机的串口发送和接收引脚。PPS和ANT引脚不需要连接。2.确保单片机的串口通信设置正确。需要设置正确的波特率、数据位、停止位和校验位。GPS-NEO-6M模块的波特率设置为9600,数据位为8,停止位为1,校验位为无。3.GPS的信息是通过串口发送到单片机中,GPS发送$GPGGA报文在USART1_IRQHandler(void)中接收中断,通过串口1接收后使用deal_gps()函数对数据进行接收,再进行转存,在gps_com_decode()函数中对采集到的数据进行解析,该函数如图3.8所示,最终数据存储到gps_data_buf[200]中,从而准确获取风力电机的位置信息。GPS的硬件图如下图所示:图3.8GPS模块图3.9GPS解析代码图3.2.6OLED显示屏在程序开始的时候,我们对OLED进行了初始化,使其进入工作状态。在连接成功之后,OLED显示屏就会显示出“12345”的数字。这个时候,电压电流以及风扇的转速也都将会被输出显示到OLED显示屏上。OLED显示屏硬件部分如下图所示:图3.10OLED显示屏3.2.7电池电池使用的是锂电池,供电稳定,可循环充放电。当发电机无法发电时,或发电不够,电池将自动补偿电量,提供稳定的电量供给,并且电池模块上的灯光亮起。当发电机供电充足,可以为锂电池充电,存储电量。3.2.8蜂鸣器蜂鸣器采用的是一个电磁式有源蜂鸣器作为系统报警使用,将蜂鸣器的正负极连接到中继器端,当温度高于预警值时,单片机驱动蜂鸣器工作。

第4章系统软件设计4.1上位机设计流程4.1.1系统上位机总设计初始化数据采集数据,上传到服务器,存储到数据库初始化数据采集数据,上传到服务器,存储到数据库后端从数据库抓取数据显示到前端页面开始图4.1上位机设计流程图4.1.2监测温度程序机组出现温度过高大概率是出现了故障,因此对温度的监测是设计该程序必不可少的环节,在对温度监测的程序设计中,对温度的阈值进行设置,当出现温度过高时,会出现报警和页面提示。防止因温度过高带来的损失。监测温度程序的流程图如图下所示:图读取温度确定温度阈值蜂鸣器报警提示超限读取温度确定温度阈值蜂鸣器报警提示超限温度小于阈值正常温度大于阈值4.1.3监测电流电压程序接收下位机端电流电压电压=0接收下位机端电流电压电压=0且电流!=0短路,该号机故障电路正常NY图4.3监测电流电压流程图4.2前端设计前端运行在浏览器中展现给用户浏览的网页,可以更加直面的表现出数据的变化,是人机交互的基础桥梁,主要由html语言与CSS与JavaScript搭建和优化完成,html语言容易学习与开发,编程语言格式也便于阅读和维护,做到轻量化,易于搜索引擎抓取。CSS语言在HTML语言的基础上实现网页的样式与布局设计,使页面美观大方,并且升级轻松、维护方便,解决内容与表现分离的问题。JavaScript可以实现动态的效果,增加网页的交互性和动态性,并且可以通过Ajax技术,在无需重新加载整个页面的情况下更新部分技术,实现页面数据的异步加载。方便数据的更新,可以实时地检测到风电机的各项数据参数。前端页面的设计在index.html文件中,在loadXMLDoc()函数中对按钮添加事件,通过xmlhttp.open()和xmlhttp.send()函数前端向后端发送调用数据库请求,后端从数据库中抓取数据,交给前端,界面可以直观动态地显示风力发电机的风力、电流、电压、地理位置、机组、和故障情况完成上位机的设计。前端的整体界面如下图所示:图4.4前端整体界面4.3后端设计后端的系统设计主要是为了处理业务逻辑,处理用户的请求、执行业务规则和流程,以及生成相应结果。主要采用的是PHP语言,PHP是开源与免费的,可以在后台编写前端的逻辑,可以很容易地加载基于PHP的应用程序并连接到数据库。在后端文件中,可以使用api.php与下位机端的数据进行接收,也可以下发上位机的指令。使用read.php()函数负责前端向后端调用数据库数据,下位机产生的数据进行分析和处理,以便提供有用的信息和洞察力。并且提供安全和可靠的服务,确保系统不会受到攻击或故障。及时对数据进行备份与恢复。图4.5api.php代码图4.4数据库设计数据库作为数据存储的基础,在涉及到任何数据的存储、查询和维护都会使用到数据库,在本课题设计中,下位机上传的数据由后端进行接收后将其存储到数据库中,在后端的设计中会调用到数据库的接口,首先需要建立与数据库之间的联系,使用select_db()函数连接数据库服务器如下图4.6所示。连接到服务器后开始创建数据表,数据表如图4.7所示,而后对数据进行查找和调用。采用SQLServer2008作为数据库平台,为数据提供一个安全、稳定、可靠的存储环境,保证系统运行的稳定性。图4.6连接服务器代码图图4.7数据库表

第5章系统测试在其它部分完成了对该系统的设计,为保证系统正常运行,对该系统进行硬件和软件部分测试,是确保系统稳定性和可靠性的重要步骤。在硬件测试方面,需要检查所有硬件组件是否正确连接,并且检查元件是否有无损坏的情况。在软件测试方面,需要使用测试方法来验证软件的正确性和稳定性。这些测试方法可以帮助发现和解决风力发电峰谷自动补偿系统中的各种问题,从而确保系统能够正常运行。在测试过程中,记录测试结果,并及时修复发现的问题。只有经过充分的测试和修复后,才可以对风电场进行正常的运转。5.1系统硬件调试5.1.1Lora模块调试LoRa模块的硬件调试通常需要以下步骤:1.连接LoRa模块:将LoRa模块连接到硬件系统中。通常,LoRa模块具有SPI接口,因此需要将其连接到微控制器的SPI总线上。还需要将模块的其他引脚连接到微控制器上,例如模块的复位引脚和中断引脚。2.配置LoRa模块:在开始使用LoRa模块之前,配置它以使用正确的频率和带宽。在此可以使用LoRa模块的配置寄存器来完成此操作。将模块的频率设置为与LoRa网关相同,并将带宽设置为与该的应用程序相匹配。3.测试LoRa模块:一旦已经连接和配置了LoRa模块,就可以开始测试它是否正常工作。可以使用一个简单的测试程序来发送和接收LoRa数据包。并且可以使用ArduinoLoRa库来简化此过程。该库提供了发送和接收LoRa数据包的函数。调试后OLED显示屏上显示Lora连接如下图所示:图5.1LoRa模块调试图5.1.2发电机的测试将发电机连接到PA4PA5引脚,当发电机工作时,OLED显示屏显示电流、电压和风速,发电机连接正常。5.1.3锂电池连接测试将锂电池插入到节点端的引脚上,当发电机工作时,锂电池模块上的LED灯熄灭,电池连接正常。5.2系统功能测试首先将STM32中继器的接口联电,将中继器的USB接口连接到电源,在程序端使用延迟等待五秒钟,检查中继器上的OLED显示屏是否显示“12345”,已确认是否连接成功,并且此时网络也能连接成功,同样的步骤再将节点的STM32单片机连接,屏幕成功显示。对上位机所连接网络名进行更改,开始调试测试。在进行红外光电开关组成的发电机测试时,先将其插入到节点端的PA5PA4引脚上,在这一步中,可以观察上位机,上位机上所有数据都将进行初始化0,当转动发电机时,电压、电流和风力的值发生改变,这意味着完成了该设计的初始化。可以进行下一步的测试环节,初始化后页面显示如下图所示:图5.2数据初始化页面显示进行功能测试:1.对温度监测功能进行测试:在传感器方面使用了DS18B20温度传感器。该传感器对采用单总线通信协议,所有的通信都从一个初始化序列开始,该序列来自主机的复位脉冲和DS18B20的存在脉冲组成,当他发送脉冲以响应复位时,他向单片机指示它已经总线上并准备好操作。对温度的接收精准。测试首先要对温度值进行阈值的设定,用户通过手触摸该传感器模拟气温升高或设备出现故障升温,可以看到上位机上的温度数据升高,说明温度传感器没有故障,通信模块收发信号也无故障。若温度高于预设的温度值,则中继器上的蜂鸣器会发出警报,上位机网页端会提示“超限”。用户在前端可以对温度阈值进行更改,在后端的设计中有“+”“-”两个按钮的事件制作,将预设的温度值降低,这时若当前温度小于设定值,则蜂鸣器也会发出警报。温度测试页面如下图所示:图5.3温度测试页面显示2.短路故障监测:电流电压的变化和功率可以表现出电路中出现的问题,当电路中出现短路时,电流会增大,电压会降低,同时功率也会发生变化。为了检测短路故障,我们可以使用一条导线将发电机与节点的电路短路。此时,电压为0,电流不为0。如果这种情况持续三秒钟以上,中继器将亮起红灯,提示出现短路故障。此时,如果转动发电机,会产生明显的阻力。同时,在前端页面中的短路预警位置也会提示该机组出现短路。这种方法可以帮助我们及时发现电路中的短路故障,并采取相应的措施进行修复,确保电路的正常运行。数据如下图所示:图5.4短路故障检测页面显示3.风力发电补偿功能测试:将电池插入节点引脚上,当单片机检测到有电流电压产生,发电机工作,此时电池上灯光熄灭,停止自动补偿;当未检测到电流电压时,电池上灯光亮起,开始自动补偿。4.定位测试:通过GPS定位模块,可以显示发电机所在的具体地理位置,快速定位。定位测试信息如下图所示:图5.5GPS定位地理位置页面展示

第6章总结在本系统设计中,我们着重于对风力电站的峰谷自动补偿进行了设计,通过深入了解风能的优点劣势和风电场中普遍存在的问题,以达到最大化利用风能的目的,对风电场实现高效率的管理。在各个风电机子节点中采用Lora技术,以便实现远距离低功耗的数据传输,同时保证了借助电池的稳定供电,我们利用风电机产生的电流电压来判断是否需要进行电力补偿,从而全面实现自动补偿的功能。通过对风电发电机组进行监控和控制,能够及时了解机组状况、故障信息以及发电量等数据,便于运维人员进行维护和管理。但是,我也意识到在本设计中也存在着不可避免的问题,比如说在定位方面,只能在室外才可以显示定位的具体经纬度,在室内进行测试时,经纬度无法显示。在短路测试中,我们尽最大努力取得了较为准确的数据,但仍不能完全避免数据不稳定的情况。其次在设计中使用电池供电是无法代替电网供电的,更无法实现为电网提供动力支持。综上所述,虽然在本系统设计中存在一些问题和挑战,由于风能的不稳定和不可预测性,风电场的功率输出存在波动和不稳定的问题,这也使得风电场的管理和运营变得更加复杂和困难。但我们希望能够通过不断的技术创新和优化,实现对风能的更高效利用,本设计只是一种理想的模型,但可以为风电场的管理和运营在设计中提供更加可靠和智能化的参考价值与解决办法。参考文献付丹丹.储能技术在风力发电系统中的应用研究[J].电气技术与经济,2023(01):150-151+155.谷群远,刘木森.对风力发电设备无损检测技术的研究[J].科技风,2022(14)杨淼森,周文.风力发电系统预防性维修决策技术分析[J].中国设备工程,2023(04):74-76.赵金鑫.风力发电自动化控制系统中的智能化技术应用研究[J].应用能源技术,2022(07):54-57.杨亚,王龙,徐杰.风力发电机最大功率模型补偿控制[J].兰州工业学院学报,2022,29(03):73-77+83.朱琪.LoRa无线传感网信道质量评估与组网方法研究[D].武汉理工大学,2021.马骁.基于LoRa的小规模组网关键技术研究[D].河北科技大学,2020.陈文静.新能源风力发电系统中自适应控制技术的应用及未来前景[J].电子测试,2022(16):104-106.李伟,井兴洋.控制技术在风力发电系统中的应用[J].中国高新科技,2022(16):144-146.SantosLeonardoL.S.,AmarisHortensia,AlonsoMonica,BelatiEdmarcioA.,ÂngelosEduardoW.S.,MeloJoelD..Anovelmethodologytodeterminethereactivepowerrangerequirementsforwindgeneratorsconsideringthecorrelationofelectricitydemandandwindgeneration[J].ElectricPowerSystemsResearch,2022,209.UzDilek,ChimCallista.IntermittencyinWindEnergyandEmissionsfromtheElectricitySector:Evidencefrom13YearsofData[J].Sustainability,2022,14(4).DesalegnBelachew,GebeyehuDesta,TamiratBimrew.Windenergyconversiontechnologiesandengineeringapproachestoenhancingwindpowergeneration:Areview.[J].Heliyon,2022,8(11).ZsiborácsHenrik,PintérGábor,VinczeAndrás,BaranyaiNóraHegedűsné.WindPowerGenerationSchedulingAccuracyinEurope:AnOverviewofENTSO-ECountries[J].Sustainability,2022,14(24).MoradianSogol,OlbertAgnieszkaI.,GharbiaSalem,IglesiasGregorio.Copula-basedprojectionsofwindpower:Irelandasacasestudy[J].RenewableandSustainableEnergyReviews,2023,175.DemeslayClément,GautierRoland,RostaingPhilippe,BurelGilles,FicheAnthony.ANovelSchemeforDiscreteandSecureLoRaCommunications[J].Sensors,2022,22(20).

附录附录A:中继器端部分代码voidwifi_tx(){ u8tbuf[200]; staticu32my_time=0; if(my_time<Sys_Run_Time) { esp_err++; my_time=Sys_Run_Time+1000; if(esp_err<10) { clear(tbuf,200); str_str_int(tbuf,"tp=",tp/10); str_str_int(tbuf,".",tp%10); str_str_int(tbuf,"&eu=",eu); str_str_int(tbuf,"&ei=",ei); str_str_int(tbuf,"&fans=",fans); str_str(tbuf,"&N=");str_str(tbuf,GPS_N); str_str(tbuf,"&E=");str_str(tbuf,GPS_E); ESP8266_SEND(tbuf); } else { OLED_ShowString(0,0,"DisConnect",16,1); OLED_Refresh(); esp8266_init_inter(); esp_err=0; } }}voidread_lora(){ u16i; ei=lora_buf[0]; ei=ei*256+lora_buf[1]; eu=lora_buf[2]; eu=eu*256+lora_buf[3]; tp=lora_buf[4]; tp=tp*256+lora_buf[5]; fans=lora_buf[6]; fans=fans*256+lora_buf[7]; for(i=0;i<10;i++) { GPS_N[i]=lora_buf[i+8]; } for(i=0;i<11;i++) { GPS_E[i]=lora_buf[i+18]; }}voidread_data(){ u8bu[10]; if(uart1_st>0) { if(time_data==0) { esp_err=0; bu[0]=data_buf[0]&0x0f; bu[1]=data_buf[1]&0x0f; if(bu[0]>0) { bz=1; view_zt(1); } else { bz=0; OLED_ShowString(0,32,"",16,1); } if(bu[1]>0) { led=1; view_zt(0); } else { led=0; OLED_ShowString(0,48,"",16,1); } uart1_st=0; } }}voidlora(){ if(uart2_st>0) { if(uart_gps_time==0) { delay_ms(20); read_lora(); uart2_st=0; OLED_ShowString(0,16,"loraconnect",16,1); OLED_Refresh(); } }}voidWiFi_rev(){ if((uart1_st>0)) { if(time_data==0) { read_data(); uart1_st=0; esp_err=0; OLED_ShowString(0,0,"intenConnect",16,1); OLED_Refresh(); } }}intmain(){ RCC_Configuration(RCC_PLLMul_9); NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); USART1_Init(115200); Usart2_Init(9600); SysTick_Init(72); init_io(); OLED_Init(); TIM4_Init(100,720-1); OLED_ShowString(0,16,"12345",16,1); OLED_Refresh(); delay_ms(1000);delay_ms(1000);delay_ms(1000);delay_ms(1000);delay_ms(1000); while(1) { wifi_tx(); WiFi_rev(); lora(); OLED_Refresh(); }}附录B:节点端部分代码voidgps_com_decode(){ intst=0,x,y; u8bu[20]; clear(bu,20); if(find_ch_nub(gps_buf,',',50)>2) { copy_string(gps_buf,bu,0,find_ch_addr(gps_buf,',',1)); if(size_of(bu)) { if(bu[4]=='.') { clear(GPS_N,20); copy_string(gps_buf,GPS_N,0,find_ch_addr(gps_buf,',',1)); } st++; } clear(bu,20); copy_string(gps_buf,bu,find_ch_addr(gps_buf,',',2),find_ch_addr(gps_buf,',',3)); if(size_of(bu)) { if(bu[5]=='.') { clear(GPS_E,20); copy_string(gps_buf,GPS_E,find_ch_addr(gps_buf,',',2),find_ch_addr(gps_buf,',',3)); st++; } } if(st==2) { OLED_ShowString(0,48,GPS_E,16,1); OLED_ShowString(0,32,GPS_N,16,1); my_GPS_xy_OK=1; } else { my_GPS_xy_OK=0; } }}voidlora(){ staticu32my_time=0; u16i; if(my_time<Sy

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论