论文部分内容阅读
【摘 要】采用一片AVR—Atmega48单片机作为整个系统的控制核心,不仅输出伺服电机的PWM控制信号,而且运用内部集成的模数转换器将外部模拟电压控制信号转换为数字信号。运用伺服电机的电机控制器:SERIES- MCDC2805,与MEGE 48单片机一起完成电机的控制任务。最后采用OCMJ-4X8LCD液晶作为这个系统的显示部分。
【关键词】伺服电动机;单片机 ;LCD;实时显示
引言
伺服电动机又称为执行电动机,在自动控制系统中作为执行元件, 它将输入的电压信号变换成转轴的角位移或角速度输出。输入的电压信号又称为控制信号或电压信号。改变控制电压可以变更伺服电动机的转速及转向。
为了满足生产过程中自动控制系统的各种不同控制要求,对直流电机也提出了更高的标准,改变电枢回路电阻调速和变电压调速等技术已经远远不能满足现代控制技术的要求,PWM方式控制直流伺服电机调速的方法应运而生。
该设计准备用单片机设计一个控制系统,使得伺服电机的转速的可以直观的显示出来,使得调节伺服电机转速以达到控制要求的工作变得更简洁。
1.直流伺服电动机控制系统的方案设计
如图,设计主要由三部分构成:信号源部分、控制核心部分,LCD显示部分等。
信号源部分:通过切换相应的开关给电机控制器提供模拟电压源或是PWM信号。
控制核心部分:该部分是负责发出控制信号,对各种信息做出快速、准确的反应,处理外部随时变化的信号。
LCD显示部分:该部分显示由单片机通过对电压信号处理过后产生的相应的转速数据。
2.电机驱动调速的实现
SERIE—2224—012SR型直流微型电机的控制是通过控制MCD2805控制器来实现的。MCDC2805控制器与上述直流微型电机组合主要有步进模式、速度模式、PWM模式等控制模式。本设计决定采用速度模式和PWM模式。
2.1 控制器内部设置
正如上述驱动器MCDC2805的介绍那样,其内部设置通过RS—232根据实际需要进行设置的,程序已设置,主要的技术参数具体如下:
3. CPU控制模块的实现
前面已经提到,核心控制器采用的是ATMEL公司的推出的Atmega 48单片机,其主要特点如下:
高速度和低功耗,具有SLEEP(休眠)功能。
具有(吸入电流)10-20mA或40mA(单一输出)大电流。可直接驱动SSR,内置Watch Dog 电路。
程序写入器件可并行写入,也可串行在线下载(ISP)擦写。
单片机内置模拟比较器,具有较高精度的6路10 位A/D转换器 ( PDIP 封装)。
五种休眠模式:空闲模式、ADC 噪声抑制模式、省电模式、掉电模式和Standby 模式
具有内部RC振荡器,无需外加晶振即可工作。
计数器/定时器:有2个8位和一个16位定时/计数器,可做比较器、计数器外部中断和PWM用于控制输出(此功能应用在本系统中)
4.PWM模式
本设计控制电机要求控制核心发出不同占空比的脉冲来实现调速,故采用相位可调PWM模式,具体为16种模式中的第10种。T/C1工作在相位可调PWM 模式(WGM13:0 = 1、2、3、10、11) 可以获得高精度的、相位可调的PWM波形。
计数上限值(TOP值)决定着PWM波的周期;输出比较匹配寄存器中的值(即OCR1A/OCR1B值)决定着PWM波的占空比。
Rpcpwm=log2(TOP+1)
相位可调PWM模式中,输出的PWM波形的频率输出由下式确定,式中N的取值为1、8、64、256或1024。
通过设置比较寄存器OC1A/OC1B的值,可以获得不同占空比的脉冲波形。OC1A/OC1B的一些特殊值,会产生极端的PWM波形。当OC1A/OC1B的设置值与0x0000相近时,会产生窄脉冲序列。
5.模数转换器
ATmega48有一个6 路10位精度的逐次逼近型ADC,0.5 LSB 的非线性度,± 2LSB 的绝对精度, 65 - 260 ?s 的转换时间,最高分辨率时采样率高达15 kSPS,具有连续转换或单次转换模式,可选的向左调整ADC 读数。ADC与一个8通道的模拟多路复用器连接,能对来自端口C的8 路单端输入电压进行采样。单端电压输入以0V (GND) 为参考。ADC 包括一个采样保持电路,以确保在转换过程中输入到ADC 的电压保持恒定。
6.系统显示模块的实现
OCMJ 系列液晶显示器致力于减轻编程负担。用户硬件接口采用 ASK/ANSWER 握手协议, ASK=1 表示 OCMJ 忙于内部处理,不能接收用户命令;ASK=0 表示 OCMJ 空闲,等待接收用户命令。发送用户命令到 OCMJ可在 ASK=0 后的任意时刻开始,先把用户命令的当前字节放到数据线上,接着发高电平ANSWER 脉冲把当前用户命令字节锁存到 OCMJ 中。然后判断OCMJ模块是否在忙于内部处理数据,(ASK=1?)如果ASK=1,那么把ANSWER拉低,等待下一次(ASK=0)再送下一个数据。采用 8 位并行数据格式。
经过前面的论述,本设计的整体框架已经搭建起来,首先是CPU控制核心接收外部模拟电压控制信号,经过处理之后,一方面产生PWM控制信号给驱动器为电机调速,另一方面CPU通过模数转换器将模拟电压信号输出给显示模块来展示速度等信息,以方便技术员更加及时准确的把握电机运行情况。
7.电机步进工作模式的研究
SERIE—2224系列微型伺服电机通过RS—232可以设置为步进电机工作模式,下边主要对这种电机步进模式的控制,进行了初步的研究和试验:
正如上述驱动器MCDC2805的介绍那样,其内部设置通过RS—232根据实际需要进行设置的。
其中,电机转速=脉冲频率可见,电机转速是由STW、STN和输入的脉冲频率共同决定的。(STW:指每发一个脉冲电机转动的步数;STN:每一转的总步数)
8.结论
本系统实现了通过单片机输出PWM控制信号来给直流伺服电机调速的功能,是一种数字伺服控制系统;同时本系统还应用了模数转换器,把模拟电压控制信号处理后,在显示屏上显示出速度等信息,体现了人机交互的理念。以CPU为核心的数字控制系统的各个组成部分,通过CPU模块的分析处理后,向电动机执行机构发出指令,完成整个任务。
参考文献:
[1] 丁化成,耿得根.AVR单片机应用设计[M] .北京:北京航空航天大学出版社,2002.
[2] 马潮,詹卫前.Atmega8原理及应用手册[M] .北京:清华大学出版社,2003 .
[3]任礼维,林瑞光. 电机与拖动基础[M].杭州:浙江大学出版社,1994.
【关键词】伺服电动机;单片机 ;LCD;实时显示
引言
伺服电动机又称为执行电动机,在自动控制系统中作为执行元件, 它将输入的电压信号变换成转轴的角位移或角速度输出。输入的电压信号又称为控制信号或电压信号。改变控制电压可以变更伺服电动机的转速及转向。
为了满足生产过程中自动控制系统的各种不同控制要求,对直流电机也提出了更高的标准,改变电枢回路电阻调速和变电压调速等技术已经远远不能满足现代控制技术的要求,PWM方式控制直流伺服电机调速的方法应运而生。
该设计准备用单片机设计一个控制系统,使得伺服电机的转速的可以直观的显示出来,使得调节伺服电机转速以达到控制要求的工作变得更简洁。
1.直流伺服电动机控制系统的方案设计
如图,设计主要由三部分构成:信号源部分、控制核心部分,LCD显示部分等。
信号源部分:通过切换相应的开关给电机控制器提供模拟电压源或是PWM信号。
控制核心部分:该部分是负责发出控制信号,对各种信息做出快速、准确的反应,处理外部随时变化的信号。
LCD显示部分:该部分显示由单片机通过对电压信号处理过后产生的相应的转速数据。
2.电机驱动调速的实现
SERIE—2224—012SR型直流微型电机的控制是通过控制MCD2805控制器来实现的。MCDC2805控制器与上述直流微型电机组合主要有步进模式、速度模式、PWM模式等控制模式。本设计决定采用速度模式和PWM模式。
2.1 控制器内部设置
正如上述驱动器MCDC2805的介绍那样,其内部设置通过RS—232根据实际需要进行设置的,程序已设置,主要的技术参数具体如下:
3. CPU控制模块的实现
前面已经提到,核心控制器采用的是ATMEL公司的推出的Atmega 48单片机,其主要特点如下:
高速度和低功耗,具有SLEEP(休眠)功能。
具有(吸入电流)10-20mA或40mA(单一输出)大电流。可直接驱动SSR,内置Watch Dog 电路。
程序写入器件可并行写入,也可串行在线下载(ISP)擦写。
单片机内置模拟比较器,具有较高精度的6路10 位A/D转换器 ( PDIP 封装)。
五种休眠模式:空闲模式、ADC 噪声抑制模式、省电模式、掉电模式和Standby 模式
具有内部RC振荡器,无需外加晶振即可工作。
计数器/定时器:有2个8位和一个16位定时/计数器,可做比较器、计数器外部中断和PWM用于控制输出(此功能应用在本系统中)
4.PWM模式
本设计控制电机要求控制核心发出不同占空比的脉冲来实现调速,故采用相位可调PWM模式,具体为16种模式中的第10种。T/C1工作在相位可调PWM 模式(WGM13:0 = 1、2、3、10、11) 可以获得高精度的、相位可调的PWM波形。
计数上限值(TOP值)决定着PWM波的周期;输出比较匹配寄存器中的值(即OCR1A/OCR1B值)决定着PWM波的占空比。
Rpcpwm=log2(TOP+1)
相位可调PWM模式中,输出的PWM波形的频率输出由下式确定,式中N的取值为1、8、64、256或1024。
通过设置比较寄存器OC1A/OC1B的值,可以获得不同占空比的脉冲波形。OC1A/OC1B的一些特殊值,会产生极端的PWM波形。当OC1A/OC1B的设置值与0x0000相近时,会产生窄脉冲序列。
5.模数转换器
ATmega48有一个6 路10位精度的逐次逼近型ADC,0.5 LSB 的非线性度,± 2LSB 的绝对精度, 65 - 260 ?s 的转换时间,最高分辨率时采样率高达15 kSPS,具有连续转换或单次转换模式,可选的向左调整ADC 读数。ADC与一个8通道的模拟多路复用器连接,能对来自端口C的8 路单端输入电压进行采样。单端电压输入以0V (GND) 为参考。ADC 包括一个采样保持电路,以确保在转换过程中输入到ADC 的电压保持恒定。
6.系统显示模块的实现
OCMJ 系列液晶显示器致力于减轻编程负担。用户硬件接口采用 ASK/ANSWER 握手协议, ASK=1 表示 OCMJ 忙于内部处理,不能接收用户命令;ASK=0 表示 OCMJ 空闲,等待接收用户命令。发送用户命令到 OCMJ可在 ASK=0 后的任意时刻开始,先把用户命令的当前字节放到数据线上,接着发高电平ANSWER 脉冲把当前用户命令字节锁存到 OCMJ 中。然后判断OCMJ模块是否在忙于内部处理数据,(ASK=1?)如果ASK=1,那么把ANSWER拉低,等待下一次(ASK=0)再送下一个数据。采用 8 位并行数据格式。
经过前面的论述,本设计的整体框架已经搭建起来,首先是CPU控制核心接收外部模拟电压控制信号,经过处理之后,一方面产生PWM控制信号给驱动器为电机调速,另一方面CPU通过模数转换器将模拟电压信号输出给显示模块来展示速度等信息,以方便技术员更加及时准确的把握电机运行情况。
7.电机步进工作模式的研究
SERIE—2224系列微型伺服电机通过RS—232可以设置为步进电机工作模式,下边主要对这种电机步进模式的控制,进行了初步的研究和试验:
正如上述驱动器MCDC2805的介绍那样,其内部设置通过RS—232根据实际需要进行设置的。
其中,电机转速=脉冲频率可见,电机转速是由STW、STN和输入的脉冲频率共同决定的。(STW:指每发一个脉冲电机转动的步数;STN:每一转的总步数)
8.结论
本系统实现了通过单片机输出PWM控制信号来给直流伺服电机调速的功能,是一种数字伺服控制系统;同时本系统还应用了模数转换器,把模拟电压控制信号处理后,在显示屏上显示出速度等信息,体现了人机交互的理念。以CPU为核心的数字控制系统的各个组成部分,通过CPU模块的分析处理后,向电动机执行机构发出指令,完成整个任务。
参考文献:
[1] 丁化成,耿得根.AVR单片机应用设计[M] .北京:北京航空航天大学出版社,2002.
[2] 马潮,詹卫前.Atmega8原理及应用手册[M] .北京:清华大学出版社,2003 .
[3]任礼维,林瑞光. 电机与拖动基础[M].杭州:浙江大学出版社,1994.