串口通信控制步进电机转动(串口控制电机转速)
电脑怎么控制步进电机
两种方案,1.使用运动控制卡,插到电脑PCI里面,调用库函数,就可以驱动步进电机了。2.使用串口运动控制器,通过电脑的串口连接,给他发指令。优缺点:前者功能强大,各种插补,前瞻等等,价格高;后者使用方便,无需拆装,功能较少,性价比高。
步进电机控制系统需要连一个串口,我是新手,急于应用。求高手指点。本人懂简单的串口通信。
由脉冲信号和脉冲功率分配器构成。
脉冲信号可用采用脉冲信号发生器获得,或用单片机自己搭建脉冲信号发生器,用单片机的某一个I/O端口作为脉冲信号的输出;根据所需步进电机的控制类型(如三相步进电机,采用单三拍、双三拍和三相六拍)以及功率,选取(选购,自制)脉冲功率分配器。从而达到控制步进电机的目的。
上位机控制单片机上的步进电机问题。
上位机,就是整机的运动控制部份,它的后面就是驱动电路和执行(步进电机)部份。
上位机的功能;
1、上位机能输入各轴的位移数据,并储存数据,根椐输入的数据向驱动电路发出执行指令。
2、根椐执行机构所在位置和所需运动的轨迹,向驱动电路发出指令,以驱动各轴步进电机转动,使各轴向指定座标位置运动;
3、接收驱动电路返还的工作状态信号(如过压、过流、损坏、电机过热),在有情况时关闭驱动电路(一般为停止发出指令),以保护整个系统;
4、在伺服系统中,上位机还要能读取各轴的位移信号(数据),掌撑各轴即时位置.
51单片机步进电机通过串口通信控制转速
不就是把延时函数那里改一改就可以实现初略定时了吗,然后就可以调速了啊。如果你要精确调速,就必须用中断的方式去做了。
咋么从SBUF寄存器中读取这帧数据。最好给个通过串口通信控制步进电机转速转向的c51编程参考。大致相近就行
#include reg51.h
unsigned char dat[2]; //接收数据存放处(根据你数据帧自己调整,这里假设2字节)
void InitUART(void)
{
TMOD = 0x20;
SCON = 0x50;
TH1 = 0xFD;
TL1 = TH1;
PCON = 0x00;
EA = 1;
ES = 1;
TR1 = 1;
}
void main(void)
{
InitUART();
//add your code here,about control
}
void UARTInterrupt(void) interrupt 4
{
unsigned char i;
if(RI)
{
RI = 0;
dat[i]=SBUF; //从串口读取数据
i++;
if(i==2) i=0;
}
}
SBUF是一个字节一个字节读的