ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:16.89KB ,
资源ID:21844136      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21844136.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(步进电机驱动PROTEL原理图Word文件下载.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

步进电机驱动PROTEL原理图Word文件下载.docx

1、 P2.2是用来控制电机的使能的,接在ENA上;如要实现电机的正传、反转的加减速就要对P2.2即ENA脚给PWM信号比如还要设置两个按键key4和key5来控制直流电机的加速和减速;比如有如下函数; /*/ uchar NUM0=600;/全局变量 uchar Flag=0;/清零标志位;对Ms清零;/*id time0_init(void) TMOD=0x01; /16 位计数器/定时器,定时器0;TH0=(65536-1000)/256; /AT89S52为12M晶振,计数1200才产生1ms TL0=(65536-1000)%256;EA=1; /开启总中断 ET0=1; /开启定时器1

2、中断 TR0=1; /开启定时器1,定时器一允许 void time0_int(void) interrupt 1 H0=(65536-1000)/256; / AT89S52为12M晶振,计数1200才产生1ms Ms=NUM0 */ for(i=0;i=1200) Ms=1200;/最高速度 if(key5=0)/减速按键 /while(key2=0);Ms- /脉宽减一 if(Ms=0) Ms=0; /停止 /*/ 下面是控制程序;经现场调试,可行;程序如下:/*/ #include#includedelay.h#define uchar unsigned char #define ui

3、nt unsigned int /*/ sbit ENA = P22; /驱动芯片使能,若为0则电机停止;sbit IN1 = P21; /控制电机正转和反转 sbit IN2 = P20;sbit key1 = P10; /此键按下,电机正转;IN1=1;IN2=0 ;ENA=1 sbit key2 = P11; /此键按下,电机反转;IN1=0,IN2=1 ;ENA=1 sbit key3 = P12; /此键按下,电机刹停; IN1=1,IN2=1 ;ENA=1 /*/ int motor_change_mank=0;/ 按键设置 /*/ uint keylogo() if(key1=0

4、) motor_change_mank=1;/正转标志位 if(key2=0) motor_change_mank=2;/反转标志位 if(key3=0) /while(key3=0);motor_change_mank=0;/刹停标志位 return(motor_change_mank);/*/ /控制驱动芯片函数 /*/ void execute_motor() switch(motor_change_mank) case 0: /刹停标志位 IN1 = 1;IN2 = 1;ENA = 1;break;case 1: /正转标志位 IN2 = 0;case 2: /反转标志位 IN1 =

5、0;default:break;/*/ void main() while(1) keylogo();execute_motor();/*/ void delayms(uint n) int i;for(;n0;n-) 1;i+);#ifndef delay_h #define delay_h extern void delayms(uint n);#endif /*/ 对如驱动芯片L298N的中文资料我这里有很多,你在论文中阐述时要抓住要点;进行简短的说明;对于调速的问题也有第二种方法;就是对驱动芯片的功率电源Vs进行改变电压;可以用DAC进行控制,如用单片机控制DAC,是输出的模拟电压可通

6、过按键来升高和降低;这样在电机正传或者反转时只要Vs所给的电压升高或者降低则电机的转速就会增加或者减少;这样亦不失为一种好的控制直流电机转速的方法;就是成本稍高而已 / 或者用下面的一个程序略作修改即可;/* 1、学习目的:利用定时器产生PWM,了解原理和使用方法 2、硬件要求:LED灯 定时器 3、试验现象:LED灯由亮到灭,由灭到亮逐步变化,也就是调光现象 #include sbit LED = P12;unsigned char CYCLE; /定义周期 该数字X基准定时时间 如果是10 则周期是10 x 0.1ms unsigned char PWM_ON ;/定义高电平时间 void

7、 delay(unsigned int cnt) while(-cnt);main() bit Flag;TMOD |=0x01;TH0=(65536-100)/256;/定时器设置 0.1ms in 12M crystal TL0=(65536-100)%256;/定时0.1mS IE= 0x82; /打开中断 CYCLE = 10;/ 时间可以调整 这个是10调整 8位PWM就是256步 while(!Flag) delay(20000); /延时时间,从一个亮度到下一个亮度的间隔时间,速度快就能看到连续效果 PWM_ON+; /这个使用较长延时,以便能看清楚变化过程 if(PWM_ON

8、= CYCLE) /这个里可以添加其他程序 如到最亮时候控制设备 while(Flag) /亮度递减 同上,是个相反的过程 PWM_ON-;if(PWM_ON = 0) Flag=0;/*/ /* 定时中断 */ /*/ void tim(void) interrupt 1 using 1 static unsigned char count; / TH0=(65536-100)/256;if (count=PWM_ON) LED = 1; /灯灭 count+;if(count = CYCLE) count=0;if(PWM_ON!=0) /如果左右时间是0 保持原来状态 LED = 0;/灯亮

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1