1、关闭开发板电源 2、开发板上不要接插任何模块,如液晶点阵这些都不能接上 3、把P10用杜邦线链接到电机驱动模块 J4的4IN上,然后把小电机 端子插到 J8的 + 和D 上,不分线序接上即可。 4、选择好程序,打开电源点下载,接着打开单片机电源。 5、按S2减速,按S3加速。 注意: 电机模块直接加速减速不能正反转,做电机测试实验时主要是观察下实验现象时间不宜过长,否则可能烧掉电机驱动芯片(高速运行下最好不要超过1分钟,因为电机运行需要很大的电流) 直流电机切勿直接接到开发板的VCC和GND上进行实验,这样很容易烧坏开发板,因为电机在停转的时候转子由于物理特性会继续转动,产生较大的负电压。 电机参数: 【型号】F130马达 【尺寸】25mm*20mm*15mm 【轴长】38mm 【轴径】2mm 【前突】9.6mm 【空载转速】15000±10%rpm
接线示意图:
单片机源程序如下:
- /* 关闭开发板电源
- 开发板上不要接插任何模块,如液晶点阵这些都不能接上,
- 把P10用杜邦线链接到电机驱动模块 J4的4IN上,然后把小电机
- 端子插到 J2的 + 和D 上,不分线序接上即可。
- 选择好程序,打开电源点下载,接着打开单片机电源。
- 按S2减速,按S3加速。
- */
- #include <reg52.h>
- unsigned char pwm_motor_val = 130;//左右电机占空比值 取值范围0-170,0最快
- unsigned char pwm_t;//周期
- sbit _4IN = P1^0;//
- sbit key_s2 = P3^0;
- sbit key_s3 = P3^1;
- void delay(unsigned int z)//毫秒级延时
- {
- unsigned int x,y;
- for(x = z; x > 0; x--)
- for(y = 114; y > 0 ; y--);
- }
- //定时器0中断
- void timer0() interrupt 1
- {
- pwm_t++;
- if(pwm_t == 255)
- _4IN = 0;
- if(pwm_motor_val == pwm_t)
- _4IN = 1;
- }
- void main()
- {
- TMOD |= 0x02;//8位自动重装模块
- TH0 = 220;
- TL0 = 220;//11.0592M晶振下占空比最大比值是256,输出100HZ
- TR0 = 1;//启动定时器0
- ET0 = 1;//允许定时器0中断
- EA = 1;//总中断允许
- while(1)
- {
- if(key_s2 == 0) //S2按下LED变暗
- {
- delay(5);
- if(key_s2 == 0)
- {
- if(pwm_motor_val < 170)
- {
- pwm_motor_val++;
- }
- }
- }
- if(key_s3 == 0) //S3按键LED变亮
- {
- delay(5);
- if(key_s3 == 0)
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
19_直流电机小风扇.zip
(1.56 MB, 下载次数: 84)
|