if (n=2) {
SetDO (0 ,1) ; SetDO (1 ,2 ); SetDO (1 ,3); SetDO (0 ,4); } if (n=3 ) {
SetDO(0 ,1); SetDO(0 ,2) ; SetDO(1 ,3); SetDO(1 ,4); } if (n=4) {
SetDO(1 ,1); SetDO(0 ,2); SetDO(0,3); SetDO(1 ,4); n=0; } }
function Finalize (arg) { SetDO(0 ,1) ; SetDO(0 ,2) ; SetDO(0,3); SetDO(0 ,4); }
四相八拍(减速) function Initialize(arg) { SetDO(0 ,1) ; SetDO(0 ,2) ; SetDO(0,3); SetDO(0 ,4); n=0; }
function TakeOneStep (arg) { n=n+1; if (n==1) {
SetDO(0 ,1) ; SetDO(0 ,2) ; SetDO(0 ,3); SetDO(1 ,4);
for(i=0;i<100000;i++); } if (n==2) {
SetDO (0 ,1) ; SetDO (0 ,2 ); SetDO (1 ,3); SetDO (1 ,4); for(i=0;i<100000;i++); } if (n==3 ) {
SetDO(0 ,1); SetDO(0 ,2) ; SetDO(1 ,3); SetDO(0 ,4);
for(i=0;i<100000;i++); } if (n==4) {
SetDO(0 ,1); SetDO(1 ,2); SetDO(1,3); SetDO(0 ,4);
for(i=0;i<100000;i++); } if (n==5) {
SetDO(0 ,1) ; SetDO(1 ,2) ; SetDO(0 ,3); SetDO(0 ,4);
for(i=0;i<100000;i++); } if (n==6) {
SetDO (1,1) ; SetDO (1 ,2 ); SetDO (0,3); SetDO (0 ,4); for(i=0;i<100000;i++); }
if (n==7) {
SetDO(1 ,1); SetDO(0 ,2) ; SetDO(0 ,3); SetDO(0,4);
for(i=0;i<100000;i++); } if (n==8) {
SetDO(1 ,1); SetDO(0 ,2); SetDO(0,3); SetDO(1 ,4);
for(i=0;i<100000;i++); n=0; } }
function Finalize (arg) { SetDO(0 ,1) ; SetDO(0 ,2) ; SetDO(0, 3); SetDO(0 ,4); }
步进电机走步控制流程图:
实验波形:
1. 单四拍