CH554开发板驱动的步进电机型号为28BYJ-48,由于其工作电流相对较大,故需要配相应的驱动芯片,这里选用的芯片为ULN2003,整体电路如图所示。
线路构成
1.驱动芯片ULN2003
ULN2003驱动芯片由7组达林顿电路构成,其中的每一组达林顿电路都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。
ULN2003 工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还可以在高负载电流并行运行。
ULN2003芯片引脚图
2. 4相5线制步进电机
28BYJ-48是4相5线制减速步进电机,它共有5条引线,其中VCC接电机的中心抽头线(一般为红色),其它4条接电机的A,B,C,D相。该电机的直径为28mm,电压:5V,步进角度:5.625 x 1/64,减速比:1/64。
3.步进电机控制
为使用CH554开发板控制步进电机的转动,对相应引脚的定义如下:
sbit MA = P3^0;
sbit MB = P3^1;
sbit MC = P3^2;
sbit MD = P3^3;
使用正反转的程序如下:
- void main( )
- {
- UINT8 X;
- UINT8 Y;
- CfgFsys(); mDelaymS(20);
- //设置P3.0~P3.3为输出模式
- Port3Cfg(1,0);
- Port3Cfg(1,1);
- Port3Cfg(1,2);
- Port3Cfg(1,3);
- MA=0;
- MB=0;
- MC=0;
- MD=0;
- //正向转动2周
- for(X=0;X<192;X++)
- {
- for(Y=0;Y<8;Y++)
- {
- MD=0;
- MA=1; //A
- mDelaymS(1);
- MB=1; //AB
- mDelaymS(1);
- MA=0; //B
- mDelaymS(1);
- MC=1; //BC
- mDelaymS(1);
- MB=0; //C
- mDelaymS(1);
- MD=1; //CD
- mDelaymS(1);
- MC=0; //D
- mDelaymS(1);
- MA=1; //DA
- mDelaymS(1);
- }
- }
-
- mDelaymS(100);
- MA=0;
- MB=0;
- MC=0;
- MD=0;
- //反向转动2周
- for(X=0;X<192;X++)
- {
- for(Y=0;Y<8;Y++)
- {
- MD=1;
- MA=1; //DA
- mDelaymS(1);
- MA=0; //D
- mDelaymS(1);
- MC=1; //CD
- mDelaymS(1);
- MD=0; //C
- mDelaymS(1);
- MB=1; //BC
- mDelaymS(1);
- MC=0; //B
- mDelaymS(1);
- MA=1; //AB
- mDelaymS(1);
- MB=0; //A
- mDelaymS(1);
- }
- }
- while(1);
- }
后续将按预定的制作目标将触摸控制功能引入其中,以实现K1控制正转,K2控制反转等。
此内容由EEWORLD论坛网友jinglixixi原创,如需转载或用于商业用途需征得作者同意并注明出处
本帖最后由 jinglixixi 于 2018-4-16 16:09 编辑