单相间隔循环计数控制箱设计_第1页
单相间隔循环计数控制箱设计_第2页
单相间隔循环计数控制箱设计_第3页
单相间隔循环计数控制箱设计_第4页
单相间隔循环计数控制箱设计_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

设计说明本设计研究单相间隔循环计数控制箱设计。绪论分析研究其在智能设备的重要性,分析国内外现状,解决控制不稳定的问题,系统总体设计研究实时采集、人机交互等功能,设计STM32单片机作为核心,电源、红外光电等模块设计。硬件设计分析选择主控芯片、电源模块、红外检测等模块。软件设计研究Keil软件设计软件开发环境、C语言主程序、定时计数、人机交互模块流程设计。经过经过硬件调试、软件仿真模拟、软件全流程调试,各模块工作正常,符合功能指标要求。此控制箱可以应用到工业自动线的启停、用能等控制,提高效率,节约维修成本。关键词:单相间隔;循环计数控制箱;红外光电DESIGNDESCRIPTIONThispaperinvestigatesthedesignofsingle-phaseintervalcyclecountingcontrolbox.Thebasicthesiselaboratesitsimportanceinsmartdevices,comparesthecurrentsituationathomeandabroad,andclarifiestheresearchpurposeofsolvingproblemssuchasperformanceinstability.Theoverallsystemdesignanalysisofreal-timeacquisition,human-machineinteractionandotherfunctions,putforwardthecoreofSTM32single-chipmicrocomputer,powersupply,infraredphotoelectricandothermodulescoordinatedarchitecture.Hardwaredesigncoversthemaincontrolchipselection,powersourcemodule,infrareddetectionandotherkeymodules.ThesoftwareadoptsKeildevelopmentenvironmentandClanguage,anddesignsthemainprogram,timingandcounting,andhuman-computerinteractionmoduleflow.Afterhardwaredebugging,softwaresimulationandfull-processtesting,themodulescooperatednormallyandthefunctionalindicatorsweremet.Thecontrolboxcanbeusedinindustrialautomationproductionlinestartandstopcontrol,energymeteringmanagementandotherfields,improvingefficiencyandreducingmaintenancecoststhroughaccuratecyclecontrol.Keywords:Single-phaseinterval;Aloopcountcontrolbox;Infraredphotoelectric

目录1绪论 61.1研究背景与意义 61.2国内外研究现状 61.3研究目的与内容 72.系统总体设计 72.1系统功能分析 82.2总体架构设计 83.硬件电路设计 103.1主控芯片的选择 103.2电源模块设计 103.3红外光电模块设计 113.4计时计数电路设计 123.5显示与按键模块 133.5.1显示模块 133.5.2按键模块 144.软件程序设计 154.1KeiluVision5软件介绍 154.2开发语言介绍 154.3软件设计思路 154.4系统主流程图介绍 164.5计时与计数模块程序设计 174.6显示与按键模块程序设计 195.系统测试 235.1硬件测试 235.2软件测试 245.3系统总体测试 246.结论 26致谢 27参考文献 28附录一元器件清单 29附录二源程序 30附录三原理图 37插图与附表清单TOC\h\z\t"图表1"\c图2-1系统框图 7图3-1主控芯片电路图 9图3-2电源模块电路图 10图3-3红外光电模块电路图 10图3-4红外光电模块电路图 11图3-5计时计数电路图 12图3-6显示模块电路图 12图3-7显示模块实物图 12图3-8按键模块电路图 13图3-9电路原理图 13图4-1系统主流程图 16图4-2计时与计数模块流程图 17图4-3显示与按键模块流程图 19图5-1实物测试图 241绪论1.1研究背景与意义单相间隔循环计数控制箱是目前智能设施、自动化控制系统中应用的主要类型。单相间隔循环计数控制箱主要是指能够对单一电能单位电路器进行精准计量电计数器,主要应用在工自动、电力控制系统、能源监控系统等领域,近年来随着社会的进步,人们对电源的效率、安全性要求逐渐增高,给单相间隔单相循环计数控制技术提出了新的挑战。以往设计的单相间隔循环计数控制箱的原理及设计方法是基于传统电子技术及简单的机械原理,很难对其性能及功能进行提升,在面对更加复杂的电网构造及更高的用电需求时将难以胜任。而提出一种新型单相间隔循环计数控制箱的设计方法则能够成为提升能源使用效率,维持电力系统稳定且安全运行的手段之一。此外,随着智能化电网概念的提出和发展,物联网的兴起为单相间隔循环计数控制箱提供了新的机遇,通过利用更先进的微处理器、数字信号处理和高速通信接口等电子设备可以极大地提高控制箱处理数据的能力,交换信息的能力以及远程监视的能力,以满足当前对电网智能化发展的需要。总之,对单相间隔循环计数控制箱的设计研究既可以克服已有技术的各种问题并发展已有技术,也可带动智能电网的发展,因此其具有较大的理论意义和广阔的应用前景[1]。1.2国内外研究现状单相间隔循环计数控制箱设计是自动化控制研究的前沿技术,主要应用在需要对某项事件进行准确计数与控制的领域当中。单相间隔计数技术,目前来说国外研究的比较早,研究成果也是比较丰富,在美、德、日等国已经有了关于该技术比较成熟的理论和实践,特别是在硬件电路领域,国外研究者们使用高性能的微处理器和电路,取得了比较高效稳定的计数结果[2]。在国内随着工业自动化智能化水平的提高,对单相间隔循环计数控制箱的需要日益增多,国内的相关研究学者开始对此进行深入研究,主要研究的内容有软件程序设计、人机交互界面设计等。国内的一些大学、科研单位研制出了不同类型的具有自主知识产权的单相间隔循环计数控制箱,并得到广泛应用。尽管国内外对单相间隔循环计数控制箱的设计使用有了较大的进步,但仍存在许多问题和挑战,如系统实时可靠性的进一步改善、系统耗能的再降低再减少即实现绿色智能控制等,如何设计更加适合不同场景、更加灵活多变的控制系统也是后续工作的重点。总之,单相间隔循环计数控制箱设计是一个硬件软件理论实际相联系的复杂系统,在今后工作中,需要不断夯实理论基础,强化技术研发,为接下来工作顺利进行保驾护航[3]。1.3研究目的与内容本方案主要是一种为适应现代工业自动化控制系统要求而设计开发的新的单相间隔循环计数控制箱。经过对现有技术的研究分析,针对现有市场存在的不足,提出一种新的设计方案和设计思路,主要目的有以下方面:(1)针对现有计数控制箱性能不稳定、易损坏、不便使用的缺陷,进一步提升产品的可靠性及使用便捷性。(2)设计一个硬件电路的性能好,能够完成控制箱在各种环境下的正常运行,成本不高,具有良好的经济效益。(3)合理方便的软件程序的设计,使复杂功能自动控制化、人性化与人交互化。具体内容如下:本次设计的目的是,在现有的单相间隔循环计数控制箱的基础上,通过大量调查,不仅充分考虑其技术特点、市场应用,认真分析其类似国内外研究现状,明确研究重点和难点;并且还要从分析及需求调查中确定总体设计方案,完成硬件电路设计,包括控制器选型等硬件设计,相关软件设计包括主程序;系统调试调整,确保产品性能正常,最后进行总结。2.系统总体设计2.1系统功能分析在对单相间隔循环计数控制箱的设计过程中,需要将箱子的功能需求分析做好,满足用户需求以及真实的需求。对控制箱的基本功能和需求进行分析。该控制箱主要应用于电力系统间隔单相计数,具备:数据采集、数据处理、数据存储、数据显示、人机交互等功能[4]。单相间隔循环计数控制箱单片机(STM32)控制:按键设定运行时间(30分钟运行、10分钟停止)和循环次数,循环计数控制箱参数存储于EEPROM中,单片机控制继电器启停装置,定时器定时正确,计数器计数循环次数,循环计数显示。2.2总体架构设计在单相间隔周期循环控制箱设计中,系统整体结构是保障系统正常运行并处理信息的基础,本节进行系统结构的总体设计。系统的整体架构涵盖单片机(STM32F103C6T6)、电源装置、红外光电感应部件、计时计数电路、显示单元以及按键等多个部分。单片机(STM32F103C6T6):是整个控制电路,完成传感器的信号处理和对外围电路进行驱动;电源电路:给整个系统供电;红外光电电路:包含发射/接收管,判断是否有障碍物遮挡,给芯片发出开始和结束信号;计数电路:对某计数;显示按键电路:便于人机交互和监控[5]。为了更直观的表现此结构,将其内部结构和数据流采用图2-1来表示。图2-1系统框图从框图中我们不难看出整个系统的核心是单片机,单片机通过与其他模块的相互联系来完成系统。电源模块是为系统控制器以及各个模块提供稳定的电源,从而让系统能够正常运行。红外光电模块是负责对外界遮挡进行检测以及信号的传递,让系统能接收到外部信号并传递给用户。计数电路则是根据控制器的输入来计数,并返回给控制器。显示按键模块是人机交互的窗口,通过按键,能够让用户方便地对系统进行操作以及查看系统工作的情况。综上所述,单相间隔循环计数控制箱总体方案的设计,通过划分不同模块使各模块之间进行有效的信息交互,实现稳定高效。3系统硬件电路设计3.1主控芯片的选择选择STM32芯片的优势在于其凭借32位Cortex-M3内核、72MHz主频及32KBFlash/6KBSRAM的均衡性能,实物如图3-1所示,既能通过丰富外设(ADC、USART、SPI等)适配红外模块、OLED显示等多样化硬件,又依托Keil等成熟开发工具与丰富库函数降低开发门槛,且低功耗模式适配节能场景,加之社区资源充足、引脚兼容性强,能高效满足单相间隔循环计数控制箱对精准计时(误差±0.5%内)、稳定计数(100%准确率)、宽温抗干扰(-20℃~60℃、强电磁环境)及快速响应(<10ms)的需求,兼顾性价比与功能扩展性[6]。图3-2为主控芯片电路原理图。图3-1主控芯片实物图图3-2主控芯片电路图3.2电源模块设计电源模块是单相间隔循环计数控制箱中的关键部分之一,电源模块工作的稳定性、可靠性尤为重要。电源电路输入电压范围及输出电压要求,电流要求、电源效率等因素进行考虑。ASM1117-3.3是低压降稳压芯片(LDO,LowDropoutRegulator),用来提供稳定的低电压3.3V的电源,一般用来为嵌入式模块,传感器模块等供电。图3-3为电源模块的电路图。图3-3电源模块电路图如图3-3所示,在单相间隔循环计数控制箱中,ASM1117-3.3将输入电源(如市电转换后的直流电压)稳压为3.3V,为STM32单片机、红外光电模块、OLED显示屏等模块供电,配合滤波电容(如47μF电解电容、0.01μF瓷片电容)滤除纹波,确保控制箱在工业环境中稳定运行[7]。3.3红外光电模块设计在单相间隔循环计数控制箱中,红外光电模块主要实现计数装置运行状态或循环动作信号的检测,完成对单相设备的计数控制,是物理设备运行与数字信号连接的关键接口。红外光电模块是控制箱实现“循环计数”功能的前端检测传感器,其检测精度的高低对计数准确率影响很大,是实现物理设备与控制箱连接的关键模块。图3-4展示了红外光电模块实物。红外光电模块设计要满足控制箱对设备状态和计数触发需求,采用对管红外传感器(红外发射管和接收管对管),利用光信号遮挡电路对设备动作循环信号采样,模块内部有信号调理电路,设置10KΩ上拉电阻和滤波电容,采样红外接收器信号为电压恒定TTL输出电压(接在STM32的PA3等引脚上)信号,不易受到干扰。图3-4红外光电模块实物图图3-5红外光电模块电路图红外光电模块在单相间隔循环计数控制箱中具有非接触式检测、抗电磁干扰能力强、响应速度快且精度高、结构简单易安装、成本低兼容性好等优势,其通过红外光信号传输实现设备状态检测与计数触发,无需物理接触避免磨损,能在工业复杂环境中稳定工作,微秒级响应配合单片机可实现高精度时间控制,模块化设计体积小巧、安装灵活,输出标准电平简化硬件设计,为控制箱提供精准可靠的计数信号与状态监测能力。3.4计时计数电路设计采用计时计数电路可使单相间隔循环计数控制箱精准管理时间与次数,按设定节奏自动控制设备启停,准确统计循环次数并存储数据,还能自动反馈设备状态、适应工业复杂环境,确保设备有序运行、数据可靠,是实现自动化精准控制的核心[8]。其主要功能包括:(1)时间间隔精准控制利用单片机内部定时器产生定时周期信号,用户通过参数设置控制设备起停的时间间隔。误差控制在±0.5%之间,实现工业生产、工业实验等过程中对设备按照一定的时间间隔进行操作、运行的高精度控制。对时间间隔的控制电路有重要意义,如图3-6所示。(2)

循环次数精确统计利用单片机计数器或输入捕获功能,实时采集红外光电模块等传感器的脉冲信号,对设备循环次数进行计数[9]。每次循环动作触发一次计数,配合非易失性存储技术,即使断电也能保存数据,恢复后继续累计,保证计数结果100%可靠,为设备维护周期管理、产量统计提供依据。图3-6计时计数电路图3.5显示与按键模块单相间隔循环计数控制箱中显示按键部分是人和系统交互的主要部分,通过对显示按键部分的设计可以让操作者直观的看到系统的工作,并且可以通过显示按键部分来进行参数的设定、参数的显示和系统的控制。3.5.1显示模块OLED显示屏作为主要的人机交流设备,能够实时显示设备工作情况、周期、时间等参数,提供按键控制参数及提示,在设备运行中提供相应的故障代码以供实时诊断,具有适用温度范围宽、自身发光对比度高、耐严苛工业环境等优点,且能耗低,不易被干扰,便于直观显示等,对于改善控制箱的操作舒适性、监视效率、故障诊断等方面有一定的意义。图3-7为显示模块实物图。图3-7显示模块实物图图3-8显示模块电路图OLED显示屏凭借自发光、高对比度、宽视角、轻薄及快速响应等特性,其在电路连接上,通常与主控芯片通过特定接口相连,以实现数据传输与显示控制,如图3-8所示。广泛应用于工业控制(设备状态监控、参数设置)、消费电子(手机、可穿戴设备、智能家居)、汽车(仪表盘、中控屏)、医疗(监护仪、便携设备)、公共商业(POS机、广告屏)及航空航天等领域,其低功耗、宽温适应、柔性设计等优势,满足不同场景对清晰显示、高效交互及可靠性的需求,正成为各类终端设备的主流显示方案。3.5.2按键模块按键模块主要接受用户控制的输入,包括:开始、中断、复位等操作[10],按键模块的设计,需要对按键的反应速度和按键的抗干扰特性等进行设计,设计合理的电路减少按键的误触和漏触。按键按键单元是整个设备用于参数设定,设定循环时间,次数,循环模式,控制设备开关,启动,停止,菜单操作,查询状态,故障排除等,通过按键实现与设备的人为交互;IP65防水防尘,结合OLED是整个设备的控制单元,安全控制的基础;按下按键后,对应单片机的引脚(S1-PB12;PB13;PB14;PB15;P0),接地或高电平面,按下按键后,引脚电平产生变化,单片机通过判断引脚变化,执行对应程序,电路见图3-9。图3-9按键模块电路图4系统软件设计4.1KeiluVision5软件介绍KeiluVision5是ARM公司推出的嵌入式集成开发环境(IDE),专为STM32等ARM架构芯片编程设计,具备以下核心优势:(1)全流程开发支持:集代码编辑、编译、调试于一体,支持C/C++/汇编语言,编辑器含语法高亮、代码补全等功能,搭配ARM编译器生成高效代码。(2)STM32深度适配:支持全系列STM32芯片,通过设备数据库自动配置环境,创建项目时可选择CMSIS核心、HAL库等开发框架,自动生成启动代码,大幅简化开发流程。(3)专业调试工具:提供单步调试、断点、内存监控等基础功能,以及实时跟踪、性能分析等高级工具,助力快速定位代码问题。(4)生态与效率优势:依托ARM庞大的合作伙伴网络和活跃用户社区,资源丰富、兼容性强,集成化设计显著提升开发效率,是STM32开发者的主流选择。4.2开发语言介绍STM32有C语言、汇编、C++三种开发语言,汇编是直接控制硬件,速度快开发难,移植性差,只用于启动脚本或一些性能的关键优化;C++是针对某一具体项目的面向对象编程,便于比较复杂的工程项目化;C语言是面向硬件编程,速度快,上手快,移植性好,可以用官方的HAL库等一系列针对STM32的配套库进行快速实现外设控制,代码移植性高,社区中各种资源多代码多,不管是LED还是复杂的物联网通信,开发效率都很快,所以大部分的开发都是用C语言,所以本次设计用C语言。4.3软件设计思路设计软件前要先清楚需求,做控制箱软件,要先清楚要实现的功能(如按时间循环启停设备、实时计数显示、参数设置等),还要知道性能要求(如计时误差要小、抗干扰能力要强)。接着要搜集资料,国内用STM32单片机比较多,国外可能用更高级的芯片,参考这些资料找灵感。之后想清楚硬件怎么配合,如核心用STM32F103C6T6芯片,要接哪些电路(电源、按键、显示模块),用户怎么操作(按键调参数,屏幕显示状态)。思路上先定整体框架:用单片机的定时器做精准计时,通过按键和屏幕实现人机交互,设计断电保存数据的功能,还要考虑怎么抗干扰。边设计边测试,用仿真软件试试程序逻辑是否正确,搭硬件电路测测信号是否稳定,确保软件和硬件配合好,最后做出稳定好用的控制软件。4.4系统主流程图介绍单相间隔循环计数控制箱主要由核心控制模块(STM32单片机)、电源模块、红外光电模块、计时与计数模块、显示与按键模块等组成,各模块通过硬件电路和软件程序协同工作,实现精准控制与计数功能,主流程图4-1介绍了各模块配合工作时的流程。图4-1系统主流程图4.5计时与计数模块程序设计单相间隔循环计数控制箱中的计时与计数模块是关键,前者准确对定时间隔时间进行计时,设定设备的工作时间,后者对设备工作循环次数进行计数,二者使设备按照设定规律循环工作,从而达到对设备工作时间(周期)、工作次数进行控制的目的,为设备稳定、规律循环工作的实现奠定基础。图4-2介绍了计时与计数模块的工作流程。图4-2计时与计数模块流程图计时与计数模块程序设计时,先初始化相关参数,设定计时初始值、计数起始状态,配置好寄存器。当流程图中“红外触发”判断为“是”,立即启动定时器,利用单片机定时中断功能按预设间隔计时,实时监测计时进度,达设定时长就切换状态。每完成一次完整循环,计数值自动加1,并存储到非易失性存储器防断电丢失。若“红外触发”判断为“否”,程序持续监测等待触发,一旦触发就重复上述计时与计数流程,实现精准计时与计数功能。以下是计时与计数模块程序的代码:f(red==0){Delay_ms(5);if(red==0&&flagred==0){flagred=1;tt=0;}//进入工作}if(flagred!=0){tt++;if(tt>=13){tt=0;if(flagred==1)//工作计时{if(tg>0)tg--;if(tg==0){flagred=2;tt=0;}//进入休息计时}if(flagred==2)//休息计时{if(tx>0)tx--;if(tx==0){flagred=0;tt=0;num++;tg=tgset;tx=txset;}//进入休息计时}}}4.6显示与按键模块程序设计人机交互窗口主要是在单相间隔循环计数控制箱内,显示按键模块。按键模块可以方便用户对一些控制指令进行输入,如:设定设备运行的参数,启动设备、停止运行等。显示模块可以对设备运行的状态,运行时长、循环次数等进行显示,便于用户对设备进行了解以及掌握,按键及显示模块可以方便控制箱操作灵活多变。图4-3介绍了显示与按键模块的工作流程。图4-3显示与按键模块流程图显示与按键模块程序设计时,先初始化。运行中,当检测到按键操作,识别按键并执行对应功能,如参数设置、设备启停,操作后更新相关数据。随后把设备状态、计时计数等数据按格式显示在屏幕上。整个过程循环往复,按键操作触发执行与数据更新,显示模块实时呈现设备信息,实现人机交互功能,方便用户操作与监控单相间隔循环计数控制箱。以下是显示与按键模块程序的代码://显示模块程序voiddisplay(void){xian1[1]=tg/1000+48;xian1[2]=tg%1000/100+48;xian1[3]=tg%100/10+48;xian1[4]=tg%10+48;OLED_ShowStr(64,0,xian1,2);xian1[1]=tx/1000+48;xian1[2]=tx%1000/100+48;xian1[3]=tx%100/10+48;xian1[4]=tx%10+48;OLED_ShowStr(64,2,xian1,2);xian1[1]=num/1000+48;xian1[2]=num%1000/100+48;xian1[3]=num%100/10+48;xian1[4]=num%10+48;OLED_ShowStr(64,4,xian1,2);}//按键模块程序voidkeyscan(){if(keytiao==0)//切换{Delay_ms(5);if(keytiao==0){flagtiao++;if(flagtiao>=2)flagtiao=0;}while(!keytiao);}if(keyjia==0)//+{Delay_ms(50);if(keyjia==0){if(flagtiao==0&&tgset<9999){tgset++;tg=tgset;}if(flagtiao==1&&txset<9999){txset++;tx=txset;}}}if(keyjian==0)//-{Delay_ms(50);if(keyjian==0){if(flagtiao==0&&tgset>1){tgset--;tg=tgset;}if(flagtiao==1&&txset>1){txset--;tx=txset;}}}if(keyreset==0)//模式{Delay_ms(5);if(keyreset==0){num=0;}while(!keyreset);}}5.系统测试5.1硬件测试系统的硬件测试主要是测试系统各个模块的工作电压是否正常。对照3-7电路原理图,用电压表的欧姆档测量各个模块引脚是否连接成功以及检查电路的VCC和GND是否存在短接。如果有线路出现虚焊,电压表的蜂鸣器不会产生蜂鸣。首先进行通电前检查,确认电源输入规格,检查保险丝、接线端子是否牢固,无短路或松动。连接负载和传感器,确保线路正确。之后进行基础功能验证,通电后观察电源指示灯是否点亮,OLED屏显示参数是否正常。测试启停键、设置键、调节键功能,确认参数设置与显示同步。启动控制箱,验证运行-停止间隔时间精度和累计计数准确性。最后要留意任何故障的出现,如不正常气味,响亮的放电声等。(1)单片机测试通过电源模块为核心板提供电源,用万用表直流电压档测量核心板电源各引脚之间的电压,确保输出稳定。观察电源指示灯是否正常点亮,确认电源通路无短路或虚焊。测试结果显示电压稳定在标准范围内,指示灯正常点亮。(2)电源模块测试通过电源接口输入电源,用万用表直流电压档测量ASM1117的输入引脚与GND之间的电压,用通断档检查输入电源正负极是否与PCB标识一致,无反接;输入引脚与GND无短路。测试结果显示输入电压在规格范围内,无反接或短路,指示灯正常点亮。(3)红外光电模块测试先给模块接入电源和GND,用万用表测量电源引脚电压,显示电源电压稳定,元件焊接正确,无短路或极性错误。在黑暗环境中,用手机摄像头对准发射管,看到淡紫色光斑。再令发射管和接收管对准同一方向,前方放置障碍物,发现检测到障碍物后显示屏正常显示计数。(4)显示与按键模块测试确认OLED模块与核心板J3接口各引脚的对应,检查焊接是否牢固,无虚焊或短路。显示供电正常,模块无发热或异常声响,指示灯点亮。

断电重启10次,确认每次开机显示内容一致,无初始化失败。按键按下/松开时电平正确翻转,无接触不良。5.2软件测试完成单相间隔循环计数控制箱的硬件调试后,需要对软件进行调试排障。首先使用Keil等开发平台的调试窗口对程序仿真进行调试,程序异常结束,通过单步调试逐行进行定位,找到程序报错代码,修改程序。然后将计时和计数、红外检测和计数、显示按键模块以模块的形式逐一进行调试,查看模块是否正常,验证红外触发是否开始计时、键设置参数是否写入寄存器。在调试中,可以接上串口模块,用上位机实时看是否有跳变、超时异常情况等,找到逻辑漏洞所在。调试好各个模块后,进行联调,模拟红外—计值—计数累加—状态显示,看数据模块间是否传值,如:计数结束时,计数正确+1。控制箱软件调试是控制箱正常运行的关键,其目的是防止程序设计上的缺陷(如:循环次数计算错误)、硬件故障(如:继电器错误动作),及时定位故障点,提高运行速度,使控制箱正常运行,达到预期的正确间隔循环与计数,为工业领域应用提供稳定的自动控制依据。5.3系统总体测试完成单相间隔循环计数控制箱软硬件调试后,用编译器生成单片机文件并烧录进单片机,进行整体功能测试。先测上电显示,看参数是否正常显示;再测间隔循环控制,设好时间触发红外,看计时、状态切换和计数是否准确;最后测按键操作和显示更新,以及异常报警。记录数据确保功能达标,形成调试文档[11]。如图5-1则是测试通电后正常显示的实物。图5-1实物测试图6结论本设计以单相间隔循环计数控制箱为研究对象,通过对控制箱功能需求的分析,硬件电路设计,软件程序设计,系统调试等方面的设计,实现了单相设备的精确间隔循环计数控制。设计前期阅读大量资料,了解控制箱的原理和应用,在设计制调、试运行过程中排除了硬件线路,程序逻辑等方面的错误,完成了设计。控制箱以单片机STM32F103C6T6为控制核心,以TCRT5000红外光电模块进行状态检测,以ASM1117为供电电源模块进行供电,以OLED显示屏和按电模块进行人机交流,实现对设备状态的检测,以满足高精度、抗干扰能力强、宽温环境适用等需求。控制箱主要是实现按规定的时间间隔正确地启停单相装置、计数及人机状态显示、断电数据保存两项控制功能。控制箱总体设计满足工业需求,硬件设计抗干扰性强,软件设计采用单元化编程,使得软件更加可靠,满足要求。参考文献文灵.单相逆变器多环反馈控制器的设计与实现[J].机械设计与制造工程,2019.伏和红,闫红蕾.浅析Fanuc0iD数控系统单键交替输出自锁功能的设计[J].内燃机与配件,2020.胡文芳.隔爆电控箱的轻量化设计探讨[J].煤炭技术,2022.薛俊伟.数据中心智能温控机箱的设计[J].信息技术与信息化,2020.张小斌.基于数控设备系统的设计[J].电子技术与软件工程,2019.刘晟杰.数控车床主轴箱的传动设计[J].内燃机与配件,2022.李杰.矿用隔爆变频控制箱优化设计[J].煤矿机械,2023.田帆,杨檬玮,单长虹.基于流水线技术的全数字锁相环设计[J].电子技术应用,2019.冯仁宇,徐铿,胡晔,曹静驰,冯璐.一种可适用自动装箱的循环包装箱的设计和制作[J].科技资讯,2021.左秋杰.一种用旋钮控制器的冰箱控制系统的设计[J].日用电器,2020.张宗峰,陈根重,赵帅,马学焕.小型综合环境模拟试验箱控制系统设计[J].低温与超导,2023.附录一元器件清单名称规格数量备注STM32F103C6T6核心板1电源指示灯2红外接收管1TCRT5000传感器接口1按键开关4ASM1117-3.3芯片1LED1OLED显示屏接口1电源接口1电阻5电容10晶振1数据线1附录二源程序#include"stm32f10x.h"#include"sys.h"#include<stdio.h>#include"math.h"#include"delay.h"#include"OLED_I2C.h"u16cnt=0;#definekeytiaoPBin(14)//切换#definekeyjiaPBin(13)//加#definekeyjianPBin(12)//减#definekeyresetPBin(15)//复位#defineredPAin(0)//红外//变量u8xian1[]=":0000";u8flagtiao=0;unsignedinttg=20,tgset=20;unsignedinttx=20,txset=20;unsignedintnum=0;u8flagred=0;unsignedinttt=0;voidGPIOIN_Config(void) //IO输入设置{ GPIO_InitTypeDefGPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); //使能PB,PE端口时钟 GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;//与液晶控制线 GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;//上拉输入,用于检测按键 GPIO_Init(GPIOA,&GPIO_InitStructure); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); //使能PB,PE端口时钟 GPIO_InitStructure.GPIO_Pin=GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;//与液晶控制线 GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;//上拉输入,用于检测按键 GPIO_Init(GPIOB,&GPIO_InitStructure); }voiddisplay(void){ xian1[1]=tg/1000+48;xian1[2]=tg%1000/100+48;xian1[3]=tg%100/10+48;xian1[4]=tg%10+48; OLED_ShowStr(64,0,xian1,2); xian1[1]=tx/1000+48;xian1[2]=tx%1000/100+48;xian1[3]=tx%100/10+48;xian1[4]=tx%10+48; OLED_ShowStr(64,2,xian1,2); xian1[1]=num/1000+48;xian1[2]=num%1000/100+48;xian1[3]=num%100/10+48;xian1[4]=num%

温馨提示

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

评论

0/150

提交评论