问题标签 [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.
avr - pwm 值不变
我为 Atmega128 编写了一个 pwm 代码。我在比较匹配时使用带有非反相脉冲的快速 pwm 模式,我需要在某些时候更改 OCR0 值。然而它并没有改变。有谁知道这里有什么问题??
arduino - Arduino Uno PWM - 奇怪的结果
我一直在 ATMega328P 上试验 PWM 波形生成模式。我得到了一些奇怪的结果,我不知道这是否与我编写固件或解释数据表的方式有关。
这是我为模拟analogWrite() 函数而编写的第一段代码:
上面的代码从引脚 9 产生大约 2.5V(49% 占空比)的平均电压输出。奇怪的是(对我来说)根据数据表,TIMER1 是一个 16 位定时器,所以它应该在 65536 滴答时溢出. 据我了解,将 OCR1A 设置在 0 到 65535 之间会改变脉冲的占空比。那么,将 OCR1A 设置为 125,我不应该得到大约 0.01 V 而不是 2.5V 的输出吗?结果似乎暗示时钟在 255 处溢出。
对于我第二次涉足 PWM 领域,我想尝试使用 ATMega 的快速 PWM 模式创建一个 2.5V 信号。这是我得到的:
我将 ICR1(溢出值)任意设置为 20000 个滴答声,然后将 OCR1A(比较值)设置为大约一半。我将通道 A 设置为非反相模式,但是(我认为)将其设置为反相模式不会有什么不同。当我把它刷到 Arduino 上时,我从引脚 9 获得了 5V(100% 占空比)的稳定电压平均值,但我终其一生都无法弄清楚原因。
我将不胜感激您能提供的任何见解。
performance - pwm 不会导致电机运动不均匀吗?
我的意思是基本上 PWM 会导致电机运行、停止、运行、停止、运行、停止以不同的时间间隔,这不会造成非常不均匀的行驶>?
avr - pwm中不同端口电压不等的原因是什么?
我有一段代码可以在输出比较模式下使用快速 pwm 从 PB4 和 PB5 获得相同的模拟 pwm 输出电压。然而,它们的电压是不同的。这可能是什么原因?此外,两个引脚的电压都不接近 1.23 V,这应该是输出电压。
这是代码。
arduino - 使用 Arduino 随时间均匀地调暗 LED
我试图弄清楚如何随着时间的推移使 LED 变暗(时间由用户定义,我们称之为 rampUp)。我将 arduino 与 adafruit breakout PWM-Servo-Driver ( http://www.adafruit.com/products/815 ) 与库一起使用:https ://github.com/adafruit/Adafruit-PWM-Servo-Driver-Library
这个突破有 4095 步(0-4095)所以现在我的问题:
我希望能够获取一个变量( int 分钟)并将其发送到一个方法,该方法将 LED 从 0 调暗到 4095,在一段时间内以相等的光强度增加。我希望每次增加时增加 1。
那么如何在不使用 delay() 的情况下编写方法呢?
不想使用 delay() 的原因是因为它会暂停/停止程序的其余部分。
c - 在 ATtiny85 上设置高速 PWM
我在 ATtiny85 上设置高速 PWM 时遇到问题。我需要以 400 kHz 的速度使用 PCK。我相信我正确地遵循了数据表,但由于某种原因,定时器中断标志不起作用。
如果我对设备进行编程,相应引脚的输出是恒定的 5 V。
如果我注释掉 PCK 设置并改用系统时钟,则标志设置正确并且 PWM 工作正常。代码已发布。为什么没有设置标志并且 PWM 不工作?
c++ - 在 C++ 中通过 ssh 远程发送 shell 命令
我想打开一个到我的 Raspberry Pi 的 ssh 会话并echo 0=+10 > /dev/servoblaster
在我想要的时间运行简单的命令(意味着不使用system("ssh pi@192.168.1.5 echo 0=+10 > /dev/servoblaster")
,因为再次运行 ssh 需要时间)。C ++中最简单的方法是什么?
beagleboneblack - Beaglebone PWM 限制为 100 HZ?
我使用的是 Beaglebone 而不是 Beaglebone Black。
我只是试图输出一个 PWM,我预计在这么快的设备上可能会有几兆赫兹的潜在频率。
我发现 100HZ 是我可以通过 sysfs 设置的确切最大值。
我开始在网上搜索示例,他们没有提到限制,但也没有显示超过 100HZ 的值。
例子:
任何 10 美分的 AVR 都可以实现比这更快的 PWM。
我错过了一些技巧吗?
如果我想要比 100 HZ 更快的频率,我真的必须通过手动切换 GPIO 来创建自定义 PWM 吗?!
python - wxPython PWM using slider
I have basic wxPython knowledge.
I am trying to obtain the slider value and set this as the value for the Pulse width modulation of an LED.
This is the code I have so far:
Slider
/li>Function
/li>
This returns "TypeError: requires a float" which I believe to mean it needs a floating point.
However I am not sure if the code is close to being correct anyway.
arduino - 如何阻止 Arduino Esplora 的音调功能干扰 RGB LED
在基于 Leonardo 板的 Arduino Esplora 上,驱动 RGB LED 的红色组件的引脚 5 的 PWM 支持看起来与该tone
功能共享一个定时器。这会产生意想不到的后果,即在播放音调后使 Red 组件变得无用,因为它的行为变得不可预测。
这是一个演示问题的简单setup
例程:
这会将 LED 的红色通道打开到其最低设置并保持两秒钟,然后播放 440 HZ 音调 1/4 秒,但一旦音调开始,LED 不会保持低亮度,而是打开完全关闭。
如果您取消注释前两行,这一次当音调开始时,而不是像以前那样(不正确地)关闭,它现在(同样不正确地)恢复为全亮度。
在调用tone
.
我的猜测是为声音生成适当的 HZ,tone
更改定时器的设置,然后影响 PWM 功能。如果我能找到如何手动重置计时器以再次正确支持 LED 的 PWM,那可能就是解决方案。但是我是 Arduino、计时器等的新手,所以这纯粹是猜测,我可能对这种方法或我对它的理解完全错误,但从我读过的内容来看,这似乎是朝着正确的方向发展.
那么有人知道如何在该引脚上恢复正确的 PWM 功能吗?
标记