实验二 步进马达试验
一、实验目的
1.熟悉实验软件和硬件,进行正确的接线;
2.编程使得马达转动;
二、实验软硬件
1.Keil uVision4
2.PZISP自动下载软件
3.HC6800S开发板
三、实验原理
四线双极性步进电机
UDN2916LB是SANKEN公司推出的一款两相步进电机双极驱动集成电路,能够驱动双绕组双极步进电机,特别适用于目前国内税控市场双步进微型打印机电机的控制。
UDN2916LB适用的电机电压范围为10~45V,逻辑电压不能超过7V;通过内部脉宽调制控制器(PWM)可实现最大750mA的输出电流;内置1/3和2/3分割器;逻辑输入实现1相/2相/W1-2phase激励模式;内置过热和交叉电流保护功能;集成钳位二极管;内置防止低压误操作等保护功能。UDN2916LB芯片有两组电路构成,每组电路由PWM控制器、电桥及辅助电路组成。
2916中集成的两片PWM控制器(A,B或1,2)
PHASE为输出电流方向控制端:
PHASE1控制A线圈的输出电流方向,PHASE2控制B线圈的输出电流方向。(1为正向电流,0为反向电流)。
电机驱动管脚图
控制电流输出真值表
四、软件流程图
电机旋转程序流程图
五、实验代码
1.#include "reg52.h"
2.
3.#define speed 2
4.sbit PH1 = P1^0; //定义管脚
5.sbit PH2 = P1^1;
6.sbit I01 = P1^2;
7.sbit I11 = P1^3;
8.sbit I02 = P1^4;
9.sbit I12 = P1^5;
10.
11.void delay(int time);
12.
13.void Go()
14.{ //A
15. PH1 = 0; //PH1为0 则A线圈为反向电流
16. I01 = 0;
17. I11 = 0; //以最大电流输出
18. PH2 = 0; //PH2为0 则B线圈为反向电流
19. I02 = 1;
20. I12 = 1; //输出0
21. delay(speed);
22.
23. PH1 = 0; //PH1为0 则A线圈为反向电流
24. I01 = 1; //输出0
25. I11 = 1;
26. PH2 = 1; //PH2为1 则B线圈为正电流
27. I02 = 0; //以最大电流输出
28. I12 = 0;
29. delay(speed);
30.
31. //B
32. PH1 = 1; //PH1为1 则A线圈为正向电流
33. I01 = 0; //以最大电流输出
34. I11 = 0;
35. PH2 = 1; //PH2为1 则B线圈为正向电流
36. I02 = 1; //输出为零
37. I12 = 1;
38. delay(speed);
39.
40. PH1 = 1; //PH1为1 则A线圈为正向电流
41. I01 = 1; //输出为零
42. I11 = 1;
43. PH2 = 0; //PH2为0 则B线圈为反向电流
44. I02 = 0; //以最大电流输出
45. I12 = 0;
46. delay(speed);
47.}
48.void delay(int time)
49.{
50. int i,j;
51. for(j=0; j <= time; j++)
52. for(i =0 ; i <= 120; i++);
53.}
54.void main()
55.{
56. while(1)
57. {
58. Go(); //步进电机运行
59. }
60.}
六、实验步骤
1.连接试验相关模块连线
在这里插入图片描述
硬件接线图
P1.0 P1
P1.1 P2
P1.2 IO1
P1.3 IO2
P1.4 II1
P1.5 II2
2.编写二相四线步进马达相关程序
对PH1、I01、I11、PH2、I02、I12口编程,先A线圈为正向最大电流,然后B线圈为正向最大电流,然后A线圈为反向最大电流,最后B线圈为反向最大电流。这样循环就可以使电机转动,但
是需要注意的是:换电流的时候需要延时。
3.下载二相四线步进马达相关程序
程序下载界面
4.调试验证试验效果
调节换相间隔时间可以调整步进电机速度,调整相序输入顺序可以调整电机旋转方向。整体来说,步进电机,旋转稳定,噪音小,控制简单,非常适合实验。
七、实验思考
本次实验让我熟悉了步进电机的使用方法,并可以通过延时控制步进电机的速度,也可以通过编程控制步进电机的方向。大三上学期学习了电机课程,知道了常用电机的原理,却没有机会去真正地控制一台电机。单片机的实验让我可以真正使用了电机。
电机并不能直接插在单片机的管脚上,因为IO口的驱动能力有限。电机是一个感性原件,具有保持电流或者储存电能的作用,如果直接用IO口驱动,有可能电机会向芯片灌电流而烧坏芯片。