找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7572|回复: 0
打印 上一主题 下一主题
收起左侧

单片机直流电机小风扇 pwm实现加速减速功能

[复制链接]
跳转到指定楼层
楼主
1、关闭开发板电源
2开发板上不要接插任何模块,如液晶点阵这些都不能接上
3P10用杜邦线链接到电机驱动模块 J44IN上,然后把小电机
端子插到 J8 + D 上,不分线序接上即可。
4选择好程序,打开电源点下载,接着打开单片机电源。
5S2减速,按S3加速。
注意:
电机模块直接加速减速不能正反转,做电机测试实验时主要是观察下实验现象时间不宜过长,否则可能烧掉电机驱动芯片(高速运行下最好不要超过1分钟,因为电机运行需要很大的电流)
直流电机切勿直接接到开发板的VCCGND上进行实验,这样很容易烧坏开发板,因为电机在停转的时候转子由于物理特性会继续转动,产生较大的负电压。
电机参数:
【型号】F130马达
【尺寸】25mm*20mm*15mm
【轴长】38mm
【轴径】2mm
【前突】9.6mm
【空载转速】15000±10%rpm

接线示意图:


单片机源程序如下:
  1. /*        关闭开发板电源
  2. 开发板上不要接插任何模块,如液晶点阵这些都不能接上,
  3. 把P10用杜邦线链接到电机驱动模块 J4的4IN上,然后把小电机
  4. 端子插到 J2的 + 和D 上,不分线序接上即可。
  5. 选择好程序,打开电源点下载,接着打开单片机电源。
  6. 按S2减速,按S3加速。
  7. */
  8. #include <reg52.h>
  9. unsigned char pwm_motor_val = 130;//左右电机占空比值 取值范围0-170,0最快
  10. unsigned char pwm_t;//周期

  11. sbit _4IN = P1^0;//
  12. sbit key_s2 = P3^0;
  13. sbit key_s3 = P3^1;

  14. void delay(unsigned int z)//毫秒级延时
  15. {
  16.         unsigned int x,y;
  17.         for(x = z; x > 0; x--)
  18.                 for(y = 114; y > 0 ; y--);
  19. }
  20. //定时器0中断
  21. void timer0() interrupt 1
  22. {
  23.         pwm_t++;
  24.         if(pwm_t == 255)
  25.                 _4IN = 0;
  26.         if(pwm_motor_val == pwm_t)
  27.                 _4IN = 1;                                         
  28. }
  29. void main()
  30. {
  31.         TMOD |= 0x02;//8位自动重装模块
  32.         TH0 = 220;
  33.         TL0 = 220;//11.0592M晶振下占空比最大比值是256,输出100HZ
  34.         TR0 = 1;//启动定时器0
  35.         ET0 = 1;//允许定时器0中断
  36.         EA        = 1;//总中断允许
  37.         while(1)
  38.         {
  39.                 if(key_s2 == 0)         //S2按下LED变暗
  40.                 {
  41.                         delay(5);
  42.                         if(key_s2 == 0)
  43.                         {
  44.                                 if(pwm_motor_val < 170)
  45.                                 {
  46.                                         pwm_motor_val++;
  47.                                 }
  48.                         }
  49.                 }
  50.                 if(key_s3 == 0)        //S3按键LED变亮
  51.                 {
  52.                         delay(5);
  53.                         if(key_s3 == 0)
  54. ……………………

  55. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码


所有资料51hei提供下载:
19_直流电机小风扇.zip (1.56 MB, 下载次数: 84)



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表