基础硬件控制课程---驱动舵机 1. 学习目标 本次课程我们主要学习如何控制小车的舵机。 2. 实验原理 对于 Raspbot 小车的驱动板上我们集成了 4 路舵机引脚接口,位于如下图所示的 地方,分别是 S1~S4。和电机一样,舵机的驱动芯片 TB6612 没有直接连接到树 莓派引脚,而是树莓派通过 IIC 与 STM8 单片机通讯,由 STM8 单片机驱动 TB6612 芯片,从而驱动舵机。 舵机的接线: 舵机棕色的线需要接入扩展板上标有“-”的引脚上。 舵机红色的线需要接入扩展板上标有“+”的引脚上。 舵机橙色的线需要接入扩展板上标有“IO”的引脚上。 Raspbot 小车摄像头云台具有两个舵机,分别接在 S1,S2 接口上。下面的舵机接 S1,上面的舵机接 S2。 3. 编码方式 STM8 与树莓派通讯采用的是树莓派主板上的 SDA.1, SCL.1。 树莓派引脚对照表如下图所示 舵机在机器人和自动化系统中扮演着至关重要的角色,它们能精确地控制机械装置的角度,如在Raspbot小车上用于摄像头云台的调整。在本篇基础硬件控制课程中,我们将探讨如何驱动和控制小车上的舵机,特别是如何通过树莓派和STM8单片机来操作舵机。 我们要了解舵机的工作原理。舵机内部包含一个伺服机制,它能够根据接收到的脉冲宽度调制(PWM)信号来改变电机的角度。标准的PWM频率通常为50Hz,而脉冲宽度的变化范围在1ms到2ms之间,其中1.5ms表示舵机的中位,偏离这个值将使舵机旋转到相应的角度。 在Raspbot小车上,驱动板集成了4路舵机接口S1到S4。每个舵机的接线方式如下: 1. 棕色线接扩展板的负极(-)引脚,提供电源接地。 2. 红色线接扩展板的正极(+)引脚,提供电源输入。 3. 橙色线接扩展板的IO引脚,接收和发送PWM信号以控制舵机角度。 Raspbot的小车摄像头云台上有两个舵机,分别连接在S1和S2接口,这样可以独立地调整摄像头的上下和左右视角。 驱动舵机的过程涉及到了树莓派、STM8单片机和TB6612驱动芯片的交互。树莓派通过IIC(Inter-Integrated Circuit,也称为I²C)协议与STM8进行通信,STM8再驱动TB6612芯片,TB6612负责实际的电机和舵机控制。IIC协议使用SDA(数据线)和SCL(时钟线),在树莓派上对应的是SDA.1和SCL.1引脚。 为了简化编程,我们使用了名为YB_Pcb_Car的库文件,这个库位于电机驱动程序的同一目录下。该库提供了方便的函数来控制舵机的动作。例如,可以将舵机移动到中间位置、0度或180度。在编写代码时,确保导入YB_Pcb_Car库以及time库,以便于控制时间和执行顺序。 运行程序时,可以通过Jupyter Lab环境来加载和执行预定义的Python脚本。脚本中包含了控制舵机动作的指令,如设置舵机初始位置、移动到特定角度等。在完成操作后,别忘了释放car对象,以便其他程序能够继续使用相同的资源。 实验过程中,当程序运行时,会观察到摄像头云台的两个舵机依次转动到90°、0°和180°,直观展示了舵机控制的灵活性和精度。通过这种基础的硬件控制,我们可以实现更复杂的机器人行为,例如自动驾驶或远程监控系统中的精确摄像头定位。 总结来说,驱动Raspbot小车舵机的关键在于理解PWM信号的作用、正确连接舵机线路、利用STM8单片机作为中介以及有效地利用树莓派的IIC接口和专用的驱动库。掌握这些知识,将有助于构建更先进的机器人系统。
- 粉丝: 9788
- 资源: 515
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助