网站无法做301重定向,建设 大型电子商务网站,怎么在企查查网站做企业认证,群辉wordpress阿里云ssl前言 #xff08;1#xff09;本章介绍用stm32驱动42步进电机#xff0c;将介绍需要准备的硬件器材、所需芯片资源以及怎么编程及源代码等等。 #xff08;2#xff09;实验效果#xff1a;按下按键#xff0c;步进电机顺时针或逆时针旋转90度。 #xff08;3#xff…前言 1本章介绍用stm32驱动42步进电机将介绍需要准备的硬件器材、所需芯片资源以及怎么编程及源代码等等。 2实验效果按下按键步进电机顺时针或逆时针旋转90度。 3参考资料 【入门教程】STM32驱动步进电机_哔哩哔哩_bilibili 硬件准备 购买链接 【淘宝】https://m.tb.cn/h.5TEAcrO?tkQuv6W01YhgP CZ3457 「42步进电机42BYGH34S扭矩0.28N.M长34mm丝杆滑台3D打印机配件马达」 点击链接直接打开 或者 淘宝搜索直接打开 接线
1、接控制器三个普通的GPIO即可用作普通推挽输出模式
2、步进电机有四个引脚接到驱动器上的A、B相即可
3、12V供电 步进电机驱动设置
由驱动器旁边的拨码开关进行设置 代码讲解 见代码注释
main.c
#include stm32f10x.h
#include bsp_key.h
#include bsp_stepmotor.hvoid Delay(__IO uint32_t nCount){for (; nCount ! 0; nCount--);
};void Step_90_Degrees(){// NC 1600, 800 toggles means 90 degree motor rotationfor (int i 0; i 800; i){ MOTOR_PUL_Toggle; //翻转800次// The delay time determines the motor speedDelay(0xfff); //delay时间的长短决定电机旋转的速度这个延时是不准确的若需要精准的延时可采用定时器}
}
//
int main(void)
{Key_GPIO_Config(); //按键的配置初始化Stepper_Pin_Init(); //步进电机配置Delay(0xfffff); //进行延时单片机更好初始化// Keep detecting the Key statuswhile(1){if (Key_Scan(KEY1_GPIO_PORT, KEY1_GPIO_PIN) KEY_ON){// Counter Clock Wise for KEy1MOTOR_DIR_CCW; //设置步进电机为逆时针旋转方向Step_90_Degrees(); //控制脉冲端口使步进电机旋转90度}if (Key_Scan(KEY2_GPIO_PORT, KEY2_GPIO_PIN) KEY_ON){// Counter Clock Wise for KEy2MOTOR_DIR_CW; //设置步进电机为顺时针旋转方向Step_90_Degrees();}}
}代码开源链接这是up主的代码主控不是c8t6。但是可以参考驱动程序 https://github.com/Fiercewill/STM32-42StepMotor