應(yīng)廣科技單片機PS173微控制器作為編碼器計數(shù)器的實例應(yīng)用成功案例,過讀取每個信號何時發(fā)生變化并跟蹤哪個信號首先發(fā)生變化,編碼器上的計數(shù)可以準(zhǔn)確地遞增或遞減
即使在微控制器領(lǐng)域,單個單元 0.03 美元的微控制器也是很奇怪的。 它非常便宜。 您可以在 Digikey 或 Mouser 等在線分銷商中找到的***的單件微控制器在 1.Topushit 低于 1 標(biāo)記的區(qū)域,您的訂單通常必須達到數(shù)千個。 從角度來看,它是 6inaworldof 的一款無名智能手機
幾年前,作者研究過這些 IC,并進行了一些探索,探索它們的用途。 從那時起,IDE 中有了更好的文檔,IC 的成本增加了 4 倍(!),并且開源工具鏈(SDCC)變得更加成熟。
這次作者想用這個IC作為編碼計數(shù)器。
應(yīng)廣科技單片機PS173計數(shù)信號
跟蹤編碼器計數(shù)是一項重要的活動。 編碼器經(jīng)常用于跟蹤角位置,并且該信息用于跟蹤輪子旋轉(zhuǎn)的速度或打印機的打印頭前進的距離等信息。
然而,編碼器計數(shù)也非常繁忙。 想象一下,您必須盯著顯示兩個變量 1 或 0 的屏幕。 通過跟蹤 1 或 0 出現(xiàn)的頻率以及順序,您可以得知編碼器的位置及其轉(zhuǎn)動方向。 你可以整天盯著屏幕,這意味著你不能做任何其他事情......或者你可以設(shè)置一個通知來告訴你每個變量何時發(fā)生變化。
微控制器不使用通知,而是使用中斷來確保它們不會錯過計數(shù)。 但是,每秒計數(shù)數(shù)百次,除了服務(wù)中斷之外,您可能無法執(zhí)行任何其他操作,這就是為什么某些(讀?。喊嘿F)芯片具有專用編碼器模塊的原因,這可以釋放主控制器來執(zhí)行其他操作,例如 讀取控制信號或發(fā)送數(shù)據(jù)。
并非所有微控制器都有此模塊,這就是 Padauk 微控制器的用武之地。
應(yīng)廣科技單片機PS173輸入/輸出
概念
這個概念非常簡單:使用 Padauk 微控制器完成讀取編碼器的繁瑣工作,然后為另一個微控制器提供訪問計數(shù)的簡單方法。
作者決定采用兩種方法來讀取計數(shù)。 SPI 從微控制器獲取精確計數(shù),以及適用于位置要求較低的應(yīng)用的 2 引腳計數(shù)/方向控制方案:Padauk 微控制器在檢測到編碼器轉(zhuǎn)動時將通過一個引腳輸出脈沖,并指示編碼器旋轉(zhuǎn)的方向 使用另一個引腳的編碼器。
應(yīng)廣科技單片機PS173旋轉(zhuǎn)編碼器的工作原理
旋轉(zhuǎn)編碼器通過輸出格雷碼來工作。 它是一對信號,指示旋鈕的圈數(shù)以及方向。
通過讀取每個信號何時發(fā)生變化并跟蹤哪個信號首先發(fā)生變化,編碼器上的計數(shù)可以準(zhǔn)確地遞增或遞減。
編碼器的接線也相當(dāng)簡單,每個通道上都有上拉電阻。
應(yīng)廣科技單片機PS173編碼仿真IC
作者在 Padauk 模擬器上測試了代碼。 作者發(fā)現(xiàn)調(diào)試經(jīng)驗對于修復(fù)邏輯中的一些錯誤非常有用。 當(dāng)您逐步執(zhí)行時,Padauk IDE 會自動顯示所有寄存器及其當(dāng)前狀態(tài)以及代碼每個部分中的變量值。
由于 Padauk IC 的指令集非常小,因此可以在 IDE 上顯示所有內(nèi)容。 作者不喜歡的一件事是,Mini-C 的文檔分散在 IDE 中的應(yīng)用說明和 IC 的數(shù)據(jù)表中。
在代碼中,作者設(shè)置了兩個中斷來從編碼器讀取格雷碼并將其存儲到全局變量中。 該全局變量可以遞增和遞減。
二進制補碼
應(yīng)廣科技單片機PS173Mini-C 沒有負(fù)數(shù)的概念,負(fù)數(shù)通常以二進制補碼的形式實現(xiàn)。
這種方法與二進制和算術(shù)運算的邏輯一致,因此它是一種非常有用的表示負(fù)數(shù)的方法。 然而,由于作者對編碼器的相對位置更感興趣,因此不需要負(fù)值,實現(xiàn)此目的的另一種方法是初始化范圍中間的值。
如果作者們從零開始并且不實現(xiàn)二進制補碼,則該值將從 0 滾回到 100,這是不可取的。 相反,作者從范圍的中間開始值,這允許它正常遞減和遞增。 作者所要做的就是跟蹤初始值并在其翻轉(zhuǎn)之前重置它。
對 IC 進行編程
當(dāng)您點擊“編程”時,Padauk 的編程器會將二進制文件保存到編程器的內(nèi)存中,以便您可以將其用作獨立設(shè)備或觸發(fā)從計算機的下載過程。
作者使用的 PFS173 支持多次編程 (MTP),它按照蓋子上的說明執(zhí)行操作,允許多次編程。 還有其他 Padauk IC 只能編程一次,例如 PMC150。
將所有內(nèi)容放在一起
在此過程中,作者添加了一些其他功能,例如該板能夠充當(dāng)主控制器,而不僅僅是解釋編碼器信號,以及能夠在關(guān)閉或打開時保存最后設(shè)置的 PWM 值。 當(dāng)作者對結(jié)果相當(dāng)滿意時,作者將其移至作者的主要項目的專用板上。
審核編輯 黃宇
-
微控制器
+關(guān)注
關(guān)注
48文章
7396瀏覽量
150652 -
單片機
+關(guān)注
關(guān)注
6026文章
44456瀏覽量
631026 -
編碼器
+關(guān)注
關(guān)注
44文章
3555瀏覽量
133810
發(fā)布評論請先 登錄
相關(guān)推薦
評論