#单片机(TB6600驱动42步进电机)

1.IDE:keil


2.设备:保密


3.实验:使用单片机通过普通IO口控制TB6600驱动42步进电机


4.时序图:

TB6600

|--------------|-----------|-----------------|-------|-------|-----------|
| ENA+、ENA- | DIR-、DIR+ | PUL-、PUL+ | B-、B+ | A+、A- | VCC、GND |
| 使能电机(直接悬空不接) | 方向 | 脉冲输入(普通IO口模拟即可) | 同组 | 同组 | 看驱动的电机的电压 |

s1-s6根据驱动的电机设置电机驱动板,在下面第二张图里面可以看到

S1-S3设置步进电机的细分:

比如S1-ON,S2-ON,S3-OFF那么Pul输入200个脉冲,电机转一圈,

360度/200=1.8度,一个脉冲,电机转1.8度。

比如S1-ON,S2-OFF,S3-ON那么Pul输入400个脉冲,电机转一圈,

360度/400=0.9度,一个脉冲,电机转0.9度。

S4-S6设置电机的驱动电流:

我们现在使用的42步进电机,驱动电流为1A,所以S4-ON,S5-OFF,S6-ON。(根据使用的电机设置)

42步进电机

供电12V

如何判断是否好坏:

所有线拧在一起,用手转电机,转不动,再把线散开,能转动电机,则证明电机为好的。

如何判断两根线是否为同一组:

一般默认红(A+)黑(A-)为一组,蓝(B+)绿(B-)为一组,但是有些不是的。将四根线,两根两根的拧在一起,转动电机,转动有阻力则为一组,没有阻力则不是一组。

接法:

(1)共阴极:DIR-、PUL-、单片机GND接在一起,DIR+、PUL+接单片机IO口(高电平有效)

(2)共阳极:DIR+、PUL+、单片机VCC接在一起,DIR-、PUL-接单片机IO口(低电平有效)

(3)VCC直流电源正极12V,GND接直流电源负极

(4)A+、A-、B+、B-理论上说只要能保证同一组即可

(5)ENA悬空

部分问题:

(1)脉冲频率不要过高,否则会出现电机响而不转

(2)注意电机负重不要过大


5.步骤:

(1)TB6600图片

(2)42步进电机图片

(该步进电机为红黑一组,本人的步进电机为黑绿一组(相邻且有排子),具体情况按上述说明测试)


6.代码:

cpp 复制代码
/*
 *一个脉冲(无细分下转动1.8度)
 */
void Step_Run_OnePulse(void)
{
	Pulse_High;
	Delay_ms(20);
	Pulse_Low;
	Delay_ms(20);
 }

/*
 *指定方向转动指定角度
 *细分200情况下:转一圈为360/1.8=200个脉冲
 */
void Step_Run_SpecifyAngle(u8 dir,u8 angle)
{
	u8 pulse_number=0;
  if(dir == Clockwise)               //顺时针
	  Dir_High;
	else  if(dir == Counterclockwise)  //逆时针
	  Dir_Low;
	pulse_number = (u8)((float)angle / 1.8);   //得到需要转动到指定角度的脉冲数
	for(pulse_number ;pulse_number > 0;pulse_number--)
	  Step_Run_OnePulse();
}

相关推荐
jacklood1 小时前
基于STM32的车载振动曲线摆件创意设计
stm32·单片机·嵌入式硬件
jomoly1 小时前
星闪NL002开发板测评+匆匆
单片机·嵌入式硬件
17(无规则自律)3 小时前
【Linux驱动实战】:标准的按键控制LED驱动写法
linux·驱动开发·嵌入式硬件
森利威尔电子-4 小时前
森利威尔SL3180替换LM5013 100V降压3.3V 5V 12V恒压芯片
单片机·嵌入式硬件·集成电路·芯片·电源芯片
Net_Walke4 小时前
ESP32开发:5分钟之内添加ST7735驱动构建LVGL模板工程
单片机·物联网·iot
qq_401700417 小时前
5V防过压电路
单片机·硬件
小昭在路上……7 小时前
AHB和APB总线概念
单片机·嵌入式硬件
学嵌入式的小杨同学8 小时前
STM32 进阶封神之路(三十):IIC 通信深度实战 —— 软件模拟 IIC + 光照传感器(BH1750)全解析(底层时序 + 代码落地)
stm32·单片机·嵌入式硬件·mcu·硬件架构·硬件工程·智能硬件
Zarek枫煜9 小时前
zig与C3的算法 -- 桶排序
c语言·嵌入式硬件·算法
我是一个对称矩阵10 小时前
Ubuntu安装WIFI适配器驱动
stm32·单片机·ubuntu