Contact me: hankecnc@gmail.com

光耦和pwm转模拟题 #785

推推 grbl 3年前 (2023-01-22) 114次浏览

打开
109JB 开了这个issue 2015 年 8 月 21 日 · 7条评论
打开

光耦和pwm转模拟题#785

109JB 开了这个issue 2015 年 8 月 21 日 · 7条评论

注释

光耦和pwm转模拟题 #785

所以这不完全是一个 grbl 问题,而是一个 grbl 应用程序问题。我正准备尝试使用 grbl 来控制电机,但电机驱动器没有 pwm 输入。它有一个电位器,可在 0 到 10V 之间改变电压。我还想将它与 Arduino 分开。我不太擅长电子学,所以我请各位电子学大师看看我的画,看看我是否走在正确的轨道上。让我知道你的想法。

光耦和pwm转模拟题 #785

我对这些东西太生疏了,无法评论电阻值,但我建议不要将 741 用于此应用程序,因为它不是轨到轨的。也就是说,如果您为其提供 12V-0V 单轨电源,则输出不能一直降至 0V 或高达 12V。

光耦和pwm转模拟题 #785
作者

谢谢@AlexHolden 我看到了你的回复,我想我可能会走不同的路。上图基本上是 3 个部分,1-光耦合器,2-A 低通滤波器和 3-用于升压至更高电压的运算放大器。

我认为我可以采用的方法是将 0 到 5V PWM 从 arduino 馈送到晶体管的基极以切换 10V 电源。这应该让我获得 0 到 10V PWM。从那里,我可以通过一两个低通滤波器发送它以使其平滑一些。

我脑子里有基本的东西,但还没有时间画一幅画,可能要过几天\我会有机会,因为我要被派出城了。

光耦和pwm转模拟题 #785
作者

回到家,这是我的新想法。这是我认为这将起作用的方式

1 – 来自 Arduino 的 PWM 被发送到 NPN 晶体管的基极,而集电极和发射极连接到 5V 和 GND 引脚。这将产生 0-5V PWM 信号,但占空比将从 Arduino 的原始 PWM 反转。

2 – 反向 PWM 通过光耦合器发送,以将 Arduino 与电机控制器端隔离。

3 – 光耦合器(反向 PWM)的输出通过另一个 NPN 晶体管发送,该晶体管的集电极和发射极连接到连接原始电位器的电机控制上的 10V 和 0V 连接。这将再次反转 PWM 占空比,但也会产生 10V PWM。占空比现在应该与 Arduino 的原始 PWM 匹配。

4 – 最后 0-10V PWM 通过低通滤波器发送,将其转换为 0-10V 模拟

当然,我还有一些其他组件,如负载电阻、光电调节器和低通滤波器的电容。我确实找到了一个在线电子模拟器来玩,电路似乎可以工作,但我远不是任何专家。

好吧,这就是我认为它会起作用的方式,但在电子方面我是一个业余爱好者,因此我们将不胜感激。

谢谢,

约翰·B。

编辑:这是一个链接到模拟器减去以 80% 占空比运行的光耦合器。模拟输出不准确,但在 5% 左右
http://www.falstad.com/circuit/circuitjs.html?cct=$+4+0.000005+19.867427341514986+60+5+50w+384+208+368+208+0R+128+224+ 80+224+0+2+500+2.5+2.5+0+0.8%0At+272+224+320+224+0+1+-4.220561313578215+4.999999999801981e-11+100%0Ag+320+320+320+ 400+0%0Aw+320+208+368+208+0%0At+464+208+528+208+0+1+0.6200795461229999+0.6776581938564651+100%0Ag+528+304+528+400+0%0Aw+ 320+176+320+208+0%0Aw+528+176+528+192+0%0Aw+608+192+688+192+0%0Ag+608+240+608+400+0%0Aw+528+ 192+560+192+0%0Ar+144+224+272+224+0+1000%0Aw+736+192+688+192+0%0Ar+560+192+608+192+0+1000%0Aw+ 128+224+144+224+0%0Ac+608+192+608+240+0+0.000009999999999999999+7.538504541954809%0Ar+320+64+320+176+0+220%0Ar+384+208+464+208+ 0+1000%0Ar+528+112+528+176+0+220%0Aw+528+224+528+304+0%0Aw+320+240+320+320+0%0AR+96+64+64+ 64+0+0+40+5+0+0+0.5%0Aw+320+64+96+64+0%0AR+704+80+752+80+0+0+40+10+0+0+ 0。5%0Aw+704+80+528+80+0%0Aw+528+80+528+112+0%0Ao+1+64+0+550+5+0.003125+0+-1%0Ao+15+64 +0+551+5+0.025+1+-1%0Ao+13+64+0+291+10+0.00009765625+2+-1%0A

光耦和pwm转模拟题 #785

嗨,约翰。原来的运放电路对我来说似乎更简单,除了如果需要0V输出就需要改成rail-rail器件。我还会在反馈网络中加入一个电位器,这样您就可以调整放大量,并考虑从 10V 电源轨为其供电,这样您就不必担心电机控制器意外过度驱动。

您没有提供您正在使用的光隔离器的部件号,但电路图中的那个有一个反相放大器(输出端的小圆圈表示它是一个“非”门)。我认为微控制器端的晶体管不是必需的——AVR GPIO 应该足够强大,可以通过限流电阻直接驱动 LED。如果需要反转波形,将 GPIO 连接到阴极,5V 连接到阳极。

我猜 5V 稳压器是因为光电器件中有一些特别需要 5V 的有源逻辑?

如果不知道电机控制器的输入特性,就无法预测输出究竟会发生什么。如果幸运的话,它可能会直接进入 AD 转换器等高阻抗设备。这就是为什么原始电路中的运算放大器是个好主意——它有一个有源低阻抗输出驱动器,可以在很大程度上将您与将信号馈入的电路的特性隔离开来。

您会发现示波器对于实现此功能非常有用。祝你好运!

光耦和pwm转模拟题 #785
作者

谢谢亚历克斯。我确实有一个可以连接的旧 O 型示波器。反馈网络中的电位器比 2 个固定电阻器更好。

我看的光电器件是 6N137。我明白你在说什么。如果我使用我在第二个电路中展示的非运算放大器电路,那么我的模拟输出将由于光电的原因而具有倒置的占空比。接得好。

我想我会先尝试第二个电路,因为我已经拥有了除光电器件之外的所有部件。我最初会用 2 个 NPN 晶体管和没有像模拟器电路那样的光电器件来组装它,看看它是如何进行的。

如果我最终决定使用运算放大器电路,您是否可以推荐使用哪种运算放大器的零件编号?

我可能不需要输出一直到 0V,因为我将把这个电路与 arduino 上的主轴使能引脚连接起来。我可以用它来完全关闭电机控制器,但我不确定电机控制器是否需要在加速到设定速度之前在 0V 下“软启动”。我已经有一段时间没有弄乱我将要使用的实际电机控制器了。我想一旦我把它连接起来就会发现这一点。

谢谢你的帮助

光耦和pwm转模拟题 #785

嗨,约翰。

看起来光隔离器有一个漏极开路输出;这意味着它只能拉下来,不能拉起来。您可以通过添加一个外部上拉电阻来解决这个问题。看起来您也不必连接启用引脚(尽管这样做不会造成任何伤害)。如果您还没有购买它,对于这个应用程序,我倾向于选择不需要 5V 电源的简单输出晶体管。

现在的一个困难是找到 DIP 封装中仍然可用的运算放大器!如果你能找到 ST TS912,它看起来很不错。它的一个优点是它是一个双运算放大器,因此您可能会考虑不同的电路配置(未经测试 – 这直接来自我的脑海!):

将来自光电隔离器的信号馈入开环(即无限增益)配置中的第一个运算放大器,以在输出端产生 0-10V 方波。您可以使用反相或同相输入,具体取决于您是否需要反转信号。
通过 RC 网络将第一个运算放大器的输出馈入,以将其转换为模拟电压。您可能必须试验时间常数才能在纹波和响应时间之间取得适当的平衡。
通过单位增益缓冲器配置中的第二个运算放大器馈送模拟信号,以获得可以发送到电机控制器的低输出阻抗。

光耦和pwm转模拟题 #785
作者

再次感谢亚历克斯。这个周末没有机会用它做任何事情,只是发现我将再次出城工作。我想我必须以某种方式为这些爱好付出代价。

至于光电,我没有买任何东西,但有一个油炸步进控制器,板上有几个 6n137。将他们从董事会中解放出来看起来不错,这正是我打算做的。它们很便宜,但我附近没有电子供应店。这是住在穷乡僻壤的缺点之一。我可能不得不在线订购它们并支付比芯片成本更多的运费。这也是我要首先尝试晶体管选项的原因。对于运算放大器,我会在同一条船上。我想我的电子元件供应中还有一些晶体管。不幸的是,我什至找不到像这样简单的东西,因为所有的 Radio Shack 商店都关门了。

如果晶体管路由爆炸,我肯定会把运算放大器选项放在我的后兜里。

再次感谢。

喜欢 (0)