睿擎混合部署方案:基于QT的电机驱动系统开发|技术集结

描述


 

一、 方案核心概述

本方案旨在解决系统开发中 “高性能实时控制” 与 “丰富人机交互” 的需求矛盾。它采用 混合部署 的架构,将系统清晰地分为两个层面:

1.  实时层 :部署在 睿擎派 设备的 RT-Thread 实时系统中,负责执行高频率、高确定性的核心控制算法、EtherCAT 等工业总线通信、故障保护等硬实时任务。

2.  交互层 :基于 Qt Framework 开发,运行在 Linux 操作系统上,提供图形化用户界面,用于参数配置、状态监控、曲线显示、数据记录、报警管理和网络通信等软实时或非实时任务。

两个层面通过 高速通信机制 进行数据交换和指令传递,从而形成一个兼顾实时性能与开发效率的完整解决方案。


 


 

二.睿擎派运行混合部署方案

混合部署双系统指的是单一芯片上同时运行两个系统,既运行Linux ,又运行RT-Thread系统。

睿擎派RC3506上运行Linux系统日志图通过串口1查看

实时控制

睿擎派RC3506上运行RT-Thread系统日志图通过串口3查看

实时控制


 


 

三.Linux 侧 QT应用界面开发

1. 基于 QT设计器进行 UI设计

实时控制


 

2. QT 界面绘制及业务逻辑核心代码

实时控制

主要是绘制电机启停按钮,电机运行方向按钮,电机期望位置和当前位置字体实现

实时控制

主要是绘制电机当前位置和期望位置双曲线实现


 


 

四. RT-Thread侧EtherCAT 驱动电机应用开发

1. 创建示例工程

RuiChing Studio IDE中 创建11_amp_qt_ethercat_master

示例工程:

实时控制


 

2. EtherCAT核心代码

EtherCAT主站的初始化配置回调

实时控制

process_data_config_handler主要是EtherCAT主站的初始化配置回调,在这个函数中,通常要对DC时钟进行配置以及PDO过程数据的映射配置,在本例子主要是对伺服电机的模式,目标位置,目标速度,当前状态,当前速度,当前位置等PDO进行映射配置。

EtherCAT主站运行时周期循环过程数据更新回调

实时控制

ecat_process_data_begin_handler主要是EtherCAT主站运行时周期循环过程数据更新回调,在这个函数中,主要进行电机模式状态切换处理以及对电机的位置进行增量,实现正转、反转、停止等操作。


 


 

五. 双系统通信,实现完整功能

rpmsg是一种用于Linux与RT-Thread操作系统之间进行多核异构通信的机制,进行两个系统间读写通信。

1 Linux侧rpmsg端点

实时控制

创建打开Linux侧/dev/rpmsg字符设备节点,初始化电机ctrl_data结构体成员值

实时控制

Linux MASTER端地址是0x1001,RT-Thread远端地址是0x3001

实时控制

Linux侧将电机的启动停止,运行方向和电机位置控制值通过send_msg接口实际是write接口将ctrl_data结构体写入RT-Thread侧。

2. RT-Thread侧rpmsg端点

实时控制

创建打开RT-Thread侧/dev/rpmsg字符设备节点,创建两个rpmsg读写线程

实时控制

RT-Thread源地址是0x3001,Linux目的地址是0x1001

RT-Thread侧 rpmsg读线程

实时控制

rpmsg读线程里RT-Thread源端的电机控制值,电机运行状态,电机运行方向赋值给 ctrl_data结构体中

RT-Thread侧 rpmsg写线程

实时控制

rpmsg写线程会不断的获取dynamic_sem信号量,这个信号量会在每次改变电机控制偏移值,改变电机运行状态,改变电机运行方向都会去释放,一旦获取到信号量就会通过rt_device_write接口将ctrl_data结构体写入到Linux目的端。


 


 

六. 实战演示

硬件准备

● 睿擎工业开发平台支持板卡1块(睿擎派RC3506)

● 配套7寸MIPI屏

● EtherCAT伺服驱动器一套(推荐力川LC10E-400W)

● 串口调试器、jlink调试各一套


 

硬件连接

睿擎派RC3506用异面排线和7寸MIPI屏幕连接,再用网线将伺服驱动器IN口与开发板ETH1网口连接,伺服电机的电源线和编码器线分别接入电源口和CN3连接口。如图所示:

实时控制


 

编译示例工程

RuiChing Studio IDE对 11_amp_qt_ethercat_master工程进行编译:

实时控制


 

下载运行程序

连接jlink调试器,使用IDE下载app.img进去后,电机驱动系统显示效果如下视频:


 


 


 

七. 总结

从硬件连接到界面控制,睿擎平台让实现 混合部署QT电机驱动系统变得简单。示例只是一个起点,基于此,你可以轻松扩展功能,实现更复杂的数控机床CNC系统与运动控制平台,医疗器械的手术机器人等工业应用。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分