单片机学习小组
直播中

李桂兰

7年用户 1432经验值
私信 关注

无源蜂鸣器和直流有刷电机的控制详解

无源蜂鸣器是怎样通过一个三极管驱动的?

怎样通过L9110S去驱动直流有刷电机呢?

回帖(1)

曹皓轩

2022-1-24 11:21:39
        在PWM输出讲解中设计了两个实验,分别是无源蜂鸣器和直流有刷电机的控制,相关电路开发板上都有。无源蜂鸣器通过一个三极管驱动,直流有刷电机通过L9110S这款驱动芯片进行驱动,电路图如下。

        ATtiny24/44/84有一个带有两个PWM通道的8位定时器/计数器和一个带有两个PWM通道的16位定时器/计数器,分别在ATtiny的第5脚(PB2)、第6脚(PA7)、第7脚(PA6)、第8脚(PA5)上,其在Arduino IDE中的序号如下图所示。

        用Arduino IDE进行编程时PWM输出函数为analogWrite(pin, value),其中pin表示要写入的ATtiny引脚,value表示占空比,介于 0(始终关闭)和 255(始终打开)之间。
        用analogWrite这个函数操作第5脚和第6脚以及第7脚和第8脚时,PWM的周期分别为4ms和2ms,我们可以通过一个小程序来验证一下。

        该程序将这四个引脚均输出占空比为50%的PWM波,烧录成功后用示波器测量第5(6)脚和第7(8)脚,波形如下。

        无源蜂鸣器的控制较为简单,将三极管的基极接到PWM输出引脚上,在频率固定时PWM占空比的大小反映蜂鸣器的响度大小。

        L9110S内置了一个H桥驱动电路,其中IA、IB连接单片机,OA、OB连接电机其控制逻辑如下表所示。

IA电平
IB电平
电机状态
H
L
正转
L
H
反转
H
H
停止
L
L
停止
        调速时我们可以将IB的电平固定,调整IA的占空比。这时需要注意的是控制电机反转时IA低电平为有效电平,函数形参中的占空比为255减去低电平的占空比。当然,控制IA电平固定,调整IB的占空比也是一种选择。

        以下为控制电机以一定的速度分别正转、反转、停止的演示视频,完整程序和开发板电路可在本系列第一篇博客中电路城链接中下载。
   
举报

更多回帖

发帖
×
20
完善资料,
赚取积分