问题标签 [motordriver]
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 - S曲线运动曲线(电机速度v/s时间)
我正在尝试使用我的 XE166 设备控制工业交流伺服电机。
控制器使用 PULSE 和 DIRECTION 控制与伺服控制器连接。
为了实现无抖动运动,我一直在尝试创建 S 曲线运动曲线(电机速度与时间)。
计算瞬时速度没有问题,因为我知道电机每个脉冲移动的距离和脉冲持续时间。
我需要了解如何得出一个我可以使用的数学方程,它会告诉我将速度曲线设为 S 曲线的第 n 个脉冲持续时间应该是多少。
由于这些必须是任何需要运动控制的领域(机器人、CNC、工业)的共同要求,因此必须有一些标准参考来做到这一点。
满怀期待
embedded - stm32 无刷驱动
如此处所述: http ://www.edn.com/design/sensors/4407580/Brushless-DC-Motors-Part-II--Control-Principles
, 切换电机绕组时应发生反电动势电压跨过 1/2 VDCC 值。如何在没有嵌入式比较器模块的 stm32f4 中有效地执行该操作?
似乎唯一的方法是使用模拟看门狗在中断发生的每一刻选择下一个等待的通道?
如果我想从单个 stm32 芯片驱动 4 bldc,该怎么办?
arduino - Arduino 5V 步进电机移动极慢
我有一个步进电机 5V 4-Phase 5-Wire 和一个驱动板。
不幸的是,我没有原理图,也无法在互联网上的任何地方找到驱动板的原理图。无论如何,我按照应有的方式连接了所有东西并输入了代码(见下文),它工作正常,但它以大约 20 RPM 的速度旋转,这非常慢。
我不能再减少时间delayMicroseconds()
了,因为如果我这样做了,电机就会停止旋转,并开始大声振动。请帮忙,我卡住了:
(8口接驱动器上的IN1,9口接IN2,10口接IN3,11口接IN4)
arduino - Arduino:通过无线电控制两个直流电机
我要做的是通过 433MHz 传输远程控制两个直流电机。
发送操纵杆的数据工作正常。接收它也可以正常工作。但是我的驱动程序一定有问题,因为当我连接电线时,接收器停止工作(如果我断开它们,它工作正常)。
这是接收器:
NPN 晶体管为 547B,电机在 5V 电压下消耗约 150mA。
我为接收器提供的代码如下:
如果我连接电机(它们从外部电池供电),arduino 停止接收数据,当我断开它们时,它立即开始再次接收数据。
它必须是我的某种干扰,在那些话题上我非常迷茫。
感谢阅读小伙伴
python - 步进电机直线加速度
我正在编写一个 Python 代码(如下),它可以加速步进电机,直到它达到特定的步数。
s_per_s
= 每一步之间的时间
astart
= 以秒/步为单位的起始速度(例如 0.5)
aend
= 加速停止的速度(例如 0.05)
accelerationsteps
= 加速应该发生的步数
问题是速度以每步每秒步数而不是每秒步数每秒增加,因此呈指数增加而不是线性增加。我发现这篇文章用数学术语解释了如何使用步进电机实现线性增长,但我还没有设法将其转换为我的 Python 代码。
如果有人能帮我解决这个问题,我将不胜感激,我认为这对于在 Raspberry Pi 上使用 Steppers 的人来说通常非常有用(我在这里只找到了 Arduino 的解决方案)
filter - 如何获得梯形pwm信号
我用微控制器 Kinetis 生成 PWM 信号,我不想得到真正的数字信号,我想做的是将此信号转换为 T 上升和 T 下降更长的梯形信号。我发现我必须设置一个 RC 滤波器而不是 nmos 才能获得此波,其他人建议不需要使用 nmos?有人可以帮忙吗?
python - 有没有办法使用 Motor 定义 MongoDB 模式?
有一种方法可以在 NodeJS 中使用 mongoose 来定义 MongoDB 集合模式。Mongoose 在运行查询时验证架构。
我一直无法在 Python/Tornado 中为 Motor 找到类似的东西。有没有办法在电机中实现类似的效果,或者有没有可以为我做到这一点的包?
microcontroller - 无法使用 L6234 和 ATmega16 运行 BLDC 电机
我想在 Atmega 16 控制器的帮助下使用 L6234 驱动器 IC 驱动 BlDC 电机。第 9 页的电机驱动器 IC L6234 数据表中给出了驱动电机的逻辑。这是数据表的链接。所以,根据数据表,我编写了一个代码来驱动我的电机。这是我的代码:-
但是当我运行这段代码时,我的电机不工作。那么,任何人都可以告诉我,我的代码中的错误在哪里。
python - 步进电机频率缓入曲线
我正在编写一些软件来控制五相步进电机。步进电机的速度由我发送到电机控制器的脉冲频率控制。我目前的挑战是我想缓入和缓出动作。我实际上是在复制一些我没有源代码的旧软件的行为。我了解缓动的逻辑,它的行为如下:
- 当结束/持续速度较慢时,缓入较慢/需要较长时间
- 当结束/持续速度快时,缓入更快/更短
例如……当持续速度为 693 Hz 时,缓入为 766 毫秒长。我使用 Saleae 逻辑分析仪对这条缓入曲线进行了采样。这是曲线:
起始频率为 97.77 Hz。这是指向实际数据的链接。所以我试图弄清楚如何在代码中实现正确的逻辑/公式。下面的代码将吐出与我需要的增量相对接近的 Hz 增量,但我不知道如何让它在current_freq
越来越长的时间内重复/保持相同的时间 - 这本质上是创建您在图表中看到的曲线。我创建增量的乘数也关闭了,但它相对接近......</p>
** 编辑——我认为理论上下面的方法可以增加一个增加时间的维度来保持加速current_freq
,但是我的实现有问题……它只是每个频率都做一次。
有任何想法吗?这是对数吗?罪还是因?万一这不是很明显,我的数学很糟糕。
c - 4位值的按位循环右移
我目前正在尝试使用简单的完整步骤来控制步进电机。这意味着我目前正在输出这样的一系列值:
我认为一个简单的方法就是取我的 4 位值,然后在每一步之后执行一次右旋转操作。“代码”显然没有遵循任何语法,它只是为了说明我的想法:
我的问题是显然没有任何 4 位简单数据类型可供我使用,如果我使用 8 位无符号整数,我最终会将 1 旋转到 MSB,这意味着 4 位我真正感兴趣的值,将变为 0000 几步。
我读过你可以使用结构和位域来解决这个问题,但我从中读到的大部分内容都告诉我这是一个非常糟糕的主意。