基于MicroPython的PWM风扇转速控制方式

来源 :计算机与网络 | 被引量 : 0次 | 上传用户:misswj2009
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:传统的脉冲宽度调制(Pulse Width Modulation,PWM)控制风扇转速的方式都是通过汇编语言和C语言编写,但代码多、编写复杂、不易调试。Python语言相较而言,封装了大量的库函数,极大地降低了开发的难度,代码更简短,运行效率更高。MicroPython语言是Python语言的精简版,通过使用基于MicroPython开发语言和Pyboard_1.1_CN实验板,将Python编程语言直接运行在STM32F405单片机嵌入式开发板上,通过控制芯片端口发送高低电平,从而运用PWM方式控制风扇转速。实验结果表明,风扇的转速可以跟随不同PWM稳定运行。
  关键词:MicroPython;Pyboard;PWM;嵌入式开发
  中图分类号:TP393文献标志码:A文章编号:1008-1739(2021)17-69-3



  0引言
  早期的脉冲宽度调制(Pulse Width Modulation,PWM)控制风扇转速的方式都是采用汇编和C语言编写,在开发过程中,开发者需要掌握底层硬件的知识,如定时器,时钟分频和CPU芯片架构,同时还要求开发者熟练掌握C语言和汇编语言的编程技巧,对开发者要求较高[1-3]。随着处理器集成度的增强,现在可以采用代码简短易懂的Python语言进行编写,大大降低了初学者的学习难度。MicroPython是可以直接在微型控制器上运行的Python,是Python编程语言的精简版[4]。MicroPython与Python一样封装了大量库函数,开发者可以直接调用就可完成复杂的工作。基于MicroPython的PWM风扇控制相较于传统的C语言开发模式,编程简单、代码量少,可读性强且容易实现。
  1硬件设计
  PWM风扇控制系统的硬件主要包括Pyboard_1.1_CN STM32F405芯片电路和PWM风扇转速控制电路。
  STM32F405芯片采用MicroPython编程,是一款带有浮点运算单元的由ARM公司设计的Cortex-M4 32位的处理器,该芯片具有1 MB容量的闪存、196 KB随机存取存储器和高达168 MHz的主频、多达140个具备终端功能的输入输出端口和15个通信接口,因其功能多、开发方便、价格便宜,所以采用此芯片作为开发环境,如图1所示。



  PWM风扇转速控制电路是通过比较器LM393[5]和MOS管[6]实现的,通过控制芯片Y3引脚输出高低电平,并与参考电压Vref比较,当Y3的输出电压大于Vref时,比较器输出则为高电平,此时NMOS管>(on),此时NMOS管导通,风扇处于接通状态,开始工作。当控制芯片Y3引脚输出电压为低电平小于时,比较器输出为低电平,此时NMOS管
  <0截止,此时风扇停止工作。通过控制芯片输出不同占空比的脉冲从而控制风扇的加速减速的转动,达到控制风扇转速的目的。PWM系统硬件如图2所示。



  2软件设计
  系统程序首先导入pyb里面的定时器模块、按键模块和管脚模块,控制芯片通过管脚Y3和Y4发送高低电平,分别经过定时器4和11以及通道3和1发送PWM信号,通过设置PWM脉冲的占空比,以10%的速度增加到100%后再以10%速度降低到0,再以10%的速度增加到100%再下降,如此循环往复。从而让风扇实现不同速度的转动。部分代码如下:
  pin_y3=Pin(’Y3’)



  3程序流程图
  系统采用Micropython编程实现对风扇转速的控制,通过控制芯片Y3(Y4)输出PWM信号从而控制风扇转速,程序流程如图3所示。



  4实验结果
  通过程序运行后的波形图,如图4所示,风扇的转速可以跟随不同PWM稳定运行。



  5結束语
  通过风扇转速控制系统的实现,说明MicroPython在嵌入式平台具有很好的适用性,还可以通过直接调用函数,控制温湿度传感器、RGB灯带、伺服器、AD/DA转换等,只需要通过少量的程序代码,就可以实现多种功能。该模块的电路设计通过比较器和MOS管实现,比较器可以灵活定义高低电平的门限电压,设计更加灵活,MOS管体积小,能通过较大的电流,且内含体二极管在控制风扇断开时可以吸收风扇产生的反向电动势,减少控制电路的损害风险。电路设计和程序控制都具有很好的实用性,后续可扩展应用于其他实验开发或教学展示等应用领域。程序结果也验证了MicroPython开发语言在嵌入式开发平台的实用性和可行性,对其他风扇控制系统的应用具有借鉴意义。
  参考文献
  [1]邓健,王立华.基于MicroPython和CC3200的智能家居数据采集与控制系统设计[J].电子器件,2020,43(1):137-141.
  [2]徐志江,饶晨,徐红,等.MicroPython用于单片机实验教学新模式的设计与研究[J].计算机教育,2019,291(3):164-168.
  [3]孔祥祥.全自动透气仪控制系统研究[D].武汉:武汉理工大学,2015.
  [4]林贤炼,方遒.MicroPython语言在物联网中的运用[J].闽江学院学报,2017,38(2):28-37.
  [5]汪世文.使用NE555和LM393实现脉宽调制的D类功放[J].电子世界,2011(3):45-46.
  [6]王伞.常用电路模块分析与设计指导:第2版[M].北京:清华大学出版社,2013.
其他文献
对于现代企业来说,现代威胁环境是一个巨大的挑战。许多企业通过从最新的热门供应商那里购买最新的安全产品来解决"这个问题,并希望能以此为他们提供保护,但越来越多的人慢慢认识到,这并不足以保护他们的组织。  自动化渗透测试和安全人才缺口  工具和扫描器很好用,但只能找到已知的漏洞,许多漏洞只有经过培训的安全专家才能发现。不幸的是,缺乏训练有素、合格的安全专业人员加剧了组织面临的挑战。  安全人才的缺口并
“十四五”规划中提出,建立现代财税金融体制是构建高水平社会主义市场经济体制的重要组成组分,同时明确指出,构建金融有效支持实体经济的体制机制,提升金融科技水平,增强金融普惠性。央行发布的《金融科技(FinTech)发展规划(2019-2021年)》也对我国金融科技提出了总体发展目标,即建立健全我国金融科技发展的“四梁八柱”,进一步增强金融业科技应用能力,实现金融与科技深度融合、协调发展。  数字经济
摘要:图形处理器(GPU)因其高并发和高吞吐量的特性被广泛应用于大数据和人工智能等高性能计算领域,随着超大规模集成电路技术的发展,片上集成的处理单元越来越多,高功耗在增加设备运行成本的同时,降低电池的使用时间和集成电路芯片的可靠性。针对功耗问题,提出一种基于数据依赖的GPU功耗管理方法(DDPM),通过优化线程分配和缓存置换策略减少GPU系统功耗。实验结果表明,DDPM相较于共享感知数据管理方法,
随着时代的发展,互联网中的数据信息逐渐增加,云计算作为信息化时代较为关键的信息技术,能够对计算机网络的数据安全产生一定的保护作用,从而实现计算机网络中数据的安全储存。  近年来,先进的互联网技术为我国的经济建设提供了充足的力量,而在这样的背景下,为了能够解决互联网环境中海量的数据,云计算技术的出现可对计算机网络中的软件资源进行有效整合,为人们获取互联网中数据信息提供了较大的便利,但是应用云计算技术
近日,锦江国际全球互联网共享平台“锦江WeHotel”携手工商银行共同开展的数字人民币支付业务,旗下《锦江酒店》App顺利上线,并率先完成境外酒店在线支付场景的落地,实现了数字人民币在酒店行业应用的创新性突破。  目前,《锦江酒店》App已为逾1.8亿锦江會员提供锦江国际旗下40多个品牌,全球超万家酒店的线上预订服务。数字人民币作为一种新型货币形式,具有便携性强、安全性好、隐私保护程度高等特点。此
在网络化的社会背景下,网络技术在疾控中心的应用进一步提高了信息数据的准确性,提升了疾控中心的工作效率。但是,随着网络技术的提高,疾控中心也面临着网络安全的威胁,建立完善的网络安全屏障,保障疾控中心信息网络的安全性,化解疾控中心所存在的网络风险是当前需要解决的关键性问题。  疾控中心信息网络系统现状  网络安全是指利用各种技术和专业管理方式,使网络系统能够正常运行,确保网络数据信息的可用性、完整性和
面对各类智慧校园的创新场景,IT建设尤其是以校园网络为代表的基础架构建设,如何审时度势的进行整体布局?既为各类智慧场景打下良好的网络基础,同时又能够避免过度的IT投入,导致资源的浪费?rn近期,针对高校智慧场景的多样化、多元化,作为浪潮集团旗下,中国创新型网络产品、技术、方案供应商浪潮网络,从高校用户的需求变化入手,推出了智慧校园网络整体方案.方案在整体架构设计、部署策略以及产品选型上,不仅有效满足了智慧校园需要循序渐进开展各类业务创新的建设诉求,同时在网络整体运维方面,也实现了化繁为简,极大释放了高校I
期刊
近年来,现代工业的飞速发展科学技术水平随之提升,计算机技术也日趋成熟,现已被各个领域广泛应用。在应用计算机技术时编程方式是多元化的,本文通过概述计算机编程的定义和现状,提出了计算机编程方式改进的必要性,探讨了计算机编程方式的优化路径,举例介绍了基于C语言及其他计算机编程语言,为提升计算机软件的开发技术提供参考。  计算机编程是控制计算机的主要内容。计算机编程可以促进计算机与人的有效交流,这个过程主
单目标跟踪是一种在视频中利用目标外观和上下文信息对单个目标分析运动状态、提供定位的技术,在智能监控、智能交互、导航制导等方面具有应用前景,但遮挡、背景干扰、目标变化等问题导致实际应用的进展缓慢。随着近年来深度学习的快速发展,研究使用深度学习技术优化单目标跟踪算法已成为计算机视觉领域的热点之一。围绕基于深度学习的单目标跟踪算法,在分析了单目标跟踪的基本原理基础上,从相关滤波、孪生网络、元学习、注意力
模糊多核支持向量机将模糊支持向量机与多核学习方法结合,通过构造隶属度函数和利用多个核函数的组合形式有效缓解了传统支持向量机模型对噪声数据敏感和多源异构数据学习困难等问题,广泛应用于模式识别和人工智能领域。综述了模糊多核支持向量机的理论基础及其研究现状,详细介绍模糊多核支持向量机中的关键问题,即模糊隶属度函数设计与多核学习方法,最后对模糊多核支持向量机算法未来的研究进行展望。