单片机课程设计-基于PWM细分的步进电机调速报告.docVIP

单片机课程设计-基于PWM细分的步进电机调速报告.doc

  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文档。上传文档
查看更多
单片机课程设计-基于PWM细分的步进电机调速报告

河南工程学院 单片机课程设计论文 论文题目:基于PWM 细分的步进电机调速 系 部: 电气信息工程系 专 业: 电气工程及其自动化 班 级: 0942班 学生姓名: 指导教师: 2011年月日…………………………………………..2 基本方案及原理………………………………3 系统框图………………………………………3 流程图…………………………………………5 仿真图…………………………………………6 硬件电路………………………………………6 程序……………………………………………8 实物照片……………………………………...11 元件清单……………………………………...13 心得体会……………………………………...14 参考文献………………………………………16 摘要:本文以四相五线步进电机为例,介绍了一种利用单片机产生PWM波来实现步进电机细分驱动的方法。该方法充分利用单片机的硬件资源,通过软件控制,产生占空比不同的方波,在电机线圈内产生近似正弦波的阶梯型电流。与常用的恒频脉宽调制方式相比,该方法不需要EI/A转换器和锯齿波发生器,不仅有利于简化电路和节约成本,而且能提高细分精度和电机运行平稳性,适用于需要精密控制的仪器仪表。 关键词:PWM;细分驱动;步进电机;单片机 基本方案及原理 1、基本方案: 利用AT89S52单片机控制电机的速度和方向,完成基本要求和发挥部分的要求。在设计中,采用了PWM技术对电机进行控制,通过对占空比的计算达到精确调速的目的。 图1硬件模块图 功能简介: 利用单片机程序控制PWM波的占空比来控制电机转速,操作简单方便。 采用三个按键操作,通过正反按钮控制步进电机的正反转,用加减速按键控制PWM波的占空比从而来控制步进电机的加速与减速。电机最多可以加速9个级别。 电机转动时可以通过数码管来显示电机的转速。 三、流程图 四、仿真图 图2 仿真图 五、硬件电路 图3 原理图 图四 电路PCB 1、芯片L298的外形及其工作原理 图5 L298引脚图L298N芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达50V,可以直接通过电源来调节输出电压;可以直接用单片机的IO口提供信号;而且电路简单,使用比较方便。L298N可接受标准TTL逻辑电平信号VSS,VSS可接4.5~7 V电压。4脚VS接电源电压,VS电压范围VIH为+2.5~46 V。输出电流可达2.5 A,可驱动电感性负载。1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号在通常使用中这两个引脚也可以直接接地。可以驱动两个二相电机,也可以驱动一个四相电机5,7,10,12脚接输入控制电平,控制电机的正反转。接控制使能端,控制电机的停转。#includereg52.h #define uchar unsigned char #define uint unsigned int uchar code step1[]={0x03,0x06,0x0c,0x09}; uchar code step2[]={0x09,0x0c,0x06,0x03}; uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90}; sbit PWM=P2^7; sbit K1=P2^0; sbit K2=P2^1; sbit K3=P2^2; sbit We=P3^0; uchar count,n; bit flag; void delay(uint z) { uint i,j; for(i=110;i0;i--) for(j=z;j0;j--); } void delayus(uint z) { while(z--); } void init() { flag=1; n=1; TMOD=0x10; //定时器1方式1 TH1=(65536-5000)/256; TL1=(65536-5000)%256; EA=1; ET1=1; TR1=1; } void display(uchar z) { //We=1; P1=table[z]; We=0; } void key() { if(K1==0) { delay(5); if(K1==0) { flag=!flag; while(!K1); } } if(K2==0) { delay(5); if(K2==0) { n+=1; if(n==10)n=1; while(!K2); } } if(K3==0) { delay(5

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档