用PWM控制非常小的直流电动机?


8

我有一个非常小的直流电机(来自Walkman),我想通过微控制器控制速度。为此,我想串联一个MOSFET并将PWM信号施加到其栅极,以改变电动机的速度。

我测量了电动机的L&R = 4.7mH,11.5Ohm(Tao 0.41msec)。

从使用台式电源的电动机上进行的一些实验中,我可以看到它在0.2V电压至0.4V左右(这是我所要求的所有范围)内运行良好。

我为此使用的电源设置为1.8V(用于电路的数字部分),因此这使使用标准MOSFET有点困难,因为我无法提供栅极饱和所需的电压。我买了几个P沟道MOSFET像这样

因此,即使我曾以为这种设置会起作用(Vcc->电动机-> FET-> GND),但我似乎无法在控制上获得良好的分辨率,而且电动机所获得的扭矩也没有达到我使用的水平从直流电源运行时获得。

我不确定是什么频率。我应该使用并且不确定要检查其他哪些参数才能使其按预期工作。任何帮助,将不胜感激。

*更新* 按照奥林的回答,我建立了他建议的电路。我使用了2N3904晶体管,180Ω电阻器和4.7nF电容并联。从PWM代码100(共256个)运行时,集电极电压已连接。Vcc为1.8V。

在此处输入图片说明


1
为什么不使用BJT呢-它是一个小型电动机,您会很容易收到0.6V信号将其打开。
吉姆·迪尔登

@JImDearden我尝试了一些2N5088,但是晶体管两端的压降太大,以至于几乎没有电压施加到电动机上,因此它只是嗡嗡作响而没有动。
user34920

1
尝试使用带有1k基极电阻的2N3904之类的开关晶体管。此外,您还需要在电动机上具有这样一个电感和过压的反激二极管。对于PWM,1kHz应该可以。
2015年

Answers:


8

最简单的解决方案是使用低端NPN开关:

您说电动机的直流电阻为11.5Ω,因此可以吸收的最大电流为1.8 V / 11.5Ω= 160 mA。实际上,晶体管将吃掉几百mV电压,从而降低了最大可能电流,因此这是设计的安全最大值。如图所示,晶体管的增益最低为50,因此我们至少需要160 mA / 50 = 3.2 mA的基极电流。5 mA是一个很好的目标,可以确保晶体管导通时稳定饱和。将BE压降定为700 mV,以便在导通时在电阻两端留下1.1V。1.1 V / 5 mA = 220Ω。

C1在那里可以加快打开和关闭的速度。(220Ω)(4.7 nF)= 1 µs,这是C1-R1时间常数。

PWM频率应足够快,以使通过电动机的电流在每个接通和断开阶段都变化不大。PWM引起的纹波是交流电压叠加在平均直流电压上。只有直流电压才能使电动机运动。交流分量不会产生扭矩,只会产生热量,因此您要相对于直流保持较低的扭矩。通常,电动机的运行会超出人类的听力极限,该极限通常也足够快以使交流分量保持较小。例如,在25 kHz时,PWM周期为40 µs,这将为您提供微控制器中任何合理的PWM外设提供的高分辨率。

添加以响应收集器范围跟踪

波形的基本形状看起来不错,因此看来晶体管在正确开关,并且在电动机上正确施加了电压。

关断时的尖峰令人担忧。它们可能是示波器的工件,但是如果您的示波器走线是准确的,则说明二极管无法正常工作或未正确连接。峰值不应超过电源电压超过伏特左右。

D1不仅可以防止晶体管被炸,而且可以在关断期间保留很多电动机电流。第一个是必要的,第二个可以提高效率。

新增2

仔细观察您的示波器轨迹,我发现电动机关闭时的集电极电压为2.48V。您说电源为1.8 V,因此截止电压比电源高680 mV。这意味着你做像我说的搭建电路。您显然使用了普通的硅二极管,可能是一个慢的二极管,如1N400x。二极管的缓慢导通时间可以解释电压尖峰,并在特定的PWM占空比下稍微降低总体驱动电平。由于二极管仍在导通,因此在晶体管再次导通时也会引起直通。肖特基二极管在该电路中具有较低的正向压降,并能有效地实现即时反向恢复。

该系统通常仍然可以正常工作,但是请尝试使用我指定的肖特基二极管。


我现在实际上已经组装了该电路。PWM频率 大约31KHz 我使用了一个2N3904晶体管,该晶体管的基极带有一个180欧姆的电阻,并具有4.7nF的加速电容。我的MCU有8位PWM分辨率。在代码约为100(256个)中,我可以看到电动机开始旋转。关于如何提高分辨率的任何想法?也许在基座上增加一些直流偏移?我还要指出的是,电动机的代码为100,但是它的运行速度比最小的要快。我需要的速度。我无法降低PWM代码,因为它将停止。
user34920

感谢Olin的出色回答。您会详细介绍C1的选择吗?您所说的时间常数,我知道它应该约为开关周期的1/10,但是我希望C1大小对开/关时间很重要,因为它提供了一些“即时”的电荷。
弗拉基米尔·克拉韦罗

1
@vlad:在开启时将额外的电荷倾倒到基座中,并在关闭时吸出一些自由载波都是短期事件。它们可能在每个边沿之后仅持续几百ns。您希望时间常数比该时间长一点,但又要足够短,以使上限在下一个边之前“重置”。1我们似乎是一个很好的折衷方案,但许多因素可能会难以预测。我将从显示的值开始,然后查看波形并根据需要进行调整。
Olin Lathrop

@user:看一下收集器波形。也许事情没有按预期发生。电动机在变化的直流电压下会做什么?它开始时有电压,但一次过后不会太快吗?
奥林·拉斯罗普

@OlinLathrop我添加了一张集电极波形的照片(此测量是在晶体管的CE上进行的)。当使用直流电源时,电动机开始以0.2V旋转,而该速度是我希望的最低速度(约50-60 RPM)。
user34920 2015年

0

假设您具有微控制器的基本经验,并且可以构建电路。

驱动电机最直接的方法是使用H桥,电流检测电阻器和PWM。基本上,H桥将允许使用3.3V或5V,以最方便的方式为准。

实际上,根据应用,您甚至可以跳过电流控制,即使电动机停转,也可能不会造成任何损坏。

顺便说一句,您是否需要速度或位置控制?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.