基于STM32单片机的控制步进电机实验

一、实验原理(以28byj48步进电机为例)和51控制步进电机原理一致
1、五线四相步进电机,不同线圈得电会让步进电机的转子转动一个角度,按一定规律给不同的线圈通电,就可以让步进电机连续转动,下表就是步进电机和拆解后的图片,以及四根线通电的顺序。
注:总共五条线,一个是vcc,剩下四条分别接上abcd相。
2、每走一个位置,都要给一定的延时,不然还没等转子到位,下一个脉冲就进来了,肯定会引起错误,导致电机堵转、异常震动。
3、通过改变延时的时间,就可以控制电机的转速,不能太慢,也不要太快,不断调试到合理范围就行,转向用了一个枚举类型,控制转向。
4、单片机io口和电机四条线连接时,一定不能错误,要按照顺序相连接。
5、调换得电的顺序,就可以控制电机的转向。
二、关键实验代码
//实验用到的引脚要先进行初始化void uln2003_configuration(void){ gpio_inittypedef gpio_initstructure; rcc_apb2periphclockcmd(rcc_apb2periph_gpioa, enable); gpio_initstructure.gpio_pin = gpio_pin_4 | gpio_pin_5 | gpio_pin_6 | gpio_pin_7; gpio_initstructure.gpio_speed = gpio_speed_50mhz; gpio_initstructure.gpio_mode = gpio_mode_out_pp; gpio_init(gpioa, &gpio_initstructure); gpio_writebit(gpioa, gpio_pin_4 | gpio_pin_5 | gpio_pin_6 | gpio_pin_7, bit_reset);}//控制转向和速度 enum dir{pos, neg}; //pos = 0, neg = 1void stepper(unsigned int dir, unsigned int speed){ if(dir == pos) { //step1: in1_high; in2_low; in3_low; in4_low; delay_us(speed); //step2: in1_high; in2_high; in3_low; in4_low; delay_us(speed); //step3: in1_low; in2_high; in3_low; in4_low; delay_us(speed); //step4: in1_low; in2_high; in3_high; in4_low; delay_us(speed); //step5: in1_low; in2_low; in3_high; in4_low; delay_us(speed); //step6: in1_low; in2_low; in3_high; in4_high; delay_us(speed); //step7: in1_low; in2_low; in3_low; in4_high; delay_us(speed); //step8: in1_high; in2_low; in3_low; in4_high; delay_us(speed); } else { //step1: in1_high; in2_low; in3_low; in4_high; delay_us(speed); //step2: in1_low; in2_low; in3_low; in4_high; delay_us(speed); //step3: in1_low; in2_low; in3_high; in4_high; delay_us(speed); //step4: in1_low; in2_low; in3_high; in4_low; delay_us(speed); //step5: in1_low; in2_high; in3_high; in4_low; delay_us(speed); //step6: in1_low; in2_high; in3_low; in4_low; delay_us(speed); //step7: in1_high; in2_high; in3_low; in4_low; delay_us(speed); //step8: in1_high; in2_low; in3_low; in4_low; delay_us(speed); }

iPhone诞生已有8年,触觉技术何时为消费电子带来“真正的互动”?
工信部部长苗圩回应中小企业、新能源汽车、5G等相关热点问题
人工智能的发展形势的严峻性
用于汽车应用的以太网和以太网-AVB
深入了解人工智能芯片:痛点在哪儿?
基于STM32单片机的控制步进电机实验
高德地图首创“全境智能冬季应急大屏”正式上线
触发器的电路结构与工作原理
自制遥控机械臂的教程
手持设备Sico,连接现实与虚拟世界的桥梁
基于低功耗模拟技术延长电池使用寿命
基于CD4017的无线遥控信号器的设计
基于Xilinx Zynq SoC强大的性能成为无人机平台最佳的选择
VM系列振弦采集模块(智能振弦传感器测量模块)其它常见问题
单片机C语言程序设计: 单片机与 PC 通信
13908亿斤!雪中丰收的秘密
闽江学院实验室揭牌仪式
卡曼滤波器入门教程α−β−γ滤波器 2
国产替代威世(VISHAY)3KASMC系列TVS瞬变抑制二极管
长虹C3418T彩电图像自动消失故障的检修