微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于ATmegal6单片机的通用电机控制装置的设计

基于ATmegal6单片机的通用电机控制装置的设计

时间:10-09 来源:互联网 点击:

2.1 主程序

本驱动器的程序设计使用模块化编程思想,其主程序用于完成对各子程序的调用。系统工作后,首先调用初始化子程序,以完成具有复用功能的I/0脚的选择和设置、各种中断功能的选择及其设置、AT89S51和ATmegal6的初始化、中断屏蔽寄存器的设置、中断寄存器的清零、系统变量的初始化等,最后完成开中断。初始化完成之后,系统将调用驱动程序,并完成系统的起动。系统起动之后,即进入正常运行状态。系统的全部运行过程均可由键盘进行实时控制和调节。

2.2 初始化程序

系统的初始化程序流程图如图9所示。该程序中包括LCD显示器、键盘等人机接口部分的初始化。主要功能是对具有复用功能引脚的选择和设置,以及各种中断功能的选择及设置(如外部键盘的中断选择等),同时包括AT89S5l的初始化、键盘的方式选择、工作时间的确定、显示方式的设定等。而系统变量的初始化包括温度的设定,转速初值的设定等。

2.3 控制程序

系统起动后即进入控制程序。控制程序是系统程序的主要部分,主要用来保证系统在给定的转速下正常运行,该程序主要调节单片机PWM口的占空比,从而调节电机绕组两端的平均电压,达到调速的目的,其控制程序流程如图10所示。

3 结束语

本设计实现了一种以ATmega16单片机为核心的电机控制装置。该装置具有各类电机驱动脉冲的输出、电机温度监测与保护、人机操作界面和长距离工业总线通信等功能。利用AVR单片机具备的软硬件特点,可实现对多种电机的驱动与控制,以用于电机驱动研究、网络化电机集中控制等领域。由于该控制器采用主从单片机设计,系统的运行得以很好地分工,其中从单片机实现低速人际交互,主单片机则实现高速的电机驱动与控制,主从单片机各司其职,故可使系统的运行效率达到最高。本电机控制装置的架构开放,使用灵活,可以很好地应用于直流电机的调速控制,交流电机的变频驱动,步进电机的步距细分等多种电机驱动和控制领域。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top