自学笔记步进电机驱动程序
/*****************步进电机驱动程序0.1
硬件不熟直接贴到代码里方便修改
stc15w204s
_______
P1.2--1 | | 16--P1.1
P1.3--2 | | 15--P1.0
P1.4--3 | | 14--P3.7
P1.5--4 | | 13--P3.6
P5.4--5 | | 12--P3.3
VCC --6 | | 11--P3.2
P5.5--7 | | 10--P3.1
GND --8 |_______| 9 --P3.0
***/
#include<STC15F2.h>
#include<intrins.h>//汇编指令调用头文件
//步进电机驱动程序
#define uint unsigned int
#define uchar unsigned char
sbit a=P1^1;//接步进电机A相
sbit b=P1^0;//接步进电机B相
sbit c=P3^7;//接步进电机C相
sbit d=P3^6;//接步进电机D相
sbit led=P5^5;//接个灯让程序循环一圈闪一下判断系统是否正常工作可不接
/**
1秒是1000ms
1秒1次,叫1hz
1秒100次,是100hz
每次动作,用50ms,那么1秒就能动20次
这个就是20hz
延时50是 20Hz,延时20是50Hz
**/
void Delay1ms() //@12.000MHz
{
uchar i, j;
i = 12;
j = 169;
do
{
while (--j);
} while (--i);
}
void delay_n_ms(uint n) //自己定义的延时n毫秒函数
{
while(n)
{
Delay1ms();
n=n-1;//每循环一次n减小1
}
}
main()
{
uint y,j;
y=2; //经过试验Y的值调整范围2~100
//在这个范围可以正常转动超过这个范围就没法控制了
//数值越小转速越快500HZ为步进电机极限频率频率调整范围10HZ~500HZ
j=512;
//j的值为512是因为A B C D循环一次所转动的角度为0.7031
//乘以512刚好可以转动一周0.7013*512=360
while(j--)
{
a=1;//电机A相通电
b=0;
c=0;
d=0;
delay_n_ms(y);//
a=0;
b=1;//电机B相通电
c=0;
d=0;
delay_n_ms(y);//
a=0;
b=0;
c=1;//电机C相通电
d=0;
delay_n_ms(y);//
a=0;
b=0;
c=0;
d=1;//电机D相通电
delay_n_ms(y);//
//程序循环到这里就刚好控制电机转动0.7013度循环512次刚好一周
led=~led;
}
}
学习了,谢谢楼主分享。 给力!!!奥利给 学习学习{:1_1:}{:1_1:}{:1_1:}{:1_1:} 看不懂啊·····我也想要A4988,傻瓜式驱动的。新手好难学{:1_2:} 好烧脑子,太专业了 很好很强大!谢谢 材料材料很好,大神就是大神。 谢谢楼主,有时间仿一下,手里2003不少那 zxy2266 发表于 2017-7-9 22:00 static/image/common/back.gif
楼主能给个详细的2003的电路接线吗
按照图示正确接好电源然后A B C D接上就可以
本帖最后由 ldy7474 于 2017-7-11 16:48 编辑
zxy2266 发表于 2017-7-9 22:00 static/image/common/back.gif
楼主能给个详细的2003的电路接线吗
百度一下2003网上大把我是用的现成的模块
程序是根据萝莉的七色花修改得来的
其间走了点弯路 频率设置不对转不起来
调试时以为5v电压不够上12v的时候电源接反
差点把uln2003干掉
芯片和电机都烫手了
还好ULN2003比较耐操
程序还不够完善等萝莉大神教我们按键控制以后我把正反转调速功能加上
现在还不知道怎么写
先放一边调个小程序累出一身汗
路过帮顶
学习一下
学习了……
路过,顶一下,学习了。
路过帮顶
学习啦,顶顶 ldy7474 发表于 2016-9-14 03:07
程序是根据萝莉的七色花修改得来的
其间走了点弯路 频率设置不对转不起来
调试时以为5v电压不够上12v的 ...
楼主改个步进驱动4988模块的,UL2003.太麻烦了 有一个高手现身了!
yrj 发表于 2016-9-14 22:05
楼主改个步进驱动4988模块的,UL2003.太麻烦了
好的稍等我现在也在研究A4988
祝大家中秋快乐,永不炸鸡
顶一个 不错啊,基本看懂了,谢谢楼主。 学习精神可嘉。 学习了,。。。。。。。。。。。。。。。。。。。 这个字体大小, 看得很心累, 满屏, 就是一个函数.... 学习 谢谢,学习
感谢楼主的奉献
页:
[1]
2