a4988 脈寬要求_基于STM32的微型步進電機驅動控制器設計

基于STM32的微型步進電機驅動控制器設計

摘 要: 設計了一種微型步進電機驅動控制器,通過上位機界面修改步進電機轉速、旋轉角度、細分系數。該設計以STM32F103T8U6作為主控制器,以A4988步進電機驅動設備,上位機串口界面作為人機接口界面,詳細分析步進電機驅動設備的工作原理、各部分接口電路以及控制器設計方案。通過實物設計實現了步進電機轉速、正反轉任意角度和細分系數的控制,并通過精確計算步進脈沖個數實現了任意旋轉角度的精確控制,該驅動控制器步進角度精度高達0.112 5度。

關鍵詞: 微型步進電機;STM32F103T8U6;A4988;串口;正反轉

0 引言

自從上世紀20年代英國人開發了步進電機,50年代后期晶體管的發明也逐漸應用在步進電機上,并使得步進電機的數字化控制更為方便。經過不斷改良,今日步進電機已廣泛運用在生產過程中要求自動化、省人力、效率高的機器中,尤其在重視速度、位置控制、需要精確操作指令動作的靈活控制場合步進電機用得最多。

本文旨在以STM32F103T8U6[1]作為A4988[2]控制器,并以A4988作為微型步進電機驅動器設計步進電機控制器模塊,實現閉環精確控制微型步進電機的步進角度的功能,并從多方面深入分析A4988的工作原理以及微型步進電機速度控制和步進角度精確控制策略[3-4]。

1 A4988的特性和工作原理

1.1 A4988的特性

A4988是一款完全的微步電動機驅動器,帶有內置轉換器,易于操作。該產品可在全、半、1/4、1/8及1/16步進模式時操作雙極步進電動機,輸出驅動性能可達35 V及±2 A。A4988包括一個固定關斷時間電流穩壓器,該穩壓器可在慢或混合衰減模式下工作。轉換器是A4988易于實施的關鍵。只要在“步進”輸入中輸入一個脈沖,即可驅動電動機產生微步。無須進行相位順序表、高頻率控制行或復雜的界面編程。A4988界面非常適合復雜的微處理器不可用或過載的應用。在微步運行時,A4988內的斬波控制可自動選擇電流衰減模式(慢或混合)。在混合衰減模式下,該器件初始設置為在部分固定停機時間內快速衰減,然后在余下的停機時間慢速衰減。混合衰減電流控制方案能減少可聽到的電動機噪音,增加步進精確度并減少功耗。提供內部同步整流控制電路,以改善脈寬調制(PWM)操作時的功率消耗。內部電路保護包括:帶滯后的過熱關機、欠壓鎖定(UVLO)及交叉電流保護,不需要特別的通電排序。

1.2 A4988的工作原理

為了更加清晰地分析A4988的工作原理,首先深入分析A4988的內部結構。為A4988的內部結構圖和典型的外部電路連接圖。

由圖1所示,A498

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/392722.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/392722.shtml
英文地址,請注明出處:http://en.pswp.cn/news/392722.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

運行linux的機器死機了_如何在任何機器上輕松運行任何Linux工具

運行linux的機器死機了by Flavio De Stefano由弗拉維奧德斯特凡諾(Flavio De Stefano) 如何在任何機器上輕松運行任何Linux工具 (How to easily run any Linux tool on any machine) Have you ever encountered a situation like the ones below?您是否遇到過以下情況&#x…

【實戰】爛泥:一次糾結的系統安裝

這應該是昨天的事了,因為昨天太忙了,就沒有貼出來,今天下午我想了想還是貼出來吧。一是給自己一個提醒,二是也給壇子里面的午飯們再以后安裝系統中提供一種思路。 環境:thinkpad x100e筆記本,2G內存&#x…

Android動態改變TextView字體顏色

Android動態改變TextView字體顏色 分類&#xff1a; Android 2012-06-04 21:56 141人閱讀 評論(0) 收藏 舉報androidcolorslayout必須在在res/color文件夾下面創建一個selector的xml [html] view plaincopyfont_style_colors.xml <selector xmlns:android"http://…

關于小程序的一些坑的總結

最近開發的小程序&#xff0c;有很多的坑。 1.底部的tabbar 不可更改尺寸和字體的大小。限制的還是蠻死的&#xff01;不知道是不是我沒找到方法去修改還是咋的。淡淡的憂桑&#xff5e;&#xff5e;&#xff5e; 2.可以動態的設置小程序的頂部導航欄的字&#xff0c;但是不可…

開源項目貢獻者_如何認識您的開源項目貢獻者并發展您的社區

開源項目貢獻者by David Herron大衛赫倫(David Herron) 如何認識您的開源項目貢獻者并發展您的社區 (How to recognize your open source project contributors and grow your community) There’s a truism — if a community is not growing, it is slowly dying. How is yo…

華農java實驗7_國家實驗教學示范中心

我校有生物學實驗教學中心、作物學實驗教學中心、水產養殖實驗教學中心、動物醫學實驗教學中心4個國家級實驗教學示范中心&#xff0c;10個省級實驗教學示范中心。生物學實驗教學中心華中農業大學生物學實驗教學中心成立于2001年7月&#xff0c;是直屬于生命科學技術學院的校級…

jsonpickle數據序列化

json&pickle數據序列化 json 用于字符串和python數據類型間進行轉換 pickle 用于python特有的類型 和 python的數據類型間進行轉換序列化&#xff1a;把字典或者字符串的內存對象 存到硬盤上&#xff1b; 反序列化&#xff1a;就是從硬盤上加載出來 json序列化與反序列化…

array_walk與array_map的區別

1.array_walk是用于用戶自定義的函數&#xff0c;所以想用array_walk($aIds, "trim");去掉數據元素中的空格是達不到目的的只能用array_walk($aIds, create_function(&$val, $val trim($val);)); 2.想完成上邊的需求其實更加合適用$aNewIds array_map("t…

shopify二次開發教程_詳細教程:如何將Shopify的Storefront API與React和Redux結合使用...

shopify二次開發教程by Chris Frewin克里斯弗里溫(Chris Frewin) 詳細教程&#xff1a;如何將Shopify的Storefront API與React和Redux結合使用 (A detailed tutorial: how to use Shopify’s Storefront API with React and Redux) 電子商務為所有人&#xff01; (…網站&…

element里面popover里面的高度_五斗柜的高度一般是多少 五斗柜放在什么位置好

五斗柜也就是一種抽屜收納柜&#xff0c;目前在臥室或是書房等空間均是可以見到。其根據使用用途的不同&#xff0c;進而有著高度和款式&#xff0c;以及擺放位置等等的區別。因此&#xff0c;下面帶來五斗柜的高度一般是多少、五斗柜放在什么位置好&#xff0c;以及五斗柜里面…

leetcode 57. 插入區間

給出一個無重疊的 &#xff0c;按照區間起始端點排序的區間列表。 在列表中插入一個新的區間&#xff0c;你需要確保列表中的區間仍然有序且不重疊&#xff08;如果有必要的話&#xff0c;可以合并區間&#xff09;。 示例 1&#xff1a; 輸入&#xff1a;intervals [[1,3]…

《C++標準程序庫》學習筆記1--第二章第三章

————————— 第二章 —————————1.&#xff08;P11&#xff09; C規定&#xff1a;除了以typename修飾外&#xff0c;template內的任何標志符號都被視為一個值(value)而非一個型別。 eg. template <classT>classMyClass{ typename T::SubType *ptr; };…

讓物聯網真正起飛的關鍵:無線充電

從一般郊區家庭到工廠裝配生產線&#xff0c;我們生活中的每個角落都正在經歷“智能”技術強化的過程。物聯網&#xff08;IoT&#xff09;技術看似無所不在&#xff0c;但是為這些裝置持續供電仍是一大挑戰&#xff0c;除非這個問題能夠解決&#xff0c;否則許多令人興奮的物聯…

【NOIP2016】憤怒的小鳥

題目描述 Kiana最近沉迷于一款神奇的游戲無法自拔。 簡單來說&#xff0c;這款游戲是在一個平面上進行的。 有一架彈弓位于(0,0)處&#xff0c;每次Kiana可以用它向第一象限發射一只紅色的小鳥&#xff0c;小鳥們的飛行軌跡均為形如的曲線&#xff0c;其中a,b是Kiana指定的參數…

leetcode 127. 單詞接龍(bfs)

給定兩個單詞&#xff08;beginWord 和 endWord&#xff09;和一個字典&#xff0c;找到從 beginWord 到 endWord 的最短轉換序列的長度。轉換需遵循如下規則&#xff1a; 每次轉換只能改變一個字母。 轉換過程中的中間單詞必須是字典中的單詞。 說明: 如果不存在這樣的轉換序…

java swing 動態生成表格_6 個曾經牛逼哄哄的 Java 技術,你用過嗎?

大家好啊&#xff0c;今天給大家分享下我的開發歷程中&#xff0c;我知道的那些被淘汰的技術或者框架&#xff0c;有些我甚至都沒有用過&#xff0c;但我知道它曾經風光過。廢話不多說&#xff0c;下面我要開始吹了……1、Swing下面這個是用 swing 開發的&#xff1a;Swing 算是…

如果您是JavaScript開發人員,為什么要進行增強現實-以及如何開始

by Evaristo Caraballo通過Evaristo Caraballo 如果您是JavaScript開發人員&#xff0c;為什么要進行增強現實-以及如何開始 (Why you should do Augmented Reality if you are a JavaScript developer — and how to start) If you are a JavaScript coder who is still late…

[Java 安全]加密算法

Base64編碼 算法簡述 定義 Base64內容傳送編碼是一種以任意8位字節序列組合的描述形式&#xff0c;這種形式不易被人直接識別。 Base64是一種很常見的編碼規范&#xff0c;其作用是將二進制序列轉換為人類可讀的ASCII字符序列&#xff0c;常用在需用通過文本協議&#xff08;比…

hdu5299 Circles Game

題意是這樣。給出非常多圓&#xff0c;要么兩兩相離&#xff0c;要么包括&#xff0c;若刪掉一個圓&#xff0c;那被他包括的都要刪除&#xff0c;若某人沒有圓給他刪&#xff0c;那么他就贏了。 。。。知道樹上博弈的話。就非常easy。。。不知道的話。這確實是個神題…… 按半…

leetcode 1356. 根據數字二進制下 1 的數目排序(排序)

給你一個整數數組 arr 。請你將數組中的元素按照其二進制表示中數字 1 的數目升序排序。 如果存在多個數字二進制中 1 的數目相同&#xff0c;則必須將它們按照數值大小升序排列。 請你返回排序后的數組。 示例 1&#xff1a; 輸入&#xff1a;arr [0,1,2,3,4,5,6,7,8] 輸…