计算机控制技术基础实验

更新时间:2024-06-07 15:56:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第三章 计算机控制技术基础实验

实验一 A/D与D/A转换

一、实验目的

1.通过实验了解实验系统的结构与使用方法;

2.通过实验了解模拟量通道中模数转换与数模转换的实现方法。 二、实验设备

1.THBCC-1型 信号与系统?控制理论及计算机控制技术实验平台

2.THBXD数据采集卡一块(含37芯通信线、16芯排线和USB电缆线各1根) 3.PC机1台(含软件“THBCC-1”) 三、实验内容

1.输入一定值的电压,测取模数转换的特性,并分析之; 2.在上位机输入一十进制代码,完成通道的数模转换实验。 四、实验步骤

1. 启动实验台的“电源总开关”,打开±5、±15V电源。将“阶跃信号发生器”单元输出端连接到“数据采集接口单元“的“AD1”通道,同时将采集接口单元的“DA1”输出端连接到接口单元的“AD2”输入端;

2、将“阶跃信号发生器”的输入电压调节为1V;

3. 启动计算机,在桌面双击图标“THBCC-1”软件,在打开的软件界面上点击“开始采集”按钮;

4. 点击软件“系统”菜单下的“AD/DA实验”,在AD/DA实验界面上点击“开始”按钮,观测采集卡上AD转换器的转换结果,在输入电压为1V(可以使用面板上的直流数字电压表进行测量)时应为00001100011101(共14位,其中后几位将处于实时刷新状态)。调节阶跃信号的大小,然后继续观察AD转换器的转换结果,并与理论值(详见本实验附录)进行比较;

5. 根据DA转换器的转换规律(详见本实验附录),在DA部分的编辑框中输入一个十进制数据(如2457,其范围为0~4095),然后虚拟示波器上观测DA转换值的大小;

6 实验结束后,关闭脚本编辑器窗口,退出实验软件。 五、附 录

1.数据采集卡

本实验台采用了THBXD数据采集卡。它是一种基于USB总线的数据采集卡,卡上装有14Bit分辨率的A/D转换器和12Bit分辨率的D/A转换器,其转换器的输入量程均为±10V、输出量程均为±5V。该采集卡为用户提供4路模拟量输入通道和2路模拟量输出通道。其主要特点有:

1) 支持USB1.1协议,真正实现即插即用

2) 400KHz14位A/D转换器,通过率为350K,12位D/A转换器,建立时间10μs 3) 4通道模拟量输入和2通道模拟量输出 4) 8k深度的FIFO保证数据的完整性 5) 8路开关量输入,8路开关量输出 2. AD/DA转换原理

数据采集卡采用“THBXD”USB卡,该卡在进行A/D转换实验时,输入电压与二进制的对应关系为:-10~10V对应为0~16383(A/D转换为14位)。其中0V为8192。其主要数据格式如下表所示(采用双极性模拟输入): 输入 正满度 正满度-1LSB 负满度+1LSB 负满度 AD原始码(二进制) 01 1111 1111 1111 01 1111 1111 1110 10 0000 0000 0001 10 0000 0000 0000 AD原始码(十六进制) 1FFF 1FFE 0000 2001 2000 求补后的码(十进制) 16383 16382 8192 1 0 中间值(零点) 00 0000 0000 0000 而DA转换时的数据转换关系为:-5~5V对应为0~4095(D/A转换为12位),其数据格式(双极性电压输出时)为:

输入 正满度 正满度-1LSB 中间值(零点) 负满度+1LSB 负满度 3.编程实现测试信号的产生

利用上位机的“脚本编程器”可编程实现各种典型信号的产生,如正弦信号,方波信号,斜坡信号,抛物线信号等。其函数表达式分别为:

1) 正弦信号

y?Asin?(t??),T?2) 方波

?Ay???00?t?T1T1?t?TD/A数据编码 1111 1111 1111 1111 1111 1110 1000 0000 0000 0000 0000 0001 0000 0000 0000 2??

3) 斜坡信号

?aty???00?t?T1T1?t?T ,a为常量

4) 抛物线信号

?12?aty??2?0?0?t?T1T1?t?T,a为常量

这里以抛物线信号为例进行编程,其具体程序如下:

dim tx,op,a ‘初始化函数

WriteData 0 ,1 ‘对采集卡的输出端口DA1进行初始

sub Initialize(arg) ‘初始化函数

tx=0 ‘对变量初始化 end sub

sub TakeOneStep (arg) ‘算法运行函数 a=1

op=0.5*a*tx*tx ‘0.1为时间步长 tx=tx+0.1

if op>3 then ‘波形限幅 tx=0 end if

WriteData op ,1 ‘数据从采集卡的DA1端口输出 end sub

sub Finalize (arg) ‘退出函数 WriteData 0 ,1 end sub

通过改变变量tx、a的值可改变抛物线的上升斜率。

其它典型信号的编程请参考“THBCC-1”安装目录下的“计算机控制算法VBS\\基本波形”目录内参考示例程序。

实验二 步进电机转速控制系统

一、实验目的

1.了解步进电机的工作原理;

2.理解步进电机的转速控制方式和调速方法;

3.掌握用VBScript或JScript脚本语言进行开关量的编程。 二、实验设备

1.THBCC-1型 信号与系统?控制理论及计算机控制技术实验平台

2.THBXD数据采集卡一块(含37芯通信线、16芯排线和USB电缆线各1根) 3.PC机1台(含软件“THBCC-1”) 三、实验原理

1.步进电机工作原理简介:

步进电机是一种能将电脉冲信号转换成机械角位移或线位移的执行元件,它实际上是一种单相或多相同步电机。电脉冲信号通过环形脉冲分配器,励磁绕组按照顺序轮流接通直流电源。由于励磁绕组在空间中按一定的规律排列,轮流和直流电源接通后,就会在空间形成一种阶跃变化的旋转磁场,使转子转过一定角度(称为步距角)。在正常运行情况下,电机转过的总角度与输入的脉冲数成正比;电机的转速与输入脉冲频率保持严格的对应关系, 步进电机的旋转同时与相数、分配数、转子齿轮数有关;电机的运动方向由脉冲相序控制。

因为步进电机不需要A/D转换,能够直接将数字脉冲信号转化成为角位移,它被认为是理想的数控执行元件。故广泛应用于数控机床、打印绘图仪等数控设备中。

不过步进电机在控制的精度、速度变化范围、低速性能方面都不如传统的闭环控制的直流伺服电动机。在精度不是需要特别高的场合,可以使用步进电机,以发挥其结构及驱动电路简单、可靠性高和成本低的特点。伴随着不同数字化技术的发展以及步进电机本身技术的

提高,步进电机将会在更多的领域得到应用。

现在比较常用的步进电机有反应式步进电机、永磁式步进电机、混合式步进电机和单相式步进电机等。其中反应式步进电机的转子磁路是由软磁材料制成,定子上有多相励磁绕组,利用磁导的变化产生转矩。现阶段反应式步进电机应用最广泛。

2.步进电机驱动电路原理

步进电机和普通电机的区别主要就在于其脉冲驱动的形式,必须使用专用的步进电机驱动控制器。正是这个特点,步进电机可以和现代的数字控制技术相结合。

图14-1 步进电机系统的驱动框图

如图14-1 所示,它一般有脉冲发生单元、脉冲分配单元、功率驱动单元保护和反馈单元组成。除功率驱动单元以外,其他部分越来越趋向于用软件来实现。

3.软件控制方法(并行控制)

并行控制是指用硬件或软件方法实现脉冲分配器的功能,它输出的多相脉冲信号,经功率

放大后驱动电机的各相绕组,其框图如图14-2所示。

图14-2 步进电机软件控制框图

该实验系统中的脉冲分配器由软件实现的,由数据采集卡中的DO1~DO4作为并行驱动驱动,驱动四相反应式步进电机。 四、实验步骤

1、实验接线

1.1将数据采集卡单元中的DO1~DO4分别接到步进电机单元的A、B、C和D输出端; 1.2打开实验平台的电源总开关。 2、脚本程序运行

2.1启动计算机,在桌面双击图标“THBCC-1”,运行实验软件。 2.2 顺序点击虚拟示波器界面上的“本编程器);

2.3在脚本编辑器窗口的文件菜单下点击“打开”按钮,并在“计算机控制技术应用算法”文件夹下选中“步进控制”脚本程序并打开,阅读、理解该程序,然后点击脚本编辑器窗口的调试菜单下“步长设置”,将脚本算法的运行步长设为100ms;

2.3点击脚本编辑器窗口的调试菜单下“启动”;观察步进电机的运行情况;

”按钮和工具栏上的 “

” 按钮(脚

2.4点击“脚本编辑器”窗口上 “停止”按钮,更改算法的运行步长,并再次运行算法程序,观察步进电机的运行;

2.5 实验结束后,关闭脚本编辑器窗口,退出实验软件。 五、实验报告要求

1.画出步进电机转速控制系统的方框图。 2.根据实验程序编写四相八拍方式的程序。 六、参考程序

dim n ‘变量定义 sub Initialize(arg) SetDO FALSE ,1 SetDO FALSE ,2 SetDO FALSE,3 SetDO FALSE ,4 end sub

sub TakeOneStep (arg) n=n+1 if n=1 then

SetDO TRUE ,1 SetDO TRUE ,2 SetDO FALSE ,3 SetDO FALSE ,4 end if if n=2 then

SetDO FALSE ,1 SetDO TRUE ,2 SetDO TRUE ,3 SetDO FALSE ,4 end if if n=3 then

SetDO FALSE ,1 SetDO FALSE ,2 SetDO TRUE ,3 SetDO TRUE ,4 end if if n=4 then SetDO TRUE ,1 SetDO FALSE ,2 SetDO FALSE,3 SetDO TRUE ,4 n=0 end if

‘初始化函数 ‘算法运行函数 '步进电机的A(DO1) '步进电机的B(DO2) '步进电机的C(DO3) '步进电机的D(DO4)

?T?Tm?TTm?T?Tm?TTm ?1?ek(1?ee(k)?)(1?e)e?TTme(k?1)

k(1?e)5.大林算法控制程序的编写与调试示例

dim pv,sv,ei,eix,op,opx,opxx,opxxx,Ts,Tm,k,n ‘变量定义 sub Initialize(arg) ‘初始化函数 WriteData 0 ,1 opxx=0 opx=0 eix=0 n=0 end sub

sub TakeOneStep (arg) ‘算法运行函数

pv = ReadData(1) ‘采集卡AD1通道的测量值 n=n+1

if n>4 then '滞后时间为:控制步长*n sv=2 ‘给定值 ei=sv-pv

Ts=0.1 ‘采样时间100s Tm=1 k=10

op=exp(-Ts/Tm)*opx+(1-exp(-Ts/Tm))*opxx+(1-exp(-Ts/Tm))*ei/(k*(1-exp(-Ts/Tm)))-(1-exp(-Ts/Tm))*exp(-Ts/Tm)*eix/(k*(1-exp(-Ts/Tm))) opxx=opx opx=op eix=ei

WriteData op ,1 ‘输出值给DA1通道 end if end sub

sub Finalize (arg) ‘退出函数 WriteData 0 ,1 end sub

本文来源:https://www.bwwdw.com/article/sfv6.html

Top