我采用的是delphi做上位机控制步进电机。如果我用单片机直接控制电机,电机可以连续的转动,但是当我用上位机控制电机时,我只能点一下按钮电机才转一个步然后停止,我再在上位机程序加上延时让它自动转起来,但是转起来没有直接用单片机控制时转动的顺畅?请问这是什么原因?是单片机程序,上位机程序还是他们本来就是这样子的?
你是不是 上位机 发指令给单片机,单片机再去控制步进电机啊?
首先上位机如果是WINDOWS操作系统,那它不是实时操作系统
你应该用上位机发脉冲数指令给单片机,单片机收到脉冲数指令后,再去控制脉冲的发送过程。
例如:上位机要求步进电机走2000步,那你就让上位机发2000给单片机。
单片机收到2000后,再去控制连续发送2000个脉冲给步进电机驱动器
这样做就比较流畅了。
对啊,如何一次发送指令给单片机,让它可以一次性完成特定的脉冲。
那有没有方法可以解决这样的误差呢?
追答用嵌入式工控机,只做发脉冲和控制功能,就可以。