chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用基于ESP8266的NodeMCU原型板和電機控制板來控制兩種類型的電機

454398 ? 來源:網(wǎng)絡整理 ? 作者:佚名 ? 2019-11-08 11:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

第1步:使用的項目

對于這個教練,我使用了Gearbest的以下項目:

2 x NodeMCU 1.0(又名v2) - http://www.gearbest.com/transmitters-receivers-mod 。. 。

2 x ESP-12E電機護罩 - http://www.gearbest.com/boards-shields/pp_340732.h.。.

2 x直流減速電機 - http ://www.gearbest.com/development-boards/pp_7099 。..

1 x 28BYJ步進電機 - http://www.gearbest.com/other-accessories/pp_23115.。.

一句警告。確保你得到NodeMCU 1.0。 Gearbest還銷售NodeMCU 0.9(又名v1)。它不適合電機護罩(我有第一手經(jīng)驗)。

第2步:電機護罩

如何使用基于ESP8266的NodeMCU原型板和電機控制板來控制兩種類型的電機

特色電機護罩由深圳智能科技博士(我喜歡這個名字)制造。雖然董事會非??煽慷液芎玫野l(fā)現(xiàn)文檔缺乏。該板通常捆綁在一個WiFi機器人車載套件中,可以使用該軟件。該軟件是我使用的而不是文檔。但是,我找不到與步進電機一起使用驅(qū)動器的任何信息。希望這個教練可以解決這個問題。

Motor Shield文檔

WiFi機器人汽車源

本質(zhì)上,電機屏蔽功能:

由NodeMCU IO 1,2,3和4控制的四個供電輸出

電機和NodeMCU的可選雙電壓

所有相關引腳的便利性突破

電機電源引腳標記為A-,A +,B-和B +。 nodemcu和Arduino GPIO的映射不相同。如果您嘗試在Arduino IDE中將D1引腳用作io-pin 1,它將無法工作。在Arduino中你必須使用D1(這是5或5的別名。引腳映射如下:

Board pin |NodeMCU GPIO |Arduino IDE

A -15或D1

A +30或D3

B -24或D2

B +42或D4

第3步:ESP-12E(NodeMCU)

NodeMCU 1.0(又名v2)是一個非常好用的板。我使用過的其他ESP8266板需要3.3v,還需要特殊的接線用于閃存.NodeMCU有一個板載3.3v電壓調(diào)節(jié)器所以它可以通過用于編程的相同microusb電纜供電。它還具有用于閃存模式和復位的板載按鈕。

NodeMCU板可以提供不同的固件。對于這個Instructable我選擇使用NodeMCU Lua固件。你可以用Arduino IDE實現(xiàn)同樣的功能。它可以b知道即使Lua固件是為NodeMCU板開發(fā)的,它也可以用于任何ESP板。 Lua是一種腳本語言,功能強大且功能強大。 NodeMCU Lua環(huán)境還具有文件系統(tǒng)。固件中有很多模塊,但您可能需要使用Arduino IDE才能利用某些特定的庫。

假設您有一塊沒有Lua固件的電路板:

在此下載ESP8266flasher

在此處下載Lua固件?;蛘吣憧梢栽谶@里自己做飯。

解壓縮二進制文件并使用ESP8266flasher刷新fimware。按住閃光燈按鈕然后重置以將設備置于閃光模式。如果遇到麻煩,可以在之前的鏈接中找到更多信息。

從此處下載并安裝NodeMCU Lua IDE ESPlorer

此處可找到固件和模塊文檔。

在lua上可以找到一般的Lua語言文檔.org。

步驟4:驅(qū)動直流電機

A +引腳(D1)控制第一個DC的PWM輸出電機和A-(D3)引腳控制方向。 PWM輸出驅(qū)動電機并允許速度控制。例如,50%的占空比實際上產(chǎn)生較低的輸出電壓。它與脈沖計數(shù)無關。 A方向控制簡單地變?yōu)榈突蚋?,有效地反轉(zhuǎn)電壓并且因此電機的旋轉(zhuǎn)方向。請注意,通過將電機電源連接到VM并將NodeMCU電源連接到VIN,您可以使用單獨的電源(通常更高的電壓)驅(qū)動電機。 重要提示:如果您使用兩個電源,請移除連接VM和VIN的跳線。

要試用它,請執(zhí)行以下操作:

將電機的( - )(通常為黑色)導線連接到A-

將電機的(+)(通常為紅色)導線連接到A +

將電機B連接到同樣的方式

使用ESPlorer,上傳init.lua(下方)

上傳后,重置并觀察電機的轉(zhuǎn)動,反轉(zhuǎn)和停止。要重復,請再次按重置。很明顯,除了演示目的之外,這種特殊行為并不是非常有用。應該通過wifi控制電機,但這是針對這種指示的第二部分。加載/運行文件后,您可以通過調(diào)用電機功能e來控制ESPlorer命令linte中的電機。 G。

》 motor_a(FWD,100)

--motordrive: init.lua pin_a_speed = 1

pin_a_dir = 3

pin_b_speed = 2

pin_b_dir = 4 FWD = gpio.HIGH

REV = gpio.LOW duty = 1023 --initiate motor A

gpio.mode(pin_a_speed,gpio.OUTPUT)

gpio.write(pin_a_speed,gpio.LOW)

pwm.setup(pin_a_speed,1000,duty) --PWM 1KHz, Duty 1023

pwm.start(pin_a_speed)

pwm.setduty(pin_a_speed,0)

gpio.mode(pin_a_dir,gpio.OUTPUT) --initiate motor B

gpio.mode(pin_b_speed,gpio.OUTPUT)

gpio.write(pin_b_speed,gpio.LOW)

pwm.setup(pin_b_speed,1000,duty) --PWM 1KHz, Duty 1023

pwm.start(pin_b_speed)

pwm.setduty(pin_b_speed,0)

gpio.mode(pin_b_dir,gpio.OUTPUT) -- speed is 0 - 100

function motor(pin_speed, pin_dir, dir, speed)

gpio.write(pin_dir,dir)

pwm.setduty(pin_speed, (speed * duty) / 100)

end function motor_a(dir, speed)

motor(pin_a_speed, pin_a_dir, dir, speed)

end

function motor_b(dir, speed)

motor(pin_b_speed, pin_b_dir, dir, speed)

end

------------------------------------------------- --start motors 100% speed forward

motor_a(FWD, 100)

motor_b(FWD, 100) --reverse motors after 4s

tmr.register(0, 4000, tmr.ALARM_SINGLE, function()

motor_a(REV, 100)

motor_b(REV, 100)

end)

tmr.start(0) --turn motors off after 8s

tmr.register(1, 8000, tmr.ALARM_SINGLE, function()

motor_a(FWD, 0)

motor_b(FWD, 0)

end)

tmr.start(1)

步驟5:驅(qū)動步進電機

對于本演示,我使用了標準的單極(5線)28BYJ-48齒輪式步進電機。閱讀更多關于步進器的信息。

連接電線

藍色 - 》 A-

粉紅色 - 》 A +

黃色 - 》 B-

橙色 - 》 B +

紅色 - 》 VM

使用ESPlorer,上傳init。 lua和stepper.lua

上傳后,重置并觀察電機轉(zhuǎn)半圈(2048步),反轉(zhuǎn)并停止。要重復,請再次按重置。至于直流電機,對于大多數(shù)項目,步進電機應該通過wifi控制。您可以使用step_move函數(shù)從命令行運行步進器。

init.lua

--init.lua

--

dofile(“stepper.lua”)

--

FWD=1

REV=-1

--

ROTATION_FULL=4096 --One revolution, 28BYJ-48 geared stepper motor

ROTATION_HALF=ROTATION_FULL / 2

--

step_move(ROTATION_HALF,F(xiàn)WD,1)

tmr.register(0, 5000, tmr.ALARM_SINGLE, function()

step_move(ROTATION_HALF,REV,1)

end);

tmr.start(0);

stepper.lua (信用:wakenils http://www.esp8266.com/viewtopic.php?f=19&t=2326)

-- stepper.lua

-- code from: http://www.esp8266.com/viewtopic.php?f=19&t=2326

-- simple stepper driver for controlling a stepper motor with a

-- l293d driver

-- nodemcu pins: 0 5 6 7

stepper_pins = {1,3,2,4} -- (A-)blue, (A+)pink, (B-)yellow, (B+)orange

-- half or full stepping

step_states4 = {

{1,0,0,1},

{1,1,0,0},

{0,1,1,0},

{0,0,1,1}

}

step_states8 = {

{1,0,0,0},

{1,1,0,0},

{0,1,0,0},

{0,1,1,0},

{0,0,1,0},

{0,0,1,1},

{0,0,0,1},

{1,0,0,1},

}

step_states = step_states8 -- choose stepping mode

step_numstates = 8 -- change to match number of rows in step_states

step_delay = 20 -- choose speed

step_state = 0 -- updated by step_take-function

step_direction = 1 -- choose step direction -1, 1

step_stepsleft = 0 -- number of steps to move, will de decremented

step_timerid = 4 -- which timer to use for the steps

-- setup pins

for i = 1, 4, 1 do

gpio.mode(stepper_pins[i],gpio.OUTPUT)

end-- turn off all pins to let motor rest

function step_stopstate()

for i = 1, 4, 1 do

gpio.write(stepper_pins[i], 0)

end

end-- make stepper take one step

function step_take()

-- jump to the next state in the direction, wrap

step_state = step_state + step_direction

if step_state 》 step_numstates then

step_state = 1;

elseif step_state 《 1 then

step_state = step_numstates

end

-- write the current state to the pins

for i = 1, 4, 1 do

gpio.write(stepper_pins[i], step_states[step_state][i])

end

-- might take another step after step_delay

step_stepsleft = step_stepsleft-1

if step_stepsleft 》 0 then

tmr.alarm(step_timerid, step_delay, 0, step_take )

else

step_stopstate()

end

end-- public method to start moving number of ‘int steps’ in ‘int direction’

function step_move(steps, direction, delay)

tmr.stop(step_timerid)

step_stepsleft = steps

step_direction = direction

step_delay = delay

step_take()

end -- public method to cancel moving

function step_stop()

tmr.stop(step_timerid)

step_stepsleft = 0

step_stopstate()

end

步驟6:結(jié)論

花了一些時間來弄清楚如何將電機驅(qū)動板與NodeMCU一起使用。文檔非常糟糕。但是,既然我知道如何使用組合,我肯定會將它用于更多項目。希望這個教師共享的信息能夠幫助其他人開始。我非常喜歡類似Arduino的插件屏蔽組合。我希望更多的制造商開始為NodeMCU制作防護罩。
責任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 電機
    +關注

    關注

    143

    文章

    9497

    瀏覽量

    153305
  • ESP8266
    +關注

    關注

    51

    文章

    966

    瀏覽量

    49048
  • NODEMCU
    +關注

    關注

    13

    文章

    289

    瀏覽量

    23217
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    電機驅(qū)動和控制技術解析

    (驅(qū)動)是強電部,分其中包括個單元,一是功率驅(qū)動單元IPM用于電機的驅(qū)動,二是開關電源單元為整個系統(tǒng)提供數(shù)字和模擬電源。 控制板是弱電部分,是
    發(fā)表于 11-27 08:04

    晶科鑫 | 國產(chǎn)26MHz晶振匹配Espressif(樂鑫) ESP8285/ESP8266芯片案例

    本,者可以共用同一套SDK,只是ESP8285內(nèi)部集成了1MBFlash,SPIMode設置為DOUT,而ESP8266則需要外接Flash,并且是Din模式。除此之外,ESP828
    的頭像 發(fā)表于 11-21 15:37 ?4103次閱讀
    晶科鑫 | 國產(chǎn)26MHz晶振匹配Espressif(樂鑫) <b class='flag-5'>ESP</b>8285/<b class='flag-5'>ESP8266</b>芯片案例

    ESP8266ESP32開發(fā)常見的2種下載方式

    ESP32和ESP8266是性價比很高而且使用較為廣泛的的Wi-Fi模塊,在物聯(lián)網(wǎng)(IoT)領域的DIY項目中可以首先考慮這2款產(chǎn)品。 款芯片都屬于32位處理器。ESP32是低功耗
    的頭像 發(fā)表于 11-10 20:30 ?407次閱讀
    <b class='flag-5'>ESP8266</b>和<b class='flag-5'>ESP</b>32開發(fā)<b class='flag-5'>板</b>常見的2種下載方式

    ESP8266ESP32開發(fā)常見的2種下載方式

    協(xié)議,完整的 TCP/IP 協(xié)議棧以及藍牙協(xié)議棧。用戶可以使用這款模塊為現(xiàn)有的設備添加WIFI聯(lián)網(wǎng)功能或藍牙(ESP32),輕松的構(gòu)建獨立的網(wǎng)絡控制器和遠程控制監(jiān)控設備。
    發(fā)表于 10-24 18:04

    ?STEVAL-TTM007A汽車電機控制板技術解析

    STMicroelectronics STEVAL-TTM007A控制板設計用于高壓電機控制應用,如牽引逆變器和ASIL D系統(tǒng)。 STMicroelectronics STEVAL-TTM007A
    的頭像 發(fā)表于 10-17 10:41 ?1910次閱讀
    ?STEVAL-TTM007A汽車<b class='flag-5'>電機</b><b class='flag-5'>控制板</b>技術解析

    STM32+esp8266連接機智云,上傳溫濕度數(shù)據(jù)并控制繼電器開關(平臺配置、代碼生成、代碼移植)

    代碼,并通過手機APP進行設備控制。元器件準備在開始之前,您需要準備以下硬件元器件:1.STM32開發(fā)2.ESP8266Wi-Fi模塊3.溫濕度傳感器(如DHT1
    的頭像 發(fā)表于 07-15 18:54 ?790次閱讀
    STM32+<b class='flag-5'>esp8266</b>連接機智云,上傳溫濕度數(shù)據(jù)并<b class='flag-5'>控制</b>繼電器開關(平臺配置、代碼生成、代碼移植)

    采用NXP解決方案打造汽車電機控制原型

    無刷直流(BLDC)電機是一種使用直流電源運行的電機,但它依靠的是電子控制切換電機繞組中的電流,而非傳統(tǒng)有刷
    發(fā)表于 07-14 13:45 ?2977次閱讀
    采用NXP解決方案打造汽車<b class='flag-5'>電機</b><b class='flag-5'>控制</b><b class='flag-5'>原型</b>

    六相永磁同步電機串聯(lián)系統(tǒng)控制兩種方法分析研究

    摘要:筆者以逆變器驅(qū)動合雙Y移 30°永磁同步電機(PMSM)的串聯(lián)系統(tǒng)為例,給出了串聯(lián)系統(tǒng)的工作原理,采用i0的失量控制策略及電流滯環(huán)控制和PWM載波
    發(fā)表于 06-10 13:09

    ESP8266燒錄與機智云一鍵配網(wǎng)教程

    ESP8266模塊因其低成本和高性能,廣泛應用于智能家居和工業(yè)自動化等領域。機智云平臺提供了一鍵配網(wǎng)功能,簡化了設備的聯(lián)網(wǎng)過程。本教程將詳細介紹如何使用ESP8266進行燒錄,并通過機智云實現(xiàn)一鍵配
    的頭像 發(fā)表于 05-24 11:04 ?1612次閱讀
    <b class='flag-5'>ESP8266</b>燒錄與機智云一鍵配網(wǎng)教程

    無刷電機FOC控制筆記

    矢量控制的核心思想是為了簡化無刷電機控制模型,將一個需要換相的無刷電機通過各種算法變換,抽象為一個直流電機
    的頭像 發(fā)表于 05-21 19:33 ?1846次閱讀
    無刷<b class='flag-5'>電機</b>FOC<b class='flag-5'>控制</b>筆記

    有人這CAN機器手臂控制板的原理圖嗎?CAN舵機ID無法被識別

    燙被我取下來了。。。(左上角) 第二次上電,又是先上電源,再接手臂。。。沖掉了CH340還是usb哪個芯片,電腦無法識別,于是都換了(ESP8266下面個),終于成功連接上位機軟件了,但無法識別舵機
    發(fā)表于 04-22 12:19

    電機控制板NEVB-MCTRL-100-xx

    電子發(fā)燒友網(wǎng)站提供《電機控制板NEVB-MCTRL-100-xx.pdf》資料免費下載
    發(fā)表于 02-12 14:36 ?2次下載
    <b class='flag-5'>電機</b><b class='flag-5'>控制板</b>NEVB-MCTRL-100-xx

    如何編程電機控制

    電機類型包括直流電機、步進電機和伺服電機。每種電機都有其特定的應用場景和
    的頭像 發(fā)表于 01-22 09:37 ?1344次閱讀

    電機控制器技術參數(shù)解讀

    在現(xiàn)代工業(yè)和自動化領域,電機控制器扮演著至關重要的角色。它們不僅提高了電機的效率和性能,還增強了系統(tǒng)的可靠性和安全性。 1. 控制類型
    的頭像 發(fā)表于 01-22 09:32 ?3580次閱讀

    電機控制器選型指南

    在現(xiàn)代工業(yè)和自動化領域,電機控制器扮演著至關重要的角色。它們不僅控制電機的運行,還直接影響到整個系統(tǒng)的能效和性能。因此,正確選型電機
    的頭像 發(fā)表于 01-22 09:22 ?3901次閱讀