亚洲精华国产精华精华液网站,你懂的,娇生惯养4ph归寻(矜以),丰年经继拇中文3与其他教材比较

技術頻道

娓娓工業
您現在的位置: 中國傳動網 > 技術頻道 > 技術百科 > 單圈絕對值編碼器:原理與控制代碼

單圈絕對值編碼器:原理與控制代碼

時間:2020-10-16 11:19:58來源:探頭的蝸牛 控制算法研究

導語:?增量式編碼器是將角度轉化為周期性的電信號,再將這個電信號轉化為脈沖,用脈沖的個數表示位移的大小;絕對式編碼器內部的碼盤的每一個位置對應一個確定的數字碼,因此他的測量值只與起始和終止位置有關,與測量過程無關。

  一、SSI通信協議簡介

  SSI(synchronous serial interface)同步串行接口。SSI通訊的幀格式如下圖所示。數據傳輸采用同步方式,在空閑階段不發生數據傳輸的時候時鐘和數據都保存高電位,在第一個脈沖的下降沿觸發編碼器載入發送數據,然后每一個時鐘脈沖的上升沿編碼器送出數據,數據的高位在前、低位在后,當傳送完所有的位數以后時鐘回到高電平,數據也回到對應的高電平。

編碼器.jpg

  二、增量式編碼器和絕對式編碼器

  增量式編碼器是將角度轉化為周期性的電信號,再將這個電信號轉化為脈沖,用脈沖的個數表示位移的大小;絕對式編碼器內部的碼盤的每一個位置對應一個確定的數字碼,因此他的測量值只與起始和終止位置有關,與測量過程無關。絕對值編碼器因其每個位置絕對唯一、抗干擾、無需掉電記憶,已經廣泛應用于各種工業控制系統中,實現角度、長度的高精度測量和控制。

  三、單圈絕對式編碼器工作原理

  的單圈絕對值編碼器內部有個碼盤,碼盤上有若干個碼道,碼道上有通孔和暗孔(不透光),對光電類的編碼器,碼盤位于光源與光接收器之間,當某個碼道處于光源處(或者稱為測量接口電路處),光電接收器接收到通過通孔的光信號置1,沒有接收到光信號(暗孔)置0,這樣一個固定的角度位置就可以被編碼,十進制角度被編碼成n位二進制;如圖所示4位二進制,位數越高,碼道數越多,編碼器的測量分辨率也就越大,比如12位的編碼器,分辨率為360/2^12=360/4096=0.0878。編制而成的二進制數據在接收到觸發信號(SSI模式時一個上升沿),數據被移入到移位寄存器中,接下來,在接收器同步時鐘模式下,每一個上升沿發送一位數據到數據線,控制器對其進行讀取。

增量式編碼器.jpg

  四、實例代碼

  本測試實例通過讀取旋轉角度,并將角度信息發送到串口助手中

  (https://item.taobao.com/item.htm?   spm=a230r.1.14.68.1ee0c2dfGeO7eU&id=591334271759&ns=1&abbucket=19#detail)

  1、接線:

  編碼器采用5v供電,TTL電平輸出,通過三根線與單片機(stm32f10)傳輸數據。

絕對式編碼器.jpg

  2、代碼:

  (CSN-PA5;CLK-PA6;DO-PA7)

  CLK-模擬同步時鐘,第一個下降沿開始傳輸數據,之后每一個上升沿輸出數據;CSN-控制信號,數據傳輸時低電平,結束高電平;

  DO-數據輸出端口

  端口配置:

void Gpio_Init(void){   GPIO_InitTypeDef  GPIO_InitStructure;     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);   //使能PA端口時鐘  //GPIO_DeInit(GPIOA);
 //PA5-CSN -高速推挽輸出  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;         //  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;      //推挽輸出  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;     //IO口速度為50MHz  GPIO_Init(GPIOA, &GPIO_InitStructure);           //    //PA6-CKL  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;           //  GPIO_Init(GPIOA, &GPIO_InitStructure);             //推挽輸出 ,IO口速度為50MHz    //PA7-DO  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; //浮空輸入  GPIO_Init(GPIOA, &GPIO_InitStructure);  }

  12位每次輸出一個二進制位,將其讀出并存儲;開始讀取數據時CSN需要一個高到低的電平跳變,然后循環讀取中是CLK低到高的跳變,最后結束CLK和CSN都為高電平。

控制器.jpg

標簽: 編碼器控制器

點贊

分享到:

上一篇:數控車床編碼器的精度與分辨...

下一篇:海德漢旋轉編碼器安裝及拆卸

中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.siyutn.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網站簡介|會員服務|聯系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業自動化與智能制造的全媒體“互聯網+”創新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業執照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號

主站蜘蛛池模板: 慈利县| 江津市| 墨脱县| 星座| 阜新市| 普兰店市| 同心县| 龙门县| 明溪县| 玛纳斯县| 启东市| 文山县| 沙坪坝区| 渭源县| 永吉县| 田东县| 措勤县| 叙永县| 鄂伦春自治旗| 宝鸡市| 柏乡县| 上饶县| 乐至县| 灌南县| 无棣县| 望江县| 勃利县| 龙陵县| 蕲春县| 贺州市| 霍山县| 南郑县| 彰化县| 万载县| 高州市| 侯马市| 南和县| 古浪县| 泰州市| 库伦旗| 汽车|