代码编织梦想


前言

MicroPython是一种精简的Python 3编程语言实现,旨在在微控制器和嵌入式系统上运行。在嵌入式系统中,PWM(脉冲宽度调制)是一种常见的技术,用于控制电机、LED和其他需要模拟信号的设备。在本文中,我们将探讨如何在MM32F3270微控制器上使用MicroPython实现PWM输出,以控制外部设备。


一、PWM脉宽调制技术介绍

当我们想要控制设备的亮度或速度时,PWM脉宽调制技术就派上用场了。它的原理非常简单,就好像我们在灯泡上使用开关一样。开关可以打开或关闭灯泡,但无法改变亮度。但是,如果我们快速地开关灯泡,让它在打开和关闭之间不断变化,我们就能够通过控制开关的开启时间比例来改变亮度。

PWM脉宽调制的原理就是通过调整脉冲信号的宽度来控制设备的平均电平。脉冲信号是一种快速的开关信号,它会以固定的周期重复。脉冲的宽度(也称为占空比)决定了信号在一个周期内的开启时间比例。通过改变占空比,我们可以调整设备的亮度或速度。

在这里插入图片描述
例如,考虑一个LED灯。当脉冲信号处于高电平状态时,LED灯会亮起;当脉冲信号处于低电平状态时,LED灯会熄灭。如果我们增加脉冲信号处于高电平状态的时间,即增加占空比,LED灯就会更亮。反之,如果减少脉冲信号处于高电平状态的时间,即减小占空比,LED灯就会变暗。
在这里插入图片描述

通过快速调整脉冲信号的宽度,PWM技术可以精确控制设备的亮度或速度,无论是LED灯、电机还是其他设备。这种技术在嵌入式系统和物联网应用中非常常见,因为它简单而高效,能够满足各种控制需求。

大家可以看下面这篇文章来学习如何理解和计算pwm的占空比:【单片机概念基础】迟迟搞不懂预分频系数、PWM占空比等等概念和计算怎么办?
其中pwm的频率就是pwm的周期

二、machine.PWM 类

2.1 machine.PWM 类的构造对象

class machine.PWM(pin,freq,duty)
使用示例:pwm = machine.PWM(Pin('PA1'),freq = 1000)

2.2 PWM 对象初始化

其函数原型如下:

pwm.init(freq, duty)

在这里插入图片描述
他不能设置占空比的范围即pwm的分辨率,最大就为10位

2.3 关闭PWM设备

其函数原型如下

pwm.deinit()

2.4 设置pwm的周期

其函数原型如下:

pwm.freq([value])

在这里插入图片描述

2.5 设置占空比

其函数原型如下:

pwm.duty ([value])

在这里插入图片描述

三、pwm示例代码

pwm = PWM(Pin('PA1'),freq = 1000)
    
while True:
   # 渐亮
   for i in range(0,1024):
       pwm.duty(i)
       time.sleep_ms(1)
       
   # 渐暗
   for i in range(1023,0,-1):
       pwm.duty(i)
       time.sleep_ms(1)

在这里插入图片描述
他的效果就是led从亮到暗的一个过程


总结

本文介绍了在MM32F3270微控制器上使用MicroPython实现PWM输出的方法。首先,我们了解了PWM的基本概念和在嵌入式系统中的应用。然后,我们探讨了如何在MM32F3270上配置PWM输出,并提供了示例代码以演示如何控制PWM输出的频率和占空比。通过本文,读者可以学习如何利用MicroPython在嵌入式系统中实现PWM输出,从而为各种应用场景提供灵活的控制和调节功能。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_62599305/article/details/138545671

micropython之pwm控制舵机_好像很好吃的博客-爱代码爱编程

Micropython的定时器Timer 舵机原理可以参考这篇文章(侵删)51单片机PWM双舵机控制详解 简单例子 from pyb import Pin, Timer p = Pin('X1') # X1 has T

【国产MCU移植】MM32F3270 EVBoard-爱代码爱编程

本文由RT-Thread论坛用户Zain 原创发布:https://club.rt-thread.org/ask/article/2950.html 环境搭建 安装MDK、rt-thread env、IAR等工具 克隆RT-Thread源码 git clone https://github.com/RT-Thread/rt-thread.git

05. ESP32 Micropython编程(Thonny)PWM-爱代码爱编程

输出PWM波 一、输出PWM波形 在主编辑器中编辑以下代码,并且运行此脚本 import machine en1 = machine.Pin(18, machine.Pin.OUT) #设置io18为输出 pwm = machine.PWM(en1) #设置en1为PWM输出并命名为pwm 或者 from machine Pin, PWM e

k210学习(一)【micropython】定时器输出pwm-爱代码爱编程

主要学习:使用MicroPython控制单色LED呼吸灯的代码 代码分析 1. from machine import Timer, PWM import time 导入了Timer和PWM模块并调用了time模块中的time函数。这段代码正在使用Timer和PWM模块的功能来控制LED,而time函数则用于计算时间 2. tim = T

【雕爷学编程】micropython手册之 pyboard 的pwm(脉宽调制)-爱代码爱编程

MicroPython是为了在嵌入式系统中运行Python 3编程语言而设计的轻量级版本解释器。与常规Python相比,MicroPython解释器体积小(仅100KB左右),通过编译成二进制Executable文件运行

micropython——关于使用pwm信号来对led灯进行控制_micropython pwm-爱代码爱编程

笔者手中恰好有一款树莓派PICO的板子,正好也想学习和使用,所以今天就来写写 以单片机为例,我们知道,单片机的IO口输出的是数字信号,IO口只能输出高电平和低电平 假设高电平为5V,低电平则为0V,那么我们要输出不同的模拟电压,就要用到PWM,通过改变IO口输出的方波的占空比从而获得使用数字信号模拟成的模拟电压信号。 我们知道,电压是以一种连接1或断

esp32 实现pwm(micropython)_python pwm-爱代码爱编程

一、PWM介绍 1.什么是PWM 脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。 2.PWM频率 PWM的频率是指单位时间内PWM方波重复的次数,也就是说一秒钟PWM有多少个周期

micropython esp32开发:脉宽调制(pwm)_micropython pwm-爱代码爱编程

脉宽调制(PWM)是一种在数字引脚上获得人工模拟输出的方法。它通过快速将引脚从低电平切换到高电平来实现。与此相关的参数有两个:切换频率和占空比。占空比的定义是,与单周期(低电平加高电平时间)的长度相比,引脚高电平的时间有多长

使用micropython写一段利用多个定时器产生多路pwm波的程序-爱代码爱编程

以下是使用 MicroPython 创建多路 PWM 波的程序示例: from machine import Timer # 定义多个定时器 timer0 = Timer(0) timer1 = Timer(1) timer2 = Timer(2) # 定义每个定时器对应的 PWM 脚 pwm0 = Pin(0) pwm1 = Pi

【雕爷学编程】micropython手册之io操作模块 pwm 脉冲宽度调制_micropython pwm-爱代码爱编程

MicroPython是为了在嵌入式系统中运行Python 3编程语言而设计的轻量级版本解释器。与常规Python相比,MicroPython解释器体积小(仅100KB左右),通过编译成二进制Executable文件运行

从零开始的micropython(五)pwm-爱代码爱编程

上一篇:串口 文章目录 定义ESP32代码 定义 要理解一个定义,就要引申一个已经掌握的概念,PWM是什么?我们或许可以用“周期”的概念来理解。 高电平出现的占比是占空比。 PWM(脉冲

[mm32软件]【灵动微电子mm32f5330测评】+pwm调试_mm32单片机tim1pwm-爱代码爱编程

一:实验目的 利用PWM信号控制电机速度 二:实验方法: 对于伺服电机或者步进电机,可以调节频率的大小,来调节电机速度 对于直流电机,可以调节占空比的大小,来调节电机速度 PWM知识介绍: PWM(Pulse Width Modulation 脉宽调制)是利用微处理器的数字输

stm32软件模拟输出pwm(hal库)_软件模拟pwm-爱代码爱编程

我们知道在单片机上许多硬件能实现的操作都能通过软件模拟,比如USARR,I2C等通信协议。定时器通道输出PWM从根本上说也是通过硬件实现的。这里分享一种软件模拟输出PWM的方法。 定时器通道输出PWM的原理是:设置好ARR。PSC,CCR的值,计数器寄存器从0开始递增或者递减,到了设定的CCR值进行电平的反转,这样就做到了在一个定时器周期内存在连续的高低