楼主整明白没,我是新手,刚接触单片机,同问 |
你这个驱动器好像还要设置吧。你这个程序不能用。 |
wc86110 发表于 2016-3-5 01:38 有关键是我接上线后电机一秒估计只转了1毫米的距离。而且电机发热严重 |
买这货时没有说明书之类附件的教你如何操作? |
俠歌无畏 发表于 2016-3-4 19:09 我现在不晓得接线 哎。我的控制线该接的单片机的哪几脚 |
俠歌无畏 发表于 2016-3-4 19:09 可以加我QQ1492548699吗 |
俠歌无畏 发表于 2016-3-4 19:06 这是我写的1相/两相/1,2相励磁的程序 /* 1相励磁法延迟较2相励磁法延迟时间长,一般来说,1相励磁法延迟为5~10毫秒,2相励磁法延迟时间为2毫秒左右, 但一般使用1-2相励磁法 */ #include<reg52.h> sbit a1=P1^0; sbit b1=P1^1; sbit c1=P1^2; sbit d1=P1^3; bit flag; unsigned char speed; #define coil_ab1 {a1=1;b1=1;c1=0;d1=0;} #define coil_bc1 {a1=0;b1=1;c1=1;d1=0;} #define coil_cd1 {a1=0;b1=0;c1=1;d1=1;} #define coil_da1 {a1=1;b1=0;c1=0;d1=1;} #define coil_a1 {a1=1;b1=0;c1=0;d1=0;} #define coil_b1 {a1=0;b1=1;c1=0;d1=0;} #define coil_c1 {a1=0;b1=0;c1=1;d1=0;} #define coil_d1 {a1=0;b1=0;c1=0;d1=1;} #define coil_off {a1=0;b1=0;c1=0;d1=0;} void delay(unsigned char t); void main() { EA=1; EX0=1; IT0=1; speed=1; while(1) { while(flag) { coil_off; delay(speed); coil_a1; delay(speed); coil_ab1; delay(speed); coil_b1; delay(speed); coil_bc1; delay(speed); coil_c1; delay(speed); coil_cd1; delay(speed); coil_d1; delay(speed); coil_da1; delay(speed); } while(!flag) { coil_off; delay(speed); coil_da1; delay(speed); coil_d1; delay(speed); coil_cd1; delay(speed); coil_c1; delay(speed); coil_bc1; delay(speed); coil_b1; delay(speed); coil_ab1; delay(speed); coil_a1; delay(speed); } } } void delay(unsigned char t) { unsigned int x,y; for(x=0;x<t;x++) for(y=0;y<123;y++); } void ISR_INT0(void) interrupt 0 { if(!INT0) { delay(10);//在此处可以添加去抖动程序,防止按键抖动造成错误 if(!INT0) //while(!INT1);//等待按键释放 { flag=!flag; } } } |
俠歌无畏 发表于 2016-3-4 19:03 这是两相四线的驱动方式,就按照这写程序就好了 |
QQ图片20160304190530.png (9.42 KB, 下载次数: 280)
1492548699 发表于 2016-3-4 18:44 看完你的程序,突然发现你的程序是写给直流电机的。 |
俠歌无畏 发表于 2016-3-4 16:46 驱动28块钱买的。我现在单片机的脚怎么接驱动上面来 就是搞不清楚,比如说P1.2接哪里 P1.3接哪里 |
楼主土豪,买一百多的驱动器,方向和脉冲只需要接在+上面就行了,然后就是四线结对,分为两相,分不出来的话看括号(那一根线把四线其中的两根短接,然后转动电机轴,发现有种锁死的感觉那就是一对的,然后就是使能端接。 |
一般三根线,cp,drive,GND 端, 程序可能要用pwm,但是没见你程序里面有, |
估计楼主的程序也不行吧 |