DC直流馬達測試-micropython


ESP32-DC直流馬達測試

tags: micropython dc_moto

直流馬達是微控板常常在用的元件,最常搭配的是L298N

驅動裝置,因為如果把馬達直接接上微控板會導致燒掉

======================================================================

L298N驅動板

OUT1:直流電機A+端子
OUT2:直流電機 A – 端子
OUT3:直流電機B+端子
OUT4:直流電機 B – 端子

這裡要特別注意的地方

在底部,您有一個帶有 +12V、GND 和 +5V 的三接線端子。 

一般用18650電池二~三顆供電的話接+12V和GND,如果要

額外接微控板例如esp32或arduino,在+5V和GND就是往外

供電給微控板的5V。

注意:如果供電超過12V,需要去掉跳線,給+5V端供電5V。

使能(Enble)引腳

如果您向使能 A 引腳發送 HIGH 信號,則電機 A 已準備好以最大速度進行控制;
如果向使能 A 引腳發送 LOW 信號,則電機 A 關閉;
如果發送PWM信號,則可以控制電機的速度。電機速度與占空比成正比。但是,

請注意,對於小占空比,電機可能不會旋轉,並發出持續的嗡嗡聲。


接線

*記得L298N的GND要拉一條到ESP32的GND,否則馬達不會動作


程式

from machine import Pin, PWM, freq

from time import sleep

  
class L298N():

    def __init__(self):

        self.in1 = Pin(26, Pin.OUT)

        self.in2 = Pin(27, Pin.OUT)

        self.enble = PWM(Pin(14), freq = 5000)

    def forward(self,speed):

        self.speed(speed)

        self.in1.on()

        self.in2.off()

        print("forward")

    def back(self, speed):

        self.speed(speed)

        self.in1.off()

        self.in2.on()

        print("back")

    def stop(self):

        self.in1.off()

        self.in2.off()

        print("stop")

    def speed(self,speed):

        self.enble.duty(speed)

if __name__ == "__main__":

    l298n = L298N()

    l298n.forward(800)

    sleep(3)

    l298n.back(600)

    sleep(3)

    l298n.stop()


文章作者: blairan
版權聲明: 本博客所有文章除特別聲明外,均採用 CC BY 4.0 許可協議。轉載請註明來源 blairan !
评论
  目錄