最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

《十》canfestival系列教程之配置canopen驅(qū)動器為速度模式,讓電機轉(zhuǎn)起來.

2021-10-12 10:33 作者:GXTon_阿通  | 我要投稿

這一節(jié)我們就開始讓電機轉(zhuǎn)動起來.

首先需要準備的東西:

  1. 支持canopen的驅(qū)動器.(這里用的是faulhaber的驅(qū)動器)

  2. 電腦,并裝有CANTest軟件.(這個軟件是用于發(fā)送can報文的)

  3. can分析儀.

把參分析儀連接好電腦,打開電腦上的can分析儀軟件,我這里用的是CANTest.

有些需要安裝驅(qū)動.

然后把can分析儀的三根線:?can高,can低,地.? 連接到驅(qū)動器的can高,can低和地.

這里不需要交叉連接.

有一些驅(qū)動器會有STO:安全轉(zhuǎn)矩停止,這個是為了安全設(shè)置的,相當于槍的保險,

需要配置,才可以控制驅(qū)動器.


方法一 sdo驅(qū)動

可以用sdo直接進行驅(qū)動器的配置.

依次發(fā)送下面指令,

紅色:代表id?因為是寫入1號驅(qū)動器,所以用ds301中規(guī)定好的601.

橘色:代表功能,可以用22代替.

? ? ? ?(22表示寫入,不計長度,用起來比較方便.其實可以用它代替下面的2f,2b,27和23)

? ? ? ?(2f:?寫入1個)??(2b:?寫入2個)??(27:?寫入3個)??(23:?寫入4個)

綠色:代表索引(注意是小端模式,例如 40 60?實際上是 0x 6040)

? ? ? ? ?查詢字典或者驅(qū)動器ds402可以知道具體含義

藍色:子索引? ?查詢字典或者驅(qū)動器ds402可以知道具體含義

紫色:數(shù)據(jù) (注意數(shù)據(jù)的類型,長度)

601,22 60 60 00 03 00 00 00? ?//?配置為速度模式,03為速度模式 6060 00?索引代表模式.

601,2b 40 60 00 06 00 00 00? ?//?配置驅(qū)動器(固定流程)

601,2b 40 60 00 07?00 00 00? ?//?配置驅(qū)動器(固定流程)

601,2b 40 60 00 0f?00 00 00? ? //?配置驅(qū)動器(固定流程)

//?下面把e8,寫入到60ff?00里面,這個索引60ff 00就是速度的索引,在ds402中規(guī)定的.

601,23 ff?? 60 00 e8 00 00 00? ?

601,23 ff?? 60 00 e8 03?00 00? ?//?發(fā)送速度e8 03,是小端模式正確順序為03e8即十進制1000

601,23 ff?? 60 00 00?00 00 00? ?//?發(fā)送速度00?即停下來

發(fā)送數(shù)據(jù)和驅(qū)動器返回數(shù)據(jù)可見下圖:

如果此時電機轉(zhuǎn)動了,說明我們的硬件環(huán)境沒有問題.

為什么電機會轉(zhuǎn)動,是因為我們寫入了速度.

我們把速度寫入了 60ff 里面.

這種方法為sdo驅(qū)動,實際使用中常用的是pdo方式驅(qū)動.


方法二?pdo驅(qū)動

這個是比較推薦的方式,也是習慣上常用的方式.重點!!!

在用pdo驅(qū)動前,需要進行驅(qū)動器的配置.

因為通信是雙方的,所以單片機和驅(qū)動器都需要進行配置.

單片機作為控制器,要配置字典,以完成"速度變量"的發(fā)送.

驅(qū)動器作為響應器件,要配置字典,以完成對"速度變量"的接收.

我們需要關(guān)注的是速度變量怎樣傳輸?shù)?!!

首先單片機的配置:

單片機的字典配置可以用canfestival自帶的上位機進行配置.

比如下圖中,配置velocity_1的過程,

這個velocity_1就是我想要通過單片機傳輸出去的"速度變量".

這是一個pdo發(fā)送接口,就是一個全局變量.

經(jīng)過上面的配置,我們的單片機就可以通過對"速度變量"的賦值,把它傳出去了,一般默認會是0.

它是一個全局的變量,加入相應的字典頭文件,在程序中進行賦值就可以了.

可以參照"速度變量"進行其他變量的傳遞.如下圖:

上面有了全局變量:"速度變量".還需要配置它需要通過哪個pdo通道傳輸出去.


上圖選擇了pdo1發(fā)送,

(pdo1,pdo2,,,,pdo9,,,pdo512這個都是單片機內(nèi)部的變量,通道號是無法傳輸出去的.)

(要傳輸出去還需要給pdo加上cob-id,這個id號回傳輸出去.)

為什么要配置pdo1的cob-id呢?因為接收只認id.

這里把發(fā)送cob-id配置成201,

接收方檢測cob-id為201的數(shù)據(jù).

這樣就相當于通道互聯(lián)了...下圖為單片機pdo1綁定cob-id的過程:

至此,單片機端的配置完成.

下面進行驅(qū)動器的配置.

驅(qū)動器的配置是驅(qū)動器字典的配置:

就是創(chuàng)建建一個接收接口,要把接收來的"速度變量"進行存放.

存放在字典的哪個位置,要進行配置.

配置驅(qū)動器的字典有兩種方法:

  1. 通過驅(qū)動器廠家自帶的上位機;

  2. 通過單片機發(fā)送sdo配置驅(qū)動器的字典;

由于各個廠家的上位機不一樣,我們只講如何用sdo配置驅(qū)動器字典:

這個過程是有一個固定的流程的(是一個模板):

1.失能pdo

把pdo通訊參數(shù)的01子索引中,cob-id的最高位置1,也就是設(shè)置成80.

601,22 00 14 01 01?02 00 80? // 接收pdo是201開頭的數(shù)據(jù). 要接收的cob-id于發(fā)送對應.

2.消除數(shù)據(jù)個數(shù)

601,22 00 16 00 00 00 00 00

3.pdo映射參數(shù)的寫入

601,22 00 16 01 20 00?ff 60? ?// 這個60ff就是要存放"速度變量"的位置20是格式,規(guī)定32位

4.使能pdo

601,22 00 14 01 01 02 00 00

?進行完上面pdo的映射后,

需要切換為速度模式.

601,2f 60 60 00 03 00 00 00

使能驅(qū)動器狀態(tài).

601,2b?40 60?00?06 00 00 00? ?//?配置驅(qū)動器(固定流程)

601,2b?40 60?00?07?00 00 00? ?//?配置驅(qū)動器(固定流程)

601,2b?40 60?00?0f?00 00 00? ? //?配置驅(qū)動器(固定流程)

使能can總線狀態(tài).

000,01 00?

然后用單片機的pdo1發(fā)送數(shù)據(jù).

201,e8 03 00 00? ?// 201就是cob-id


驅(qū)動器檢測到201,就會進行后面數(shù)據(jù)的拆分.按照規(guī)定好的取20也就是32位數(shù)據(jù),

把00 00 03 e8存入到字典的60ff,

這個字典60ff就是驅(qū)動器轉(zhuǎn)動的時候的速度....

然后驅(qū)動器就會按照03 e8的速度轉(zhuǎn)動起來...03 e8也就是1000...

原創(chuàng)文集,轉(zhuǎn)載注明原地址呦...




《十》canfestival系列教程之配置canopen驅(qū)動器為速度模式,讓電機轉(zhuǎn)起來.的評論 (共 條)

分享到微博請遵守國家法律
彭阳县| 西盟| 察雅县| 桂平市| 大埔区| 长兴县| 呈贡县| 康定县| 祁阳县| 远安县| 永定县| 江川县| 浠水县| 永泰县| 长岛县| 原阳县| 根河市| 清原| 娱乐| 铜梁县| 永嘉县| 亳州市| 鹰潭市| 东阳市| 芜湖县| 西乌珠穆沁旗| 马公市| 鄂托克前旗| 榆社县| 林周县| 漳浦县| 营口市| 县级市| 和平县| 行唐县| 苍山县| 崇信县| 河池市| 庄浪县| 嘉黎县| 沧源|