物联网开发131 - Micropython ESP32 C3连接TB6600驱动42BYGH39步进电机

一、目的

        这一节我们来学习如何使用合宙ESP32 C3连接TB6600驱动42BYGH39步进电机,实现控制步进电机正反转和旋转指定角度等。下面我们一起来学习一下吧!

二、环境

        ESP32 C3开发板(MicroPython v1.19.1 on 2022-06-18)+ 42BYGH39步进电机 + TB6600驱动 + 几根杜邦线 + Win10商业版

        ESP32 C3和各模块接线方法:

我们使用共阴极接法:

Tb6600电源和步进电机接线:

根据电动机的电流设置拨码开关:

我们使用的电动机电流是1.2A,我们拨码开关4设为On,5和6设为OFF。

细分开关,即拨码开关1,2,3,下面我们使用的是1600的,所以2设为ON,1和3设为OFF。

三、TB6600步进电机驱动

tb6600.py

from machine import Pin
import time

class TB6600:
    
    Pulse = 1600
    
    def __init__(self,Pul,Dir,Ena):
        
        self.Pul = Pin(Pul,Pin.OUT,Pin.PULL_UP)
        self.Dir = Pin(Dir,Pin.OUT,Pin.PULL_UP)
        self.Ena = Pin(Ena,Pin.OUT,Pin.PULL_UP)
        self.Reset()
        
    """
    设置旋转整圈数:
    Een = 1使能,Een = 0失能
    Dir = 1正转,Dir = 0反转
    Circle = 旋转圈数,一圈360°
    Freq = 频率 例如:一周期200us = 时间1/周期0.000200 = 频率5kHz
    """
    def Motor_Circle(self,Ean,Dir,Circle,Freq):
        
        for i in range(0,self.Pulse * Circle,1):
            
            self.Ena.value(Ean)
            
            if Dir:
                self.foreward()
            else:
                self.reversal()
            
            self.frequency(Freq)
            
    """
    设置旋转角度:
    Een = 1使能,Een = 0失能
    Dir = 1正转,Dir = 0反转
    Angle = 旋转角度,0 - 360°
    Freq = 频率 例如:一周期200us = 时间1/周期0.000200 = 频率5kHz
    """
    def Motor_Angle(self,Ean,Dir,Angle,Freq):
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

魔都飘雪

您的1毛奖励是我创作的源源动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值