Advertisement
Guest User

four accelerations for a stepper

a guest
May 9th, 2018
704
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 15.12 KB | None | 0 0
  1. // test four different patterns for stepper acceleration
  2. // test program for DOIT ESPDUINO + CNCShield 3
  3. // remove resistor R1 from CNCshield !!!
  4. // May 2018
  5. // by misan
  6.  
  7.  
  8. PROGMEM const int  speed0[]={0,3847,1646,1263,1064,938,848,779,725,681,644,613,585,562,540,521,504,489,475,461,449,438,428,418,409,401,393,385,378,372,365,359,354,348,343,338,333,328,324,320,316,312,308,304,301,297,294,291,288,285,282,279,276,274,271,269,266,264,262,259,257,255,253,251,249,247,245,243,241,240,238,236,234,233,231,230,228,227,225,224,222,221,220,218,217,216,214,213,212,211,210,208,207,206,205,204,203,202,201,200,199,198,197,196,195,194,193,192,191,190,189,189,188,187,186,185,184,184,183,182,181,181,180,179,178,178,177,176,175,175,174,173,173,172,171,171,170,170,169,168,168,167,167,166,165,165,164,164,163,163,162,161,161,160,160,159,159,158,158,157,157,156,156,155,155,154,154,153,153,153,152,152,151,151,150,150,149,149,149,148,148,147,147,147,146,146,145,145,145,144,144,143,143,143,142,142,142,141,141,141,140,140,139,139,139,138,138,138,137,137,137,136,136,136,135,135,135,135,134,134,134,133,133,133,132,132,132,132,131,131,131,130,130,130,130,129,129,129,128,128,128,128,127,127,127,127,126,126,126,126,125,125,125,125,124,124,124,124,123,123,123,123,122,122,122,122,121,121,121,121,121,120,120,120,120,119,119,119,119,119,118,118,118,118,117,117,117,117,117,116,116,116,116,116,115,115,115,115,115,114,114,114,114,114,114,113,113,113,113,113,112,112,112,112,112,112,111,111,111,111,111,110,110,110,110,110,110,109,109,109,109,109,109,108,108,108,108,108,108,108,107,107,107,107,107,107,106,106,106,106,106,106,105,105,105,105,105,105,105,104,104,104,104,104,104,104,103,103,103,103,103,103,103,102,102,102,102,102,102,102,101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,99,99,99,99,99,99,99,99,98,98,98,98,98,98,98,98,97,97,97,97,97,97,97,97,97,96,96,96,96,96,96,96,96,95,95,95,95,95,95,95,95,95,94,94,94,94,94,94,94,94,94,94,93,93,93,93,93,93,93,93,93,93,92,92,92,92,92,92,92,92,92,91,91,91,91,91,91,91,91,91,91,91,90,90,90,90,90,90,90,90,90,90,89,89,89,89,89,89,89,89,89,89,89,88,88,88,88,88,88,88,88,88,88,88,88,87,87,87,87,87,87,87,87,87,87,87,87,86,86,86,86,86,86,86,86,86,86,86,86,85,85,85,85,85,85,85,85,85,85,85,85,84,84,84,84,84,84,84,84,84,84,84,84,84,84,83,83,83,83,83,83,83,83,83,83,83,83,83,82,82,82,82,82,82,82,82,82,82,82,82,82,82,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,62,62,62,62,62};
  9. PROGMEM const int  speed1[]={0,16562,3206,2164,1683,1397,1206,1067,962,878,810,754,706,665,629,598,570,545,523,503,484,467,452,438,425,412,401,390,380,371,362,354,346,339,332,325,318,313,307,301,296,291,286,282,277,273,269,265,261,257,254,250,247,244,241,238,235,232,229,227,224,222,219,217,215,213,210,208,206,204,202,200,199,197,195,193,192,190,188,187,185,184,182,181,179,178,177,175,174,173,172,170,169,168,167,166,165,163,162,161,160,159,158,157,156,155,155,154,153,152,151,150,149,148,148,147,146,145,144,144,143,142,142,141,140,139,139,138,137,137,136,135,135,134,134,133,132,132,131,131,130,129,129,128,128,127,127,126,126,125,125,124,124,123,123,122,122,121,121,121,120,120,119,119,118,118,117,117,117,116,116,115,115,115,114,114,114,113,113,112,112,112,111,111,111,110,110,110,109,109,109,108,108,108,107,107,107,106,106,106,106,105,105,105,104,104,104,104,103,103,103,102,102,102,102,101,101,101,101,100,100,100,100,99,99,99,99,98,98,98,98,98,97,97,97,97,96,96,96,96,96,95,95,95,95,95,94,94,94,94,94,93,93,93,93,93,92,92,92,92,92,91,91,91,91,91,91,90,90,90,90,90,90,89,89,89,89,89,89,88,88,88,88,88,88,87,87,87,87,87,87,87,86,86,86,86,86,86,86,85,85,85,85,85,85,85,85,84,84,84,84,84,84,84,83,83,83,83,83,83,83,83,83,82,82,82,82,82,82,82,82,81,81,81,81,81,81,81,81,81,80,80,80,80,80,80,80,80,80,80,79,79,79,79,79,79,79,79,79,79,78,78,78,78,78,78,78,78,78,78,77,77,77,77,77,77,77,77,77,77,77,77,76,76,76,76,76,76,76,76,76,76,76,76,75,75,75,75,75,75,75,75,75,75,75,75,75,75,74,74,74,74,74,74,74,74,74,74,74,74,74,74,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,62,63,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62};
  10. PROGMEM const int  speed2[]={0,14018,2721,1839,1432,1191,1029,912,823,753,695,648,607,573,543,516,493,472,453,436,421,407,394,382,370,360,351,342,333,325,318,311,305,298,292,287,282,276,272,267,263,258,254,251,247,243,240,237,233,230,227,225,222,219,217,214,212,210,207,205,203,201,199,197,195,193,191,190,188,186,185,183,182,180,179,177,176,174,173,172,171,169,168,167,166,165,164,162,161,160,159,158,157,156,155,155,154,153,152,151,150,149,148,148,147,146,145,145,144,143,142,142,141,140,140,139,138,138,137,137,136,135,135,134,134,133,133,132,131,131,130,130,129,129,128,128,127,127,126,126,126,125,125,124,124,123,123,122,122,122,121,121,120,120,120,119,119,119,118,118,118,117,117,116,116,116,115,115,115,115,114,114,114,113,113,113,112,112,112,111,111,111,111,110,110,110,110,109,109,109,108,108,108,108,108,107,107,107,107,106,106,106,106,105,105,105,105,105,104,104,104,104,103,103,103,103,103,102,102,102,102,102,101,101,101,101,101,101,100,100,100,100,100,99,99,99,99,99,99,99,98,98,98,98,98,98,97,97,97,97,97,97,96,96,96,96,96,96,96,95,95,95,95,95,95,95,95,94,94,94,94,94,94,94,94,93,93,93,93,93,93,93,93,92,92,92,92,92,92,92,92,92,91,91,91,91,91,91,91,91,91,90,90,90,90,90,90,90,90,90,90,90,89,89,89,89,89,89,89,89,89,89,88,88,88,88,88,88,88,88,88,88,88,88,87,87,87,87,87,87,87,87,87,87,87,87,87,86,86,86,86,86,86,86,86,86,86,86,86,86,86,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75};
  11. PROGMEM const int  speed3[]={0,8538,2272,1601,1281,1085,952,855,779,719,669,628,593,562,535,512,491,472,455,439,425,412,400,389,379,369,360,352,344,337,330,323,317,311,305,300,295,290,285,281,277,273,269,265,261,258,255,251,248,245,242,240,237,234,232,229,227,225,222,220,218,216,214,212,210,208,206,205,203,201,200,198,197,195,194,192,191,189,188,187,185,184,183,182,181,179,178,177,176,175,174,173,172,171,170,169,168,167,166,165,164,164,163,162,161,160,159,159,158,157,156,156,155,154,154,153,152,151,151,150,149,149,148,148,147,146,146,145,145,144,144,143,142,142,141,141,140,140,139,139,138,138,137,137,137,136,136,135,135,134,134,133,133,133,132,132,131,131,131,130,130,129,129,129,128,128,128,127,127,127,126,126,125,125,125,124,124,124,124,123,123,123,122,122,122,121,121,121,120,120,120,120,119,119,119,119,118,118,118,117,117,117,117,116,116,116,116,115,115,115,115,114,114,114,114,114,113,113,113,113,112,112,112,112,112,111,111,111,111,111,110,110,110,110,110,109,109,109,109,109,108,108,108,108,108,108,107,107,107,107,107,107,106,106,106,106,106,106,105,105,105,105,105,105,104,104,104,104,104,104,104,103,103,103,103,103,103,102,102,102,102,102,102,102,102,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,99,99,99,99,99,99,99,99,99,98,98,98,98,98,98,98,98,97,97,97,97,97,97,97,97,97,97,96,96,96,96,96,96,96,96,96,96,95,95,95,95,95,95,95,95,95,95,95,94,94,94,94,94,94,94,94,94,94,94,93,93,93,93,93,93,93,93,93,93,93,93,92,92,92,92,92,92,92,92,92,92,92,92,92,91,91,91,91,91,91,91,91,91,91,91,91,91,91,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,78,79,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,77,78,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77};
  12.  
  13. int i=0;
  14.  
  15. float scale=0.37;
  16.  
  17. #define STEPX 26
  18. #define DIRX  16
  19. #define ENABLE 12
  20. #define STEPY 25
  21. #define DIRY  27
  22. #define STEPZ 25
  23. #define DIRZ  14
  24. #define SERVO 23
  25. #define ledPin 2
  26.  
  27. const int* espTime;
  28.  
  29.  
  30. int incr=1;
  31.  
  32. void setup()
  33. {
  34.   pinMode(ENABLE, OUTPUT); // enable
  35.   pinMode(STEPY, OUTPUT); // stepY
  36.   pinMode(DIRY, OUTPUT); // dirY
  37.   digitalWrite(ENABLE, LOW);
  38.  
  39.   Serial.begin(115200);
  40.  
  41. }
  42.  
  43. long t;
  44. void loop()
  45. {
  46.   t=millis();
  47.   for(i=0; i<1000; i++) {
  48.     delayMicroseconds(pgm_read_word_near(speed0 + i)*scale);
  49.     digitalWrite(STEPY, HIGH);
  50.     digitalWrite(STEPY, LOW);
  51.   }
  52.   for(;i>0;i--) {
  53.     delayMicroseconds(pgm_read_word_near(speed0 + i)*scale);
  54.     digitalWrite(STEPY, HIGH);
  55.     digitalWrite(STEPY, LOW);
  56.   }
  57.   Serial.println(millis()-t); delay(2000);
  58.  
  59.     t=millis();
  60.   for(i=0; i<1000; i++) {
  61.     delayMicroseconds(pgm_read_word_near(speed1 + i)*scale);
  62.     digitalWrite(STEPY, HIGH);
  63.     digitalWrite(STEPY, LOW);
  64.   }
  65.   for(;i>0;i--) {
  66.     delayMicroseconds(pgm_read_word_near(speed1 + i)*scale);
  67.     digitalWrite(STEPY, HIGH);
  68.     digitalWrite(STEPY, LOW);
  69.   }
  70.   Serial.println(millis()-t); delay(2000);
  71.  
  72.     t=millis();
  73.   for(i=0; i<1000; i++) {
  74.     delayMicroseconds(pgm_read_word_near(speed2 + i)*scale);
  75.     digitalWrite(STEPY, HIGH);
  76.     digitalWrite(STEPY, LOW);
  77.   }
  78.   for(;i>0;i--) {
  79.     delayMicroseconds(pgm_read_word_near(speed2 + i)*scale);
  80.     digitalWrite(STEPY, HIGH);
  81.     digitalWrite(STEPY, LOW);
  82.   }
  83.   Serial.println(millis()-t); delay(2000);
  84.  
  85.     t=millis();
  86.   for(i=0; i<1000; i++) {
  87.     delayMicroseconds(pgm_read_word_near(speed3 + i)*scale);
  88.     digitalWrite(STEPY, HIGH);
  89.     digitalWrite(STEPY, LOW);
  90.   }
  91.   for(;i>0;i--) {
  92.     delayMicroseconds(pgm_read_word_near(speed3 + i)*scale);
  93.     digitalWrite(STEPY, HIGH);
  94.     digitalWrite(STEPY, LOW);
  95.   }
  96.   Serial.println(millis()-t);
  97.   Serial.println("----");
  98.   digitalWrite(DIRY,1-digitalRead(DIRY));
  99.   delay(2000);
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement