项目简介
本项目实现了对DC电机的开环控制,可实时设置电机的速度和方向。借助一个MCU和一个H桥来完成控制功能,PC与MCU之间通过自定义数据包进行通信。PC能向MCU发送设置电机参数的指令,MCU会向PC反馈电机的状态信息。
项目的主要特性和功能
- 通信功能:PC与MCU通过串行通信交互,PC可设置电机参数,MCU能反馈电机状态。
- MCU功能:可生成PWM信号,通过定时器中断定期发送状态包,利用UART中断接收设置包。
- PC功能:使用Unix API进行串行通信的打开、设置和关闭操作,采用多线程(一个发送线程和一个监听线程),具备基于ncurses的图形用户界面,可处理选项标志。
- 平滑控制:支持线性插值,能使电机方向平滑改变。
安装使用步骤
安装
- 确保安装了ncurses库,若未安装,执行以下命令:
bash sudo apt-get install libncurses5-dev libncursesw5-dev
- 安装AVR编程所需工具:
bash sudo apt-get install gcc-avr binutils-avr gdb-avr avr-libc avrdude
- 编译并上传AVR代码:
bash cd avr make make dc_control.hex sudo addgroup <your username> dialout cd..
- 编译PC端代码:
bash cd serial make
使用
在“serial”目录下运行PC端程序:
bash
./main
可使用以下可选标志:
- -l
:启用AVR的线性插值,使电机方向平滑改变。
bash
./main -l
- -f
:强制AVR重新上传/重启。
bash
./main -f
- -d
:调试模式(已弃用),用于通信测试,禁用GUI。
bash
./main -d
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】