日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

在matlab中,简单地利用RS485协议对伺服电机进行控制

發布時間:2023/12/14 循环神经网络 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在matlab中,简单地利用RS485协议对伺服电机进行控制 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先利用usb轉485串口線將伺服電機連接到電腦上,需要安裝USB轉UART的驅動,并且在matlab中設置串口,串口設置代碼如下:

%% 設置串口 scom = serial('COM3',...'BaudRate', 115200,...'Parity', 'none',...'DataBits', 8,...'StopBits', 1,...'BytesAvailableFcnCount', 1,...'BytesAvailableFcnMode', 'byte',...'BytesAvailableFcn', {@read_serial});

其中COM3是串口名,可從設備管理器>端口查看,其他參數為RS485總線參數及單電機命令數據幀格式,可從電機RS485協議說明中查看。

?設置完串口以后,利用485協議將信號寫入到伺服電機中。代碼如下:

gui1=[62,164,1,12,239,160,241,4,0,0,0,0,0,160,140,0,0,193]; fwrite(scom,gui1);

其中數組gui1就是利用485協議寫的命令,第一位數62為頭字節,均為62,RS485協議中為0x3E,轉為十進制即為62。第二位164為命令字節,協議中有讀取pid參數命令,電機關閉命令等諸多命令,這里舉例的是多圈位置閉環控制命令,RS485協議中為0xA4,轉為十進制即為164。第三位1即為ID字節,代表需要控制哪個電機,最多可以控制32個電機。第四位為數據長度字節,第五位239為幀頭校核字節,即前四個字節62,164,1,12之和。第六位到第十三位為速度控制字節,首先需要轉動的角度轉化為字節數,3600個字節轉一度,再將所需字節數用十六進制表示,接著將每一位上的十六進制數轉為十進制表示,位數越小,字節位置越靠前。例如所需轉動角度為90度,字節數需要324000,轉為十六進制即為4f1a0,該十六進制數共三位,即04,f1,a0,轉為十進制數為4,241,160,位數由低到高排列160,241,4。第十四位到第十七位為速度控制位,計算方法與位置控制相同,最后一位為字節校驗和,保證前面數據無誤,計算方法將第六位到第十七位按十進制相加除256取余即可,實例代碼中相應位數的和為705,除256取余即為77。

最后需關閉串口。

stopasync(scom);fclose(scom);delete(scom);clear scom;

初學rs485,撰此文以記。

總結

以上是生活随笔為你收集整理的在matlab中,简单地利用RS485协议对伺服电机进行控制的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。