问题标签 [pwm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3409 浏览

python - 如何在 Python 中实现 PWM(脉宽调制)?

目前我正在研究 BLDC 电机的模拟。我的模型正在工作。模拟是在 FOR 循环中实现的,而步骤是时间增量。

我的下一个目标是我计划通过 PWM 实现的电机速度控制。

问题是我不知道如何在 Python 中实现 PWM。我已经搜索了解决方案,但我得到的只是一些内置 PWM 的 Raspberry 库。

如何使用一些标准库获得 PWM?

我想获得功能:

频率为 50 kHz。问题是 dutyCycle 可以在模拟的每个时间步发生变化。

0 投票
1 回答
723 浏览

arduino-uno - Arduino - PWM MOSFET?

我有一个问题,希望有人能解释一下。

我有一个 4 线风扇(来自电源 mac g5),我发现引脚分配是正的、负的、PWM 和 rpm 输出。有点奇怪,12v 必须不断连接,风扇速度实际上是通过 PWM 引脚的可变电压控制的,或者我猜测 12v 的实际 PWM 更有可能。我已经用 12、5 和 3v 的 PWM 输入对此进行了测试,它可以工作。

所以我想做的是用 arduino uno 控制其中的 4 个风扇。

如果我使用 12v 壁式电源并为风扇上的 12v 导轨供电,然后使用 mosfet 产生 12v PWM 信号,使用 arduino 驱动风扇上的 PWM 输入,这是要走的路吗?谁能告诉我如何使用 1 12v PSU 做到这一点的例子?

我对晶体管/ MOSFET的知识为零!

谢谢,

0 投票
1 回答
143 浏览

infrared - IR发射器和PWM输出

我一直在用FRDM_KL46Z开发板做一些IR通信实验。现在,我有两个具有相同设置(50% 占空比,38 kHz)的 PWM 输出具有不同的电压电平。当两者都空闲时,一个是 1.56V,另一个是 3.30V。当输出用于为同一个 IR 发射器供电时,电压变为 1.13V 和 2.29V。

为什么我不能使用一个 PWM 输出同时为两个 IR 发射器供电?当我尝试这样做时,似乎频率发生了变化,因此两个 IR 接收器无法工作。

0 投票
1 回答
151 浏览

avr - 为什么我总是得到零 PWM 输出?

我想以 10 位分辨率输出两个不同的模拟值,即 dac_value 范围为 0-1023。我正在使用带有外部晶体 4MHz 的 ATmega16。我也尝试在输出端连接 RC 滤波器,但没有任何改变。我经常得到零输出,有人可以帮忙吗?

0 投票
2 回答
1427 浏览

c - 软件 pwm 作为 linux 内核模块

我需要为 linux 内核实现 PWM 模块,它应该是高分辨率的(在我的 400MHz ARM cpu 上会超过 10kHz)任何人都可以给我一个建议,我可以用什么来实现这个目的?内核版本为 2.6.28.9。设备没有硬件 PWM 驱动程序。现在我使用一个内核定时器,其频率由 CONFIG_HZ 设置。这个配置的默认值是100HZ,但对我来说太小了,最大值是4kHZ,但这仍然不够

0 投票
2 回答
558 浏览

microchip - dsPIC33EV256GM002 PWM 设置

我开发了一个简单的程序来在 dsPIC33EV256GM002 上产生 PWM 波形,但我无法禁用它。我使用了 PWM1 和 PWM2,我会在 PWM1L1 引脚(DIP 封装上的引脚 26)上生成 PWM 波形,将 PWM1H1(DIP 封装上的引脚 25)保持为数字 I/O。理论上PWM寄存器设置:IOCON1bits.PENL = 1;/* PWM1L 由 PWM 模块控制/IOCON1bits.PENH = 0; / PWM1H 由 GPIO 模块控制 */ 应该这样做,但是,使用示波器,我注意到 PWM1H1 引脚上的 PWM 波形具有相反的值(当 PWM1L 为 1 时 PWM1H 为 0,反之亦然)即使它应该是数字 I/ O。

你有没有发现类似的问题?

非常感谢您的帮助与合作

问候

我使用了以下代码:

0 投票
1 回答
1128 浏览

c - ADC通过PWM信号问题

我目前正在使用 STM32F100RB,我正在尝试从电位器读取一个值并通过 PWM 信号显示它。我遇到的问题是我认为我在哪里连接它们。通过以下代码生成 PWM 信号:

PWM 输出工作正常,它显示应该显示的内容。问题出在 ADC 上,它似乎无法正常工作(代码来自制造商网站),这是完整的代码。

我将这两部分代码组合在一起,我应该划分 TIM_Pulse 分配的值:TIM_OCInitStructure.TIM_Pulse = (uint16_t)(Period / ADC1ConvertedValue[0]);

我是嵌入式编程的新手,我刚开始玩这个板,我想要实现的目标是根据电位器值设置脉冲长度。提前谢谢你,亚历克斯。

0 投票
2 回答
2441 浏览

input - 在 Atmel AVR studio 中使用 ATMega2560 读取 RC PWM 信号

我正在尝试从 RC 接收器读取几个 PWM 信号到 ATMega 2560。我无法理解 ICRn 引脚的功能,因为它似乎用于所有三个比较寄存器。

RC PWM 信号的周期为 20ms,其中 2ms 的 HIGH 脉冲为有效上限值,1ms 为有效下限值。所以该值将从 1000us 扫描到 2000us。该周期应从脉冲的上升沿开始。

我已将 16MHz 时钟预分频为 8 以具有 2MHz 定时器,因此应该能够以 0.5us 的精度测量信号,这足以满足我的要求。

请注意,我对 PWM 输出没有任何问题,这个问题专门针对 PWM 输入。

到目前为止,我的代码附在下面。我知道我必须使用 ICR3 和 ISR 来测量 PWM 值,但我不确定执行此操作的最佳程序。我也不知道如何检查测量的值是来自 PE3、PE4 还是 PE5。这段代码是否正确,我如何获得我正在寻找的价值?

任何帮助将不胜感激。

0 投票
1 回答
2941 浏览

timer - 用于 PWM 和中断的 STM32F1 定时器共享

我正在使用 stm32f101cb 微控制器实现一个项目。我知道这个控件里面有 3 个计时器。TIM2 和 TIM4 已设置为编码器模式以捕获 2 个旋转编码器。

我现在只剩下唯一的定时器 TIM3,我想问我是否可以将 TIM3 设置为 PWM 模式并同时进行正常的定时器中断?我在参考手册或编程手册中找不到它。

谢谢!

0 投票
1 回答
914 浏览

raspberry-pi - 为什么当我在树莓派上使用 PWM 控制伺服器时,伺服器一直在晃动

我正在尝试使用 GPIO 模拟 pwm 输出来控制我的 raspi B 板上的伺服。但是伺服器一直在晃动,无法在预期的位置停下来。有谁知道这其中的原因吗?


源代码可能如下所示: