问题标签 [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 回答
635 浏览

microcontroller - 图 16f877a 中使用 Microc 进行机器人编程

我正在制作一个用两个轮子绕圈移动的机器人,每个轮子使用一个 12 伏的直流电机移动。我想要圆与脉冲宽度调制产生的电压之间的关系。

0 投票
0 回答
305 浏览

ios - 如何在 PWM 中转换 iOS 核心运动

我会使用我的 Iphone 加速度计和陀螺仪以及 Arduino。对于我的项目,我需要以 PWM“格式”向 arduino 代码提供有关 iphone 加速度计和陀螺仪(滚动、俯仰、偏航)的数据。我已经阅读了一些 iOS 文档,并且从 iOS 核心运动库中,我似乎只能访问运动数据的旋转矩阵、欧拉和四元数表示。您能建议我获得 PWM 值的解决方案吗?

最好的,

卢西奥

0 投票
1 回答
1861 浏览

android - Arduino PWM 到 Android IOIO PWM

我正在使用 LED RGB LightStrips 进行 PWM 项目。我有根据链接构建的电路

http://www.ladyada.net/products/rgbledstrip/

现在我正在尝试放弃 Arduino 并应用 Android IOIO 板。我的arduino代码如下...

当我读到关于 Arduino 的模拟写入时,它的最大 pwm 为 255。现在当我插入 IOIO 板时,我的代码如下

请注意,我的频率与 Arduino 和 IOIO 相匹配,为 490 Hz。现在,当我在引脚 14 上输出一个 PWM 模块时,LED 开始亮起,但在接近其最大亮度之前就已达到最大值。如果我将 PWM 增加到 255 以上,蓝色(以及红色和绿色)的强度不会增加。我在 RGB 灯条中有 12V 电压,长度为 3 个 LED 灯(大约 1.75 英寸用于测试目的)

我无法从 IOIO 获得与 Arduino 相同的响应是否有原因?谢谢你。

0 投票
0 回答
1309 浏览

c++ - 从 SD 卡读取数据的 PWM 音频

目前我正在处理这个 Arduino/Nanode 项目,我们想要播放存储在 SD 卡上的 WAV 文件集合,时钟 OCR0 上有 PWM。- 我能够完美地播放 PWM,从 Arduino 网站上 Michael Smith 的草图开始:http ://www.arduino.cc/playground/Code/PCMAudio - 我能够正确读取 SD 卡并将数据转换为当我将它们打印到串行窗口时看起来正确的 8 位整数。

我遇到的问题是当我将这些整数输入时钟的 PWM 值时。
正如我所说,当我使用原始 PWM 音频文件并将我自己的 WAV 文件转换为 .h 文件(通过 wav2c)时,它可以工作并且听起来不错。当我读取 SD 卡时,它会显示正确的值。当我直接阅读 WAV 文件以及(我在此处发布的最新版本中尝试的内容)时,它显示正确,因为我将它们转换为文本文件并阅读这些文件。当我从文本文件中输入整数时,我听到类似喇叭的声音,就像 PWM 使用错误的值来输出一样。

我猜问题出在将数据转换为 Atmega 使用的字节数据的某个地方。但我不知道在哪里看或如何解决它。我注意到原始文件在我使用 uint_t8 的地方使用无符号字符。我试图投射它们,但它不起作用。

有没有人有这方面的经验?或者任何线索我怎么可能解决这个问题?

非常感谢您的帮助和时间!

杰伦

PS:下面是我阅读文本文件并将它们转换为整数的代码。它们总是由 3 个字符组成;例如,值 21 在文件中打印为 021,并用逗号分隔,脚本使用第 4 个 myFile.read() 跳过该逗号

0 投票
1 回答
690 浏览

assembly - AVR组装纯软件PWM不给恒定频率

有人能发现为什么这段代码无法输出恒定脉冲吗?至少我的福禄克不能触发高脉冲,似乎它来来去去有点随机..

这是我的第一个 asm 程序,所以请记住它可能是代码中的幼稚错误

0 投票
2 回答
318 浏览

timer - HSC08 上的定时器模块

我正在使用 MC9S08LH64 微控制器的定时器模块来生成用于同步的内部定时器。总线时钟为 4.3 MHz,模数设置为 4309(TPM1MODH 和 TPM1MODL),我期望每 1.25 毫秒脉冲一次,但结果大约是每 3.75 毫秒。我在这里缺少任何设置吗?非常感谢

*更新:我刚刚意识到更改 TPM1MOD 对结果脉冲宽度没有影响。TPM1SC 是我用来设置模块的唯一寄存器。我需要为此设置任何其他寄存器吗?

下面是设置定时器的源代码:

为了生成脉冲,我检查了 TOF 标志,每 40 次标志熄灭,我切换输出:

0 投票
4 回答
11132 浏览

c - 在 Arduino Mega ATmega2560 微控制器中编程 PWM

我正在尝试在Arduino Mega ( ATmega2560 ) 上启用PWM,但我面临一些问题。

首先,我正在尝试在Ada中对此进行编程。我希望将三个 Timer3 通道与 FastPWM 一起使用,所以我写了

硬件连接正常;我在 Arduino IDE 上使用简单的代码对其进行了测试。所以对我来说,很明显代码缺少某些东西或出错了,这应该是由 PWM 初始化中的问题引起的。有人能解释一下我在哪里犯了这样的错误吗?

提前致谢。

更新

如果 Ada 很难获得整个逻辑,C 中的等效代码是(您可以使用AS6构建它,结果是相同的,即不生成信号):

0 投票
1 回答
873 浏览

c - 无法让 PWM 在 PIC16F877 (PICC) 上工作

我一直在尝试在 PIC16F877 MCU 上使用 PWM 模块,但我得到的只是 CCP1/CCP2 引脚上的平坦低电平。

配置和启动 PWM 模块的代码如下。

任何可以在 pic16 设备上成功启动 PWM 的代码 (PICC) 都会很有用。

0 投票
1 回答
96 浏览

interrupt - 写入 OC8R/RS 导致 INT4 意外触发

标题几乎是不言自明的。当我写入输出比较寄存器(OC8RS 或 OC8R)时,会触发外部中断 INT4 引脚上的中断。我正在使用 Timer3 和 OC8 模块进行 PWM。INT4 引脚连接到一个物理开关,按下时会触发中断。但是,当我为我的 PWM 功能更新 OC8RS 寄存器时,从 INT4 触发了一个中断......这是没有意义的(再次,因为这个引脚连接到一个物理开关 - 与 PWM 无关)。

我猜我没有正确初始化、设置或清除某些东西,但我没有想法。其他人有吗?谢谢!

我使用的是 PIC24HJ256GP610A 处理器,以及最新的 MPLAB v8 和 C30 以及 ICD3。

0 投票
1 回答
1198 浏览

c - 程序中的 C /sys/class/pwm init

所以你可以在这个链接中看到你有一个 pwm /sys/class/pwm/。

因此,我目前正在将正确的数据放入适当的文件中,并且一切正常。

这不是问题。问题是您需要在 /sys/class/pwm/{port}/request 文件激活之前对其执行“cat”。因此,如果您重新启动它将无法正常工作,您必须重新启动它。

我试图只是 fopen("~request","r") 希望它会工作,但它没有。为“w”打开它。我也尝试过执行 exec() 但这没有用,而且很笨重。我不想做出必要的假设。

无论如何,这是我的 execv() 代码。

对文件进行分类的最优雅方法是什么?我不需要它输出的信息。它只是初始化 sysfs。否则我将不得不手动执行此操作或一直编写脚本。