历史上的今天
今天是:2025年03月10日(星期一)
2021年03月10日 | 基于Atmegal6单片机的通用电机控制装置的设计
2021-03-10 来源:eefocus
0 引言
电机的驱动与控制是现代电子技术中一个重要的研究课题,不同种类的电动机需要有不同的控制和驱动方法。使用高性能单片机作为电机控制驱动装置的核心,可以有效降低电机驱动器的成本,扩展应用范围,提高使用灵活性。
ATmegal6单片机是ATMEL公司的一款高性能8位AVR单片机,它内部带有功能强大的可编程定时和计数单元,通过编程可以很容易地产生各类交、直流电机以及步进电机的驱动波形,因此,利用这类功能强大的单片机作为电机控制器的核心,可以使控制器应用更加灵活、应用范围更广、维护成本更低。本文设计出的电机通用控制装置功能齐全,其液晶显示装置和按键可以控制并显示电机的运行状态,而数字化的温度传感器则能有效准确地监控电机的运行温度,RS485/232总线通信接口可以将多个控制器进行联网。从而实现电机的智能化远程控制。
1 电机控制及驱动电路设计
图l所示是一种通用电机控制装置系统的总体结构图。其整个单片机系统以ATmegal6单片机为控制核心,其中从单片机和主单片机利用I2C总线进行通信。从单片机连接按键和液晶屏,可以实现人机接口的功能,这样即可以为主单片机节约宝贵的I/O资源,又可以提高系统的运行效率。另外,DSl8820采用单总线结构采集温度,可以实现对电机温度的监控。

1.1 ATmegal6主控电路
ATmegal6单片机具有3个PWM功能的定时器/计数器T/C0、T/Cl和T/C2,其中T/C0和T/C2是两个8位的定时器/计数器,而T/Cl是16位具有输入捕获功能的定时器/计数器。
本系统的主控单片机电路如图2所示。它以megal6单片机为核心,配有外围复位电路和振荡器电路,单片机所有I/0都可独立引出,以便与外部电路的连接和扩展。

1.2 电机温度监测电路
电机的表面温度是衡量电机是否在安全状态下工作的一个重要指标。本系统的电机温度监测电路利用美国DALLAS半导体公司推出的单总线数字化测温集成电路DSl8820来实现。该数字化传感器具有很宽的测温范围(-55℃~+125℃),工作时只需要三根引线,而且多只DSl8820可以并行连接,以实现对多个电动机的温度监控。
系统工作时,DSl8820可把测得的温度数据传给单片机。如果超过用户设定,系统还可执行电机保护和报警等程序。电机温度监测系统的结构如图3所示,图4所示是其温度监控电路。

1.3 键盘及LCD接口电路
本系统的按键和LCD接口控制电路以单片机AT89S51为核心,该电路使用I2C总线与主单片机进行通信。利用这种主从单片机分离的设计可将一些大量占用IO端口资源的低速设备进行集中管理,从而为主单片机节约硬件资源和程序开销,提高系统的使用灵活性和运行效率。其LCD显示和键盘处理电路如图5所示。

1.4 RS-232/485通信电路
为了适应电机控制的网络化、智能化需求,本电机控制器带有RS232/RS485数据接口。用户利用这两种总线接口可以方便地将多个电机控制器连接成网,以方便电机系统的集中化管理。RS485接口电路使用收发控制的“透明化”管理,MAX485芯片的收发切换由NE555组成的单稳态电路自动完成,当单片机需要向RS485总线传输数据时,NE555可自动将MAX485切换至发送状态,数据传送完毕后,MAX485又将恢复至接收状态。RS-232/485总线驱动电路如图6所示。

1.5 电机驱动电路
本控制器的驱动部分使用凌阳SPGT62C19B电机驱动芯片来实现对直流电机和步进电机的驱动。SPGT62C19B是低电压单片式步进电机驱动
器集成电路芯片,其输出电压可达40 V,输出电流可达750mA。设计时,可由输入的逻辑电平来决定输出脉冲的宽度及频率。由该芯片组成的电机驱动系统将脉冲发生器、脉冲分配器、脉冲放大器合为一体,故可省去很多外围器件。与其它部件一样,主控电路也被设计成为一个独立的模块.以方便更换,而且该模块还可用于别的场合。其电机驱动电路图如图7所示。
1.6 转速测量电路
转速测量可采用一组鼠标上用的红外对管来实现,其电路原理如图8所示。当红外发射管与红外接收管之间被直流电机光栅转盘的不透明部分遮挡时,红外接收管处于截止状态,此时图中的SPEED输出高电平。反之,当光栅转盘的通光槽转至红外对管之间时,红外接收管处于导通状态,此时SPEED输出低电平。这样,将SPEED连接到单片机的I/O口,即可通过定时计数的方法计算出电机的转动速度。

2 单片机程序设计
2.1 主程序
本驱动器的程序设计使用模块化编程思想,其主程序用于完成对各子程序的调用。系统工作后,首先调用初始化子程序,以完成具有复用功能的I/0脚的选择和设置、各种中断功能的选择及其设置、AT89S51和ATmegal6的初始化、中断屏蔽寄存器的设置、中断寄存器的清零、系统变量的初始化等,最后完成开中断。初始化完成之后,系统将调用驱动程序,并完成系统的起动。系统起动之后,即进入正常运行状态。系统的全部运行过程均可由键盘进行实时控制和调节。
2.2 初始化程序
系统的初始化程序流程图如图9所示。该程序中包括LCD显示器、键盘等人机接口部分的初始化。主要功能是对具有复用功能引脚的选择和设置,以及各种中断功能的选择及设置(如外部键盘的中断选择等),同时包括AT89S5l的初始化、键盘的方式选择、工作时间的确定、显示方式的设定等。而系统变量的初始化包括温度的设定,转速初值的设定等。

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

3 结束语
本设计实现了一种以ATmega16单片机为核心的电机控制装置。该装置具有各类电机驱动脉冲的输出、电机温度监测与保护、人机操作界面和长距离工业总线通信等功能。利用AVR单片机具备的软硬件特点,可实现对多种电机的驱动与控制,以用于电机驱动研究、网络化电机集中控制等领域。由于该控制器采用主从单片机设计,系统的运行得以很好地分工,其中从单片机实现低速人际交互,主单片机则实现高速的电机驱动与控制,主从单片机各司其职,故可使系统的运行效率达到最高。本电机控制装置的架构开放,使用灵活,可以很好地应用于直流电机的调速控制,交流电机的变频驱动,步进电机的步距细分等多种电机驱动和控制领域。
下一篇:我准备自己做一个卫星
史海拾趣
|
用定时器1做的简单输出,友善micro2440的板子 请帮我分析下,搞了好长时间,还是出不来 流驱动:#include \"options.h\" #include #include #include #include #include #include #include #include #include \"time.h\" ...… 查看全部问答> |
|
请问一下各位 学校里学的C语言和单片机C语言(C51)有啥子不一样的?哪个好学一点. 在学校里学了C语言后感觉没有学到啥子,挺浮浅的,现在只记得一些简单的规则和语法。 不知道现在是继续学它基础打扎实点呢,还是就开始学C51,希望大家给点建 ...… 查看全部问答> |
|
在WINCE60里面把CELLCORE组件加进了NK,怎么测试这块是不是可以正常工作?有没简单的测试AP可用?怎么测试RIL组件绑定了物理通信的串口? 在WINCE60里面把CELLCORE组件加进了NK,怎么测试这块是不是可以正常工作?有没简单的测试AP可用?怎么测试RIL组件绑定了物理通信的串口?… 查看全部问答> |
|
ppc2003可以直接访问sql2000 server中的数据吗? ppc2003通过wifi跟局域网连接后,可以通过编程直接访问服务器上sql2000 server中的数据吗?有人说必须在ppc上安装sql CE,然后通过sql CE跟服务器上的sql2000交换数据?真的是这样?… 查看全部问答> |
|
2010年度吉时利测试测量技术全国巡回研讨会将从9月初开始,在成都、重庆、合肥、南京、哈尔滨、武汉、兰州举办届时吉时利资深技术专家将与您深入交流: 绿色电子革命中的光电测试/新能源测试方案 新材料的测试方案 微弱信号测量难点与应对方 ...… 查看全部问答> |
|
使用uC2.86 ADC使用DMA中断的模式,在DMA1_CH1 初始化以及 中断 都没问题,都可以进中断, 但是改成 DMA1_CH4 就再也不进中断了,为什么?? 难道 DR_ADDRESS 地址不对?? RCC,等其他设置应该都没问题请大家看下我的初始化函 ...… 查看全部问答> |
|
最近在调STM8 的I2C(不想搞模拟的I2C),结果I2C没有调通,不知道问题所在,软件是参考I2C EEPROM固件那个程序写的。初始化如下: void IIC_Init(void) { UCHAR temp; CLK_PCKENR1 |= 0x01; I2C_CR1 = 0x00; &n ...… 查看全部问答> |
|
本帖最后由 dontium 于 2015-1-23 12:51 编辑 我这两天用面包板按照vca810芯片的datasheet中的figure2 电路搭建了一个压控放大,将8脚的50欧姆电阻去掉,并在8脚加了一个vpp=30mv,f=800hz的正弦波(函数发生器产生),并在1脚直接接地。但是在Vc= ...… 查看全部问答> |
|
《TMS320C28x系列DSP》读书笔记--通用目标文件格式,段 TMS320系列DSP的目标文件各式为通用目标文件格式 COFF (Command Object File Format,简称COFF)。 采用这种目标文件各式的优点是:将指令和数据按照段的概念进行组织和存储,这使得程序的可读性大大增强,更容易编写 ...… 查看全部问答> |




