已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
HTTP/WWWELECFANSCOM电子发烧友HTTP/BBSELECFANSCOM电子技术论坛毕业实习毕业设计毕业论文题目基于AVR单片机的步进电机控制器设计年级专业姓名学号指导教师日期I摘要介绍了步进电动机的发展史,及国内的现状和步进电动机未来的应用前景。并且阐述了步进电动机转速、角度、转矩的控制原理。本文阐述了一种步进电机控制器的设计方案,并绘制了原理图和PCB板图,撰写了程序源代码。实现了对步进电动机转速、角度的控制,并完成了实物的制作。这期间主要使用PROTEL99SE软件绘制原理图和制板,使用PROTEUS71软件进行程序代码的仿真和功能的理论验证。最后通过硬件的调试验证程序代码的实际功能,完成对控制器的设计。关键词AVR单片机;步进电动机;控制器。IIABSTRACTINTRODUCTIONSTEPENTERELECTRICMOTOROFDEVELOPMENTHISTORY,ANDLOCALPRESENTCONDITIONANDSTEPENTERELECTRICMOTORFUTUREOFAPPLICATIONFOREGROUNDANDELABORATEDASTEPTOENTERELECTRICMOTORTOTURNSOON,ANGLE,TURNJUOFCONTROLPRINCIPLETHISTEXTELABORATEDAKINDOFSTEPENTERELECTRICALENGINEERINGCONTROLLEROFDESIGNPROJECT,ANDDREWPRINCIPLEDIAGRAMANDPCBPLANKDIAGRAM,COMPOSEDAPROCEDURESOURCEACODEREALIZATIONTOSTEPENTERTHEELECTRICMOTORTURNSOON,ANGLEOFCONTROL,ANDCOMPLETIONREALOBJECTOFCREATIONTHISPERIODMAINUSAGETHEPROTEL99SETHESOFTWAREDRAWPRINCIPLEDIAGRAMANDMAKEPLANK,USAGEPROTEUS71SOFTWARESCARRYONANIMITATEOFPROCEDURECODETRUEWITHTHETHEORIESOFTHEFUNCTIONVERIFICATIONTHEENDEXPERIMENTCERTIFICATEPROCEDUREACODETHROUGHANADJUSTOFHARDWAREOFACTUALFUNCTION,COMPLETIONDESIGNCONTROLLERKEYWORDSAVRMCUSTEPPERMOTORCONTROLLER目录摘要ABSTRACT第一章、引言111步进电机发展史112我国步进电机发展113步进电机应用的前景1第二章、步进电机控制系统221步进电机控制系统222控制单元223驱动电路224通信端口325其它3第三章、ATMEGA16L单片机431ATMEGA16L主要功能432ATMEGA16L引脚功能4第四章、控制器电路图6第五章、步进电动机原理与控制851步进电动机的结构852步进电动机的控制原理853L297/L2988531L297芯片简介8532L298芯片简介9533L297298步进电机控制9534控制机制10第六章、实现1161MAIN主程序流程图1162程序代码12第七章、结构图30结论31参考文献32致谢33附录34基于AVR单片机的步进电机控制器1第一章、引言11步进电机发展史步进电机又称电动机或阶跃电动机,国外一般称为STEPMOTOR或STEPPINGMOTOR等。步进电机的机理是基于最基本的电磁铁作用,其原始模型起源于1830年至1860年间。1870年前后开始以控制为目的的尝试,应用于氩弧灯的电极输送机构中。这被认为是最初的步进电动。此后,在电话自动交换机中广泛使用了步进电动机。不久又在缺乏交流电源的船舶和飞机等独立系统中广泛使用。20世纪60年代后期,随着永磁性材料的发展,各种实用性步进电动机应运而生,而半导体技术的发展则推进了步进电动机在众多领域的应用。在近30年间,步进电动机迅速地发展并成熟起来。从发展趋向来讲,步进电动机已经能与直流电动机、异步电动机,以及同步电动机并列,从而成为电动机的一种基本类型。12我国步进电机发展我国步进电动机的研究及制造起始于本世纪50年代后期。从50年代后期到60年代后期,主要是高等院校和科研机构为研究一些装置而使用或开发少量产品。这些产品以多段结构三相反应式步进电动机为主。70年代初期,步进电动机的生产和研究有所突破。除反映在驱动器设计方面的长足进步外,对反应式步进电动机本体的设计研究发展到一个较高水平。70年代中期至80年代中期为成品发展阶段,新品种高性能电动机不断被开发。自80年代中期以来,由于对步进电动机精确模型做了大量研究工作,各种混合式步进电动机及驱动器作为产品广泛利用。13步进电机的应用前景目前,随着电子技术、控制技术以及电动机本体的发展和变化,传统电机分类间的界面越来越模糊。步进电机必然会成为机电一体化元件组件的必然趋势。由于步进电机具有控制方便、体积小等特点,所以在数控系统、自动生产线、自动化仪表、绘图机和计算机外围设备中得到广泛应用。微电子学的迅速发展和微型计算机的普及与应用,为步进电动机的应用开辟了广阔前景,使得以往用硬件电路构成的庞大复杂的控制器得以用软件实现,既降低了硬件成本又提高了控制的灵活性,可靠性及多功能性。市场上有很多现成的步进电机控制机构,但价格都偏高。应用SGS公司推出的L297和L298两芯片可方便的组成步进电机驱动器,并结合ATMEGA16L单片机可以构成很好的步进电机控制系统。基于AVR单片机的步进电机控制器2第二章、步进电机控制系统21步进电动机控制系统步进电动机本体、步进电动机驱动电路和控制单元构成步进电动机系统不可分割的三大部分。系统框图见下图21图21步进电动机系统框图22控制单元控制单元、驱动电路为控制系统的核心部分。控制单元是整个系统最核心的部分,是系统的指挥中心。用于协调各部分的运行,主要负责接收通信端口或输入电路送来的信息,并对其进行识别,译码,并做出相应的动作,发出控制信号用以控制步进电动机。控制单元实质上是具有处理能力的微处理器芯片。控制单元可以由单片机、DSP、PLC等充当。本文选用由ATEML公司生产的ATMEGA16L单片机。23驱动电路驱动电路是负责将控制单元送来的微电流信号进行放大用以驱动步进电动机运转,驱动电路实质上是功率放大器。常见的驱动电路单电压型功放电路、高低压切换型功放电路、斩波恒流功放电路等再就是采用专用的集成芯片。本文采用L297/L298芯片,由这两种芯片构成的驱动电路具有控制方便、精度高、并且不需要外围扩展。基于AVR单片机的步进电机控制器324通信端口通信端口是步进电机控制器与上位机(主要是指计算机)进行通信的接口,PC机串口采用的通信标准RS232标准。使用单片机的USART端口与计算机的串口(9芯)相连进行通信。25其它显示屏人机交互的窗口,使用JHD162A液晶屏。输入电路用于输入控制信息,告诉控制器如何运转。基于AVR单片机的步进电机控制器4第三章、ATMEGA16L单片机ATMEGA16L是由ATMEL公司生产的高性能、低功耗的8位AVR微处理器芯片,具有16KB系统内可编程FLASH。31ATMEGA16L主要功能ATMEGA16L单片机的功能及特点简述如下1、16KB的系统内编程FLASH、512B的EEPROM、1KB的SRAM;2、四通道的PWM;3、两个可编程串行USART;4、可工作于主机/从机模式的SPI;5、具有独立片内振荡器的可编程看门狗定时器;6、片内/片外中断源;7、32个双向I/O端口,可单独控制;8、TWI模块;9、3个定时计数器等。32ATMEGA16L引脚功能ATMEGA16L双列直插式PDIP引脚如图31图31ATMEGA16LPDIP图基于AVR单片机的步进电机控制器5引脚功能简述如下A/VCC模拟/数字电源AREFA/D转换参考电压;XTAL1/2晶振;RESET复位;AREFA/D转换参考电压;PAPD双向I/O口;TXDUSART输出引脚;RXDUSART输入引脚;OC1APWM波形输出端;注USART,是一个高度灵活的串行通讯设备,通用同步和异步串行接收器和转发器的英文缩写。基于AVR单片机的步进电机控制器6第四章、控制器电路图基于AVR单片机的步进电机控制器7原理图说明本原理图,用PROTEL99SE绘制。以总路线和网络标号连接,即相同的的网络标号具有电气连接。JRSRS232串口;RPVREF调节电阻;LM2575稳压片;JVCC电源接入口(俗称火牛头);JLCDJHD162A液晶屏接口;JM步进电机接线口;JTAG仿真下载器连接口;LED_B电源指示;MAX202电平转换芯片;L297/298构成相序产生电路和驱动电路;放大图见附录。基于AVR单片机的步进电机控制器8第五章、步进电动机原理与控制从广义上讲,步进电动机的类型分为机械式、电磁式和组合式三大类型。51步进电动机的结构图51图51HB型步进电动机结构示意图52步进电动机的控制原理步进电机是一种将电脉冲信号变为相应的直流位移的数字/模拟变换器。每当电机绕组接收一个脉冲时,转子就转过一个相应的角度(步距)。步进电机的角位移量和输入脉冲的个数严格成正比。在时间上与输入脉冲同步,因而只要控制输入脉冲的数量、频率和电机绕组的相序,即可获得所需要的转速和转动方向。53L297/L298531L297芯片简介L297芯片是一种硬件环分集成芯片,它可产生四相驱动信号,用于两相双极或四相单极步进电动机的控制。它的心脏部分是一组译码器它能产生各种所需的相序,这一部分是由两种输入模式控制,方向控制(CW/CCW)和HALF/FULL,步进式时钟CLOCK将译码器从一阶梯推进至另一阶梯。译码器有四个输出点连接到输出逻辑部分,提供抑制和斩波功能所需的相序。L297能产生三种相序信号,对应于三种不同的工作方式即半步方式(HALFSTEP);基本步距(FULLSTEP)一相激励方式;基本步距两相激励方式。L297另一个重要组成是由两个PWM斩波器来控制相绕组电流,实现恒流斩波控制以获基于AVR单片机的步进电机控制器9得良好的矩频特性。532L298芯片简介L298芯片是一种高压、大电流双全桥式驱动器,其设计是为接受标准TTL逻辑电平信号和驱动电感负载的,例如继电器、圆筒形线圈、直流电机和步进电机,具有两抑制输入来使器件不受输入信号影响。每桥的三级管的射极是连接在一起的,相应外接线端可用来连接外设传感电阻。可安置另一输入电源,使逻辑能在低压下工作。L298芯片是具有15个引出脚的多瓦数直插封闭的集成芯片。533L297/298步进电机的控制L297/298的连接如下图52图52L297/298连接图这里我只使用半步工作方式和两相激励的基本步距工作方式。两种工作方式见下表51基于AVR单片机的步进电机控制器10工作方式半步工作方式两相激励基本步距引脚状态HALF/FULL1,CONTROL1HALF/FULL0,CONTROL1输出波形表51L297半步/两相激励基本步距工作方式注采用基本步距一相激励,存在一个缺点,在电流切换过程即通电状态改变过程中,有一瞬间可能所有的定子控制绕组都不通电,电磁转矩瞬间为零,这就使得电磁转距在电机运行中波动很大。所以我不采用这种工作模式。534控制机制L297/298组成的完整系统,通过不同的连接可以驱动两相步进电动和驱动四相步进电机(可承受的最高电压为45V,每相电流可达2A)。单片机(简称MCU)发出时钟信号、正反转信号、工作模式信号、复位信号、使能信号及控制信号。CW/CCW控制电机的转向,取1和取0时转向相反。CLOCK为步进脉冲信号输入端,在每一个脉冲的下降沿,电机产生一步步进。HALF/FULL为半步或基本步距模式设置,为1时是半步模式,为0时是基本步距。(具体组合方式见表51)CONTORL斩波控制,当为0时,控制INH1和INH2;当为1时控制ABCD。ENABLE使能输入,当为0时,INH1、INH2、A,B,C和D都为0。RESET输入,当为0时,脉冲分配器回到初状态(HOME)。L297通过控制L298双H集成电路,来驱动步进电机。电路中,L297的15引脚上的两个电阻用来调节斩波器电路的参考电压。该电压通过管脚13、14所反馈的电位的大小比较,来确定是否进行斩波控制,以达到控制电机绕组电流峰值、保护步进电机的目的。综上所述步进电机的转速取决于CLOCK的脉冲频率,角位移取决于CLOCK的脉冲个数,转矩大小则取决于参考电压VREF的大小。基于AVR单片机的步进电机控制器11第六章、实现61MAIN主程序流程图基于AVR单片机的步进电机控制器12初始化读串口程序K4按下否N“欢迎信息”K4按下否ADC子程序YN脉冲频率设定子程序“1SETFREQUENCY”“2SETMODE”K4按下否N模式选择子程序KEY1_TEMP|KEY2_TEMP工作方式子程序执行子程序K4按下否NYYYN62程序代码/HEADH基于AVR单片机的步进电机控制器13IFNDEF_HEAD_HDEFINE_HEAD_HINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEDEFINETOPOCR1ADEFINEPWMCONREG1TCCR1ADEFINEPWMCONREG2TCCR1BDEFINEPWM_IODDRD|_BVPD5DEFINEL297_DIRPORTDDEFINEL297_OUTDDRD|0XFCDEFINERESET0X40DEFINEHF0X08DEFINECC0X10DEFINECONTROL0X80DEFINES_RESETL297_DIR|RESETDEFINEC_RESETL297_DIRUNSIGNEDCHARMODE1,DIRECTION,KEY_VALUE,CH1,KEY1_TEMP,KEY2_TEMPUNSIGNEDCHARSTR_MODE20“1WAVE_MODE“,STR_MODE120“HALFSTEPMODE“,STR_MODE220“CORRECT“UNSIGNEDCHARSTR_WAY20“1ONOFFMODE“,PULSE10“000000000“,CURSOR_I,PULSE_I,KY,ADC_STR5/WHOLE_VARIABLEC结束/KEYCINCLUDE“HEADH“UNSIGNEDCHARKEYVOIDUNSIGNEDCHARKEY_VALUEKEY_VALUEKEY_PINIFKEY_VALUE/是否有键按下,无返回0,有进入SWITCHKEY_VALUECASE0X01WHILEKEY_PINRETURN1CASE0X02WHILEKEY_PINRETURN2CASE0X40WHILEKEY_PINRETURN3基于AVR单片机的步进电机控制器16CASE0X80WHILEKEY_PINRETURN4ELSERETURN0/KEYC结束/JHD162ACINCLUDE“HEADH“DEFINELCD_DIRDDRB/方向寄存器DEFINELCD_DARPORTB/数据寄存器DEFINERS_HLCD_DAR|0X04/RSPB2DEFINERS_LLCD_DAR/产生一个下降沿_DELAY_US2/必须2USE_LVOIDLCD_SENDUNSIGNEDCHARTEMPLCD_DAR/清高四位LCD_DAR|TEMP/发送高四位TEMP00X800X40X0X80XLCD_COMADDR基于AVR单片机的步进电机控制器18VOIDJHD_INITVOIDLCD_DIR0XFF_DELAY_MS16/延时15MSLCD_COM0X22_DELAY_MS41/41MSE_H2L_DELAY_US100/100USE_H2LE_H2LLCD_COM0X28LCD_COM0X0CVOIDDISPLAY_CHARUNSIGNEDCHARX,UNSIGNEDCHARY,UNSIGNEDCHARDATUNSIGNEDCHARADDRADDRY00X800X40X0X80XLCD_COMADDRLCD_DATADATVOIDDISPLAY_STRUNSIGNEDCHARX,UNSIGNEDCHARY,UNSIGNEDCHARDATUNSIGNEDCHARADDRADDRY00X800X40X0X80XLCD_COMADDRWHILELCD_DATADAT,DATVOIDCLEARVOID/清屏子函数基于AVR单片机的步进电机控制器19DISPLAY_STR0,0,“/JHD162AC结束/PWMCINCLUDE“HEADH“VOIDPWMUNSIGNEDPPS/脉冲控制函数COUNTER0VN0TOPFIX1000000/PPSN110000TOPFIX/STEP22NIFNN2DISPLAY_STR0,0,“MOVEDOWN“ELSEDISPLAY_STR0,0,“ISOPLUSE“ADCDISPLAY/PWMC结束基于AVR单片机的步进电机控制器20/L297CINCLUDE“HEADH“VOIDDOUBLE_HALF_MODE1VOID/半步工作方式HALFS_CONTROLVOIDDOUBLE_FULL_MODE2VOID/两相激磁基本步距FULLS_CONTROL/ONOFFMODE模式执行子函数VOIDL297_1UNSIGNEDCHARMODE,CHARDIRECTION,UNSIGNEDPPSKY0N0XFFFFFFFFL297_OUTS_RESETSWITCHMODE/L297工作模式选择CASE1DOUBLE_HALF_MODE1BREAKCASE2DOUBLE_FULL_MODE2BREAKDEFAULTDISPLAY_STR0,0,“MODEERROR“SWITCHDIRECTION/正反方向选择CASECWBREAKCASECCWBREAK基于AVR单片机的步进电机控制器21DEFAULTDISPLAY_STR0,0,“DIRECTIONERROR“PWMPPSDISPLAY_STR0,0,“STOP“/DOTPLACEMODE模式执行子函数VOIDL297_2UNSIGNEDCHARMODE,CHARDIRECTION,UNSIGNEDPPSKY1L297_OUTS_RESETSWITCHMODE/L297工作模式选择CASE1DOUBLE_HALF_MODE1BREAKCASE2DOUBLE_FULL_MODE2BREAKDEFAULTDISPLAY_STR0,0,“MODEERROR“SWITCHDIRECTION/正反方向选择CASECWBREAKCASECCWBREAKDEFAULTDISPLAY_STR0,0,“DIRECTIONERROR“NN2PWMPPS/调用PWM函数/L297C结束/INTERRUPT_DEFCINCLUDE“HEADH“基于AVR单片机的步进电机控制器22/输出比较匹配A中断服务子程序/SIGNALSIG_OUTPUT_COMPARE1A/中断服务程序,脉冲数、频率控制)COUNTER/脉冲计数器VN/加速间隔IFCOUNTERNCLICLOSE_CMP1A/是否达到/脉冲数,是关闭TC、中断ELSEIFCOUNTER2NTOPTOPSTEPN2VN0/恒速阶段/INTERRUPT_DEFC结束/MAINC基于AVR单片机的步进电机控制器23INCLUDE“HEADH“VOIDSET_FREVOID/频率设定子函数CLEAR/清屏DISPLAY_STR0,0,“1000PPS“WHILE1DOKEY_VALUEKEYIFKEY_VALUE4RETURNWHILEKEY_VALUEIFKEY_VALUE2CHCH1581CH1FREFRE1000100001000FRE1000ELSEIFKEY_VALUE3CHCH1157CURSOR_I1ELSEIFKEY_VALUE1PULSECURSOR_I7PULSECURSOR_I7190PULSECURSOR_I71基于AVR单片机的步进电机控制器29DISPLAY_STR7,0,PULSECURSOR_CONTROLCURSOR_I,0/刷新光标位置IFKEY_VALUE4BREAKCURSOR_OFFDISPLAY_STR0,0,“START“GET_N/计算脉冲数WHILEKEY4L297_2MODE,DIRECTION,FREINTMAINVOID/MAIN主函数DDRA0XFF/测试KEY_IN/KEY初始化JHD_INIT/JHD162A初始化ADC_INIT/ADC初始化WHILE1DISPLAY_STR0,0,“WELCOMEUSING“/欢迎信息DISPLAY_STR0,1,“AUTHORYANGMING“/作者信息WHILEKEY_VALUEKEY4/K4按下否WHILE1KEY1_TEMP1/初始化关键变量KEY2_TEMP1DISPLAY_STR0,0,“1SETFREQUENCY“/菜单信息WHILEKEY_VALUEKEY4ADCDISPLAY/K4按下否,DISPLAY_STR0,1,“WAITINGCOMMOND“基于AVR单片机的步进电机控制器30SET_FRE/脉冲速度频率设定子函数调用CLEAR/清屏DISPLAY_STR0,0,“2SETMODE“/设定模式WHILEKEY_VALUEKEY4/K4按下否DOCHANGE_MODE/模式选择子函数调用SET_MODE/模式设定子函数调用WHILEKEY1_TEMP|KEY2_TEMP/设置完波型模式退出循环WORK_WAY/工作方式子函数调用SET_WAY/工作方式设定子函数调用WHILEKEY4/MAINC结束基于AVR单片机的步进电机控制器31结论本文设计的步进电机驱动器,应用ATEML单片机和L297/298集成电路
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 无痛胃镜的全麻管理制度
- 奖惩制度分为哪几类人群
- 恢复治理管理制度
- 化学品安全贮藏管理制度
- 会议制度不重视
- 非政府组织监督制度
- 预拌混凝土质量监督制度
- 食品安全质量监督制度
- 食堂食品质量监督制度
- 高级中学财务监督制度
- 江西省抚州市南城一中2025-2026学年高三毕业年级第二模拟考试数学试题含解析
- 2025-2026学年山东省泰安市肥城市六年级(上)期末数学试卷(五四学制)(含解析)
- 2026年南京交通职业技术学院单招职业适应性测试题库带答案详解
- 营养与食品安全试题(附答案)
- 苏联的三次改革
- 斐波那契数列与黄金分割+课件-2025-2026学年高二上学期数学人教A版选择性必修第二册
- 深化数字化教学管理平台与学校招生就业工作的融合创新研究教学研究课题报告
- 2025高二英语冲刺卷
- 血吸虫防治培训课件
- 留学行业分析和市场分析报告
- 2025-2030中国激光切割行业市场竞争力深度解析及行业未来发展方向与前景规划报告
评论
0/150
提交评论