基于80C19单片机伺服电机调速系统软硬件设计
4.4.2过压、欠压保护电路
过压、欠压保护是针对电源异常、主回路电压超过或低于一定数值时考虑的。通常系统输入电源电压允许波动的范围一般是额定输入电压的士10%。通常情况下,主回路直流环节的电压与输入电压保持固定关系。当输入电源电压过高,将使直流侧电压过高。过高的直流电压对MOSFET的安全构成威胁,很可能超过MOSFET的最大耐一压而将其击穿,造成永久损坏。当输入电压过低时,虽小会对主回路元件构成直接威胁,但太低的输入电压很可能是控制回路工作不正常,而使系统紊乱,导致控制器输出错误的触发脉冲,造成主回路直通短路而烧毁MOSFET,而且较低的输入电压也使系统的抗干扰能力下降。因此,有必要对系统的电压进行保护。
R2UsR1200C154VR1DW1VCC3R3+12VR41KU2U1A26N1361KNMILM339图4.11 过电压检测电路
图4.11为本文介绍的直流伺服电动机系统的过压保护电路,参考电压设为额定电压的110%通过电阻对直流电源进行分压采样,与参考电压进行比较,一旦发生过压,则将故障信号送至单片机的不可屏蔽中断引脚,封锁功率开关的驱动信号[9]。增设一个同图4.4.2的检测电路,利用同相输入,把基准电压设为额定电压的90%,即可实现欠压
VCC保护。
12R15.1KS1S5P0.4P0.5P0.6P0.7P1.0P1.1P1.2P1.3S9S13R25.1KS2S6S10S14R35.1KS3S7S11S15R45.1KS4S8S12S164.5 键盘与显示电路 4.5.1键盘电路
单片机图4.12 键盘接口电路
- 30 -
基于80C19单片机伺服电机调速系统软硬件设计
键盘用于启动、停止、正反转切换和转速输入。为了能更方便地利用数字键输入转速,设置了4?4行列键盘,占用P0.4~P0.7和P1.0~P1.3P口。如图4.12所示
采用行列键盘可以在获得多键盘的同时节省I/O口,但占用大量的CPU资源,对控制系统不利。本设计采用改进扫描算法,即先扫描全行或全列,没有电平改变(没有键按下)时返回主程序,当检测到有键按下时,再进入进一步的扫描和按键判断,可在一定程序上减轻CPU负担。
各按键功能定义如表4.2所示:
表4.3 键盘功能定义表
按键 功能 按键 功能 S1 启动电机 S5 正反转切换 S2 停止电机 S6 保留 S3 输入转速 S7~S16 数字0~数字9 S4 输入确认 4.5.2显示电路
为了能实时显示转速,需设置显示电路。使用液晶显示模块显然是没有必要的。使用多个数码管显示又占用单片机太多I/O口,使用多位一体的数码管是很好的解决方案。如图4.13所示。
1 a 2a3 4a 5a6 S1 A fgb ec d F S2 S3 B fg b fg b ed c fg b edc ed c E D78DP C 9 111210 GS4图4.13 四位一体的共阳LED显示器
图4.13中,管脚A—F和DP各段的公共引出端;S1—S4分别是第一位的共阳极输入端;对于这种结构的LED显示器,它的体积和结构都符合设计的要求,由于4位LED的各段已经连在一起,所以必须使用动态扫描方式。
LED的驱动器的选择
由于单片机P3口可以吸收较大的电流,所以把LED的段接在P3口,可以不加驱
- 31 -
基于80C19单片机伺服电机调速系统软硬件设计
动电路。LED位驱动比较常用的芯片ULN2003A和ULN2803。ULN2003A是具有7个达林顿电路的集成芯片,ULN2803是8具有个达林顿电路的集成芯片。此种芯片集电极可以吸收最大500mA的电流,耐压为30V,能驱动常规的显示器。
但在我们的系统中,只要驱动4位LED,所以可以单独选用一个三极管驱动一个显示器位,三极管选用NPN型9015,它的驱动电流最大为100mA,可以使每个LED有足够的亮度。键盘接口电路如图4.14所示。
如果驱动三极管损坏使三极管的基极和发射极直接导通而同时单片机又写入低电平,则有可能因为电流过大而烧坏单片机的I/O口。因此,通常在驱动口串电阻,阻值约为几十到几百欧,本设计选用200?。
aU1aaaabfbfbfbfbcggggdacacacaceddddfgdp4-SEGS2S3S4101112911U222334455667788200Ω×8R2R1161514131211109P3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0S1单片机200ΩP4.0P4.1P4.2P4.3R3Q1Q2Q3Q4200Ω200ΩR4200ΩVCC4.14 显示接口电路
- 32 -
基于80C19单片机伺服电机调速系统软硬件设计
第5章 基于单片机的调速系统软件设计
无刷直流电机控制系统要想成功的完成其控制功能,硬件部分的设计与软件部分的设计都是不可或缺的。本章根据无位置传感器的无刷直流电机的控制系统的硬件设计方案,完成相应的软件部分的设计。
5.1 程序设计思想
从设计要求出发,本次设计主要完成以下工作:
(1)检测键盘,从键盘接收电机起停、正反转、控制速度命令,控制电机运转,向显示器传送电机的实时转速。若采用手动控制,检测控制板的电机起停、正反转、速度控制命令,控制电机运转。
(2)完成传感器信号检测,并对检测的传感器信号进行译码,产生驱动功率全桥电路的信号逻辑,使电机运转。根据获得的电机转速的设定值以及从传感器信号测得的电机的实时转速,用PID算法计算出电机的转速控制量,从而调节电机的转速,使电机的转速跟随转速的设定值。
(3)根据转速控制量和电机的实时转速,计算SPWM算法的三角载波周期以及当前的第k个SPWM脉冲的占空比,从而产生SPWM信号调节电机的转速。
(4)对电机的故障(过电流,低电压)进行检测,从而保护电机的运行。
为了便于程序的编写和调试,系统软件采用模块化设计。系统软件包括了主程序模块、中断服务程序模块及子程序模块。
5.2 主程序
系统的主程序主要作用是组织系统的整个流程,监控系统的运行。在这部分程序中它是通过控制人机交流来控制和显示系统的运行状态。具体说来就是操作人员可通过监控程序建成的人机间的桥梁---键盘,来对单片机发出控制命令,使微机完全按人的命令工作。微机也通过这个程序来向操作人员显示参数的标志,以便操作人员的了解运行的状态。
系统主程序主要完成初始化、键盘查询及参数设置键功能处理、电机的起动和停止控制、速度的显示等功能。主程序流程图如下:
- 33 -
基于80C19单片机伺服电机调速系统软硬件设计
初始化参数设定起停控制键按下?YN启动采样定时;开放定时器中断开放捕获中断调显示子程序有功能键按下?NY图5.1 主程序流程图
5.2.1 初始化程序
初始化程序主要完成单片机一些寄存器的初始化。开始先禁止所有的中断,设置中断屏蔽寄存器,允许CPU响应COMPI中断,对A/D转换进行初始化,选定A/D转换通道以及A/D采样、转换的时间,并设定由EPA事件的发生来启动A/D转换,脉宽调制模块PWM脉冲输出的初始化。设置好中断周期。初始化流程图如下所示。
初始化禁止中断设置堆栈指针设置中断屏蔽寄存器波形发生器初始化节拍开关中断寄存器EPA TIMER1初始化设置中断周期图5.2初始化子程序
- 34 -