電子發(fā)燒友App

硬聲App

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>Arduino半步步進(jìn)電機(jī)驅(qū)動(dòng)器L298N

Arduino半步步進(jìn)電機(jī)驅(qū)動(dòng)器L298N

2022-12-09 | zip | 0.11 MB | 次下載 | 2積分

資料介紹

描述

半步電機(jī)驅(qū)動(dòng)器

該項(xiàng)目是如何更準(zhǔn)確地驅(qū)動(dòng)雙極步進(jìn)電機(jī)的示例。驅(qū)動(dòng)是通過(guò)軟件切換 IO(bitbanging)并使用 Arduino MKR 的 PWM 定時(shí)器來(lái)完成的。對(duì)于半橋,我們使用 ST L298N 。

為什么是半步?

雙極步進(jìn)電機(jī)通常通過(guò)切換線(xiàn)圈進(jìn)行四相步進(jìn)。添加中間步驟使其更加準(zhǔn)確和平滑(但扭矩會(huì)小一些)。這是一個(gè)有趣的鏈接,用于說(shuō)明整步和半步之間的區(qū)別。我們將切換以下圖表:

?
?
?
?
pYYBAGOSpOqACYXNAAB0muNGQbY192.jpg
?
1 / 2 ?半步狀態(tài)
?

我們總共有 8 個(gè)狀態(tài),一個(gè)接一個(gè)地對(duì)微步進(jìn)行排序。每個(gè)序列狀態(tài)的時(shí)間將定義切換速度和電機(jī)速度。通過(guò)將線(xiàn)圈序列之一相移 180 度(4 微步),方向很容易控制。

Bitbanging 和 PWM

使用的 L298N 電機(jī)驅(qū)動(dòng)器可以驅(qū)動(dòng)全橋 MOSFET 并切換線(xiàn)圈電流的正向、負(fù)向(或關(guān)閉)。

?
?
?
?
poYBAGOSpPWAYZxWAABBWtlsvrw882.png
?
1 / 2 ?全橋 MOSFET
?

這是通過(guò)軟件 IO 切換 - 位轉(zhuǎn)換 - IN1/IN2 和 IN3/IN4 輸入來(lái)完成的。L298N 驅(qū)動(dòng)器是內(nèi)部設(shè)置的,以防止通過(guò) IN 信號(hào)上的反相輸入門(mén)在一條腿上出現(xiàn)捷徑 - 很好 :)。也可以用 PWM 信號(hào)驅(qū)動(dòng)電橋使能信號(hào) ENA/ENB,在線(xiàn)性區(qū)域稍微控制電流。這是由 Arduino Micro 的硬件完成的。MKR 版本有一個(gè) ATSAMD21,可以產(chǎn)生 25Khz PWM 信號(hào)。有關(guān)詳細(xì)信息,請(qǐng)參閱我的其他高速 PWM 項(xiàng)目。L298N 驅(qū)動(dòng)程序在Arduino Motor Shield Rev3上設(shè)置,它將數(shù)字 IO 和感應(yīng) IO 連接到模擬輸入,因此我們可以測(cè)量通過(guò)電機(jī)的電流。還將使用外部電源 (12V) 并在電機(jī)護(hù)罩上提供支持。(重要:拆焊 Vin 連接?。┪覀兪褂?/font>MKR2UNO轉(zhuǎn)換板將它們連接在一起。

NEMA 17 步進(jìn)器

對(duì)于這個(gè)項(xiàng)目,我們使用 NEMA 17 格式的雙極步進(jìn)電機(jī)。它有 200 步(每步 1.8 度),但使用半步驅(qū)動(dòng)需要 400 步轉(zhuǎn)一圈。每個(gè)線(xiàn)圈的最大電流為 0.75A,我們通過(guò) SenseA 以 1.65V/Amp 測(cè)量 CoilA 上的電流。

軟件代碼

Arduino 代碼寫(xiě)在一張草圖中。我使用全局變量來(lái)定義關(guān)鍵數(shù)據(jù),例如:

  • Sequencer[7][8]:每個(gè)驅(qū)動(dòng)信號(hào)的 8 個(gè) ustep 狀態(tài)的序列。
  • CurrentArray0[32]:用于監(jiān)視電流和計(jì)算鎖定的滾動(dòng)數(shù)據(jù)
  • ShadowArray[512]:調(diào)試數(shù)據(jù)數(shù)組,用于繪制電流圖

關(guān)鍵例程如下,代碼中自解釋?zhuān)?/font>

  • MotorLoop(int lps, int dir):驅(qū)動(dòng)電機(jī)在任何方向上進(jìn)行 x 步
  • int CalcArray():計(jì)算鎖定狀態(tài),返回%電流偏差(*10)
  • MotorPowerDown():通過(guò)關(guān)閉半橋關(guān)閉電機(jī)。(無(wú)電流)
  • DataDump():通過(guò)串口轉(zhuǎn)儲(chǔ)監(jiān)控和調(diào)試數(shù)據(jù)
  • SetupPWMTimers():在引腳 3 和 11(ENA 和 ENB)上設(shè)置 25Khz PWM 信號(hào)

電機(jī)回路

電機(jī)回路正在讀取序列發(fā)生器陣列,寫(xiě)入 IO(EN1/EN2、EN3/EN4)并寫(xiě)入 PWM 占空比(ENA/ENB)。以微秒為單位的相位延遲也在定序器陣列中。方向是通過(guò)將 CoilB 的數(shù)組索引移動(dòng) 0 或 4 來(lái)完成的。第一圈還有一個(gè)啟動(dòng)序列 (#define MOTORSTART)。它的啟動(dòng)速度稍慢(扭矩更大),然后按照編程保持在正常速度。

鎖定監(jiān)控

關(guān)鍵是理解鎖倉(cāng)計(jì)算。該程序在每第 3 個(gè)序列狀態(tài)(最大電流驅(qū)動(dòng))中測(cè)量 CoilA 中的電流,并將其保存在監(jiān)控?cái)?shù)組中。然后計(jì)算當(dāng)前*時(shí)間偏差。為什么?> Current*Time與Watt*Time成線(xiàn)性關(guān)系(假設(shè)電壓恒定),相當(dāng)于Newton*Meter,也就是系統(tǒng)中的能量變化量(焦耳)。測(cè)量這種能量變化并觸發(fā)超過(guò)某個(gè)值,就會(huì)觸發(fā)鎖定。鎖定觸發(fā)器在代碼中定義 (#define MOTORLOCK)

你的馬達(dá)?

對(duì)于每個(gè)電機(jī),此電流*時(shí)間行為都會(huì)不同。要理解這一點(diǎn),您可以轉(zhuǎn)儲(chǔ)測(cè)量的電流數(shù)據(jù)(用分號(hào)分隔),并將其復(fù)制粘貼到 Xls 表,制作數(shù)據(jù)表,計(jì)算觸發(fā)器和圖表:

?
?
?
?
pYYBAGOSpPiATeT3AACeBC3N18U729.jpg
?
1 / 2 ? ShadowBuffer[512] 當(dāng)前數(shù)據(jù)到 Xls
?

當(dāng)以不同的 PWM 電平或其他時(shí)序速度驅(qū)動(dòng)時(shí),您會(huì)在測(cè)量中看到嚴(yán)重的斬波尖峰。有一個(gè)設(shè)置可以使電流尖峰達(dá)到一定水平以上。(#define PEAKFILTER),改變并嘗試。:)


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開(kāi)發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)