首页 > 应用与设计 > 电器 > Service Robots > 服务型机器人 > TI机器人系统学习套件(TI-RSLK) >

服务型机器人

最新课程

热门课程

TI-RSLK 模块 12 - 讲座视频 - 直流电机 - 接口

大家好,我是 Jon Valvano。 现在,是时候 让电机旋转了。 在前一个视频中,我们讨论了 直流电机的物理特性。 在前一个视频中,我们讨论了 直流电机的物理特性。 今天,我们将 讨论如何 把电机连接到 您的微控制器, 因为这是一项 精细的操作, 有 0.5A 的电流 流过电机,而只有 几毫安的电流 要流出微控制器。 因此,我们需要 使用一个接口 把我们的直流电机 连接到微控制器。 我们需要做两件事情, 一件是打开和关闭电机, 另外一件是使它向后移动, 因为机器人可能会撞到墙, 从而需要后退并沿着 其他方向行进。 因此,在本视频中,我们 将讨论此接口。 因此,在本视频中,我们 将讨论此接口。 您应该记得,上一节视频中, 我们尝试解决的主要问题是 我们尝试生成相当大的电流。 因此,驱动该电机所需的电流 可能大约为 0.5A 。 而流出微控制器的电流 通常小于 6mA 。 因此,我们需要一个电流放大器, 以获得更大的电流。 这是一个由达林顿管 构成的放大器示例。 第二个我们应该记得 的重要问题是, 我们不会通过调节 电机上的电压来使 电机慢速、中速或快速旋转。 我们要做的是调节这里 这个波形的占空比, 因此,如果我想快速旋转, 我将提供高占空比, 此时占空比等于 H/(H+L) 。 如果要想以中等速度旋转, 我将为它提供中等占空比。 如果我想慢速旋转,我将 为它提供低占空比。 因此,我将能够 通过调节占空比 来调节为该电机 提供的功率大小。 这是一项相当简单的操作, H/(H+L) 乘以 Vm , Vm 是电池提供的 7.2V 电压, 再乘以电流 I 。 电流 I 的成分相当复杂, 它是各种因素的函数。 我们将在下一张幻灯片中 对此进行探讨。 总而言之,这是向 电机提供的功率。 总而言之,这是向 电机提供的功率。 软件可以调节参数 H。 我们需要很大的电流。 好,让我们使用 该达林顿晶体管 构建第一个接口。 这里是基极, 这里是集电极, 这里是发射极。 我们要将该晶体管 驱动至饱和状态, 我们要将该晶体管 驱动至饱和状态, 或者完全关闭。 因此我们将经历两个阶段, 第一个阶段是,如果 这里的电压是 3.3V , 它将生成足够的 VBE-- 它将生成足够的 VBE-- 这是饱和状态下的 VBE -- 来打开该晶体管。 我们将生成 -- 当图中的晶体管 打开时,它将生成大约 0.5V 的 VCE 电压。 打开时,它将生成大约 0.5V 的 VCE 电压。 这意味着,我们将 一共有大约 6.7V 的 电压来使电机旋转。 这已经足够快了, 足以让电机旋转。 这里选择达林顿管,是为了 能够生成足够的电流 来驱动电机。 如果需要高达 0.5A 的电流, 必须确保管子足够大, 以满足该电流。 正如我在前一张幻灯片中说过的, 这是一个电流放大器。 因此,它所做的是, 它获取这里的 基极电流,并对它进行放大, 以获取那里的集电极电流。 这实现了相当大的 增益,大约为 1,000。 那么,这里还剩的唯一 一件事是选择该 Rb 值。 Rb 选择将采用 -- 我们可以计算所需 基极电流的大小, 换句话说,我将 代入微控制器的 输出高电平, 在这里,高电平电压 可能会低至 3V 。 我要确定VBE -- 为了使管子达到饱和状态, 我需要多大的 VBE? 由于我需要 0.5A 的电流, 让我们保证 电路能够在 1A 以下 都能正常工作, 因此,我需要至少 1mA 的基极电流。 因此,我需要至少 1mA 的基极电流。 那么,这意味着我 将选择一个小于 500 欧姆的电阻。 然后,为了把它驱动至 完全饱和状态,实际上 将选择一个大小是它的 五分之一的电阻。 因此,我将在这里放置 一个 100 欧姆的电阻。 关于晶体管设计的技巧在于, 我会一点一点地增大电流, 我会一点一点地增大电流, 以确保它达到饱和状态。 另一方面,当它关闭时, 情况相当简单。 当管子关闭时,其电压为零。 这将产生零安的基极电流, 该晶体管将关闭, 因此,ICE将为零。 现在,这实际上 会导致一个问题, 因为如果我把 ICE 视为时间的函数, 我将驱动0.5A 的电流, 然后我要把它关闭。 管子关闭的过程只需几纳秒, 因此,这里的电流 将从 0.5A 降低至零。 由于电机中电感的存在, 这将生成相当大的电压。 由于电机中电感的存在, 这将生成相当大的电压。 因此,为了消除该电压, 需要在这里添加一个缓冲二极管。 我将在这里添加一个缓冲 二极管,以消除反向 EMF。 请注意,不要与 正向 EMF 相混淆, 正向 EMF 是电能到 机械能的转换, 而反向 EMF 是电机启动时 由于电感所导致的, 而反向 EMF 是电机启动时 由于电感所导致的, 在电流突然关断时产生 的反向冲击电压。 因此,这里将产生一个 VCE, 一个非常大的 VCE,如果我不消除 它的话,它可以达到几百伏。 二极管的任务是捕获该过冲 的顶部并把它截断。 二极管的任务是捕获该过冲 的顶部并把它截断。 好的,那么这就是达林顿电路, 如果您的机器人从不会撞到墙, 那么这个电路很好用。 它相当简单,易于构建,易于测试。 达林顿管的一个低效之处在于, 产生了0.5V 的电压降。 因此,如果您想 实现更高的效率, 如果您希望利用全部电压 -- 你希望获取全部 7.2V 电压并将它 驱动到电机中,就在这里, 我们可以使用一个 MOSFET。 这是一个 N 沟道 MOSFET, 这是栅极, 这是源极, 这是漏极。 MOSFET 的效率要高得多。 当它打开时,这里的漏极-源极 电压非常接近于零。 当MOSFET打开时,这里的漏极-源极 电压非常接近于零。 但 MOSFET 的麻烦之处在于, 它无法使用电流来驱动, 需要一个栅极-源极电压。 它需要栅极-源极电压才能打开。 实际上 3V 的电压还不足以 打开一个典型的 MOSFET。 实际上 3V 的电压还不足以 打开一个典型的 MOSFET。 因此,我们要做的是, 我们将从我们的电池 获取 7.2 伏电压, 然后使用这里的普通 BJT, 使得这里的电压要么为 7.2V (当BJT打开时), 要么为零(当BJT关断时)。 那么,让我们来实现该电路。 这正好是相对于 微控制器的负逻辑。 这正好是相对于 微控制器的负逻辑。 因此,如果微控制器 在这里输出零, 就像达林顿管那样,这将使 这个 BJT 关闭。 如果 BJT 关闭,VGS 电压 将变为 7.2 伏。 MOSFET 打开,现在可以 通过很大的电流。 根据我在这里选择的 MOSFET, 我可能会获得 10A、20A、 40A的电流,等等。 不过我们仅需要 0.5A的电流。 但 MOSFET 的效率很高。 让我们来看看另一半时间的情况, 如果我在这里输入 3.3V, 现在我将得到 IB-- 这里是基极, 我将得到 IB, 同时得到 VBE。 那么,我将得到 IB 和 VBE, 该晶体管(BJT)现在将打开。 如果它打开,这里将有 0.5V 的 VCE。 如果它打开,这里将有 0.5V 的 VCE。 但该晶体管的 VCE 等于 MOSFET 的 VGS, 但该晶体管的 VCE 等于 MOSFET 的 VGS, 因此 VGS 将关闭, 因此 VGS 将关闭, 从而导致 MOSFET 关闭。 现在,我可以通过 PWM 来驱动它, 现在,我可以通过 PWM 来驱动它, 但要记住必须使用负逻辑。 因此,MOSFET 有利于 实现高效率。 同时,它们还可实现 两个方向的电流导通。 那么,现在让我们 向您展示两个能够 驱动电流的电路。 这是我们用的电机模型, 您应该记得它包含电阻、 电感和 EMF。 这里是电机, 这里是相同的电机。 如果我想使用 达林顿晶体管 类型的电路,那么我可以 把它们放置在一个电桥中。 这是电路看起来的样子, 也就是它内部的样子。 基本而言, 如果我打开 Q1 和 Q4, 同时关闭 Q2 和 Q3, 那么电流将沿这个方向流动, 沿那个方向流过电机。 相反,如果我关闭 Q1 和 Q4, 同时打开 Q2 和 Q3, 现在电流将沿这个方向流动。 Q3 打开,它将沿 那个方向流动, 是与刚才相反的方向。 那么通过这种特定接口,我可以 让电流向左或向右流动, 也就是机器人向前或向后移动。 现在,它在这里用的 仍然是达林顿管, 因此它仍具有 di/dt,以及 V = L*di/dt 这些特性。 现在,电流可能会以各种 古怪而荒谬的方式流动。 因此,我将在这里 使用一些二极管, 以便在我沿一个方向 或者沿另一个方向 关闭时消除该电流。 那么,L293 驱动器电路, 您可以通过这个网址找到它 -- 实际上需要四个二极管 来进行缓冲。 来进行缓冲。 这些是缓冲二极管。 这是一个相当简单的接口, 例如,如果我在这里输入 3.3V,在那里输入0, 电流将向下流动。 如果我在这里输入0, 在这里输入 3.3V, 电流将向上流动。 因此,它是一个 相当简单的接口。 如果您没有 从供应商处购买的电机驱动板, 您可以自行搭建该电路, 它能够很好地工作。 不过,您将在达林顿管中 损失一点儿电压。 因此,您无法利用 全部 7.2V 电压。 现在,如果您想两全其美, 我们可以做的是 在电桥中使用 MOSFET。 这是我们我们的目标。 我们将不使用达林顿管, 因为它在开关时产生了 0.5V 至 1V 的电压降, 我们将使用 MOSFET 取而代之, 它只会在开关中产生 0.1V 的压降。 但现在,我们面临这样一个问题: 我们如何同时控制电桥两侧? 那么,这是一个 P 沟道 MOSFET 驱动电路。 那么,这是一个 P 沟道 MOSFET 驱动电路。 这个特定的电路中 电流仅向下流动, 但是,如果我们在 H 桥 配置中使用四个晶体管 -- 需要强调的是,这是 一个相当复杂的电路, 所以,我们不使用 离散器件来搭建它, 如果您确实需要 MOSFET 驱动器, 我们将使用集成的 MOSFET 驱动芯片。 这里是一个例子, 这是 Pololu 电机驱动板上 完全一样的 MOSFET 驱动, 我们将稍后再介绍。 但总而言之,它可以做四件事情, 我们感兴趣的是其中两件。 我可以打开这个和那个 MOSFET, 让电流沿这个方向流动。 很显然,其他两个管子必须关闭, 否则马上就会发生火灾。 我可以做的另外一件事是, 我可以切换电流方向。 这些可以关闭, 其他两个可以打开。 如果我这么做, 电流会沿另一个方向流动。 它的有趣之处在于,如果愿意, 我可以把它们全部关闭。 如果把它们全部关闭,它将变为零, 不会有任何电流进行流动。 因此,基本而言,我要做的是, 我可以控制方向和 -- 换句话说,是使用圆圈中的 状态还是方块中的状态? 这将决定电机转动的方向。 然后,我将用另一条导线 传输 PWM 控制信号, 以控制提供的 功率大小。 因此我可以通过这些 H 桥 同时控制方向和速度, 而且效率相当高。 在这四个开关上仅有 零点几伏的电压降。 在这四个开关上仅有 零点几伏的电压降。 这是它在电机驱动板上的样子。 这是其中一个 DRV 8838 -- 实际上有两个 DRV8838。 通过切断板上跳线可以使它们工作, 通过六个镍氢电池为电机供电, 通过六个镍氢电池为电机供电, 这是我的电机电压, 也就是用来驱动电机的电池电压。 芯片内部,有一个 H 桥, 电流将沿着这个方向 或另一个方向流动,具体 取决于机器人移动方向。 这里是决定方向的信号, 相位信号将决定方向。 另外我将在 PWM 信号中 输入振幅大小。 它(DRV8838)有一个 低功耗睡眠模式, 但我们不会使用这个模式。 因此,这里的引脚将处于 高电平,即关闭状态, 这不会把它置于睡眠模式, 因为该引脚是负逻辑信号。 因此,这里的 3.3V 将激活该器件。 工作时的电流是相当大的, 这就是为什么我们要使用 现成的电机驱动板, 电流流经这里后再 流过电机并流出, 电流大小为 0.5A, 或者电流从电机流出, 并沿另一方向向上流动, 并返回到接地。 总之,有相当大的电流 流经该驱动器。 这就是我以前说过的, 基本上,如果您希望电机旋转, 使能端应该为高电平。 这样可以激活电机驱动器, 这样(低电平)意味着关闭。 这个(使能)信号最终 将是我们的相位信号, 它会是我们的 PWM 信号。 这是我们的 PWM, 我们将提供一个固定频率、 可变占空比的驱动信号。 我们将提供一个固定频率、 可变占空比的驱动信号。 然后,另一个信号将 控制电机转动方向, 向前或向后。 这是从数据表中 获取的屏幕截图, 我们来研究一下, 总体而言,它的响应速度很快, 总体而言,它的响应速度很快, 这些是数字信号, 这些数字信号来自于 MSP432。 下面将要标出的是电压, (数字信号的)电压 等级是3.3V 和 0, (驱动信号的)电压 等级是0 和 7.2V。 正如您看到的,如果这边(xOUT1) 是正电压,那边(xOUT2)是零, 电流将向下流动。 正如您看到的,如果这边(xOUT2) 是正电压,那边(xOUT1)是零, 电流将向上流动。 这就是我们要说的。 概括如下, 有两个电机,因此有两个 8838。 代码相当简单, 我要用这个相位信号来控制方向, 就是这个 PH 信号, 它将决定每个电机转动的方向。 然后,我将使用该 PWM 信号来 调节每个电机的占空比。 然后,我将使用该 PWM 信号来 调节每个电机的占空比。 有两个电机,因此我可以 单独控制每个电机。 一旦您使用电机驱动板 搭建了机器人, 一旦您使用电机驱动板 搭建了机器人, 事实证明,方向信号 为零意味着通过 旋转两个轮子使 机器人向前移动。 当方向信号为零时, 即使左轮和右轮 实际上相对于电机 沿不同的方向旋转, 实际上相对于电机 沿不同的方向旋转, 机器人本身还是会向前移动。 如果您把方向引脚设置为 1, 机器人将向后移动。 在两种情况下, PWM 信号都是正逻辑。 换句话说,电机实际上 将在高电平时运行, 在低电平时停止。 这就是我们本节要讲的内容, 祝您“驾驶”愉快, 不要撞墙过猛。 用好我们的电机驱动器。 请记住,在电机上, 会有很大的电流。 我想它会是 0.5A, 但我没有实际 测量过机器人撞到 墙之后的电流, 它会增大很多。 在这一侧,我们 有很小的电流 和很小的电压, 以便微控制器 可以处理它。 H 桥允许我驱动电流流动, (使机器人)向左、向右、向前、向后。 H 桥允许我驱动电流流动, (使机器人)向左、向右、向前、向后。 希望您喜欢本实验。 374

大家好,我是 Jon Valvano。

现在,是时候 让电机旋转了。

在前一个视频中,我们讨论了 直流电机的物理特性。

在前一个视频中,我们讨论了 直流电机的物理特性。

今天,我们将 讨论如何

把电机连接到 您的微控制器,

因为这是一项 精细的操作,

有 0.5A 的电流 流过电机,而只有

几毫安的电流 要流出微控制器。

因此,我们需要 使用一个接口

把我们的直流电机 连接到微控制器。

我们需要做两件事情,

一件是打开和关闭电机,

另外一件是使它向后移动,

因为机器人可能会撞到墙,

从而需要后退并沿着 其他方向行进。

因此,在本视频中,我们 将讨论此接口。

因此,在本视频中,我们 将讨论此接口。

您应该记得,上一节视频中,

我们尝试解决的主要问题是

我们尝试生成相当大的电流。

因此,驱动该电机所需的电流

可能大约为 0.5A 。

而流出微控制器的电流

通常小于 6mA 。

因此,我们需要一个电流放大器,

以获得更大的电流。

这是一个由达林顿管 构成的放大器示例。

第二个我们应该记得 的重要问题是,

我们不会通过调节 电机上的电压来使

电机慢速、中速或快速旋转。

我们要做的是调节这里 这个波形的占空比,

因此,如果我想快速旋转, 我将提供高占空比,

此时占空比等于 H/(H+L) 。

如果要想以中等速度旋转, 我将为它提供中等占空比。

如果我想慢速旋转,我将 为它提供低占空比。

因此,我将能够 通过调节占空比

来调节为该电机 提供的功率大小。

这是一项相当简单的操作,

H/(H+L) 乘以 Vm ,

Vm 是电池提供的 7.2V 电压,

再乘以电流 I 。

电流 I 的成分相当复杂,

它是各种因素的函数。

我们将在下一张幻灯片中 对此进行探讨。

总而言之,这是向 电机提供的功率。

总而言之,这是向 电机提供的功率。

软件可以调节参数 H。

我们需要很大的电流。

好,让我们使用 该达林顿晶体管

构建第一个接口。

这里是基极,

这里是集电极,

这里是发射极。

我们要将该晶体管 驱动至饱和状态,

我们要将该晶体管 驱动至饱和状态,

或者完全关闭。

因此我们将经历两个阶段,

第一个阶段是,如果 这里的电压是 3.3V ,

它将生成足够的 VBE--

它将生成足够的 VBE--

这是饱和状态下的 VBE --

来打开该晶体管。

我们将生成 -- 当图中的晶体管

打开时,它将生成大约 0.5V 的 VCE 电压。

打开时,它将生成大约 0.5V 的 VCE 电压。

这意味着,我们将 一共有大约 6.7V 的

电压来使电机旋转。

这已经足够快了,

足以让电机旋转。

这里选择达林顿管,是为了

能够生成足够的电流 来驱动电机。

如果需要高达 0.5A 的电流,

必须确保管子足够大,

以满足该电流。

正如我在前一张幻灯片中说过的, 这是一个电流放大器。

因此,它所做的是, 它获取这里的

基极电流,并对它进行放大, 以获取那里的集电极电流。

这实现了相当大的 增益,大约为 1,000。

那么,这里还剩的唯一 一件事是选择该 Rb 值。

Rb 选择将采用 --

我们可以计算所需 基极电流的大小,

换句话说,我将 代入微控制器的

输出高电平,

在这里,高电平电压 可能会低至 3V 。

我要确定VBE --

为了使管子达到饱和状态, 我需要多大的 VBE?

由于我需要 0.5A 的电流, 让我们保证

电路能够在 1A 以下 都能正常工作,

因此,我需要至少 1mA 的基极电流。

因此,我需要至少 1mA 的基极电流。

那么,这意味着我 将选择一个小于

500 欧姆的电阻。

然后,为了把它驱动至 完全饱和状态,实际上

将选择一个大小是它的 五分之一的电阻。

因此,我将在这里放置 一个 100 欧姆的电阻。

关于晶体管设计的技巧在于,

我会一点一点地增大电流,

我会一点一点地增大电流,

以确保它达到饱和状态。

另一方面,当它关闭时, 情况相当简单。

当管子关闭时,其电压为零。

这将产生零安的基极电流,

该晶体管将关闭,

因此,ICE将为零。

现在,这实际上 会导致一个问题,

因为如果我把 ICE 视为时间的函数,

我将驱动0.5A 的电流,

然后我要把它关闭。

管子关闭的过程只需几纳秒,

因此,这里的电流 将从 0.5A

降低至零。

由于电机中电感的存在, 这将生成相当大的电压。

由于电机中电感的存在, 这将生成相当大的电压。

因此,为了消除该电压,

需要在这里添加一个缓冲二极管。

我将在这里添加一个缓冲 二极管,以消除反向 EMF。

请注意,不要与 正向 EMF 相混淆,

正向 EMF 是电能到 机械能的转换,

而反向 EMF 是电机启动时 由于电感所导致的,

而反向 EMF 是电机启动时 由于电感所导致的,

在电流突然关断时产生 的反向冲击电压。

因此,这里将产生一个 VCE,

一个非常大的 VCE,如果我不消除 它的话,它可以达到几百伏。

二极管的任务是捕获该过冲 的顶部并把它截断。

二极管的任务是捕获该过冲 的顶部并把它截断。

好的,那么这就是达林顿电路,

如果您的机器人从不会撞到墙, 那么这个电路很好用。

它相当简单,易于构建,易于测试。

达林顿管的一个低效之处在于,

产生了0.5V 的电压降。

因此,如果您想 实现更高的效率,

如果您希望利用全部电压 --

你希望获取全部 7.2V 电压并将它

驱动到电机中,就在这里,

我们可以使用一个 MOSFET。

这是一个 N 沟道 MOSFET,

这是栅极,

这是源极,

这是漏极。

MOSFET 的效率要高得多。

当它打开时,这里的漏极-源极 电压非常接近于零。

当MOSFET打开时,这里的漏极-源极 电压非常接近于零。

但 MOSFET 的麻烦之处在于,

它无法使用电流来驱动,

需要一个栅极-源极电压。

它需要栅极-源极电压才能打开。

实际上 3V 的电压还不足以 打开一个典型的 MOSFET。

实际上 3V 的电压还不足以 打开一个典型的 MOSFET。

因此,我们要做的是,

我们将从我们的电池 获取 7.2 伏电压,

然后使用这里的普通 BJT,

使得这里的电压要么为 7.2V (当BJT打开时),

要么为零(当BJT关断时)。

那么,让我们来实现该电路。

这正好是相对于 微控制器的负逻辑。

这正好是相对于 微控制器的负逻辑。

因此,如果微控制器 在这里输出零,

就像达林顿管那样,这将使 这个 BJT 关闭。

如果 BJT 关闭,VGS 电压 将变为 7.2 伏。

MOSFET 打开,现在可以 通过很大的电流。

根据我在这里选择的 MOSFET,

我可能会获得 10A、20A、 40A的电流,等等。

不过我们仅需要 0.5A的电流。

但 MOSFET 的效率很高。

让我们来看看另一半时间的情况,

如果我在这里输入 3.3V, 现在我将得到 IB--

这里是基极,

我将得到 IB,

同时得到 VBE。

那么,我将得到 IB 和 VBE,

该晶体管(BJT)现在将打开。

如果它打开,这里将有 0.5V 的 VCE。

如果它打开,这里将有 0.5V 的 VCE。

但该晶体管的 VCE 等于 MOSFET 的 VGS,

但该晶体管的 VCE 等于 MOSFET 的 VGS,

因此 VGS 将关闭,

因此 VGS 将关闭,

从而导致 MOSFET 关闭。

现在,我可以通过 PWM 来驱动它,

现在,我可以通过 PWM 来驱动它,

但要记住必须使用负逻辑。

因此,MOSFET 有利于 实现高效率。

同时,它们还可实现 两个方向的电流导通。

那么,现在让我们 向您展示两个能够

驱动电流的电路。

这是我们用的电机模型,

您应该记得它包含电阻、

电感和 EMF。

这里是电机,

这里是相同的电机。

如果我想使用 达林顿晶体管

类型的电路,那么我可以 把它们放置在一个电桥中。

这是电路看起来的样子,

也就是它内部的样子。

基本而言, 如果我打开 Q1 和 Q4,

同时关闭 Q2 和 Q3,

那么电流将沿这个方向流动,

沿那个方向流过电机。

相反,如果我关闭 Q1 和 Q4,

同时打开 Q2 和 Q3,

现在电流将沿这个方向流动。

Q3 打开,它将沿 那个方向流动,

是与刚才相反的方向。

那么通过这种特定接口,我可以

让电流向左或向右流动, 也就是机器人向前或向后移动。

现在,它在这里用的 仍然是达林顿管,

因此它仍具有 di/dt,以及 V = L*di/dt 这些特性。

现在,电流可能会以各种 古怪而荒谬的方式流动。

因此,我将在这里 使用一些二极管,

以便在我沿一个方向

或者沿另一个方向 关闭时消除该电流。

那么,L293 驱动器电路, 您可以通过这个网址找到它 --

实际上需要四个二极管

来进行缓冲。

来进行缓冲。

这些是缓冲二极管。

这是一个相当简单的接口,

例如,如果我在这里输入 3.3V,在那里输入0,

电流将向下流动。

如果我在这里输入0, 在这里输入 3.3V,

电流将向上流动。

因此,它是一个 相当简单的接口。

如果您没有

从供应商处购买的电机驱动板, 您可以自行搭建该电路,

它能够很好地工作。

不过,您将在达林顿管中 损失一点儿电压。

因此,您无法利用 全部 7.2V 电压。

现在,如果您想两全其美, 我们可以做的是

在电桥中使用 MOSFET。

这是我们我们的目标。

我们将不使用达林顿管,

因为它在开关时产生了 0.5V 至 1V 的电压降,

我们将使用 MOSFET 取而代之,

它只会在开关中产生 0.1V 的压降。

但现在,我们面临这样一个问题: 我们如何同时控制电桥两侧?

那么,这是一个 P 沟道 MOSFET 驱动电路。

那么,这是一个 P 沟道 MOSFET 驱动电路。

这个特定的电路中 电流仅向下流动,

但是,如果我们在 H 桥 配置中使用四个晶体管 --

需要强调的是,这是 一个相当复杂的电路,

所以,我们不使用 离散器件来搭建它,

如果您确实需要 MOSFET 驱动器,

我们将使用集成的 MOSFET 驱动芯片。

这里是一个例子,

这是 Pololu 电机驱动板上 完全一样的 MOSFET 驱动,

我们将稍后再介绍。

但总而言之,它可以做四件事情,

我们感兴趣的是其中两件。

我可以打开这个和那个 MOSFET,

让电流沿这个方向流动。

很显然,其他两个管子必须关闭, 否则马上就会发生火灾。

我可以做的另外一件事是, 我可以切换电流方向。

这些可以关闭,

其他两个可以打开。

如果我这么做, 电流会沿另一个方向流动。

它的有趣之处在于,如果愿意, 我可以把它们全部关闭。

如果把它们全部关闭,它将变为零,

不会有任何电流进行流动。

因此,基本而言,我要做的是,

我可以控制方向和 --

换句话说,是使用圆圈中的 状态还是方块中的状态?

这将决定电机转动的方向。

然后,我将用另一条导线 传输 PWM 控制信号,

以控制提供的 功率大小。

因此我可以通过这些 H 桥

同时控制方向和速度,

而且效率相当高。

在这四个开关上仅有 零点几伏的电压降。

在这四个开关上仅有 零点几伏的电压降。

这是它在电机驱动板上的样子。

这是其中一个 DRV 8838 --

实际上有两个 DRV8838。

通过切断板上跳线可以使它们工作,

通过六个镍氢电池为电机供电,

通过六个镍氢电池为电机供电,

这是我的电机电压,

也就是用来驱动电机的电池电压。

芯片内部,有一个 H 桥,

电流将沿着这个方向

或另一个方向流动,具体 取决于机器人移动方向。

这里是决定方向的信号,

相位信号将决定方向。

另外我将在 PWM 信号中

输入振幅大小。

它(DRV8838)有一个 低功耗睡眠模式,

但我们不会使用这个模式。

因此,这里的引脚将处于 高电平,即关闭状态,

这不会把它置于睡眠模式,

因为该引脚是负逻辑信号。

因此,这里的 3.3V 将激活该器件。

工作时的电流是相当大的,

这就是为什么我们要使用 现成的电机驱动板,

电流流经这里后再 流过电机并流出,

电流大小为 0.5A, 或者电流从电机流出,

并沿另一方向向上流动,

并返回到接地。

总之,有相当大的电流 流经该驱动器。

这就是我以前说过的,

基本上,如果您希望电机旋转, 使能端应该为高电平。

这样可以激活电机驱动器,

这样(低电平)意味着关闭。

这个(使能)信号最终 将是我们的相位信号,

它会是我们的 PWM 信号。

这是我们的 PWM,

我们将提供一个固定频率、 可变占空比的驱动信号。

我们将提供一个固定频率、 可变占空比的驱动信号。

然后,另一个信号将 控制电机转动方向,

向前或向后。

这是从数据表中 获取的屏幕截图,

我们来研究一下,

总体而言,它的响应速度很快,

总体而言,它的响应速度很快,

这些是数字信号,

这些数字信号来自于 MSP432。

下面将要标出的是电压,

(数字信号的)电压 等级是3.3V 和 0,

(驱动信号的)电压 等级是0 和 7.2V。

正如您看到的,如果这边(xOUT1) 是正电压,那边(xOUT2)是零,

电流将向下流动。

正如您看到的,如果这边(xOUT2) 是正电压,那边(xOUT1)是零,

电流将向上流动。

这就是我们要说的。

概括如下,

有两个电机,因此有两个 8838。

代码相当简单,

我要用这个相位信号来控制方向,

就是这个 PH 信号,

它将决定每个电机转动的方向。

然后,我将使用该 PWM 信号来 调节每个电机的占空比。

然后,我将使用该 PWM 信号来 调节每个电机的占空比。

有两个电机,因此我可以 单独控制每个电机。

一旦您使用电机驱动板 搭建了机器人,

一旦您使用电机驱动板 搭建了机器人,

事实证明,方向信号 为零意味着通过

旋转两个轮子使 机器人向前移动。

当方向信号为零时, 即使左轮和右轮

实际上相对于电机 沿不同的方向旋转,

实际上相对于电机 沿不同的方向旋转,

机器人本身还是会向前移动。

如果您把方向引脚设置为 1, 机器人将向后移动。

在两种情况下, PWM 信号都是正逻辑。

换句话说,电机实际上 将在高电平时运行,

在低电平时停止。

这就是我们本节要讲的内容,

祝您“驾驶”愉快,

不要撞墙过猛。

用好我们的电机驱动器。

请记住,在电机上,

会有很大的电流。

我想它会是 0.5A, 但我没有实际

测量过机器人撞到 墙之后的电流,

它会增大很多。

在这一侧,我们 有很小的电流

和很小的电压, 以便微控制器

可以处理它。

H 桥允许我驱动电流流动, (使机器人)向左、向右、向前、向后。

H 桥允许我驱动电流流动, (使机器人)向左、向右、向前、向后。

希望您喜欢本实验。 374

视频报错
手机看
扫码用手机观看
收藏本课程

相关下载

查看全部

视频简介

TI-RSLK 模块 12 - 讲座视频 - 直流电机 - 接口

所属课程:TI机器人系统学习套件(TI-RSLK) 发布时间:2018.08.27 视频集数:69 本节视频时长:20:17
该模块着重介绍电机的机械和电气知识。
已有6人参与了讨论去论坛跟帖交流