一、 实习内容
(1)复习与巩固 C 语言编程基础,熟练使用 Keil 软件及其编程环境。
(2)学习嵌入式系统,将书本上的知识与实际相结合,通过真实的实训,巩固书本知识,
以达到可以运用的目的。
(3)学习将各个学科的知识融合运用的技能,通过实习并增强自己的嵌入式技术、动
手实践能力,以及嵌入式开发等一定的实际技术。在对 STM32 单片机了解学习的前提下,
应用相关知识实现控制机械臂抓取物品移动。
二、实现 stm32 对机械臂的控制
设计一个机械臂,具体参数自行设计,在此基础上完成该机械臂两点间的路径规划。设
计完成上述目标的控制系统,控制器选择 stm32 单片机,其他硬件部分根据系统所需要完成
的功能自行选择,基本要求要体现系统的输入,输出信号和人机交互界面。原理为机械臂由
多个舵机控制,通过改变舵机的转动角度来改变机械臂的状态,从而实现动作的变化。
根据机械臂系统的控制要求,整体上设计出系统控制方案,即通过控制主控制器输出的
PWM 波的占空比实现对舵机转动的控制,进而实现各个关节的位置控制。在本任务中,机
械臂需要完成抓取物品的任务。该任务分三为个步骤:
舵机控制:通过控制舵机转动角度控制机械臂的状态;
人机联动:使用 LED 确定控制舵机的位置;
抓取物品:根据物品位置控制机械臂完成抓取物品的动作;
① 应用的器材(硬件)与软件:
硬件:STM32 开发板、机械臂、电源、杜邦线等。
在硬件方面,主要论述了如何以 ARM 微处理器 stm32 和舵机为主要器件,通过设计软
件控制程序构建关节运动控制系统。然后按照结构化设计的思想,依次对以上各部分的原理
和设计方法进行了分析和探讨,给出了实际的原理图和电路图。
软件:Keil5、ST-Link 驱动、TeraTerm、Mechatronic_ARM_Lib 等。
在软件设计方面,按照模块化的设计思想将控制程序分为初始化模块和运行模块,并分
别对各个模块的程序进行设计。基于 STM32F407 开发板来控制机械臂各关节舵机的运转,
用到了开发板上的 LED 灯、KEY 按键、BEEP 蜂鸣器 EXIT 外部中断、Timer 定时器中断和 PWM
进行设计。
② 舵机的控制
舵机也叫也叫 RC 伺服器,类似舵机这样的伺服系统通常由小型电动机,电位计,嵌入
式控制系统和变速箱组成。电机输出轴的位置由内部电位计不断采样测量,并与微控制器
(例如 STM32,Arduino)设置的目标位置进行比较;根据相应的偏差,控制设备会调整电机
输出轴的实际位置,使其与目标位置匹配。这样就形成了闭环控制系统。