# pd42s1 **Repository Path**: xiaochen_linux/pd42s1 ## Basic Information - **Project Name**: pd42s1 - **Description**: No description available - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-05-09 - **Last Updated**: 2026-07-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PD42S1 Qt 6.5 综合控制程序 本工程根据当前 STM32 RS485 综合例程整理生成,目标平台为正点原子 i.MX93 开发板。默认串口为 `/dev/ttyLP3`,默认波特率 `115200`,界面按 10.1 寸 `800x1280` 竖屏触摸使用设计,并内置弹出式数字虚拟键盘用于参数调整。 ## 目录说明 - `src/pd42s1protocol.*`:PD42S1 自定义协议封包、校验、应答解析。 - `src/serialmanager.*`:Qt 串口收发、应答超时、帧间静默判断、Linux RS485 ioctl 设置。 - `src/virtualkeyboard.*`:弹出式数字虚拟键盘,点击参数输入框后以浮层显示,顶部拖动条可移动位置。 - `src/mainwindow.*`:综合控制界面,包含单屏仪表盘快捷页、高级运动、状态、参数、回零、日志页。 - `src/speedgauge.*`:快捷页半圆转速仪表,实时显示电机转速。 - `Makefile`:一键构建入口,会优先使用 `qmake6`,其次 `qmake`,最后尝试 `cmake`。 ## 使用Qt creator直接编译 Qt版本6.5 ## 交叉编译 在 i.MX93 虚拟机上使能交叉编译器进入本目录执行: ```bash make ``` 编译完成后当前目录会生成: ```bash ./pd42s1_qt_app ``` 清理构建文件: ```bash make clean ``` 完全清理: ```bash make distclean ``` ## 运行 板端直接运行: ```bash ./pd42s1_qt_app ``` 程序默认全屏显示。调试时如需窗口模式: ```bash ./pd42s1_qt_app --windowed ``` ## 使用注意 1. 操作员优先使用“快捷”页:顶部通信设置默认收起,需要修改串口参数时点击“展开”,展开区会以浮层遮挡下方界面,不会挤压“电机控制系统”布局。 2. 点击“一键准备”后,直接用滑块调目标速度和加速度,再按“启动”或“停止”独立按钮,或使用“正转一次/反转一次”即可。启动/停止会优先清掉旧的状态查询队列,避免自动刷新造成按键延迟。 3. 快捷页仪表盘青色粗指针显示目标速度,白色细指针显示驱动器反馈速度;连续运行后程序只做轻量转速轮询,每隔数次补读一次运行状态,减少 RS485 总线占用。 4. 默认设备节点是 `/dev/ttyLP3`,默认启用 Linux RS485 模式;如果驱动不支持 `TIOCSRS485`,程序会继续按普通串口收发。 5. “设备”输入框可点击修改,默认值为 `/dev/ttyLP3`,弹出的设备键盘支持 `/dev/ttyLP3`、`/dev/ttyS0`、`/dev/ttyUSB0` 这类串口路径输入。 6. 双击或连续轻触顶部“PD42S1 综合控制台”标题可保存当前界面截图,图片路径为 `/tmp/pd42s1_screenshot_时间.png`。 7. 默认地址为 `1`,如电机地址不同,请先在顶部“地址”输入框修改。 8. 快捷页默认按 `51200` 脉冲为一圈换算,如果驱动器细分参数改变,请同步修改“每圈脉冲”。 9. 位置模式帧格式已按官方 STM32 源码保留一个参与校验的 `0x00` 填充字节。 10. “设置指令回响”为 `不回响` 后,程序发送后可能等不到应答并提示超时;建议综合界面使用时保持“正常回响”。 11. 修改串口波特率后,驱动器与程序当前串口配置会不一致,需要重新按新波特率连接。 12. “立即停止”后驱动器可能进入“刹车保持”状态,界面会按状态码 `8` 显示;再次启动前程序会自动清状态并使能。 13. 运动参数会直接驱动电机,请先确认电机固定、限位和急停条件安全。 ## 已接入的主要功能 - 快捷操作:自动连接、通信设置收起/展开浮层、清状态、使能、刷新状态、仪表盘显示、滑块调速、按圈数正反转、独立启动和停止按钮。 - 运动控制:绝对位置、相对位置、速度、力矩、脉冲、脉宽位置、脉宽力矩、脉宽速度、开环速度、开环位置、开环脉冲、IO 启停。 - 常用动作:使能、失能、立即停止、清状态、当前位置清零、清除堵转。 - 状态查询:运行状态、实时转速、实时位置、位置误差、到位状态、使能状态、系统参数、驱动参数、版本。 - 参数设置:按“驱动/开关/PID/地址/维护”分类页签显示,覆盖工作模式、细分、目标电流、位置环力矩、串口/CAN 波特率、堵转电流、PID、地址、电平、按键锁定、自动熄屏、协议、堵转保护。 - 回零限位:左右限位原点、有/无限位回零、触发回零、中断回零、回零参数读取、回零状态读取、上电自动回零、左右限位开关。 - 系统维护:校准编码器、复位重启、恢复出厂、读取磁链、读取相阻/相感、读取电流环 PI、读取相电流、电压、累计脉冲和堵转信息。