问题标签 [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.
c - 使用 AVR 设置多个计时器
我正在尝试使用 Teensy 2.0 微控制器(基于 ATMEGA32U4 8 位 AVR 16 MHz)设置两个定时器中断程序,以独立控制两个伺服电机
经过多次尝试 - 我能够在端口 C 的引脚 7 上设置一个,但是
- 如何设置第二个 ISR 以独立于第一个进行初始化和调用?
- 我是否需要设置第二个计时器,如果需要,这样的代码会是什么样子?
这是设置代码:
beagleboard - Beaglebone Black 上电时的引脚状态
我正在尝试使用 Beaglebone Black 来驱动电机电路。我设法启用和使用 PWM 引脚(即 P8_13 和 P8_19)。但我有一个问题。
当我第一次给电路板加电时,这些引脚变为高电平状态,因此电机无意中开始运行。它会一直上升,直到 Linux (ubuntu 12.04) 启动并且 PWM 引脚设置为低电平。
有没有办法在 Beaglebone Black 中设置默认引脚状态,以便当我为电路板 PWM 引脚供电时以低电平状态启动?(也许在设备树中?)
谢谢
c - STM32无法清除PWM中断标志
我正在尝试生成占空比为 50% 的 2MHz PWM。我的问题是我无法清除中断标志。这是我的代码:
谁能告诉我为什么 CCR3(捕获/比较寄存器 3 标志)保持高电平?
谢谢。
c - 如何用 atmega 32 pwm 控制电机
一段时间以来,我一直在研究如何使用我的 atmega32 以快速 pwm 模式控制电机(控制其速度)。我需要使用 8 位 Timer0,因为其他计数器还有其他用途。我想我知道如何初始化这个任务的计时器:
但随之而来的问题。我根本不知道下一步该做什么,在我的主要做什么。
我的确切项目是驾驶一辆带加速的遥控汽车。因此,当我要求汽车向前行驶时,它必须以固定加速度从停止加速到最大速度。我不知道任何大会,所以如果你能帮助我,请在 C 中完成。任何帮助将不胜感激。
c - Controlling a servo with raspberry pi using the hardware PWM with wiringPi
I tried controlling the servo with softPwm using the wiringPi Library but this made the servo stutter. Therefore I want to use the hardware PWM pin on the Raspberry Pi (GPIO18) with the wiringPi library. But I don't understand how to set the frequency to 50 Hz and change the duty cycle to have a pulse width ranging from 0.8 ms to 2.5 ms.
I found the following relationship on the internet (i dont know if it is correct):
i know the clock divisor max value is something around 4000 and the Raspberry Pi PWM clock has a base frequency of 19.2 MHz. so this gives me ~4,8KHz.
i already got these settings which should give me ~50Hz using the following relationship:
I dont got a oscilloscope to test the output signal to check what setting changes what. this makes it hard to find it out myself.
Long story short: Can anyone tell me how I can achieve a duty cycle with a pulse width of 0,8ms to 2,1ms for controlling a servo using the hardware PWM on the Raspberry Pi.
c++ - 是否可以在 Arduino Uno 上使用多个计时器?
我知道 Arduino 有三个计时器(timer0、timer1、timer2),一个是 16 位,另一个是 8 位,但我不知道如何使用它们,如果可能的话,我可以在同一个项目中使用这三个计时器,每个都有不应该发生冲突的不同时间间隔。我假设我需要一个库来调用它们,但我不知道是哪一个。所有定时器都将运行函数而不直接与引脚交互,最短时间间隔将设置为 1/3 秒,最长时间间隔将在 2 秒到 0.5 秒之间变化。如果有人能给我一个带有三个计时器的草图示例,我可能会对我需要做什么有所了解。
stm32 - STM 32 如何将 PWM 输入相乘
我要制作飞机驾驶舱的几个部分。我需要使用大约 20 个编码器、大约 10 个字符 LCD 和许多开关/触发器/按钮。
我认为这不是 LCD 和按钮的问题,因为我可以使用移位寄存器,但我不知道应该如何处理编码器(PWM 信号)。
对于如何在一块板上使用大量 PWM 输入的任何建议,我将不胜感激。
python - Python中的LED PWM
我已经通过并行端口将一些 RGB LED 连接到我的计算机。如果我写信0b100
到端口,它们会变成红色,0b001
给我蓝色、0b111
白色等。我一直在使用该portio
库,如下所示:
...0x378
我正在与之交谈的端口在哪里。
我想使用脉宽调制来获得超过 7 种可能的颜色(如果算上“关闭”,则为 8 种)。我玩过一点,但我想出的所有解决方案都很长、很丑、很乱,而且效果不佳。
当我尝试在谷歌上搜索建议时,我看到的几乎每个结果都是使用抽象的、特定于平台的库,例如RPi.GPIO.PWM
. 这些显然对我一点帮助都没有。
理想情况下,我希望能够将一个小的 Python 库放在一起,我可以将其导入到处理运行 LED 的应用程序中,我可以传递一些东西,比如myLibrary.setColor(1, .5, 0)
变成橙色。
也就是说,在 Python 中进行 PWM 的好方法是什么?在我四处寻找的过程中,LED 淡入淡出的速度似乎不是很线性。我应该知道一些神奇的曲线吗?
linux-kernel - sama5d3 pwm 拒绝工作
我正在使用 SAMA5D31-EK 板,我试图让 SAMA5D31 内部 PWM 控制器通过 PIO 引脚输出信号:特别是 PE31。该板正在运行 Linux 3.10.0+,我正在使用 sysfs 接口管理 PWM。这个界面似乎运行正确:我可以创建设备(写入“导出”文件),激活它,更改 period 和 duty_cycle 文件的内容(读回时它们包含写入它们的最新值)。至于 PIO PE31 的配置,我已将 arch/arm/boot/dts/sama5d3.dtsi 文件更改为包含
sama5d31.dts 文件中 pwm0 的状态也从“禁用”更改为“正常”
在 Internet 的某个地方,我了解到这种行为可能与那些 dts 文件中缺少时钟定义有关。在其他地方我读到我需要升级到 3.11 或 3.12 内核。
任何帮助将不胜感激。
谢谢,琼。
matlab - 使用 Matlab 嵌入函数生成方波
我打算生成一个应用于 DSP 的方波。
我已经编写了这些代码并将它们放入嵌入式 Matlab 函数中。
其中,u
是一个常数值0.582,用于移动方波。
问题在于模拟的输出,而不是得到方波,我只看到两条直线y=o and y=1
。
请让我知道我无法获得方波的问题在哪里?
请注意,方波的频率必须为 20 kHz。因此,我将采样时间调整为1e-7 s
。而且它的幅度在 0 和 1 之间此外,由于这个信号必须传输到 DSP 板,在“求解器选项”中,我选择了类型:“固定步长”,求解器:“离散(没有继续状态)”。
非常感谢。