本帖最后由 Maker_kun 于 2024-9-3 23:26 编辑
框架示意图
采用ESP32 UNO D1 R32开发板
代码:
const int stepPin=13; //步进引脚
const int dirPin=12; //方向引脚
const int enPin=14; //使能引脚
void setup() {
pinMode(stepPin,OUTPUT);
pinMode(dirPin,OUTPUT);
pinMode(enPin,OUTPUT);
digitalWrite(enPin,LOW); //打开使能
digitalWrite(dirPin,HIGH); //打开使能
}
void loop()
{
// put your main code here, to run repeatedly:
// 对步进引脚发送一个高电平
// 然后等待100微秒
// 然后再发送一个低电平
// 然后等待100微秒
// 这样就完成一次脉冲,电机旋转一步
int i;
i=3000;
digitalWrite(dirPin,HIGH); //正转
while(i)
{
i--;
digitalWrite(stepPin,HIGH);
delayMicroseconds(100);
digitalWrite(stepPin,LOW);
delayMicroseconds(100);
}
i=3000;
digitalWrite(dirPin,LOW); //正转
while(i)
{
i--;
digitalWrite(stepPin,HIGH);
delayMicroseconds(100);
digitalWrite(stepPin,LOW);
delayMicroseconds(100);
}
}
实物照片
使用逻辑分析仪测试波形如下:
方波为100us
视频展示:
ESP32驱动ADI TMC2208