Advertisement
Francoo

Stepper Motor ad hoc Half Step test Driver

Jan 26th, 2014
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.74 KB | None | 0 0
  1. #include <main.h>
  2.  
  3. #define bob1l pin_a0
  4. #define bob1r pin_a1
  5. #define bob2l pin_a6
  6. #define bob2r pin_a7
  7.  
  8. void main()
  9. {
  10.  
  11.    while(TRUE)
  12.    {
  13.       output_low(bob1l);
  14.       pwm_set_duty_percent(1000);
  15.       delay_ms(100);
  16.       pwm_set_duty_percent(500);
  17.       delay_ms(400);
  18.      
  19.       output_high(bob1r);
  20.       pwm_set_duty_percent(1000);
  21.       delay_ms(100);
  22.       pwm_set_duty_percent(500);
  23.       delay_ms(400);
  24.      
  25.       output_low(bob2l);
  26.       pwm_set_duty_percent(1000);
  27.       delay_ms(100);
  28.       pwm_set_duty_percent(500);
  29.       delay_ms(400);
  30.      
  31.       output_high(bob2r);
  32.       pwm_set_duty_percent(1000);
  33.       delay_ms(100);
  34.       pwm_set_duty_percent(500);
  35.       delay_ms(400);
  36.      
  37.       output_low(bob1r);
  38.       pwm_set_duty_percent(1000);
  39.       delay_ms(100);
  40.       pwm_set_duty_percent(500);
  41.       delay_ms(400);
  42.      
  43.       output_high(bob1l);
  44.       pwm_set_duty_percent(1000);
  45.       delay_ms(100);
  46.       pwm_set_duty_percent(500);
  47.       delay_ms(400);
  48.      
  49.       output_low(bob2r);
  50.       pwm_set_duty_percent(1000);
  51.       delay_ms(100);
  52.       pwm_set_duty_percent(500);
  53.       delay_ms(400);
  54.      
  55.       output_high(bob2l);
  56.       pwm_set_duty_percent(1000);
  57.       delay_ms(100);
  58.       pwm_set_duty_percent(500);
  59.       delay_ms(400);
  60.    }
  61.    
  62. }
  63.  
  64. ---------------------------------------------------------------------------
  65.  
  66. #include <main.h>
  67.  
  68. #define bob1l pin_a0
  69. #define bob1r pin_a1
  70. #define bob2l pin_a6
  71. #define bob2r pin_a7
  72.  
  73. void main()
  74. {
  75.    const int halfstep[] = { 0x01, 0x03, 0x02, 0x06, 0x04, 0x0B, 0x08, 0x09 };
  76.    
  77.    while(TRUE)
  78.    {
  79.       for(int i=0; i<7; i++)
  80.       {
  81.          output_bit(bob1l,bit_test(halfstep[i],0));
  82.          output_bit(bob1r,bit_test(halfstep[i],1));
  83.          output_bit(bob2l,bit_test(halfstep[i],2));
  84.          output_bit(bob2r,bit_test(halfstep[i],3));
  85.          pwm_set_duty_percent(1000);
  86.          delay_ms(100);
  87.          pwm_set_duty_percent(500);
  88.          delay_ms(400);
  89.       }
  90.    }
  91. }
  92.  
  93. ---------------------------------------------------------------------------
  94.  
  95. #include <main.h>
  96.  
  97. #define bob1l pin_a0
  98. #define bob1r pin_a1
  99. #define bob2l pin_a6
  100. #define bob2r pin_a7
  101.  
  102. void main()
  103. {
  104.    const int halfstep[] = { 0x01, 0x03, 0x02, 0x06, 0x04, 0x0B, 0x08, 0x09 };
  105.    
  106.    setup_timer_2(t2_div_by_4,250,16);
  107.    setup_ccp1(ccp_pwm);
  108.    
  109.    while(TRUE)
  110.    {
  111.       for(int i=0; i<7; i++)
  112.       {
  113.          output_bit(bob1l,bit_test(halfstep[i],0));
  114.          output_bit(bob1r,bit_test(halfstep[i],1));
  115.          output_bit(bob2l,bit_test(halfstep[i],2));
  116.          output_bit(bob2r,bit_test(halfstep[i],3));
  117.          set_pwm1_duty(1000);
  118.          delay_ms(100);
  119.          set_pwm1_duty(500);
  120.          delay_ms(400);
  121.       }
  122.    }
  123. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement