减速电机:减速电机克服了普通直流电机扭矩小的缺点,而且价格较低,通过 PWM 控制 平均电流,较易控制其转速。
37GB-520直流减速电机参数 | ||||
减速比 | 额定电压 v | 空载电流 mA | 转速 rpm | 扭距 kg.cm |
1:30 | 12 | 180 | 330 | 1.5 |
TB6560 内部集成双全桥 MOSFET 驱动,轮换效率较高,单路可提供约 1A 的电流,内 置温度保护芯片,具有过流保护。
精密导电塑料电位器电路简单,利用 AD 测量出电阻分压值,即可推算出转过的角度。 且选择的处理器 STM32 自带 8 路 AD,所以符合本系统设计的要求。
光电编码器(接口已留下) 光电编码器精度高,数字脉冲输出,比较稳定。但价格较高。接口留下作为扩展。
独立按键输入。在输入量不多的情况下,独立按键输入编程简单,易于实现,是输 入的首选。本系统中实际用了 6 个独立按键:1个单个按键和 1 个五向按键。五向按键 如图 1.1 所示:
图 1.1 五向按键实物图 使用五向按键,可以方便的进行 OLED 菜单的上下移动,左右调节参数,按下确认。 串口输入。串口输入操作方便,可以同时输入较多参数,符合本系统设计要求 本系统使用了以上两种方案,可根据需要选择
采用理论建模的方法,在实际系统设计时会碰到很多问题。比如本系统中,各机械 连接间的摩擦力,减速电机齿轮的回程差等,这些参数都无法测得。
这种情况是需要控制的对象的参数不能完全的测量,不能得到完整的数学模型时, 需要根据经验和实践调试来确定参数。PID 控制技术就是用来测量不被完全掌控的系统 参数的。PID(比例(proportion)、积分(integral)、导数(derivative))通过线性组 合构成控制量,用这一控制量对被控对象进行控制,这样的控制器称 PID 控制器。
首先必须明确 PID 算法是基于反馈的。一般情况下,这个反馈就是速度传感器返 回给单片机当前电机的转速简单的说,就是用这个反馈跟预设值进行比较,如果转速偏 大,就减小电机两端的电压(电流);相反,则增加电机两端的电压(电流) 。
比例 P:比例项部分其实就是对预设值和反馈值差值的放大倍数。 比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。当仅 有比例控制时系统输出存在稳态误差(Steady-state error)。 举个例子,假如原来电机两端的电压为 U0,比例 P 为0.2,输入值是 800,而反馈值是
1000,那么输出到电机两端的电压应变为 U0+0.2*(800-1000)。从而达到了调节速度 的目的。显然比例 P 越大时,电机转速回归到输入值的速度将更快,及调节灵敏度就越 高。从而,加大 P 值,可以减少从非稳态到稳态的时间。但是同时也可能造成电机转速 在预设值附近振荡的情形,所以又引入积分 I 解决此问题。
系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差 系统(System with Steady-state Error)。为了消除稳态误差,在控制器中必须引入“积分 项”。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便 误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进 一步减小,直到接近于零。 因此,比例+积分(PI)控制器,可以使系统在进入稳态后几乎无稳态误差。
积分 I:顾名思义,积分项部分其实就是对预设值和反馈值之间的差值在时间上进行 累加。当差值不是很大时,为了不引起振荡。可以先让电机按原转速继续运行。当时要
振荡现象的发生。可见,积分项的调节存在明显的滞后。而且 I 值越大,滞后效果越明 显。
图 2.3 积分作用响应曲线 积分环节主要是用来消除静差,所谓静差,就是系统稳定后输出值和设定值之间的
差值,积分环节实际上就是偏差累计的过程,把累计的误差加到原有系统上以抵消系统 造成的静差。
差的作用就应该是零。可以在一定程度上缓冲振荡。比例项的作用仅是放大误差的幅值, 而增加 “微分项”,能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提 前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。 所以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程 中的动态特性
系统偏差信号的变化率 e(t)-e(t-1),具有预见性,能预见偏差变化的趋势,产生超 前的控制作用,在偏差还没有形成之前,已被微分调节作用消除,因此可以改善系统的 动态性能。但是微分对噪声干扰有放大作用,加强微分对系统抗干扰不利。 积分和微 分都不能单独起作用,必须与比例控制配合。
图 2.5 微分作用响应曲线 图 2.6 PD 调节器的阶跃响应曲线 总之,比例调节依据“偏差的大小”来动作,它的输出与输入偏差的大小成比例。比例调 节及时有力,但有余差。在系统中起着稳定被调参数的作用; 积分调节依据“偏差是否存在”来动作,它的输出与偏差对时间的积分成比例,只有当 余差消失时,积分才会停止,其作用是消除余差; 微分调节依据“偏差变化速度”来动作,它的输出与输入偏差变化的速度成比例,其 效果是阻止被调参数的一切变化,有超前调节的作用,对滞后大的对象有很好的效果。
由各个参数的控制规律可知,比例 P 使反应变快,微分 D 使反应提前,积分 I 使反应滞 后。在一定范围内,P,D 值越大,调节的效果越好。各个参数的调节原则如下:
• PID 其实有点小小的智能,P 是对现在情况的应对,I 是对过去的记忆,D 是对未 来的预测。
• P 是当下,在 3 个量里权重最大,是基础,因为毕竟要解决当下问题,要对当下 做出反应。PID 有时可以简化为 PI 或PD,但是从来没有见过用 ID 就能控制住 的例子。
• I 是对过去的记忆,如果过去一段时间的曲线太高,就会自动将曲线整体下移, 反之亦然。至于记忆的时间窗口期有多长,与要调整的量变化速度有关。变化缓 慢的物理量时间窗口要长一些,如温度;变化迅速的物理量要短一些,比位置。
• D 是对未来的预测,是对未来趋势的一种预测。变化迅速的物理量容易引起超调 或震荡,通过微分量预测上升的速度,从而对输出量进行适当缩小避免“冲过头”。 变化缓慢的量又太慢,D 可以适当推动调整速度。
Ziegler-Nichols 方法是基于系统稳定性分析的 PID 整定方法.在设计过程中无需考虑任 何特性要求,整定方法非常简单,但控制效果却比较理想.具体整定方法如下:
上式中 Kp 为比例控制参数 Kd 为微分控制参数 Ki 为积分控制参数
• 确定比例增益 P 时,首先去掉 PID 的积分项和微分项,一般是令 Ti=0、Td=0(具 体见 PID 的参数设定说明),使 PID 为纯比例调节。输入设定为系统允许的最大 值的 60%~70%,由 0 逐渐加大比例增益 P,直至系统出现振荡;再反过来,从此 时的比例增益 P 逐渐减小,直至系统振荡消失,记录此时的比例增益 P,设定 PID 的比例增益 P 为当前值的 60%~70%。比例增益 P 调试完成。
比例增益 P 确定后,设定一个较大的积分时间常数 Ti 的初值,然后逐渐减小 Ti, 直至系统出现振荡,之后在反过来,逐渐加大Ti,直至系统振荡消失。记录此时 的 Ti,设定 PID 的积分时间常数 Ti 为当前值的 150%~180%。积分时间常数 Ti 调试完成。
积分时间常数 Td 一般不用设定,为 0 即可。若要设定,与确定 P 和 Ti 的方法相 同,取不振荡时的 30%。
参数整定找最佳, 从小到大顺序查。 先是比例后积分, 最后再把微分加。 曲线振荡很频繁, 比例度盘要放大。 曲线漂浮绕大弯, 比例度盘往小扳。 曲线偏离回复慢, 积分时间往下降。 曲线波动周期长, 积分时间再加长。 曲线振荡频率快, 先把微分降下来。 动差大来波动慢, 微分时间应加长。 理想曲线两个波, 前高后低四比一。 一看二调多分析, 调节质量不会低。
用角度传感器测摆杆的角度,作为角度环(角度 PID 参数)。两组 PID 参数共同决定电 机驱动的 PWM 占空比。定时器 5 中断负责平衡位置 PID 调节。
图3.1 本系统的机械结构及各电路模块图 本系统的电路板采用模块插件式,主要模块请见图3.2,包括:
可以通过 5 向按键上下键移动当前选择项,第 1 菜单中通过 5 向按键左右键增减参数值, 按中间键(第 1 页菜单需要长按 2 秒以上)锁定保存当前值。
校准平衡位置角度后,您可以进行下面的操作。 正常操作步骤:
上电后,OLED显示第1面菜单,为各PID参数值,注意右下的OFF状态,表示目前电机 驱动模块TB6612处于禁止工作状态,需要按下列步骤操作:
2) 上电后电机处于禁止状态,通过按“启/停”按键(见图3.3)使能电机驱动使 能。此时右下显示ON状态;
3) 通过按“五向按键”上下键,切换到OLED菜单第2页,选择相应功能; 目前的菜单操作功能有两项:
start:起摆 cycle:(原来标识为roll360):转圈 此外,起摆直立后,一直有抗扰动功能。
5) 任何时候想停止电机工作,可按下“启/停”按键 说明:本系统的起摆的思路是让减速电机正向运动一定时间,形成一定摆角后,再反向 运动一定时间,一个来回便可竖立,进入平衡调节。
如图3.6所示,通过五向按键修改PID参数后,长按中间键2秒以上,第一行会出现锁 定图标
,表示参数被记录保存。
图3.6第2页菜单修改PID参数 如图3.6所示,将摆杆垂直向上放置平衡位置,然后通过五向按键选择”LockAngle”
选项,按5向按键中间键,可以重置平衡位置角度参数。此时第一行会出现锁定图标, 表示参数被记录保存。
系统中用的一阶旋转倒立摆机械结构为网上购买,机械结构包括:U 型夹座、支 撑杆、电机、过孔滑环、横梁、角度传感器及摆杆组成,如图 3‐1 所示。
其中,U 型夹座可以将整个系统方便的固定在桌面上。 过孔滑环在电机转动时起类似电刷的作用,可以有效避免信号线缠绕的情况。 摆杆直接与角度传感器的轴固定,通过带动轴的转动,改变角度传感器当前的分压
一阶旋转倒立摆系统的原理框图如图 3‐2 所示: 控制模块控制转速测量模块及角度测量模块,得到当前电机的转动速度及摆杆所处
角度,通过 PID 算法计算出所要进行操作,控制电机驱动模块驱动电路加、减速,以及 是否反向旋转。当前的运动状态及 PID 参数在OLED 上显示。
系统的启动停止通过一个独立按键控制,具体 PID 参数的调节,可以通过连接底板 上的 5 向按键调节,也可以通过串口调试助手在电脑上输入参数。
模块名称 | 所用端口 | 占用中断 | 说明 | |
电机测速 | (A6,PA7) | 定时器 3 | 两路计数器,编码器模式。 接电机电路上两路霍尔元件脉冲输出 | |
光电编码器 | (A8,A9) (B6,B7) | 备用 | ||
驱动模块 | 方向控制 | A 路:(B4,B15) B 路:(B12,B13) | (TB6612 只用到 A 路) | |
使能 | A11 | |||
PWM | A 路:A3 B 路:B14(未用) | 定时器 1 | (TB6612 只用到 A 路) | |
角度传感器 AD | A2,B0(备用) | 查询方式实现 | ||
串口通讯: | B10,B11 | |||
启动/停止 | A12 | 外部中断 12 | ||
五向按键 | 上 | A10 | 外部中断 10 | |
下 | A5 | 外部中断 5 | ||
左 | A0 | 外部中断 0 | ||
右 | A4 | 外部中断 4 | ||
中 | A1 | 外部中断 1 | ||
系统板上测试按键 | A0 | 与五向按键 A0 重合 | ||
OLED 显示 | B8(clk),B9(data) | 软件 IIC 实现 | 可以用硬件 IIC | |
定时器 5 | 正常 PID 调节间隔 | |||
定时器 6 | 旋转一周 PID 调节间隔 |
图 3.4 连接底板 PCB 图 通过连接底板,将系统中各电路模块连接,保证系统能正常、稳定的运行。
用导电塑料角位移传感器的一阶倒立摆,只需要接右边三脚,最左边 的一个脚接了 STM32 的 AD8,在扩展为二阶倒立摆时使用
用光电编码器做角度传感器的一阶倒立摆,只需要接右边四个 脚,最左边的两个脚接了 STM32 的 PB6、PB7,在扩展为二阶倒立摆时使用
A.顶层视图 B.底层视图 图 3.6 STM32 单片机最小系统 PCB 图
电机驱动芯片选择的是东芝半导体公司生产直流电机驱动芯片 TB6612FNG,其结构 为 MOSFET‐H 桥,能承受较大电流,有两个输出通道,输出两路 PWM 波,可以同时驱 动两路直流电机。驱动模块如图 3.6 所示:
图 3.7 电机驱动芯片实物图 TB6612FNG 每个通道输出最高 1.2A 的连续驱动电流; 启动峰值电流达 2A/3.2A(连续脉冲/单脉冲); 四种电机控制模式:正转、反转、制动、停止;
PWM 支持频率高达 100KHz; 片内低压检测电路和热停机保护电路; 工作温度:‐20~85℃;
A 电机输入端 2 ‐‐‐‐‐‐AIN2 VCC ‐‐‐‐‐‐逻辑电平输入端 A 电机输入端 1 ‐‐‐‐‐‐AIN1 GND ‐‐‐‐‐‐ 接地 正常工作/待机状态控制端‐‐‐‐‐‐STBY AO1 ‐‐‐‐‐‐‐ A 电机输出端 1
B 控制信号输入端‐‐‐‐‐‐PWMB BO1 ‐‐‐‐‐‐ B 电机输出端 1 接地‐‐‐‐‐‐GND GND ‐‐‐‐‐‐‐ 接地 TB6612FNG 功能表见表 3‐1。
根据表 3‐1 所示,TB6612FNG 使用时注意其 STBY 引脚应接高电平。 本设计使用的 TB6612FNG 电机驱动模块原理图见图 3‐6:
本设计选用的角度传感器是 WDD35D4 角度传感器。这个传感器是一个精密可调电 阻,如图 3‐7 所示。中间抽头(2 脚)接数模转换器(ADC),根据 AD 转换器的值可判 断当前的角度值。
通过直角支架将角度传感器固定在倒立摆横杆的顶端,转轴用机米螺丝固定倒立 摆的摆杆。电机转动带动摆杆摆动,摆杆带动角度传感器轴转动。滑动变阻器的阻值变 化,通过片上 AD 测得第 2 脚的分压值,可以推算出当前的角度值。
注意在系统启动之前,要确定摆杆竖立时,2 脚测得的分压值,以此作为平衡状态 的基本参数。系统机械结构固定好后,可以通过编程测试这一值。但本设计中采用通过 按键实时确定平衡位置的分压值,具体方法请见软件设计部分。
系统中选用了开关式霍尔传感器 44E 和磁环作为测量电机转速的方式。选用的磁 环为 26 极充磁,每一对磁极通过霍尔传感器时,会产生一个脉冲。磁环测量图如图 3‐8 所示。
采用了霍尔传感器来测量磁环转动时带来的磁场变化,霍尔传感器前转过 1 对磁 极产生一个脉冲。当带动磁环转动的减速电机后轴转动一圈,一个霍尔传感器上可以产 生 13 个脉冲。而选用的直流减速电机的减速比为 1:30,所以电机前轴转动一圈,一个 霍尔传感器上可以产生 13*30=390 个脉冲。图 3‐9 所示的是增量式输出的霍尔编码器 模块,原理图如图 3‐10 所示。
图 3.11 霍尔测速模块实物 图 3.12 霍尔测速模块原理图 模块中采用了两个相位角相差 90 度的霍尔传感器来测量磁环转动时带来的磁场
变化,能过判断两个霍尔传感器的输出脉冲的先后关系得到电机转动的方向。 编码器输出 AB 相测速脉冲,输出方波相位存在 90 度相位差,如图 3‐11 所示。通
编码器软件四倍频技术:以图 3.11 为例,常用的测速方法是 A 相或者 B 相的下降 沿进行计数,这样前轴转一圈,一个霍尔元件测得的计数值只有 390 个。而使用软件四 倍频技术,对霍尔元产生的脉冲采用沿触发。两个霍尔元,A 相和 B 相的上升沿和下降 沿个数都进行统计,测得的计数值就有 1560 个(390*4=1560 个)。这项技术可以将 编码器的精度提高 4 倍,这样减速电机前轴转一圈,编码器的输出脉冲可达四倍,对测 速精度的提高有很大帮助。
OLED 是有机发光二极管,又称有机发光半导体。OLED 显示与液晶显示的发光原理 不同,具有自发光、厚度薄、广视角、几乎无穷高的对比度、较低耗电、极高反应速度 等优点。本系统选用的显示模块是 9.6 英寸的 OLED 显示模块,点阵为 128*64,足够显 示各项相关信息。
显示模块的控制信号通信方式为 IIC 总线控制。OLED 显示模块实物如图 3‐13。如图 所示,该显示屏模块只有四个管脚,VCC 管脚是显示屏的电源正,可以接 3.3V 到 5V 的 电源,GND 管脚是 OLED 显示屏的电源地,SCL 管脚表示 OLED 的 IIC 时钟线,SDA 管脚 表示OLED 的 IIC 数据线。OLED 显示屏可以显示多种颜色,同时可以显示数字、字符、 汉字、图形,功能强大,使用方便。(由于进货批次不同,您收到的 OLED 可能是单色 的)
1) 电机驱动电源,需要 12V 电压,所以开关电源直接连接到驱动芯片 TB6612 的电机 电源口;
2) 转速测量模块中,霍尔元件需要 5V 电压供电,12V 转 5V 是采用了一款商用开关电 源降压模块
注:串口数据协议格式:“kpa kia kda kpv kdv\n",数据间以空格分隔。 接收到数据后用atoi()函数提取数据。 STM32接收到数据如果并未保存,如要保存,须在第1页菜单内长按5向按键中间键2秒以 上。
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |