一、蜂鸣器驱动实验
1. 硬件电路
(1)蜂鸣器介绍
开发板上使用的蜂鸣器是无源蜂鸣器,属于压电式蜂鸣器类型。这里说的有源,并不是指电源的意思,而是指蜂鸣器内部是否含有振荡电路,有源蜂鸣器内部自带振荡电路,只需提供电源即可发声。
而无源蜂鸣器则需提供一定频率的脉冲信号才能发声,频率大小通常在 1.5-5KHz 之间。
(2)驱动电路
DSP通常用于控制而非驱动板,在电机控制等邻域控制板和驱动电路一般分开
下图为驱动电路,28335只提供控制信号
由图中,蜂鸣器控制管脚为IN7对应下图28335IO为GPIO6
而ULN2003D芯片逻辑图如下:
7B和7C管脚近似于“非门”
作用:放大电流,增强驱动能力
2.软件实现
要让无源蜂鸣器响需要让管脚输出一定频率的脉冲,脉冲可通过快速翻转IO高低电平获得
蜂鸣器初始化:
#include "DSP2833x_Device.h" // DSP2833x Headerfile Include File
#include "DSP2833x_Examples.h" // DSP2833x Examples Include File#include "beep.h"
void Beep_Init(void)
{
EALLOW;
SysCtrlRegs.PCLKCR3.bit.GPIOINENCLK = 1;
//68
GpioCtrlRegs.GPAMUX1.bit.GPIO6=0;
GpioCtrlRegs.GPADIR.bit.GPIO6=1;
GpioCtrlRegs.GPAPUD.bit.GPIO6=0;
GpioDataRegs.GPACLEAR.bit.GPIO6=1;
EDIS;
}
主函数:
#include "DSP2833x_Device.h" // DSP2833x Headerfile Include File
#include "DSP2833x_Examples.h" // DSP2833x Examples Include File
#include "beep.h"
void main()
{
InitSysCtrl();
Beep_Init();
while(1)
{
GpioDataRegs.GPATOGGLE.bit.GPIO6=1;
DELAY_US(100);
}
}
二、继电器驱动
1.简介及硬件电路
继电器是广泛使用在工业控制领域的一种以小电流控制大电流的设备,其实就是一种开关
通过网络标签定位到继电器的控制端连接在如下图GPIO15处
继电器类型和分类较多,这里不再赘述(学过PLC的应该都知道),知道常开常闭就行
通过对继电器原理图研究,如图,继电器一端接5V,另一端接控制端OUT6,现在只需IN6端输入高电平即可让继电器线圈吸合,控制电路导通
上图中,在COM端就可以通过接线控制设备,1、2之间为常闭,通电断开;2、3之间为常开,通电闭合
2.软件
软件部分就是普通GPIO输入输出、这里不再赘述