比赛教材单片机讲解.docx

上传人:b****7 文档编号:9028251 上传时间:2023-02-02 格式:DOCX 页数:15 大小:246.46KB
下载 相关 举报
比赛教材单片机讲解.docx_第1页
第1页 / 共15页
比赛教材单片机讲解.docx_第2页
第2页 / 共15页
比赛教材单片机讲解.docx_第3页
第3页 / 共15页
比赛教材单片机讲解.docx_第4页
第4页 / 共15页
比赛教材单片机讲解.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

比赛教材单片机讲解.docx

《比赛教材单片机讲解.docx》由会员分享,可在线阅读,更多相关《比赛教材单片机讲解.docx(15页珍藏版)》请在冰豆网上搜索。

比赛教材单片机讲解.docx

比赛教材单片机讲解

4.5典型驱动电路

电动机在全国电子设计大赛中经常使用,如2011年帆板控制系统(F题)用直流电动机驱动风扇,2007年电动车跷跷板(F题)用直流电动机驱动车,2005年悬挂运动控制系统(E题)用两只步进电机通过滑轮的吊绳控制物体在板上运动。

4.5.1直流电动机驱动电路

直流电动机是将直流电能转换为机械能的转动装置,因其良好的调速性能而在电力拖动中得到广泛应用。

1.RS380-ST介绍

本节以RS380-ST直流电机为例介绍其驱动电路,此直流电机为全国智能汽车大赛车模A指定元器件。

RS380-ST/3545直流电机外型如图4.5.1所示。

图4.5.1直流电极外形图【改】

RS380-ST/3545直流电机技术参数如表4.5.1所示。

表4.5.1RS380-ST技术参数[找datasheet验证]

工作特性

电流(A)

转速(rpm)

扭矩()

无负荷

0.48

15300

0

最大效率

2.85

13100

99

最大功率

8.61

7650

340

停止

16.72

0

680

2.直流电机驱动电路

电机电枢两端电压的极性影响电机的转向,两端电压的大小影响电机的转速。

通过微控制器输出不同占空比的PWM信号来近似不同幅度的电压,以达到控制速度的目的。

本节使用集成电机驱动芯片MC33886驱动直流电机。

MC33886在5~40V电压下可提供5A电流,完全可以满足驱动电机的工作要求,内部就有短路保护、欠压保护、过温保护等功能。

MC33886芯片封装图如图4.5.2所示。

图4.5.2MC33886芯片封装图

产品特性:

●5.0V~40V连续操作

●120mΩ导通电阻H桥

●TTL/CMOS输入兼容

●PWM频率可达10KHz

●输出短路保护

●欠压保护

●故障状态报告

●无铅封装

典型应用电路如图4.5.3所示。

在实际使用中,可以将两片MC33886并联,从而增加电流驱动能力。

图4.5.3MC33886典型驱动电路图[电容多大?

电阻多大]

3.直流电机驱动参考程序

MC33886芯片真值表如表4.5.2所示。

在程序设计中,通过IN1和IN2来控制电机的正转和反转。

编写的驱动参考程序如下。

表4.5.2MC33886芯片真值表

输入信号

输出信号

D1

/D2

IN1

IN2

OUT1

OUT2

0

1

1

0

1

0

0

1

0

1

0

1

0

1

0

0

0

0

0

1

1

1

1

1

4.5.2步进电动机及驱动电路

步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。

当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。

可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

步进电机分三种:

永磁式(PM),反应式(VR)和混合式(HB)。

永磁式步进电机一般为两相,转矩和体积较小,步进角一般为7.5度或15度,输出力矩大,动态性能好;反应式步进电机一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大,动态性能差。

混合式步进电机综合了永磁式和反应式不仅电机的优点,步距角小,出力大,动态性能好,是目前性能最高的步进电机。

分为两相和五相:

两相步进角一般为1.8度,五相步进角一般为0.72度。

1.35BY48步进电机

本节35BY48两相六线步进电机为例进行介绍。

该步进电机的步进角为7.5ºC,一圈360ºC,需要48个脉冲完成。

35BY48S053C外形如图4.5.4所示,根据图片,六根线的颜色依次是黄色、棕色、红色、红色、桔色、黑色。

功能分别是A、B、电源(+5V)、电源(+5V)、C、D。

2.步进电机驱动电路

采用ULN2003驱动芯片驱动步进电机工作。

芯片封装如图4.5.5所示。

图4.5.5ULN2003芯片封装图

ULN2003是高耐压、大电流达林顿陈列,由7个硅达林管组成。

产品特性如下:

●输出电流(单输出):

500mA最大值

●持续高电压输出:

50V最小值

●输出钳位二极管

●输入兼容各种类型逻辑

●DIP-16或SOP-16塑料封装。

使用ULN2003驱动步进电机的连线图如图4.5.6所示。

图4.5.6ULN2003驱动步进电机连线图【重画】

3.步进电机驱动参考程序

4.5.3继电器驱动电路

继电器是具有隔离功能的自动开关元件,在电路中起着自动调节、安全保护、转换电路等作用,具有动作快、工作稳定、使用寿命长、体积小等优点。

继电器的工作原理是当继电器的输入量(如电压、电流、温度等)达到规定值时,输出电路导通或断开。

1.固态继电器

图4.5.7HK4100DF外形图

本节以固态继电器(SolidStateRelay,SSR)HK4100DF-DC5V为例。

固态继电器是一种两个接线端为输入端,另两个接线端为输出端的四端器件,中间采用隔离器件实现输入输出的电隔离。

其外形如图4.5.7所示。

主要技术参数

(1)触电参数

●触点形式:

1C(SPDT)

●触电负载:

3A220VAC/30VDC

●阻抗:

≤100mΩ

●额定电流:

3A

●电气寿命:

≥10万次

●机械寿命:

≥1000万次

(2)线圈参数

●阻值(±10%):

120Ω

●线圈功耗:

0.2W

●额定电压:

DC5V

●吸合电压:

DC3.75V

●释放电压:

DC0.5V

●工作温度:

-25ºC~+70ºC

●绝缘电阻:

≥100MΩ

●线圈与触点间耐压:

4000VAC/1分钟

●触点与触点间耐压:

750VAC/1分钟

由继电器线圈参数可知,继电器工作吸合电流为:

0.2W/5V=40mA。

而单片机I/O口拉电流为4mA~20mA,因此不能直接驱动继电器工作。

2.继电器驱动电路

(1)晶体管驱动继电器

当晶体管用来驱动继电器时,必须将晶体管发射级接地。

电路如图4.5.8所示。

晶体管为NPN9014或8050,R1起限流作用,降低晶体管T1功耗,阻值为2kΩ。

二极管D1反向续流,抑制继电器自感,选IN4148。

NPN型晶体管工作在饱和导通和截止两个状态上。

当晶体管T1输入高电平时,晶体管饱和导通,集电极变为低电平,因此继电器线圈通电,触电RL吸和。

当晶体管T1输入低电平时,晶体管截止,继电器线圈断电,触点RL断开。

图4.5.8晶体管驱动继电器连线图

(2)ULN2003驱动继电器

ULN2003驱动继电器电路接线图如图4.5.9所示。

4.5.9ULN2003驱动继电器连线图

3.继电器驱动参考程序

4.6A/D与D/A转换电路

随着数字电子技术及计算机技术的广泛普及与应用,数字信号的传输与处理日趋普遍。

然而,自然形态下的物理量多以模拟量的形式存在,如温度、湿度、压力、流量、速度等,当单片机要处理这些模拟物理量时,应将其首先转换为电信号,然后再转换成数字信号;当电路或计算机处理完这些数字信号后,又必须将其转换成模拟信号,进行输出或者控制相关对象。

AD转换器是将模拟信号转换成数字信号的电路,称为模数转换器(简称A/D转换器或ADC,AnalogtoDigitalConverter)。

DA转换器是数字信号转换成模拟信号的电路,称为数模转换器(简称D/A转换器或DAC,DigitaltoAnalogConverter)。

本节介绍两款TI公司生产的12位AD和DA转换芯片,串行通信方式,可以节省I/O资源。

4.6.1A/D转换电路设计

1.TLC2543

TLC2543是TI公司生产的12位串行A/D转换器。

其芯片封装如图4.6.1所示,引脚功能见表4.6.1。

序号

引脚名称

功能

1

VCC

电源+5V

2

GND

3

VREF-

正基准电压,+5V

4

VREF+

负基准电压,接GND

AIN0~AIN10

11路模拟量输入端

/CS

片选端

EOC

转换结束端

I/OCLOCK

时钟输入输出端

DATAOUT

转换结果三态输出端

DATAIN

串行数据输入端

表4.6.1TLC2543引脚功能表

图4.6.1TLC2543芯片封装图

产品特性

●12位分辨率A/D转换器

●在工作温度范围内,最大转换时间为10μs

●11路模拟输入通道

●3路内置自检测方式

●固有采样和保持功能

●线性误差最大为±1LSB

●片上系统时钟

●转换结束(EOC)输出

●具有单、双极性输出

●可编程MSB或LSB前导

●可编程电源

●可编程输出数据长度

●CMOS工艺

2.TLC2543接线图

图4.6.2TLC2543接线图

在使用TLC2543时需要注意:

1)芯片的电源和地之间必须接一个0.1µF的去耦电容。

2)模拟地和数字地必须分开,以防止数字噪声对模拟信号产生干扰。

地线尽可能宽或用地线平面,连接线尽可能短。

如果使用开关电源,则开关电源要远离模拟器件。

3)电路板的布线要确保数字信号和模拟信号分开,模拟线和数字线特别是时钟信号线不能相互平行,也不能在TLC2543芯片下面布数字信号线。

3.TLC2543驱动程序

4.6.2D/A转换电路设计

1.TLV5636

TLV5636是TI公司生产的内置基准电源的串行12位电压输出型高速D/A转换器。

内置的4线串行接口,串行接口时钟频率最高可达20MHz,输出刷新频率可达1.25MHz。

其输出建立时间可缩短至1μs。

电源电压范围为2.7V~5.5V。

封装形式有SOIC-8和MSOP-8两种。

其引脚如图4.6.3所示。

图4.6.3TLV5636引脚图

产品特性

●12位电压输出型DAC

●可编程

●可编程建立时间:

快速模式1μs,慢速模式3.5μs

●与TMS320和SPITM串口兼容

●微分非线性...<0.5LSBTyp

●与温度成线性关系

表4.6.2TLV5636引脚功能表

序号

名称

功能

1

DIN

串行数据输入

2

SCLK

串行时钟输入

3

/CS

片选,低电平有效

4

FS

帧起始输入

5

AGND

电源地

6

REF

基准输入/输出

7

OUT

转换输出

8

VDD

电源

2.TLV5636接线图

TLV5636与微控制器或其他数字系统采用3线制同步串行接口通信。

图4.6.4TLV5636典型应用电路图

3.TLV5636驱动程序

参考驱动程序

4.7串行通信

串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。

只需要少数几条线就可以实现在系统间交换信息,特别使用于计算机与计算机、计算机与外设之间的远距离通信。

在比赛中,经常使用单片机的串行通信接口完成单片机与PC机之间的数据传输,以查看系统运行过程数据。

目前,RS-232、RS-422与RS-485标准等串行通信技术应用很广,如录像机、计算机以及许多工业控制设备上都配备有RS-232串行通信接口。

本节以RS-232串行通信标准进行介绍。

在硬件电路方面,计算机的串行口是RS-232电平的,而单片机的串口是TTL电平的。

因此,必须通过电路实现TTL电平和RS-232电平的转换。

常用的电平转换集成电路是MAX232或者与它兼容转换芯片。

单片机与计算机进行串行通信的硬件连接如图4.6.5所示。

图4.6.5单片机串口与计算机串口典型线路图

在软件程序设计方面,包括上位机程序设计和单片机程序设计两部分。

上位机程序可以直接使用现成的串口调试助手软件。

也可以使用VisualC++等可视化程序开发环境自行设计图4.6.6所示为“串口调试助手”的程序界面。

图4.6.6串口调试助手

MCS-51单片机串行口编程要点:

(1)设置串口的工作方式

设置SCON寄存器的内容。

若要串口接收,需将其中的REN位置1。

(2)设置正确的波特率

使用定时器作为波特率发生器时,需要设置定时器的工作方式和时间常数,即,设定TMOD和THX、TLX寄存器的内容;启动定时器,置位TRX。

(X=0,或1)。

(3)设置串口的中断优先级,设置PS,或取默认值。

(4)设置相应的中断控制位,ES和EA。

(5)如要串口发送,将数据送入SBUF。

(6)编制串行中断服务程序,在中断服务程序中要有清除中断标志指令,将TI和RI清零。

假设,单片机的系统时钟为11.0592MHz,通信参数为“9600,n,8,1”(表示波特率为9600bit/s,8个数据位,1个停止位,没有奇偶校验)。

在计算机上显示从单片机发送过来的数据。

编写的控制程序如下。

#include"reg51.h"//包含8051单片机寄存器定义文件

unsignedcharADDRT[10]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08} ;//传输的数据

unsignedcharnum=0 ;//传输数据个数

voidmain(void)

{

SCON=0x40;//8位可变波特率,无奇偶校验位,不允许接收

TMOD=0x20;//定时器T1工作方式2

TH1=0xFD;//产生9600bps的时间常数

TL1=0xFD;

ES=0x01;//允许串口中断

EA=1;//CPU开中断

SBUF=ADDRT[0];//串口发送数据0x01

while

(1);//主循环

}

voidSerial_ISR(void)interrupt4

{

TI=0;//清中断标志

num++;//传输数据个数变量增1

if(num==8)//判断数据传输个数

ES=0;//禁止串行中断

SBUF=ADDRT[num];//串口发送下一个数据

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1