<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

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

3天內不再提示
電子發燒友網>電子資料下載>電子資料>Arduino半步步進電機驅動器L298N

Arduino半步步進電機驅動器L298N

2022-12-09 | zip | 0.11 MB | 次下載 | 免費

資料介紹

描述

半步電機驅動器

該項目是如何更準確地驅動雙極步進電機的示例。驅動是通過軟件切換 IO(bitbanging)并使用 Arduino MKR 的 PWM 定時器來完成的。對于半橋,我們使用 ST L298N 。

為什么是半步?

雙極步進電機通常通過切換線圈進行四相步進。添加中間步驟使其更加準確和平滑(但扭矩會小一些)。這是一個有趣的鏈接,用于說明整步和半步之間的區別。我們將切換以下圖表:

?
?
?
?
pYYBAGOSpOqACYXNAAB0muNGQbY192.jpg
?
1 / 2 ?半步狀態
?

我們總共有 8 個狀態,一個接一個地對微步進行排序。每個序列狀態的時間將定義切換速度和電機速度。通過將線圈序列之一相移 180 度(4 微步),方向很容易控制。

Bitbanging 和 PWM

使用的 L298N 電機驅動器可以驅動全橋 MOSFET 并切換線圈電流的正向、負向(或關閉)。

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

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

NEMA 17 步進器

對于這個項目,我們使用 NEMA 17 格式的雙極步進電機。它有 200 步(每步 1.8 度),但使用半步驅動需要 400 步轉一圈。每個線圈的最大電流為 0.75A,我們通過 SenseA 以 1.65V/Amp 測量 CoilA 上的電流。

軟件代碼

Arduino 代碼寫在一張草圖中。我使用全局變量來定義關鍵數據,例如:

  • Sequencer[7][8]:每個驅動信號的 8 個 ustep 狀態的序列。
  • CurrentArray0[32]:用于監視電流和計算鎖定的滾動數據
  • ShadowArray[512]:調試數據數組,用于繪制電流圖

關鍵例程如下,代碼中自解釋:

  • MotorLoop(int lps, int dir):驅動電機在任何方向上進行 x 步
  • int CalcArray():計算鎖定狀態,返回%電流偏差(*10)
  • MotorPowerDown():通過關閉半橋關閉電機。(無電流)
  • DataDump():通過串口轉儲監控和調試數據
  • SetupPWMTimers():在引腳 3 和 11(ENA 和 ENB)上設置 25Khz PWM 信號

電機回路

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

鎖定監控

關鍵是理解鎖倉計算。該程序在每第 3 個序列狀態(最大電流驅動)中測量 CoilA 中的電流,并將其保存在監控數組中。然后計算當前*時間偏差。為什么?> Current*Time與Watt*Time成線性關系(假設電壓恒定),相當于Newton*Meter,也就是系統中的能量變化量(焦耳)。測量這種能量變化并觸發超過某個值,就會觸發鎖定。鎖定觸發器在代碼中定義 (#define MOTORLOCK)

你的馬達?

對于每個電機,此電流*時間行為都會不同。要理解這一點,您可以轉儲測量的電流數據(用分號分隔),并將其復制粘貼到 Xls 表,制作數據表,計算觸發器和圖表:

?
?
?
?
pYYBAGOSpPiATeT3AACeBC3N18U729.jpg
?
1 / 2 ? ShadowBuffer[512] 當前數據到 Xls
?

當以不同的 PWM 電平或其他時序速度驅動時,您會在測量中看到嚴重的斬波尖峰。有一個設置可以使電流尖峰達到一定水平以上。(#define PEAKFILTER),改變并嘗試。:)


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

評論

查看更多

下載排行

本周

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

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>