45步进电机
pwm频率
0.5KHz(周期2000ns) ~ 8kHz(周期125,000ns)
0.5kHz(周期= 1/0.5100,000,0 = 2,000,000ns)
1KHz(周期= 1/11,000,000 = 1000,000ns)
2KHz(周期= 1/21,000,000 = 5,000,00ns)
4KHz(周期 = 1/41,000,000 2,500,00ns)
8KHz(周期 = 1/8*1,000,000 1,500,00ns)
频率越高步进电机的速度越快
period = 40,000,000ns 到 1,500,00ns 速度越来越快
static void motor2_test() {
rt_uint32_t period, pulse, dir, max_period;
period = 10000000; /* 周 期 为0.5ms, 单 位 为 纳 秒ns */
dir = 1; /* PWM脉 冲 宽 度 值 的 增 减 方 向 */
pulse = period/2; /* PWM脉 冲 宽 度 值, 单 位 为 纳秒ns */
max_period = 500000;
/* 查 找 设 备 */
pwm_dev = (struct rt_device_pwm *)rt_device_find(PWM_DEV_NAME);
if (pwm_dev == RT_NULL)
{
rt_kprintf("pwm sample run failed! can't find %s device!\n", PWM_DEV_NAME);
return RT_ERROR;
}
rt_kprintf("pwm sample run ! find %s device!\n", PWM_DEV_NAME);
/* 设 置PWM周 期 和 脉 冲 宽 度 默 认 值 */
rt_pwm_set(pwm_dev, PWM_DEV_CHANNEL_2, period, pulse);
/* 使 能 设 备 */
rt_pwm_enable(pwm_dev, PWM_DEV_CHANNEL_2);
rt_thread_mdelay(2000);
rt_pwm_disable(pwm_dev, PWM_DEV_CHANNEL_2);
}