测控技术设计与实现预习实验报告.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文档。上传文档
查看更多
测控技术设计与实现预习试验报告   试验报告  班级:  电技 171  姓名:   学号:  组别:  10  课程名称:单片机原理及系统设计   试验室:  学院楼综合试验室   试验时间:  2021.03.11-2021.03.22   试验项目名称:测控技术设计与实现   一、 试验目的:  1. 对所需的电子线路基单片机原理等方面学问综合训练,巩固所学学问,提高应用力量。  2. 培育独立分析问题和解决问题的力量,提高所学学问解决实际问题的力量。  3. 提高设计及动手操作力量,对今后的学习及将来工作起到促进作用。  二、 试验内容及原理:  1. 实现基于单片机的步进电机测控系统:   利用基于单片机的温度测控系统,实现对环境温度的测量、显示,并且通过对环境温度的变化实现对步进电技转速、方向的把握。使用 MATLAB 对不同温度对应的方向和转速进行拟合,得到步进电机转速与温度的函数,写入程序。当温度低于室温时,电机逆时针转动;当温度高于室温时,电机顺时针转动。高于室温  时,温度升温电机加速旋转,降温电机减速旋转;低于室温时,降温电机加速旋转,升温电机减速旋转。  2.电机工作原理 该步进电机为一四相步进电机,接受单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。开头时,给 B 极输入高电平,A、C、D 输入低电平,B相磁极和转子 0、3 号齿对齐,同时,转子的 1、4 号齿就和 C、D相绕组磁极产生错齿,2、5 号齿就和 D、A 相绕组磁极产生错齿。当给 C 输入高电平,B、A、D 输入低电平常,由于 C 相绕组的磁力线和 1、4 号齿之间磁力线的作用,使转子转动,1、4 号齿和 C相绕组的磁极对齐。而 0、3 号齿和 A、B 相绕组产生错齿,2、5号齿就和 A、D 相绕组磁极产生错齿。依次类推,A、B、C、D 四相绕组轮番供电,则转子会沿着 A、B、C、D 方向转动。四相步进电机依据通电挨次的不同,可分为单四拍、双四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高把握精度。  3.试验电路   三、 试验器材 设备和元器件:单片机、温度传感器、步进电机 软件工具和平台:keil、proteus、matlab、c 语言 四、试验步骤 1.单片机初始化、读时序、写程序、DS18B20 温度检测模块:  2.Matlab 建模 3.烧录测试单片机 4.调整设定的室温及处理消灭的问题 五、试验数据及结果分析:  试验程序:  #includereg52.h #include 18b20.h #define u_8 unsigned char #define U_int16 unsigned int sbit Fuhao=P2; sbit ShiWei=P2; sbit GeWei=P2; sbit XiaoShu=P2; sbit Beep= P3; sbit DS=P3;   //define interface int temp;   // variable of temperature uchar flag1;  // sign of the result positive or negative void delay(uint count)  //delay {   uint i;   while(count)   {   i=200;   while(i0)   i--;   count--;   } } void dsreset(void)   //?nd reset and initialization command {   uint i;   DS=0;   i=103;   while(i0)i--;   DS=1;   i=4;   while(i0)i--; }  bit tmpreadbit(void)   //read a bit {  uint i;  bit dat;  DS=0;i++;  //i++ for delay  DS=1;i++;i++;  dat=DS;  i=8;while(i0)i--;  return (dat); }  uchar tmpread(void)   //read a byte date {   uchar i,j,dat;   da

文档评论(0)

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

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

1亿VIP精品文档

相关文档