DC直流馬達測試-micropython

ESP32-DC直流馬達測試

直流馬達是微控板常常在用的元件,最常搭配的是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 PinPWMfreq
from time import sleep

class L298N():
    def __init__(self):
        self.in1 = Pin(26Pin.OUT)
        self.in2 = Pin(27Pin.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(selfspeed):
        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()
































留言

這個網誌中的熱門文章

使用PWM控制伺服馬達-micropython

DHT11+OLED+IFTTT+LINE-notity-micropython

BMP280氣壓,溫度模組-micropython