伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

用睿擎派實(shí)現(xiàn) LVGL 可視化 EtherCAT 電機(jī)控制,觸屏操控伺服電機(jī)就這么簡(jiǎn)單|技術(shù)集結(jié)

RT-Thread官方賬號(hào) ? 2026-03-18 11:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

工業(yè)自動(dòng)化領(lǐng)域,運(yùn)動(dòng)控制系統(tǒng)往往面臨兩大痛點(diǎn):實(shí)時(shí)性要求極高,同時(shí)又需要直觀的人機(jī)交互界面。傳統(tǒng)方案要么犧牲實(shí)時(shí)性換取界面體驗(yàn),要么用昂貴的專(zhuān)用 HMI 設(shè)備來(lái)彌補(bǔ)。

今天分享一個(gè)基于睿擎派 RC3506的完整方案——用LVGL 圖形界面 + EtherCAT 總線,在一塊開(kāi)發(fā)板上同時(shí)搞定可視化操控和微秒級(jí)實(shí)時(shí)控制。(文末附完整工程源碼及使用指南掃碼領(lǐng)取)

效果先看



觸摸屏上拖動(dòng)滑塊 → 伺服電機(jī)精準(zhǔn)轉(zhuǎn)到指定位置;點(diǎn)擊 Run/Stop 按鈕 → 電機(jī)啟停;切換 Direct/Reverse → 方向立即響應(yīng)。屏幕上的位置表盤(pán)實(shí)時(shí)顯示期望位置和當(dāng)前位置,一目了然。


8eaec692-2277-11f1-96ea-92fbcf53809c.jpg


7寸觸控屏上的 LVGL 控制界面:位置表盤(pán) + 滑塊 + 運(yùn)行控制按鈕

與此同時(shí),EtherCAT 總線上掛載的遠(yuǎn)程 IO 模塊同步輸出流水燈效果,展示多從站并行控制能力。

為什么選 EtherCAT?

EtherCAT(Ethernet for Control Automation Technology)是目前工業(yè)現(xiàn)場(chǎng)總線中實(shí)時(shí)性最強(qiáng)的協(xié)議之一:

通信周期最低 1ms,支持分布式時(shí)鐘DC)同步,精度達(dá)微秒級(jí)

●"飛速處理"機(jī)制:數(shù)據(jù)幀在經(jīng)過(guò)從站時(shí)直接被讀寫(xiě),無(wú)需等待,延遲極低

●菊花鏈拓?fù)洌阂桓W(wǎng)線串聯(lián)多個(gè)從站,布線簡(jiǎn)單,最多支持 65535 個(gè)節(jié)點(diǎn)

●使用標(biāo)準(zhǔn)以太網(wǎng)硬件,無(wú)需專(zhuān)用芯片,成本可控


睿擎派 RC3506 內(nèi)置 EtherCAT 主站協(xié)議棧,配合 RT-Thread 實(shí)時(shí)操作系統(tǒng),可以穩(wěn)定跑出1ms 控制周期。


硬件準(zhǔn)備

8ec75c16-2277-11f1-96ea-92fbcf53809c.png

連接方式:

睿擎派 ETH0 ──網(wǎng)線──> 伺服驅(qū)動(dòng)器 IN 口


伺服驅(qū)動(dòng)器 OUT 口 ──網(wǎng)線──> 遠(yuǎn)程 IO IN 口


睿擎派 MIPI 接口 ──排線──> 7 寸觸控屏


8ed31baa-2277-11f1-96ea-92fbcf53809c.png


EtherCAT 主從站硬件連接示意:睿擎派 → 伺服驅(qū)動(dòng)器 → 遠(yuǎn)程 IO


軟件架構(gòu)

整個(gè)示例的軟件結(jié)構(gòu)非常清晰,main 函數(shù)只做兩件事:

intmain(void)
{
lvgl_thread_init();// 啟動(dòng) LVGL 圖形線程
ethercat_domain_init();// 啟動(dòng) EtherCAT 控制線程
return0;
}


兩個(gè)線程并行運(yùn)行,互不干擾:

●LVGL 線程:負(fù)責(zé)渲染界面、響應(yīng)觸摸事件,將用戶操作寫(xiě)入共享變量

●EtherCAT 線程:以 1ms 為周期讀取共享變量,通過(guò) PDO 下發(fā)目標(biāo)位置給伺服驅(qū)動(dòng)器


EtherCAT 主站初始化流程

EtherCAT 的狀態(tài)機(jī)切換是標(biāo)準(zhǔn)流程,睿擎平臺(tái)封裝得很簡(jiǎn)潔:

// 1. 初始化主站服務(wù)


ecat_service_init();

// 2. 自動(dòng)掃描總線拓?fù)洌l(fā)現(xiàn)所有從站
ecat_master_init(&csp_master);

// 2. 自動(dòng)掃描總線拓?fù)洌l(fā)現(xiàn)所有從站
slave_counts=ecat_slavecount(&csp_master);;

// 3. 配置分布式時(shí)鐘(DC)同步
slave_cia402_config.dc_assign_activate=0x300;
slave_cia402_config.dc_sync[0].cycle_time=csp_master.main_cycletime_us*1000;
slave_cia402_config.dc_sync[0].shift_time=500000;
slave_cia402_config.dc_sync[1].cycle_time=0;
slave_cia402_config.dc_sync[1].shift_time=0;

// 4. 配置 PDO 映射(目標(biāo)位置、控制字、狀態(tài)字等)
slave_cia402_config.sync=slave_syncs;
slave_cia402_config.sync_count=sizeof(slave_syncs)/sizeof(ec_sync_info_t);
ecat_slave_config(&csp_master,0,&slave_cia402_config);

// 5. 啟動(dòng)主站自動(dòng)完成狀態(tài)機(jī)切換:INIT → PRE-OP → SAFE-OP → OPERATIONAL
ecat_master_start(&csp_master);
state=EC_STATE_OPERATIONAL;
ecat_check_state(&csp_master,0,&state,20000000*3);


進(jìn)入 OPERATIONAL 狀態(tài)后,主站開(kāi)始周期性收發(fā)過(guò)程數(shù)據(jù)(PDO),電機(jī)控制正式開(kāi)始。


CSP 模式:周期同步位置控制

本示例使用CSP(Cyclic Synchronous Position)模式,這是伺服控制中最常用的模式之一:


主站每個(gè)控制周期向伺服驅(qū)動(dòng)器發(fā)送目標(biāo)位置,驅(qū)動(dòng)器內(nèi)部完成位置環(huán)、速度環(huán)、電流環(huán)的閉環(huán)控制。主站只需關(guān)心"去哪里",不需要關(guān)心"怎么去"。

核心控制循環(huán)如下:

while(1)
{
servo_switch_op(rmap,tmap);// 進(jìn)行伺服狀態(tài)機(jī)切換

if(rmap->control_word==7)
{
rmap->mode_byte=0x8;
rmap->dest_pos=tmap->cur_pos;// 同步當(dāng)前位置
}
if(rmap->control_word==0xf)
{
if(motor_target_pos_last!=motor_target_pos)
{
/* 獲取當(dāng)前位置 */
motor_current_pos=PULSE_TO_ANGLE(tmap->cur_pos);

if(abs(motor_current_pos-motor_target_pos)<=0)
{
rmap->dest_pos=tmap->cur_pos;
if(abs(tmap->cur_pos-rmap->dest_pos)<=10)
{
/* 微調(diào)目標(biāo)位置 */
motor_target_pos_last=motor_target_pos;
}
gotostop;
}
if(servo_dir)
{
rmap->dest_pos-=motor_step;// 根據(jù)方向步進(jìn)目標(biāo)位置
}
else
{
rmap->dest_pos+=motor_step;// 根據(jù)方向步進(jìn)目標(biāo)位
}
}
}
stop:
rt_thread_delay(5);
}


servo_run、motor_target_pos、servo_dir 這些變量由 LVGL 界面線程寫(xiě)入,EtherCAT 線程讀取,實(shí)現(xiàn)了界面與控制的解耦。


PDO 映射:主站與從站的數(shù)據(jù)約定

PDO(Process Data Object)定義了每個(gè)控制周期主站和從站交換哪些數(shù)據(jù):

主站 → 從站(RPDO,輸出):

對(duì)象字典

含義

0x6060

工作模式(設(shè)為 0x08 = CSP 模式)

0x6040

控制字(使能/停止/故障復(fù)位)

0x607A

目標(biāo)位置

0x60FF

目標(biāo)速度

0x6071

目標(biāo)轉(zhuǎn)矩

從站 → 主站(TPDO,輸入):

對(duì)象字典

含義

0x603F

錯(cuò)誤碼

0x6041

狀態(tài)字(當(dāng)前狀態(tài))

0x6064

實(shí)際位置(反饋給 LVGL 顯示)

0x606C

實(shí)際速度

0x6077

實(shí)際轉(zhuǎn)矩

實(shí)際位置 0x6064 會(huì)實(shí)時(shí)回傳給 LVGL 界面,驅(qū)動(dòng)表盤(pán)指針更新,讓操作者直觀看到電機(jī)當(dāng)前位置。


多從站擴(kuò)展:雙電機(jī) + IO 并行控制

睿擎平臺(tái)同樣支持一拖多的 EtherCAT 拓?fù)洌恍柙诔跏蓟瘯r(shí)掃描從站數(shù)量,循環(huán)處理每個(gè)從站的 PDO 即可:

8ee5712e-2277-11f1-96ea-92fbcf53809c.jpg


雙電機(jī) + 遠(yuǎn)程 IO 模塊菊花鏈連接拓?fù)?/span>

slave_counts=ecat_slavecount(&csp_master);

while(1){
for(size_tslave=0;slave<slave_counts;slave++)
{
rmap=(structrpdo_csp*)(info[slave].outputs);
tmap=(structtpdo_csp*)(info[slave].inputs);

if(info[slave].vendor_id!=0xee000002)
{// 伺服電機(jī)控制
servo_switch_op(rmap,tmap);
if(rmap->control_word==7)
{
rmap->dest_pos=tmap->cur_pos;
rmap->mode_byte=0x8;
}
elseif(rmap->control_word==0xf)
{
rmap->dest_pos=tmap->cur_pos;
if(servo_dir==0)
{
rmap->dest_pos-=10000;
}
else
{
rmap->dest_pos+=10000;
}
}
}
else
{// 流水燈控制
if(rt_tick_get()-last_ms>RT_TICK_PER_SECOND/4)
{
staticuint8_tindex=0;
uint16_t*out=(uint16_t*)rmap;
last_ms=rt_tick_get();
*out=(0x01<<index);
index++;
if(index>=16)
index=0;
}
}
}
stop:
rt_thread_mdelay(5);
}


電機(jī)控制和 IO 控制在同一個(gè) 1ms 周期內(nèi)完成,完全同步。


快速上手

第一步:

在RuiChing Studio中選擇 05_gui_lvgl_ethercat_motor_control_7in_1024_600 示例工程

8ef1314e-2277-11f1-96ea-92fbcf53809c.png

睿擎派 RC3506 開(kāi)發(fā)板 + EtherCAT 伺服驅(qū)動(dòng)器實(shí)物連接

第二步:按硬件連接圖接好網(wǎng)線和顯示屏,上電

第三步:編譯下載,啟動(dòng)調(diào)試,顯示屏自動(dòng)亮起控制界面

第四步:拖動(dòng)滑塊設(shè)置目標(biāo)位置,點(diǎn)擊Run/Stop啟動(dòng)電機(jī)


整個(gè)過(guò)程無(wú)需手寫(xiě)一行 EtherCAT 協(xié)議代碼,睿擎平臺(tái)已封裝好所有底層細(xì)節(jié)。


適用場(chǎng)景

多軸運(yùn)動(dòng)控制:CNC 機(jī)床、機(jī)械臂、自動(dòng)化產(chǎn)線

●工業(yè) HMI:替代傳統(tǒng)觸摸屏 PLC,降低系統(tǒng)成本

●教學(xué)與原型驗(yàn)證:快速驗(yàn)證 EtherCAT 控制方案可行性

●設(shè)備狀態(tài)可視化:實(shí)時(shí)顯示電機(jī)位置、速度、轉(zhuǎn)矩等運(yùn)行參數(shù)


總結(jié)

這個(gè)示例展示了睿擎派 RC3506 在工業(yè)控制場(chǎng)景的完整能力:

RT-Thread 實(shí)時(shí)內(nèi)核保障 1ms EtherCAT 控制周期

LVGL 圖形框架提供流暢的觸控操作界面

EtherCAT 主站協(xié)議棧支持 CSP/CSV/CST 多種控制模式

多從站并行控制,電機(jī) + IO 同步運(yùn)行

RuiChing Studio 一鍵創(chuàng)建工程,開(kāi)箱即用

如果你正在尋找一個(gè)既能跑實(shí)時(shí)控制、又能做可視化界面的嵌入式平臺(tái),睿擎派值得一試。

示例工程

通過(guò) RuiChing Studio 搜索 05_gui_lvgl_ethercat_motor_control_7in_1024_600 即可獲取

開(kāi)發(fā)文檔:https://www.rt-thread.com/ruiching/document/site/

技術(shù)交流:歡迎在評(píng)論區(qū)留言,或加入睿擎開(kāi)發(fā)者社區(qū)

完整資料包領(lǐng)取

想親手跑通這個(gè) LVGL + EtherCAT 電機(jī)控制示例?我們整理了完整資料包,助你快速?gòu)?fù)現(xiàn):

示例完整工程源碼(RuiChing Studio 可直接導(dǎo)入)

LVGL 界面源碼 + 觸控驅(qū)動(dòng)配置說(shuō)明

EtherCAT 主站使用指南

伺服驅(qū)動(dòng)器 ESI 文件及配置指南

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 電機(jī)控制
    +關(guān)注

    關(guān)注

    3601

    文章

    2138

    瀏覽量

    278059
  • 伺服電機(jī)
    +關(guān)注

    關(guān)注

    88

    文章

    2189

    瀏覽量

    61343
  • ethercat
    +關(guān)注

    關(guān)注

    20

    文章

    1524

    瀏覽量

    45437
  • LVGL
    +關(guān)注

    關(guān)注

    3

    文章

    127

    瀏覽量

    4614
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    一種可視化智能充電機(jī)的設(shè)計(jì)

    針對(duì)電動(dòng)車(chē)、電動(dòng)汽車(chē)電池壽命偏低,設(shè)計(jì)了一種可視化智能充電機(jī),它是結(jié)合了單片機(jī)智能控制技術(shù),VB可視化
    發(fā)表于 11-14 16:27 ?4570次閱讀
    一種<b class='flag-5'>可視化</b>智能充<b class='flag-5'>電機(jī)</b>的設(shè)計(jì)

    基于LVGL驅(qū)動(dòng)的OLED的FFT聲音實(shí)時(shí)可視化

    本項(xiàng)目旨在利用LVGL驅(qū)動(dòng)的 Xiao-expansion-board的OLED顯示實(shí)現(xiàn)FFT聲音數(shù)據(jù)的實(shí)時(shí)可視化。關(guān)鍵內(nèi)容包括利用LVGL
    的頭像 發(fā)表于 11-25 14:20 ?5302次閱讀
    基于<b class='flag-5'>LVGL</b>驅(qū)動(dòng)的OLED<b class='flag-5'>屏</b>的FFT聲音實(shí)時(shí)<b class='flag-5'>可視化</b>

    10分鐘上手平臺(tái)GUI開(kāi)發(fā):第一個(gè)LVGL圖形應(yīng)用

    ,在平臺(tái)上支持LVGL能夠更好地發(fā)揮其優(yōu)勢(shì),為開(kāi)發(fā)者帶來(lái)更多便利。一環(huán)境搭建:5分鐘極速配置1.
    的頭像 發(fā)表于 06-06 18:41 ?2863次閱讀
    10分鐘上手<b class='flag-5'>睿</b><b class='flag-5'>擎</b>平臺(tái)GUI開(kāi)發(fā):第一個(gè)<b class='flag-5'>LVGL</b>圖形應(yīng)用

    基于輕松玩轉(zhuǎn)CANopen電機(jī)控制

    在工業(yè)自動(dòng)領(lǐng)域,穩(wěn)定高效的設(shè)備間通信是核心。CANopen協(xié)議憑借其可靠性,成為眾多工業(yè)設(shè)備(如伺服電機(jī))的首選通信標(biāo)準(zhǔn)。今天,我們就來(lái)展示如何利用RT-Thread
    的頭像 發(fā)表于 07-19 09:04 ?5955次閱讀
    基于<b class='flag-5'>睿</b><b class='flag-5'>擎</b><b class='flag-5'>派</b>輕松玩轉(zhuǎn)CANopen<b class='flag-5'>電機(jī)</b><b class='flag-5'>控制</b>

    EtherCAT多軸控制技術(shù):如何實(shí)現(xiàn)低抖動(dòng)高精度運(yùn)動(dòng)控制 | 深度解析

    在工業(yè)自動(dòng)領(lǐng)域,運(yùn)動(dòng)控制的精度和穩(wěn)定性直接決定了生產(chǎn)效率和產(chǎn)品質(zhì)量。近日,SDKV1.5.0版本重磅發(fā)布,其中EtherCAT多軸
    的頭像 發(fā)表于 10-15 18:39 ?6146次閱讀
    <b class='flag-5'>睿</b><b class='flag-5'>擎</b><b class='flag-5'>EtherCAT</b>多軸<b class='flag-5'>控制</b><b class='flag-5'>技術(shù)</b>:如何<b class='flag-5'>實(shí)現(xiàn)</b>低抖動(dòng)高精度運(yùn)動(dòng)<b class='flag-5'>控制</b> | 深度解析

    基于的工業(yè)FOC無(wú)刷電機(jī)控制系統(tǒng)與WEB推流監(jiān)看系統(tǒng)| 技術(shù)集結(jié)

    需人員到場(chǎng),導(dǎo)致運(yùn)維效率較低。嵌入式開(kāi)發(fā)板具備串口外設(shè)接口與網(wǎng)絡(luò)傳輸能力,可同時(shí)承載控制與監(jiān)看需求,因此本項(xiàng)目基于該硬件展開(kāi)開(kāi)發(fā)。項(xiàng)目通過(guò)串口
    的頭像 發(fā)表于 11-26 18:25 ?3382次閱讀
    基于<b class='flag-5'>睿</b><b class='flag-5'>擎</b><b class='flag-5'>派</b>的工業(yè)FOC無(wú)刷<b class='flag-5'>電機(jī)</b><b class='flag-5'>控制</b>系統(tǒng)與WEB推流監(jiān)看系統(tǒng)| <b class='flag-5'>技術(shù)</b><b class='flag-5'>集結(jié)</b>

    EtherCAT總線之IO模塊讀寫(xiě)

    在上一篇文章《【】CANOpen總線之IO模塊讀寫(xiě)(DS401協(xié)議)》我寫(xiě)了關(guān)于派上CANOpen的IO模塊通信,為什么先寫(xiě)CAN
    的頭像 發(fā)表于 12-31 19:07 ?5661次閱讀
    【<b class='flag-5'>睿</b><b class='flag-5'>擎</b><b class='flag-5'>派</b>】<b class='flag-5'>EtherCAT</b>總線之IO模塊讀寫(xiě)

    深度解析 | 低抖動(dòng)高精度EtherCAT多軸控制實(shí)現(xiàn)與實(shí)踐案例

    : l RC3506工業(yè)開(kāi)發(fā)板 l EtherCAT伺服驅(qū)動(dòng)器(推薦匯川SV660N或LICHUAN-LC10E) l
    發(fā)表于 12-09 17:17

    labview通過(guò)Ethercat控制伺服電機(jī)

    現(xiàn)在伺服電機(jī)很多都支持Ethercat總線了,這個(gè)總線速度很牛。有玩過(guò)labview通過(guò)Ethercat控制
    發(fā)表于 10-16 19:15

    伺服電機(jī)的種類(lèi)與區(qū)別_伺服電機(jī)簡(jiǎn)單控制方法

    伺服電機(jī)是一種能夠精確控制運(yùn)動(dòng)的電機(jī),通常包括以下幾種類(lèi)型:   直流伺服電機(jī):直流
    發(fā)表于 03-12 10:20 ?5110次閱讀

    Arduino控制伺服電機(jī)的超級(jí)簡(jiǎn)單方法

    電子發(fā)燒友網(wǎng)站提供《Arduino控制伺服電機(jī)的超級(jí)簡(jiǎn)單方法.zip》資料免費(fèi)下載
    發(fā)表于 06-28 09:51 ?0次下載
    <b class='flag-5'>用</b>Arduino<b class='flag-5'>控制</b><b class='flag-5'>伺服</b><b class='flag-5'>電機(jī)</b>的超級(jí)<b class='flag-5'>簡(jiǎn)單</b>方法

    如何實(shí)現(xiàn)園區(qū)大可視化

    孿生可視化 構(gòu)建平臺(tái)利用Web三維可視化技術(shù)對(duì)現(xiàn)實(shí)場(chǎng)景進(jìn)行仿真,實(shí)現(xiàn)園區(qū)級(jí)業(yè)務(wù)場(chǎng)景 的可視化呈現(xiàn),助力企業(yè)快速完成項(xiàng)目的實(shí)施。
    的頭像 發(fā)表于 06-19 15:39 ?1202次閱讀
    如何<b class='flag-5'>實(shí)現(xiàn)</b>園區(qū)大<b class='flag-5'>屏</b><b class='flag-5'>可視化</b>?

    智慧大是如何實(shí)現(xiàn)數(shù)據(jù)可視化的?

    智慧大,作為數(shù)據(jù)可視化的重要載體,已在城市管理、交通監(jiān)控、商業(yè)運(yùn)營(yíng)等領(lǐng)域廣泛應(yīng)用。本文旨在闡述智慧大實(shí)現(xiàn)數(shù)據(jù)可視化的關(guān)鍵
    的頭像 發(fā)表于 06-04 15:02 ?1593次閱讀
    智慧大<b class='flag-5'>屏</b>是如何<b class='flag-5'>實(shí)現(xiàn)</b>數(shù)據(jù)<b class='flag-5'>可視化</b>的?

    伺服電機(jī)簡(jiǎn)單控制方法是什么

    伺服電機(jī)是一種高精度、高響應(yīng)速度的電機(jī),廣泛應(yīng)用于工業(yè)自動(dòng)、機(jī)器人、航空航天等領(lǐng)域。伺服電機(jī)
    的頭像 發(fā)表于 06-05 15:49 ?2311次閱讀

    基于輕松玩轉(zhuǎn)EtherCAT主站,實(shí)現(xiàn)電機(jī)精確控制

    總線技術(shù)。本次實(shí)戰(zhàn)教程將基于平臺(tái),演示實(shí)現(xiàn)EtherCAT主站開(kāi)發(fā)CSP模式
    的頭像 發(fā)表于 07-30 17:03 ?5243次閱讀
    基于<b class='flag-5'>睿</b><b class='flag-5'>擎</b><b class='flag-5'>派</b>輕松玩轉(zhuǎn)<b class='flag-5'>EtherCAT</b>主站,<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>電機(jī)</b>精確<b class='flag-5'>控制</b>