资源描述:
《工业控制技术实验指导书3》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验三直流电动机PWM调速(3学时)1.1目的(1)了解直流电动机转速与转向控制原理;(2)熟悉L298N驱动模块的工作原理;(3)熟悉PWM调速原理;(4)掌握直流电动机PWM调速编程;1.2要求(1)简要说明直流电动机转速与转向控制原理;(2)熟记L298N驱动模块的使用方法和工作原理;(3)熟练的通过PWM进行调速;(4)完成直流电动机PWM调速编程与实现;(5)编程实现直流电动机加速-匀速-减速过程;(6)提交经调试通过的程序一份并附实验报告一份(实验步骤、内容、结果及分析等)1.3预备知
2、识:1)L298N驱动模块的工作原理8电机旋转方式控制端IN1控制端IN2输入PWM信号改变脉宽可调速调速端ENAM1正转高低高反转低高高停止低低高直流电机电源线接IN1和IN2,Arduino上带有PWM输出数字口接到ENA上可调速。编码器线按上次试验接法。白色可调电源正负极接到模块上的VCC和GND上。1)PWM调速原理平均值u为:u=(t1*U)/(t1+t2)=(t1*U)/T=d*U式中d为占空比,d=t/T占空比越大,平均电压越高,速度则越大,所以通过调节占空比可以调速。1.4实验内容
3、1)通过改变占空比来调节电机速度2)Ardunino的程序编写与编译,下载3)用外用表测出不同占空比时对应的电机两端的电压4)由LCD1602读出不同占空比时对应的电机速度85)绘出占空比、电压和速度之间的关系曲线1.5实验步骤1.准备好实验所需材料。2.把Arduino、LCD1602、电机、L298N和可调电源连接好;电机橙色和黄色线连接到L298N模块的OUT1和OUT2管脚上,IN1和IN2连接到Arduino的数字口,ENA连接到带PWM输出的数字口,+5连接到Arduino的电源管脚上
4、,模块上的VCC和GND连接到可调电源的正负极。3.编写控制程序。4.把下载线连接到电脑上进行下载。5.用外用表测出不同占空比对应的电压值并记录。6.由LCD1602读出不同占空比对应的电机速度并记录。7.绘制出d、u、n之间的关系曲线。8.试验完成后整理好自己的材料。81.6实验设备Arduino实验箱一套(包括:Arduino控制板一个,L298N驱动模块一个,USB下载线一个,杜邦线若干,带编码器直流电机一个,12v电源一个,1602液晶一个);PC机一台及其它附件;可调电源一台;数字示波器
5、一台。1.7思考(1)如何通过程序来控制电机加速-匀速-减速?(2)分析d、u、n之间的关系。(重点)1.8提高部分(选做)(1)通过PID算法实现电机转速的控制。(2)利用4X4矩阵键盘调节电机转速。1.9部分程序样例1.#include#includeLiquidCrystallcd(36,37,30,31,32,33);unsignedcharkeyvalue[4][4]={{0},{0},{0},{0}};unsignedch
6、arkey;volatileunsignedlongtt;unsignedintaa;8unsignedchari,j,k,l;unsignedinttable[13]={51,68,85,102,119,136,153,170,187,204,221,238,255};//对应不同的占空比#definePinA2//中断0#defineIN342#defineIN443#defineDUTY6voidkeyscan()//扫描按键{for(inti=22;i<26;i++){digitalWri
7、te(i,LOW);for(intj=26;j<30;j++)keyvalue[i-22][j-26]=digitalRead(j);digitalWrite(i,HIGH);}}voidkeyprocess()//键值处理{for(intm=0;m<4;m++){for(intl=0;l<4;l++){if(keyvalue[m][l]==0)key=m*4+l+1;}}}voidsetup(){key=0;pinMode(PinA,INPUT);//D2脚为输入pinMode(IN3,OUTP
8、UT);pinMode(IN4,OUTPUT);pinMode(DUTY,OUTPUT);lcd.begin(16,2);FlexiTimer2::set(500,flas);for(inti=22;i<30;i++)pinMode(i,OUTPUT);for(inti=22;i<30;i++)digitalWrite(i,HIGH);for(inti=26;i<30;i++)pinMode(i,INPUT);attachInterrupt(0,count,RISING);Flex