工业控制技术实验指导书3.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
工业控制技术实验指导书3.doc

实验三 直流电动机PWM调速(3学时) 1.1 目的 (1)了解直流电动机转速与转向控制原理; (2)熟悉L298N驱动模块的工作原理; (3)熟悉PWM调速原理; (4)掌握直流电动机PWM调速编程; 1.2 要求 (1)简要说明直流电动机转速与转向控制原理; (2)熟记L298N驱动模块的使用方法和工作原理; (3)熟练的通过PWM进行调速; (4)完成直流电动机PWM调速编程与实现; (5)编程实现直流电动机加速-匀速-减速过程; (6)提交经调试通过的程序一份并附实验报告一份(实验步骤、内容、结果及分析等) 1.3 预备知识: L298N驱动模块的工作原理 电机 旋转 方式 控制端 IN1 控制端 IN2 输入PWM信号改变 脉宽可调速 调速端 ENA M1 正转 高 低 高 反转 低 高 高 停止 低 低 高 直流电机电源线接IN1和IN2,Arduino上带有PWM输出数字口接到ENA上可调速。编码器线按上次试验接法。白色可调电源正负极接到模块上的VCC和GND上。 PWM调速原理 平均值u为:u=(t1*U)/(t1+t2) = (t1*U)/T=d*U 式中d为占空比,d=t/T 占空比越大,平均电压越高,速度则越大, 所以通过调节占空比可以调速。 1.4实验内容 1) 通过改变占空比来调节电机速度 2) Ardunino的程序编写与编译, 下载 3) 用外用表测出不同占空比时对应的电机两端的电压 4) 由LCD1602读出不同占空比时对应的电机速度 5) 绘出占空比、电压和速度之间的关系曲线 1.5实验步骤 准备好实验所需材料。 2.把Arduino、LCD1602、电机、L298N和可调电源连接好; 电机橙色和黄色线连接到L298N模块的OUT1和OUT2管脚上,IN1和IN2连接到Arduino 的数字口,ENA连接到带PWM输出的数字口,+5连接到Arduino的电源管脚上,模块上的VCC和GND连接到可调电源的正负极。 3.编写控制程序。 4.把下载线连接到电脑上进行下载。 5.用外用表测出不同占空比对应的电压值并记录。 6.由LCD1602读出不同占空比对应的电机速度并记录。 7.绘制出d、u、n之间的关系曲线。 8.试验完成后整理好自己的材料。 1.6 实验设备 Arduino实验箱一套(包括:Arduino控制板一个,L298N驱动模块一个,USB下载线一个,杜邦线若干,带编码器直流电机一个,12v电源一个,1602 液晶一个); PC机一台及其它附件; 可调电源一台; 数字示波器一台。 1.7思考 (1)如何通过程序来控制电机加速-匀速-减速? (2)分析d、u、n之间的关系。(重点) 1.8提高部分(选做) 通过PID算法实现电机转速的控制。 利用4X4矩阵键盘调节电机转速。 1.9部分程序样例 1. #include LiquidCrystal.h #include FlexiTimer2.h LiquidCrystal lcd(36,37,30,31,32,33); unsigned char keyvalue[4][4]={{0},{0},{0},{0}}; unsigned char key; volatile unsigned long tt; unsigned int aa; unsigned char i,j,k,l; unsigned int table[13]={51,68,85,102,119,136,153,170,187,204,221,238,255};//对应不同的占空比 #define PinA 2 //中断0 #define IN3 42 #define IN4 43 #define DUTY 6 void keyscan() // 扫描按键 { for(int i=22;i26;i++) { digi

文档评论(0)

cai + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档