【求助】STC15F2K60S2+ULN2803驱动步进电机,电机不转动
STC15F2K60S2+ULN2803驱动35BYJ412步进电机, 电机内部有震动,感觉已经是在转,但轴没有转动。请各位做过步进电机驱动的朋友帮忙分析一下是何原因?? 感谢!!!
#include"STC15F2K60S2.H"
#include <math.h>
#include <stdio.h>
#include <intrins.H>
#include "Uart.h"
sbit M_A0=P2^7; //蓝
sbit M_A1=P2^6; //粉
sbit M_A2=P2^5; //黄
sbit M_A3=P2^4; //橙
void Delay100ms() //@24.000MHz
{
unsigned char i, j, k;
_nop_();
_nop_();
i = 10;
j = 31;
k = 147;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void main(void)
{
unsigned char g_step=0;
P0M0=0x00;
P0M1=0x00;
P1M0=0x00;
P1M1=0x00;
P2M0=0x00;
P2M1=0x00;
P3M0=0x00;
P3M1=0x00;
P4M0=0x00;
P4M1=0x00;
P5M0=0x00;
P5M1=0x00;
//输出口为强推挽模式
P2M0=0xff;
P2M1=0x00;
Uart_Init();
while(1)
{
switch(g_step){
case 1:
M_A0=1; //蓝
M_A1=1; //粉
M_A2=1; //黄
M_A3=0; //橙
print_string("g_step=1\r\n");
break;
case 2:
M_A0=1; //蓝
M_A1=1; //粉
M_A2=0; //黄
M_A3=0; //橙
print_string("g_step=2\r\n");
break;
case 3:
M_A0=1; //蓝
M_A1=1; //粉
M_A2=0; //黄
M_A3=1; //橙
print_string("g_step=3\r\n");
break;
case 4:
M_A0=1; //蓝
M_A1=0; //粉
M_A2=0; //黄
M_A3=1; //橙
print_string("g_step=4\r\n");
break;
case 5:
M_A0=1; //蓝
M_A1=0; //粉
M_A2=1; //黄
M_A3=1; //橙
print_string("g_step=5\r\n");
break;
case 6:
M_A0=0; //蓝
M_A1=0; //粉
M_A2=1; //黄
M_A3=1; //橙
print_string("g_step=6\r\n");
break;
case 7:
M_A0=0; //蓝
M_A1=1; //粉
M_A2=1; //黄
M_A3=1; //橙
print_string("g_step=7\r\n");
break;
case 8:
M_A0=0; //蓝
M_A1=1; //粉
M_A2=1; //黄
M_A3=0; //橙
print_string("g_step=8\r\n");
break;
default:
print_string("default\r\n");
break;
}
g_step++;
if(g_step>8)
g_step=1;
//print_string("g=%d\r\n",g_step);
Delay100ms();
Delay100ms();
}
} 1.首先确定 2803能不能驱动35型步进电机2.步进电机启动时频率要慢慢上升,不能超过启动频率 2803是输入高,输出才通到地 磊磊映画 发表于 2015-10-9 08:03
1.首先确定 2803能不能驱动35型步进电机2.步进电机启动时频率要慢慢上升,不能超过启动频率...
如何确定2803是否能驱动35BYJ412步进电机?
35BYJ412步进电机基本参数:
额定电压:12VDC
相数:4相
减速比:1/42.5
步距角:3.75°/42.5
驱动方式:4相8拍
直流电阻:90Ω±7%(25℃)
牵入频率:≥350Hz(空载)
牵出频率:≥500Hz(空载)
牵入转矩:≥800mN.m(120Hz)
自定位转矩:≥200mN.m
绝缘电阻:>50MΩ(500V)
绝缘强度:600VAC/1mA/1S
绝缘等级:A
温升:<60K(120Hz)
噪音:<45dB(120Hz)
重量:大约90g
未注公差按:GB1804-m
转向:CCW xiaowu191 发表于 2015-10-9 09:01
2803是输入高,输出才通到地
这个我知道,输入高、输入低我都试过了 mtlsh 发表于 2015-10-9 19:19
如何确定2803是否能驱动35BYJ412步进电机?
35BYJ412步进电机基本参数:
1.uln2803最大驱动电流是500ma有点小
你看下你那个电机驱动电流多大好
2.隔壁论坛有个帖子并联使用uln2803 提高驱动电流
2803并联
磊磊映画 发表于 2015-10-9 21:23
1.uln2803最大驱动电流是500ma有点小
你看下你那个电机驱动电流多大好
2.隔壁论坛有个帖子并联使用uln280 ...
只能这样接试试看了;
用很低的频率,先一步—步看—下驰动波形是否正确,再用很底的频率连续运行
页:
[1]