本章学习目标 : 了解单片机测控系统中接口元件的作用 了解 d/a 转换器与...
DESCRIPTION
第 7 章 80C51 的测控技术. 本章学习目标 : 了解单片机测控系统中接口元件的作用 了解 D/A 转换器与 80C51 的连接方法,能读懂教材中的控制实例。 掌握 A/D 转换器与 80C51 的连接方法,能编写与教材同等难度的应用程序。 了解直流电机控制芯片 TA7257P 的应用 理解步进电机的工作原理、励磁方式,能用其实现简单控制. 模拟信号:如被控对象的温度、压力等. {. 为什么要研究单片机测控系统?. 单片机的输入信号. 开关信号 : 如指拨开关和按键开关. {. 模拟设备 : 电动调节阀、模拟记录仪. 单片机的驱动控制设备. - PowerPoint PPT PresentationTRANSCRIPT
本章学习目标 :了解单片机测控系统中接口元件的作用了解 D/A 转换器与 80C51 的连接方法,能读懂教材中的控制实例。掌握 A/D 转换器与 80C51 的连接方法,能编写与教材同等难度的应用程序。了解直流电机控制芯片 TA7257P 的应用理解步进电机的工作原理、励磁方式,能用其实现简单控制
第 7 章 80C51 的测控技术
单片机用于智能仪表和测控系统时,要与各种各样的外界信号打交道:
单片机的驱动控制设备{模拟设备 : 电动调节阀、模拟记录仪
数字设备 : 数字显示仪表、继电器触点
由于单片机的输入和输出信号只能是数字量,因此在由单片机构成的测控系统中经常要用到模 / 数转换和数 / 模转换接口。单片机和被控对象间的接口示意图如图 7-1 所示。
{模拟信号:如被控对象的温度、压力等
开关信号 : 如指拨开关和按键开关 单片机的输入信号
为什么要研究单片机测控系统?
7.1 数 / 模转换接口
数 / 模转换接口的任务:将数字信号转换成与其量值成正比的电流信号或电压信号(即模拟信号)。 数 / 模转换接口的作用:相当于一个实现二进制数到十进制数转换,并将转换结果以电流或电压形式输出的物理器件。 数 / 模转换接口常接在单片机的输出端与执行设备(如电磁阀)之间。常用的数 / 模转换接口芯片有 DAC0832
( TTL 8 位)、 AD7524 ( CMOS 8 位)和 DAC1208
( 12 位)等。 下面以 DAC0832 为例说明数 / 模转换接口的使用。
7.1.1 DAC0832 的结构1. DAC0832 的内部结构
DAC0832 是美国国家半导体公司生产的 8 位电流输出型 D
/A 转换器,是 DAC0830 系列产品中的一种。它的主要技术指标是:分辨率为 8 位,转换速度约 1μs ,单一电源 (+5 ~ +15
V) 供电,参考电压为 +10 ~ -10V 等。
DAC0832 的内部结构如图 7-2 所示,它含有: 1 个 8 位数据输入寄存器: 8 位输入数据暂存 1 个 8 位 DAC 寄存器:与 8 位数据输入寄存器构成两级缓冲,
使芯片功能更灵活。 1 个 8 位 D/A 转换器:实现 D/A 转换。
7.1.2 DAC0832 与 80C51 的接口与编程1 . DAC0832 与 80C51 的接口 DAC0832 内部具有两级 8 位寄存器,通过与 80C51
的适当连接可以构成直通、单缓冲、双缓冲三种工作方式。下面以单缓冲方式为例说明其接口形式。电路如图。
在单缓冲方式下, 80C51 的 P2.7 与 DAC0832 的和数据传送控制信号线相连,这样,当地址线 P2.7 选通 D
AC0832 后,只要输出信号, DAC0832 就能进一步完成数字量的输入锁存和 D/A 转换输出功能。在上图中,由于地址线 P2.7=0 时选通 DAC0832 ,所以 DAC0832 的接口地址为 7FFFH 。
注意: DAC0832 的转换输出量为电流,而在实际应用中,作为输出控制的信号大多为模拟电压,如直流电机、线性电磁阀等,因此还需要将电流信号转换为电压信号。图中采用 LM747 作反向电压输出。
2 . DAC0832 的编程
DAC0832的编程比较容易,只要向 80C51提供芯片地址,并进行一次简单的数据读写操作即可。
例 1 电路如图 7- 4,试编程实现一次 DAC0832的数据转换,设拟转换数据为 #DATA。
参考程序如下: MOV DPTR, #7FFFH ;指向 DAC0832的单元地址 MOV A, #DATA “;转换数据 DATA”装入 A
MOVX @DPTR, A ;转换数据送往 DAC0832 ,并使 ; =0 ,完成一次转换WR
7.1.3 课题与实训 15 DAC0832 构成波形发生器
一 . 实训目的 1 .学习 8 位 D/A 转换器 DAC0832 的使用方法 2 .掌握 8 位 D/A 转换器 DAC0832 与单片机的接口技术
及编程方法
二 . 课题要求 用一片 DAC0832 和必要的外围器件与 80C51 接口,设计
一个简易波形发生器,要求能输出三种波形:方波、锯齿波、梯形波。请编写相应程序。
256
VBV REF
OUT
256
V)B128(V REF
OUT
三.背景知识 1. DAC0832的输出电压 DAC0832有两种输出形式:单极性输出和双极性输出。在图 7-4中, DAC0832采用单极性输出形式。其输出电压为:
在该实训中, DAC0832以双极性形式输出,电路如图 7-5。此时输出电压为:
式中 B为输入数字量,其范围为 0~ 255, VREF为参考电压。
方波 单片机连续 255 次输出数字量 0 ,然后再连续 255
次输出数字量 255 。如此重复, 0832 即可输出连续方波。 锯齿波 单片机从输出数字量 0 开始,逐次加 1 直到 255;
然后再从 0 开始,如此重复, 0832 即可输出锯齿波。 梯形波 单片机从输出数字量 0 开始,逐次加 1 直到 255 ,
并保持 255 次,然后从输出 255逐次减 1 直至为 0 。如此重复, 0832 即可输出连续梯形波。
2 .波形产生原理
五.软件设计1 .输出连续方波:参考程序如下: ORG 0000H
AJMP MAIN
ORG 0100H
MAIN : MOV DPTR , #7FFFH ; 指向 0832
LOOP : MOV A , #0
MOV R7 , #255 ;循环次数初始化 MOVX @DPTR , A ; 向 DAC 送方波最小值 0
DJNZ R7 , $ ;循环 255 次,形成方波 ;的低电平
MOV A , #255 ; 将方波最大值 255 送到 A
MOV R7 , #255 ;重置循环次数 MOVX @DPTR , A ; 向 DAC 送 255 , D/A 输出为高 DJNZ R7 , $ ;循环 255 次,形成方波的高电平
AJMP LOOP ;重复上述过程,形成连续方波END
2 .输出连续锯齿波:参考程序如下: ORG 0000H
AJMP MAIN
ORG 0100H
MAIN : MOV DPTR , #7FFFH ; 指向 0832
LOOP : MOV A , #0
LOOP 1 : MOVX @DPTR , A; 向 DAC 送锯齿波最小值0
INC A ;加 1
CJNE A , #255 , LOOP 1;循环 256 次,形成 ;锯齿波的上升沿
END
3 .输出连续梯形波参考程序如下: ORG 0000H
AJMP MAIN
ORG 0100H
MAIN : MOV DPTR , #7FFFH ; 指向 0832
LOOP : MOV A , #0
LOOP 1 : MOVX @DPTR , A ; 向 DAC 送梯形波最小值0
INC A
CJNE A , #255 , LOOP 1 ;循环 255 次,形成 ;梯形波的上升沿
MOV A , #255 ; 将梯形波的高度数值 255
;送 A ,此 255 表示梯形波的高
MOV R2 , #255 ; 255 为形成梯形波上底需 ;要循环的次数LOOP 2 : MOVX @DPTR , A; 向 DAC 送 255 , D/A 输出为高 DJNZ R2 , LOOP 2 ;循环 255 次,形成梯形 ;波的上底LOOP 3 : MOVX @DPTR , A ; DAC 输出
DEC A
CJNE A , #0 , LOOP 3 ;循环 256 次,形成 ;梯形波的下降沿
LJMP LOOP;重复上述过程,形成多个梯形波 END
六.总结与提高 在上述三组程序设计中,通过 DAC0832 输出端输出的波形均为直线型的波形,没有考虑波形频率。如果改变程序可以使 DAC0832 输出满足频率要求的各种曲线。 仍采用该实训电路,请编程输出图 7-6 所示的 1ms
阶梯波。
图 7-6 1ms阶梯波形图
7.2 模 / 数转换接口 模 / 数转换接口的任务:将模拟信号转换成数字信号,它常与单片机的输入端相连。 常用的模 / 数转换接口芯片有 ADC0809 ( 8 位)、 A
DC0804 ( 8 位)和 AD574 ( 12 位)等。 7.2.1 ADC0809 的结构 1 . ADC0809 的内部结构 ADC0809 的内部结构如图 7-7 所示。
ADC0809包含: 8 路模拟量选择开关:根据地址锁存与译码装置提供的地址从 8 个输入的 0 ~ 5V 的模拟量中选择一个输出。 8 位 A/D 转换器:能对选择出来的模拟量进行 A/D 转换 3 位地址码的锁存与译码装置:对输入的 3 位地址码进行锁存和译码,并将地址选择结果送给 8 路模拟量选择开关。 三态输出的锁存缓冲器: TTL 结构,负责输出转换的最终结果。此结果可直接连到单片机的数据总线上。
2 . ADC0809 的引脚功能 IN0 ~ IN7 : 8 个模拟量的输入端。 D0 ~ D7 : 8 位数字量输出端。 START :启动 A/D 转换,加正脉冲后 A
/D 转换开始。 EOC :转换结束信号,转换开始时 EOC
信号变低;转换结束时 EOC 信号返回高电平。
图 7-8 ADC0809 的引脚
该信号可以作为 CPU查询 A/D 转换是否完成的信号,也可以作为向 CPU 发出中断申
请的信号。
OE :输出允许信号,输入高电平有效。 OE 端的电平由低变高时转换结果被送到数据线上。
此信号有效时, CPU 可以从 ADC0809
中读取数据,同时也可以作为 ADC0809
的片选信号。
CLK :实时时钟,频率范围 10 ~ 1
280KHz ,典型值为 640KHz 。 ALE :通道地址锁存允许信号,输入高电平有效。 ADDA ~ ADDC :通道地址选择输入,其排列顺序从低到高依次为 ADDA 、ADDB 、 ADDC 。 VREF+、 VREF-:正负参考电压。一般情况下, VREF+接 +5V ,VREF-接地。 VCC 、 GND :工作电源和地 图 7-8 ADC0809 的引脚
在 ALE=1 时,锁存 ADDA ~ ADDC ,选中模
拟量输入。
该地址与 8 个模拟量输入通道的对应关系见表7- 2。
转换关系见表7- 1
输入模拟电压( V ) 输出数字量 0 0000 0000B
… …
2.5 1000 0000B
… …
5 1111 1111B
表 7-1 ADC0809 的输入输出关系
注:此表在 VREF+ =+5V , VREF- =0情况下
7 . 2 . 2 ADC0809 与 80C51 的接口
ADC0809 与 80C51 的接口要满足 ADC0809 转换时序的要求,电路如图 7-9 所示。
图 7-9 ADC0809 与 80C51 的接口
( 1 )地址线与数据线的连接 ADC0809 的内部输出电路有三态缓冲器,所以其 8 位输出
数据线可以直接和 80C51 的 P0 口相连。它的通道地址选择信号 ADDA ~ ADDC均经过 74LS373 锁存,与 80C51 的 P
0 口中的任意三根 I/O 口线相连接(图中与 P0.0 、 P0.1 、 P
0.2 相连)。( 2 )时钟信号的连接 ADC0809 必须外接时钟。此电路中借用 80C51 的 ALE 输出。( 3 )控制信号的连接 由于 ADC0809 的 ALE 和 START均为正脉冲,而且基本同
步,所以可由 80C51 的 P2.0 和 或非而成。同理, OE 信号也可以由 80C51 的 P2.0 和 或非而成。 EOC 信号经非门与80C51 的 相接,可申请中断。
若 80C51晶振频率太高,则需对 ALE 输出脉冲进行分频。如晶振采用 12MHz 时, ALE频率为 2MHz ,经 4 分频
后为 500KHz ,才能与 ADC0809 的 CLK 时钟端相连。
RD
WR
INT1
7.2.3 ADC0809 的应用指导1 . ADC0809 转换结束的判断方法 软件延时法 指用软件延时等待一次 A/D 转换结束。延时时间取决于通过计算和调试而获得的 ADC 完成一次转换所需要的时间。 中断法 利用 EOC 作为向 80C51申请中断的信号。在主程序中启动 A/D 转换,再继续执行主程序。在中断服务程序中读取转换结果。 查询法 将 EOC 接至 80C51 的某端口 I/O 口线。启动 A/D 转换后,利用查询该 I/O 口线引脚电平是否为 0 的方法读取转换结果。
2 . ADC0809 的编程方法 ⑴初始化 用来设置 ADC0809 的 IN0 ~ IN7 通道地址;设置存放转换结果的首单元地址和通道数。 ⑵启动 ADC0809
先送通道号地址到 ADDA ~ ADDC ,由 ALE 锁存通道号地址;再让 START 有效启动 A/D 转换,即执行一条“MOVX
@DPTR,A” 指令产生信号,使 ALE 、 START 有效,锁存通道号并启动 A/D 转换。 ⑶判断 A/D 转换是否结束 ⑷读转换结果A/D 转换完成后, EOC 端会发出一个正脉冲,接着执行“M
OVX A , @DPTR” 指令产生 信号,使 OE 端有效,打开锁存器三态门, 8 位数据就读入到单片机中。
RD
7.2.4 ADC0809 的应用实例 根据图 7-9 的电路,采用软件延时方法,将 8 路模拟信号轮流采集一次,并依次将转换后的结果存放到 80C51 内部从 3
0H 开始的单元中。从上图所示的电路可知, IN0 ~ IN7 的通道地址为 FEF8H ~ FEFFH 。
参考程序如下: MOV R1 , #30H ;设置存放转换结果首单元指针 MOV DPTR , #0FEF8H ;指向通道 0
MOV R7 , #08H ;设置通道数LOOP : MOVX @DPTR, A ;启动 A/D 转换 MOV R5,#10 ;软件延时,等待 A/D 转换结束DELAY : NOP
NOP
NOP
DJNZ R5 , DELAY
MOVX A , @DPTR ;读取转换结果 MOV @R1 , A ;存放转换结果 INC DPTR ;指向下一个通道 INC R1 ;修改存储单元指针 DJNZ R7 , LOOP ; 8 个通道未采集完,继续 RET
☆7.2.5串行 A/D 转换芯片 TLC1549
单片机测控系统需要进行 A/D 转换时,有两种选择: 选用自身具有 A/D 转换功能的单片机,如 PIC 单片机。 扩展 A/D 转换芯片。 除 ADC0809 等常用的并行 A/D 转换芯片外,还有串行A/D 转换芯片,如 TLC1549 。图 7-10 TLC1549 的引脚功能 TLC1549 是美国 TI 公司生产的 10 位模数转换器。它采用 CMOS 工艺,具有内在的采样和保持,采用差分基准电压高阻输入、抗干扰,可按比例量程校准转换范围,总不可调整误差达到( ± ) 1LSB Max(4.8mv) 等特点,而且芯片体积小巧。
1 .引脚功能 :片选,低电平有效。 ANALOG IN :模拟信号输入端,要求驱动电流必须大于 10mA 。 I/O CLOCK : I/O 时钟,下跳沿输出数据,最大频率可达 2.1MHz 。 DATA OUT :转换后的数字信号输出, =1 时,呈现高阻; =0 时,在时钟作用下将数据由高到低依次输出。 REF+ :参考电源高端,通常接 +VCC 。 REF— :参考电源低端,通常接 GND 。 VCC :正电源( 4.5V≤ VCC≤5.5V )
7-10 TLC1549 的引脚功能
CS
CS
CS
2 .工作方式 TLC1549 有 6 种工作方式,见表 7-3 。其中方式 1 和方式 3属于同一种类型;方式 2 和方式 4属于同一种类型。如果不考虑 I/O CLOCK周期的大小,方式 3 与方式 5 相同,方式 4 与方式 6 相同。 表 7-3 TLC1549 的 6 种工作方式
CS
CS
CS
CS工作方式 状态 I/O时钟个数 DATA OUT输出MSB时刻
快速方式
方式 1 转换周期之间为高电平 10 下降沿
方式 2 持续低电平 10 21μs以内
方式 3 转换周期之间为高电平 11~16 下降沿
方式 4 持续低电平 16 21μs以内
慢速方式方式 5 转换周期之间为高电平 11~16 下降沿
方式 6 持续低电平 16 第 16个时钟的下降沿
一般情况下, I/O CLOCK 的时钟频率大于280KHz 时,芯片工作于快速方式;
一般情况下, I/O CLOCK 的时钟频率小于 280KHz 时,芯片工作于慢速方式。
方式 1 为经典工作方式。其工作原理为: 在芯片选择 无效情况下, I/O CLOCK 被禁止且 DATA OUT处于高阻状态。 当串行接口把 拉至有效时,转换时序开始允许 I/O CLOCK 工作并使 DATA OUT脱离高阻状态: 由 80C51 单片机产生 10 个时钟序列提供给 TLC1549 的I/O CLOCK 引脚;在 的下降沿时刻,前次转换的 MSB 出现在 DATA OUT 引脚,单片机从 DATA OUT 接收前次转换结果。如果连续进行 A/D 转换, TLC1549 能在前次转换结果输出的过程中,同时完成本次转换的采样。
CS
CS
CS
2 . TLC1549 与 80C51 的接口 TLC1549 采用串行输出的方式,体积小巧,方便灵活,与单片机的接口也简单,电路如图 7-12 所示。
图 7- 12 TLC1549 与 80C51 的接口示意图
3 .软件设计入口参数:使用累加器 A ,进位标志 CY 及工作寄存器 R7;出口参数: 20H 单元存放转换结果的低 8 位, 21H 单元存放转换结果的高 2 位。 ADCCON : MOV 20H , #00H
MOV 21H , #00H ;结果单元清零
MOV R7 , #0AH ; A/D 转换位数标志
CLR P1.4 ;选通 TLC1549
LOOP1 : MOV C , P1.0 ;读转换结果送至CY
MOV A , 20H ;转换结果移至结果单元 RLC A
MOV 20H , A
MOV A , 21H
RLC A
MOV 21H,A
SETB P1.2 ;形成移位脉冲 CLR P1.2
DJNZ R7 , LOOP1 ;转换结束否? SETB P1.4 ; TLC1549复位并进行一
;次转换 RET ;上述程序执行时间约 120μs
7.2.6 课题与实训 16 简易数字电压表一 . 实训目的 1 .了解 A/D 转换器 ADC0809 的基本性能 2 .掌握 ADC0809 与单片机的接口方法及编程方法 3 .通过实训了解单片机的数据采集过程二 . 课题要求 用一片 ADC0809 和必要的外围器件与 AT89C51 接口,设计一个简易数字电压表,要求能对 IN0 输入的模拟电压进行识别,将其转换成相应的二进制数以发光二极管的形式显示;用万用表测量 IN0 输入的模拟电压值,并与转换结果相对比,计算测量误差。请编写相应程序。
三. 背景知识1 . A/D 转换的种类 计数型:速度慢、价格低 逐次逼近型:分辨率、速度、价格适中 双积分型:分辨率高、抗干扰性强、价格低、速度较慢 高速 A/D 转换器2 . ADC0809 的性能特点 是逐次逼近型 8 通道 8 位 A/D 转换 CMOS 器件。转换电压为正负 5V ,转换时间 100微秒,功耗 15mW ,具有锁存的三态输出,与 TTL 电平兼容,便于与微机接口。3 . ADC0809 与单片机的联系方式 可采用延时等待、软件查询和硬件中断方式。
五.软件设计利用中断方式,参考程序如下: ORG 0000H
LJMP START
ORG 0013H
LJMP INT_1
ORG 0100H
START: MOV R7,#00H ;读数标志初始化 MOV DPTR,# 0FEF8H; P2.0=0 ,指向 IN0
SETB IT1;低电平触发 SETB EA
SETB EX1 ;INT1 允许 A_D: MOV R0,#00H ; 通道数
MOV A,R0
MOVX @DPTR,A ;启动 A/D
CJNE R7,#00H,$ ; 等待 A/D 转换结束 MOV A,B
MOV P1,A ; 数据输出 MOV R7,#0FFH ;清读数标志 SJMP A_D
INT_1:
MOVX A,@DPTR ;读 A/D 数据 MOV B,A
MOV R7,#00H ;置读数标志 RETI
END
六.总结与提高 在上述程序设计中,我们采用中断的方式,只对IN0 的模拟电压值进行测量显示,实际上,我们可以同时对 8 路模拟电压值进行测量。仍采用该实训电路,请编程实现该功能,将 IN0 ~ IN7 的数字电压值存放在内 RAM30H 开始的 8 个单元。
7.3 电动机控制 ☆7.3.1 直流电动机控制芯片—— TA7257P
1 . TA7257P 的功能特性: TA7257P 为全桥式结构的直流电动机旋转控制器,具有正转、反转、停止及刹车功能。 操作电压范围 6V ~ 18V 。 输出平均电流可达 1.5A ,峰值电流可达 4.5A 。 内部设计有电流过载保护装置和过热保护电路。 工作电路电压引脚与电动机电源电压引脚相对独立,故可用于伺服控制。 TA7257P 适合工业上的应用,如磁带盘、影片盘等机械运转装置的控制。
3 . TA7257P 的工作模式确定 TA7257P 的 4 种工作模式由两个输入信号的状态组合决定,见表 7- 4 。 表 7-4 TA7257P 的 4 种工作模式
工作模式 IN1 IN2 OUT1 OUT2
刹车 1 1 L L
正转 /反转 0 1 L H
反转 / 正转 1 0 H L
停止 0 0 高阻抗
4 .应用电路 图 7-15 为实际应用电路,说明如下: R 、 C 的数值由电动机固有的常数及电路寄生值决定,正常使用时 R=33Ω , C=0.1μF 。 如刹车太松,可在输出端与 GND 之间连接二极管,如 D
1 、 D2 。 若输出端反电动势太强,可能导致芯片内部的二极管烧毁,可在输出端与 VCC 之间外加二极管,如 D3 、 D4 。
5 .控制实例 利用图 7-15 ,控制直流电机使其从正转到反转,然后停止。参考程序如下: IN1 BIT P2.0 ;输入引脚 1 的位地址 P2.0
IN2 BIT P2.1 ;输入引脚 2 的位地址 P2.1
TIME EQU 50H ; TIME 使用内部 50H 的地址,用来 ;存放调用 DELAY 的次数 ORG 0000H
AJMP MAIN
ORG 0100HMAIN : MOV SP,#60H
MOV TIME , #300 ;调用 DELAY子程序 300 次
MOV P2 , #00H
CLR IN1
SETB IN2
FW : LCALL DELAY ;令电机正向转动 300 次 DELA
Y
;子程序的时间 DJNZ TIME, FW
MOV TIME , #300
SETB IN1
CLR IN2
FAN : LCALL DELAY ;令电机反向转动 300 次 DEL
AY
;子程序的时间 DJNZ TIME , FAN
STOP : CLR IN1 ;令电机停转 CLR IN2
AJMP $
DELAY : MOV R3, #00H
DD : MOV R4 , #00H
DJNZ R4 , $
DJNZ R3 , DD
RET
END
7.3.2 步进电机及其控制1. 步进电动机:一种将电脉冲转换成相应角位移或线位移
的电磁机械装置。
2. 步进电动机的特点:
具有快速启停能力,在电动机的负荷不超过它能提供的动态转矩时,可以通过输入脉冲来控制它在一瞬间启动或停止。
步进电动机的步距角和转速只和输入的脉冲频率有关,和环境温度、气压、振动无关,也不受电网电压的波动和负载变化的影响。
3. 应用场合:步进电动机多应用在需要精确定位的场合。
1 .步进电动机的工作原理 步进电动机有三线式、五线式和六线式,其控制方式均相同。都要以脉冲信号电流来驱动。
假设每旋转一圈需要 200 个脉冲信号来励磁→每个励磁信号能使步进电动机前进 1.8° ,其旋转角度与脉冲的个数成正比。 步进电动机的正、反转由励磁脉冲产生的顺序来控制。
步进电动机的控制等效电路如图 7-16 所示。它有 4条励磁信号引线 A 、、 B 、,通过控制这 4条引线上励磁脉冲产生的时刻,即可控制步进电机的转动。每出现一个脉冲信号,步进电机只走一步。因此,只要依序不断送出脉冲信号,步进电机就能实现连续转动。
图 7-16 步进电动机的控制等效电路
2 .步进电动机的励磁方式 步进电动机的励磁方式分为全步励磁和半步励磁两种。
其中全步励磁又有 1 相励磁和 2 相励磁之分;半步励磁又称 1-2 相励磁。简要介绍如下:
( 1 ) 1 相励磁: 励磁控制 在每一瞬间,步进电动机只有一个线圈导通。每送一个励磁信号,步进电动机能旋转 1.8° 。这是 3 种励磁方式中最简单的一种。
特点 精确度好、消耗电力小,但输出转矩最小,振动较大。如果以该方式控制步进电动机正转,对应的励磁顺序见表 7-
5 。若励磁信号反向传送,则步进电动机反转。
A BSTEP A B
1 1 0 0 0
2 0 1 0 0
3 0 0 1 0
4 0 0 0 1
表 7-5 1 相励磁顺序
励磁顺序说明:
( 2 ) 2 相励磁 励磁控制 在每一瞬间,步进电动机有 2 个线圈同时导通。每送一
个励磁信号,步进电动机能旋转 1.8° 。 特点 输出转矩大,振动小。因而成为目前使用最多的励磁方
式。如果以该方式控制步进电动机正转,对应的励磁顺序见表 7- 6 。若励磁信号反向传送,则步进电动机反转。
A BSTEP A B
1 1 1 0 0
2 0 1 1 0
3 0 0 1 1
4 1 0 0 1
励磁顺序说明:
( 3 ) 1-2 相励磁 励磁控制 为 1 相励磁与 2 相励磁交替导通的方式。每送一个励磁
信号,步进电动机能旋转 0.9° 。 特点 分辨率高,运转平滑,故应用也很广泛。如果以该方式控
制步进电动机正转,对应的励磁顺序见表 7-7 。若励磁信号反向传送,则步进电动机反转。
A BSTEP A B
1 1 0 0 0
2 1 1 0 0
3 0 1 0 0
4 0 1 1 0
5 0 0 1 0
6 0 0 1 1
7 0 0 0 1
8 1 0 0 1
表 7-7 1-2 相励磁顺序
励磁顺序说明:
3 .步进电动机的驱动 80C51每一位 I/O 口所能提供的驱动电流太小,无法直接驱动步进电动机,必须要加驱动电路。(1) 三极管驱动 最简单的驱动电路是在每一位 I/O 口加一只 NPN晶体管来放大。此方法只能用于步进电动机没有外加负载的情况下。见图 7-17 。由于步进电动机属于电感性的负载 ,因而在该电路中,与步进电动机绕组并联了一只保护二极管,以防止电机停转时出现的自感电动势烧坏 NPN晶体管。
图 7-17 简易步进电动机驱动
( 2 )集成电路驱动 也可以采用专用集成电路芯片驱动步进电动机,典型的驱动 IC 如 FT5754 。 FT5754 是步进电动机专用驱动芯片,内含 4组 NPN
达林顿晶体管,保证步进电动机有足够的驱动电流。图 7-1
8 是 FT5754 的外观引脚和内部结构,各输入引脚 B 要保证有 3mA 的输入电流,才能使 C-E 导通。每个输出能承受最大为 3A 的电流,非常适合来驱动步进电动机。
图 7-19 为 FT5754 驱动步进电动机电路。由于 FT5754
需要 3mA 以上的输入电流,因而在 FT5754 与单片机之间需要用缓冲器来推动,可选用的器件有 4050 、 74LS244 等。
图 7-19 FT5754 驱动步进电动机电路
4 .控制实例 利用图 7-19 ,采用 1 相励磁法控制步进电机正向转动180° 后停止。 程序编写说明: 由于步进电机的负载转矩与速度成反比,速度越快,负载转矩越小,当速度快至极限时,步进电机即不再旋转。所以,每走一步,程序必须 DELAY 一段时间。 参考程序如下: ORG 0000H
AJMP MAIN
ORG 0100H
MAIN : MOV SP,#60H
MOV A,#10001000B
MOV R5,#100 ; R5 存放送出的脉冲个数, ;电机共旋转 1.8°×100=180°
FW : RL A
MOV P1, A
LCALL DELAY ;调用延时子程序,根据延时长 ;短,可以控制电动机的转速 DJNZ R5, FW ;若 R5 为 0 ,表示已送出 100
个 ;脉冲,电机停转;否则,再送下一个脉冲 AJMP $
DELAY : MOV R3, #00H
DD : MOV R4 , #00H
DJNZ R4 , $
DJNZ R3 , DD
RET
END
<想一想 > 如果实现反转 180° ,程序该如何修改 ?
利用软件延时的方法确定各相电源的通电时间达到控制步进电动机正转、反转、启动和停止。这种方法需要占用大量的 CPU 时间,降低了它的效率。如果采用利用单片机内部定时 / 计数器的功能编制程序,则可以大大提高 CPU 的工作效率。
本章小结 单片机常用于构成工业测控系统。因此,它往往要接收来自传感器的信号(多为模拟量),并输出控制信号(数字量)去控制被控对象,这时就要用到 A/D 和 D/A 转换。 A/D 转换的任务是将模拟量转换成数字量输出,便于单片机对信号的处理。常用的并行 A/D 转换芯片有 ADC0804 、 ADC0
809 、 AD574 等;常用的串行 A/D 转换芯片如 TLC1549 。 D
/A 转换的任务是将数字量转换成模拟量输出,便于驱动和控制执行设备。典型的 D/A 转换芯片是 DAC0832 。 在大规模集成电路技术迅速发展的今天,设计人员在进行系统设计时,最主要的是合理选用商品化的 A/D 和 D/A 转换芯片,了解他们的性能以及与单片机的接口方法。这也是本章的教学重点之一。
思考题与习题1. 单片机测控系统为什么常需要进行 A/D 和 D/A 转换?它们的含义是什么?
2.典型的 D/A 转换器 DAC0832 由哪几部分组成?各部分的作用是什么?
3.D/A 转换器有哪些主要技术指标?4.试设计 80C51 与 DAC0832 的接口电路,要求 DAC083
2 的接口地址为 0FFFEH 。5. 对上一问题编制程序,输出图 7-20 所示波形。
6.ADC0809 主要由哪几部分组成?各部分有何作用?
7.试设计 80C51 与 ADC0809 的接口电路,并写出教材 7.2.2 接口电路对应的 INO ~ IN7 的地址。8. 如果要求 ADC0809 的接口地址是 0EFF8H ~ 0EFFFH ,接口电路如何设计?9. 参照教材 7.2.2 接口电路和 7.2.6 简易电压表硬件电路,尝试设计一位数字电压表功能电路。要求: ADC0809 的接口地址是 7FF8H ~ 7FFFH ,从 INO ~ IN7 采集的 8 路模拟信号能通过 80C51 单片机 P1 口外接的 1 个数码管进行显示。10. 设计习题 9 的软件。11.TA7257P 有哪几种工作模式?它如何与单片机和直流电机连接?12. 步进电机有哪几种工作方式?简述其特点。13.仍采用图 7-19 控制电路,试编程实现用 1 相励磁法控制步进电机正转 360° 。