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

編碼器常見的故障問題及案例分析
絕對式編碼器在伺服電機(jī)控制中的應(yīng)用與優(yōu)勢分析

編碼器類型詳解:探索不同編碼技術(shù)的奧秘

增量編碼器與絕對值編碼器的區(qū)別

其利天下技術(shù)·伺服電機(jī)編碼器的種類及優(yōu)缺點(diǎn)分析·伺服電機(jī)驅(qū)動(dòng)器方案開發(fā)

二進(jìn)制編碼器與絕對編碼器的區(qū)別
變頻器與編碼器的連接方式
增量編碼器和絕對值編碼器是什么

評論