福建农林大学工业控制技术试卷
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
福建农林大学考试试卷( B )卷
20 ——20 学年第学期
课程名称:工业控制技术考试时间120分钟
专业年级班学号姓名
一、填空题:( 每空1分, 总计20分)
1、机电传动系统经历了成组拖动、单电动机拖动和多电动机拖动三个时期。
2和外特性。
3、直流电机的电动势和电机转速、磁通量成正比。
4、PWM调速的占空比值是0 和255 之间。
5、机械特性曲线的类型恒转矩型、离心式通风机型、直线型、恒功率型。
6、矩角特性是静态转矩和失调角的关系。
7、光电编码器是将光电信号转换为数字脉冲信号。
根据其刻度方法和信号输出方式分为增量式和绝对式。
8、直流他励电动机的制动状态分为反馈制动、反接制动和能耗制动三种形式。
二、简答题:( 每小题6分,总计30分)
1.请简述机电传动系统稳定运行的条件。
1)电动机的机械特性曲线n=f(T M)和生产机械的特性曲线n=f(T L)有交点(即
拖动系统的平衡点);
2)当转速大于平衡点所对应的转速时,T M<T L,即若干扰使转速上升,当干扰消
除后应有T M-T L<0。
而当转速小于平衡点所对应的转速时,T M>T L,即若干
扰使转速下降,当干扰消除后应有T M-T L>0。
2.校车“小白”下长坡,最后稳定下来?
当校车下坡时,首先将电动机按下降的方向接电,在重力力矩作用下,转子转速大于同步转速,因此转子导体中感应电势的方向改变了,转子电流的方向也随之改变。
这时电磁转矩方向与转子旋转方向相反,起到反馈制动作用,最终稳定下来。
3.高低压切换型驱动电路的工作原理?
这种电路的特点是高压充电,低压维持。
步进电机的绕组每次通电时,首先接通高压,以保证电流以较快的速度上升;然后改由低压供电,维持绕组中的电流为额定值。
4.负载转矩的折算原则是什么?负载飞轮矩的折算原则是什么?
负载转矩折算的原则是折算前后的功率不变;负载飞轮矩折算的原则是折算前后的动能不变。
5.交流电机的通电方式有哪些?各有什么特性?
三、分析题:( 每小题分,总计10分)
1、图中几种情况下系统的运行状态是加速?减速?还是匀速?(图中箭头方向为转矩的实际作用方向)
T M>T L T M>T L a)
b)
T M=T L T M<T L
L
M
c) d)
a)加速b)减速c)减速d)加速
2、重物下降是利用了恒转矩的方法
3、在步进电机中,定子(励磁)、转子()
4、
5、
四、计算题: (本大题共2小题,总计20分)
1、有台直流他励电动机,其铭牌数据为:PN=5.5kW,UN=Uf=220V,nN=1500r/min,η=0.8,Ra=0.2 Ω。
试求:
①额定转矩TN
②额定电枢电流IaN;
③额定电枢电流时的反电势;
④直接启动时的启动电流;
⑤若使启动电流为三倍的额定电流,则电枢应串人多大的启动电阻?此时启动转矩为多少?
解:1. TN=9.55PN/nN=9.55*5.5*1000/1500=35 N.m
2. IaN=pN/ (ηUN)=31.25A
3.E=UN-IaNRa=220-31.25*0.2=213.75V
4.Ist=UN/Ra=220/0.2=1100A
5.I’st=UN/(Ra+Rad) ≤3IsN
Rad≥UN/3IaN-Ra=220/(3*31.25)-0.2=2.15Ω
T’st=KtφI’st=(9.55E/nN)3IaN=(9.55*213.75/1500)*3*31.25=127.6 N.m
2、一台三相反应式步进电动机,采用三相六拍分配方式,转子有40个齿,脉冲频率为600Hz,求:(考试的时候是五相十拍)
⑴写出一个循环的通电顺序;⑵求步进电动机步距角;⑶求步进电动机转速。
解:⑴脉冲分配方式有两种:
⑵根据,其中K=2,m=3,Z=40.
θb=360°/(40×2×3)=1.5°
⑶根据n= ,其中ƒ=600HZ
n=1.5*600*60/360=150r/min
五、综合题: (本大题共3小题,总计30分)
1、用DS18B20数字温度传感器读取温室内的数据,并在LCD1602显示出来。
(1)硬件接线图
(2)软件流程图:(略)
(3)程序
#include <ZigduinoRadio.h> //加载无线库
#include <OneWire.h> //加载单总线总线库
#include <DallasTemperature.h> //加载单总线温度传感器库
#define ONE_WIRE_BUS 2 //定义单总线所连接的引脚
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
char i,j; //定义变量,用于存放温度数据的整数和小数部分
int a; //定义变量,用于存放温度数据
void setup()
{
ZigduinoRadio.begin(11);//设置通道为11,可设置为11-26
sensors.begin(); //初始化传感器
}
sensors.requestTemperatures(); // 从DS18B20传感器获取温度数据
a=sensors.getTempCByIndex(0)*100; //将温度数据放大100倍,以去除小数点
i=a/100; //取出温度数据的整数部分
j=a%100; //取出温度数据的小数部分
ZigduinoRadio.beginTransmission();//无线开始通信标志
ZigduinoRadio.write(i);//无线发送温度数据的整数部分
ZigduinoRadio.write(j);//无线发送温度数据的小数部分
ZigduinoRadio.endTransmission();//无线结束通信标志
delay(1000); //更新速率为1次/秒
}
Section 02
/***** 包含库文件*******/
#include <LiquidCrystal.h> //加载液晶显示库
#include <Wire.h> //加载I2C总线库
#include <ZigduinoRadio.h> //加载无线库
#include "DS3231.h" //加载DS3231时钟库
DS3231 RTC; //创建时钟类
LiquidCrystal lcd(7, 6, 5, 4, 3, 2); //依次为液晶RS、E、D4、D5、D6、D7所连接的引脚
char i,j;
{
ZigduinoRadio.begin(11); //设置通道为11,可设置为11-26
lcd.begin(16, 2); //初始化1602液晶显示屏
Wire.begin(); //初始化I2C总线
RTC.begin(); //启动DS3231实时时钟模块
lcd.clear(); //清除液晶显示屏上的内容}
void loop()
{
lcd.setCursor(0, 0);
DateTime now = RTC.now(); //获取当前时间
lcd.print(now.year(), DEC); //显示年份
lcd.print('/');
lcd.print(now.month(), DEC); //显示月份
lcd.print('/');
lcd.print(now.date(), DEC); //显示日期
lcd.setCursor(0, 1);
lcd.print(now.hour(), DEC); //显示小时
lcd.print(':');
if(now.minute()>9){ //判断是否分钟的十位部分是否为零,若十位部分为零,则在十位处显示0,,例如为5分钟,则显示为05。
下同。
lcd.print(now.minute(), DEC); //显示分钟
}
else{
lcd.print("0");
lcd.print(now.minute(), DEC);
}
lcd.print(':');
if(now.second()>9){
lcd.print(now.second(), DEC); //显示秒钟
}
else{
lcd.print("0");
lcd.print(now.second(), DEC);
}
lcd.print(" ");
if (ZigduinoRadio.available())//判断无线是否接受到数据
{
i=(char)ZigduinoRadio.read();//将接收到的数据赋给变量i,因为我们在发射端发送的数据为char型变量,故要接收char型可以直接在接收变量前面加(char),这样既可使接收到的数据变为char型。
j=(char)ZigduinoRadio.read();
}
lcd.print(i,DEC); //显示温度数据的整数部分
lcd.print(".");
if(j>9){
lcd.print(j,DEC); //显示温度数据的小数部分
}
else{
lcd.print("0");
lcd.print(j,DEC);
}
lcd.write(0xdf); //显示摄氏温度单位℃
lcd.write('C');
}
Section03
#include <Wire.h>
#include "DS3231.h"
DS3231 RTC; //Create the DS3231 object
char weekDay[][4] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
//year, month, date, hour, min, sec and week-day(starts from 0 and goes to 6) //writing any non-existent time-data may interfere with normal operation of the RTC.
//Take care of week-day also.
DateTime dt(2011, 11, 10, 15, 18, 0, 5); //需要校准的时间,最好
void setup ()
{
Serial.begin(57600);
Wire.begin();
RTC.begin();
RTC.adjust(dt); //Adjust date-time as defined 'dt' above
}
void loop ()
{
DateTime now = RTC.now(); //获取时间
Serial.print(now.year(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.date(), DEC);
Serial.print(' ');
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();
Serial.print(weekDay[now.dayOfWeek()]);
Serial.println();
delay(1000);
}。