如何使用Arduino 實現(xiàn)直流電機調(diào)速
控制直流電機的速度是電子學(xué)和機器人技術(shù)中的一個基本概念。在Arduino的幫助下,您可以使用PWM(脈沖寬度調(diào)制)信號控制直流電機的速度和方向。這個項目是理想的初學(xué)者希望了解電機控制,模擬輸入讀取,并與電位器和電機驅(qū)動器等組件接口。
組件的要求
?Arduino Uno(或任何兼容板)- 1
?直流電機- 1
?L298N或L293D電機驅(qū)動模塊- 1
?10kΩ電位器- 1
?外部電源(如9V電池或12V適配器)- 1
?面包板- 1
?跳線-幾根
?USB數(shù)據(jù)線- 1(用于Arduino編程)
工作原理
Arduino產(chǎn)生PWM信號,發(fā)送給電機驅(qū)動器。PWM是一種通過快速打開和關(guān)閉信號來改變發(fā)送到設(shè)備的平均電壓的技術(shù)。PWM信號的占空比決定了電機運行的速度。
像L298N這樣的電機驅(qū)動模塊被用作Arduino和直流電機之間的接口。由于Arduino無法提供足夠的電流直接驅(qū)動電機,因此驅(qū)動器從Arduino獲取低電流信號,并使用它來控制高電流的電機供電。
電位器充當(dāng)手動速度控制器。通過旋轉(zhuǎn)旋鈕,它將模擬值(0-1023)發(fā)送到Arduino,然后將其映射到PWM值(0-255)并用于控制電機速度。
電路的連接
電位計:
?一個外部引腳到5V
?另一個外引腳接GND
?中間(雨刷)引腳到A0 (Arduino模擬輸入)
?電位器:一個外部引腳到5v,另一個外部引腳到GNDMiddle(雨刷)引腳到A0 (Arduino模擬輸入)
L298N電機驅(qū)動器:
?IN1到D5(數(shù)字引腳)
?IN2轉(zhuǎn)D6(數(shù)字引腳)
?ENA(使能A)到D9 (PWM引腳)
?電機端子連接到OUT1和OUT2
12V電源到VCC
與Arduino共享GND
L298N電機驅(qū)動器:IN1 ~ D5(數(shù)字引腳)IN2 ~ D6(數(shù)字引腳)ENA (Enable A) ~ D9 (PWM引腳)連接OUT1和OUT212V的電機端子供電給與Arduino共享的VCCGND
Arduino代碼示例
它是如何工作的
?當(dāng)你旋轉(zhuǎn)電位器時,它的模擬值會發(fā)生變化。
?Arduino讀取該值并將其映射到PWM范圍。
?PWM信號發(fā)送到電機驅(qū)動器的ENA引腳。
?這調(diào)整了電機的速度。
?IN1和IN2設(shè)置方向(HIGH和LOW = forward)。
您可以通過將IN1切換到LOW和IN2切換到HIGH來反轉(zhuǎn)電機。
應(yīng)用程序
?機器人車輛和汽車
?輸送帶系統(tǒng)
?風(fēng)扇轉(zhuǎn)速控制器
?智能家居自動化(電動窗戶/窗簾)
提示
?始終用外部電源為電機供電。
?如果需要,使用二極管或電容器來抑制噪聲。
?確保駕駛員能夠處理您的電機當(dāng)前的要求。
結(jié)論
這個簡單的Arduino項目教授使用PWM和電位器控制直流電機的基礎(chǔ)知識。它非常適合初學(xué)者,并且可以通過添加方向按鈕、轉(zhuǎn)速反饋或無線控制等功能來擴展。
本文編譯自hackster.io





