jennyzhaojie 发表于 2025-1-14 11:03

【MCXN947开发板测评】步进电机驱动控制

<p>MCXN947开发板具有AI识别的潜能,为此给摄像头配置一个步进电机的云台,以调整摄像头的观察角度是件有意义的事。</p>

<p >这里选用的是4线式步进电机,其外观如图1所示。为了驱动该步进电机,该需为其配置一个由ULN2003芯片构成的驱动器。</p>

<p > &nbsp;</p>

<p>图1 &nbsp;步进电机及驱动器</p>

<p >&nbsp;</p>

<p >为驱动该步进电机,所配置的正转一周的函数为:</p>

<pre>
<code class="language-cpp">void Forward(uint32_t n)
{
unsigned char X,Y;
for(X=0;X&lt;64;X++)
{
   for(Y=0;Y&lt;8;Y++)
   {
         MDL;
         MAH;//A
         delay_ms(n);
         MBH;//AB
         delay_ms(n);
         MAL;//B
         delay_ms(n);
         MCH;//BC
         delay_ms(n);
         MBL;//C
         delay_ms(n);
         MDH;//CD
         delay_ms(n);
         MCL;//D
         delay_ms(n);
         MAH;//DA
         delay_ms(n);
   }
}
}
</code></pre>

<p>&nbsp;</p>

<p>步进电机正反转测试主程序:</p>

<pre>
<code class="language-cpp">int main(void)
{
        uint8_t i,n,f,m;
    gpio_pin_config_t led_config = {
      kGPIO_DigitalOutput,
      0,
    };
        gpio_pin_config_t key_config = {
      kGPIO_DigitalInput,
      0,
    };
    CLOCK_SetClkDiv(kCLOCK_DivFlexcom4Clk, 1u);
    CLOCK_AttachClk(BOARD_DEBUG_UART_CLK_ATTACH);
    CLOCK_EnableClock(kCLOCK_Gpio0);
    CLOCK_EnableClock(kCLOCK_Gpio1);               
    BOARD_InitPins();
    BOARD_InitBootClocks();
    BOARD_InitDebugConsole();
        GPIO_PinInit(GPIO0, 25U, &amp;led_config);
        GPIO_PinInit(GPIO0, 26U, &amp;led_config);
        GPIO_PinInit(GPIO0, 24U, &amp;led_config);
    GPIO_PinInit(GPIO0, 27U, &amp;led_config);
    GPIO_PinInit(GPIO0, 6U, &amp;key_config);       
        delay();
    MAL;
    MBL;
    MCL;
    MDL;
        delay();
    f=0;
    m=5;
    for(i=0;i&lt;m;i++)
    {
                if((GPIO_PinRead(GPIO0, 6U))==0)
                {
                          Forward(1);
                }       
      else
      {
                      reverse(1);
                }
                delay();
    }
    while (1);
}
</code></pre>

<p>经程序的编译和下载,其运行效果如图2所示,说明驱动成功。</p>

<p> &nbsp;</p>

<p>图2 运行中</p>

<p>&nbsp;</p>
页: [1]
查看完整版本: 【MCXN947开发板测评】步进电机驱动控制