AVR单片机步进电机实验.docx

上传人:lao****ou 文档编号:81591 上传时间:2023-02-13 格式:DOCX 页数:18 大小:2.02MB
下载 相关 举报
AVR单片机步进电机实验.docx_第1页
第1页 / 共18页
AVR单片机步进电机实验.docx_第2页
第2页 / 共18页
AVR单片机步进电机实验.docx_第3页
第3页 / 共18页
AVR单片机步进电机实验.docx_第4页
第4页 / 共18页
AVR单片机步进电机实验.docx_第5页
第5页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《AVR单片机步进电机实验.docx》由会员分享,可在线阅读,更多相关《AVR单片机步进电机实验.docx(18页珍藏版)》请在第一文库网上搜索。

1、,匕京阴亢文/五士太孚B E I H A N G UNIVERSITY机电控制工程技术作业 AVR单片机步进电机实验姓名班级目录一、 实验目的1二、 实验任务1三、实验设备1四、实验思路及过程12.1 实验箱中基本的器件及其控制方式:12.2 程序流程图22.3 代码编写3五、程序调试5六、感想7七、项目分工7八、附录7一、 实验目的1 .学习使用单片机编程软件ICCV7 for AVR以及烧写软件progisp2 . 了解并使用ATmega8单片机及其外围电路二、实验任务通过电位计控制电机转速,按键控制转向,并在数码管上稳定的显示当前转速三、实验设备1 .机电控制工程实验教学平台实验箱2 .

2、 PC一台U!实验思路及过程4.1 实验箱中基本的器件及其控制方式:实验箱中单片机开发板如下佟|:ISP下载口串口通信复位键ATmegaLM7805步进电总电源开关电机控制的跳线直流伺服电机接口12V电源输入两个控制按钮步进电机接口图表1单片机开发板硬件图解4.1.1 硬件介绍该实验中用到了,ATmega8的最小系统(晶振(U.059MHZ),滤波电路,复位电路,ISP下载,电源),以及外围器件(4位数码管及其驱动芯片ZLG7289, 4个LED灯,2个中断按钮,1个旋转电位计,以及24BYJ48A型步进电机和L298芯片)4.1.2 外围器件的工作原理简介4位数码管由ZLG7289芯片驱动,

3、采用的驱动方式为动态显示,ATmega8通过PD57管脚与ZLG7289之间进行数据传送。4个LED灯与PC03管脚相连,当管脚输出低电平时,LED点亮。2个中断开关与PD2、PD3相连,其中断方式可以为电平触发和沿触发 旋转电位计输出电压为05V,与ADC7相连,通过ATmega8中ADC模块可以得到10位精度的电压数字量值。24BYJ48A型步进电机为4相直流步进电机,其工作电压为12V,由L298芯片控制,L298芯片与ATmega8通过PA14相连。该步进电机的通电方式为四相单双八拍。其步距角0 = 5.625。/64其转速计算公式为60 x 5.625o/64 x fn =r/min

4、360/4.2 程序流程图图表2程序流程图4.3 代码编写利用ICCV7 for AVR软件编写单片机程序新建一个project,在project中新建一个c程序。利用Application Builder按钮辅助建立C程序。CPU设置:选择M8,晶振选1L059MHZ,选择INTO和INT1,选择下降沿中断;CPU | Ports I TimerO Timeri | Timer2 | UART | SPI | AnalogProcessorTarget CPUXtal speed (MHz)M8I11 0593type a custom value PLL enableXDIV freque

5、ncyF XDIV enable. 185728Hz 三Trigger on.Watchdog timer Use WD Prescale cycles 16K EnableInterrupt enable 匚区 INTO|x INT1r WT2Edge 厂 NI3 H14rNT5r wreNT7| Falling edg |Falling edgLow level jjLow levelLow levelLow levelLow levelLow level 二|Commentnew designEEPROMr ready interrupt 端口设置:portBl4, port CO-3,

6、 portD57改为输出(O),值默认为零7 6 5 4 3 2 1 0DirectionValue 厂厂厂向向成府厂Change 厂厂厂厂厂厂厂厂Port CDirectionValueChangePort DDirectionValueChange6 5 4 3 2 1 0rnfifTroFiofo厂厂厂厂历何向何rrrrrrrr7 6 5 4 3 2 1 0io o ro rr ri rrrrri0 0 re rrrrrrrrrrrrr 时间计数器:选择Timel,计数溢出中断,初始计时时间选择50HzInitialisationV Use TimeriDesired value Uni

7、ts50- Hz 二F Overflow interrupt 区Actual value (error%)50.232Hz (0.5%)Prescale select1024TCNT1HOxFFTCNT1L0x29Waveform modeSELECT. I TOPo 三OxFFFFCompare AOCR1AH OCR1AL0x00 0xD7Compare BOCR1BH OCR1BL0x00 0xD7OC1A output mode| Disconnected 勺OC1B output mode| Disconnected Clear on compareF Compare A inter

8、ruptF Compare B interruptInput capture Noise cancel Rising edge Pin enable Capture interruptICR1H ICR1L0x00 0xD7ADC模块设置:启用ADC模块,ADC模块使能,选用开始转换和连续转换以及ADC转换结束中断使能,1()位精度,右对齐Analog Comparatorr Use Analog comparatorAnalog to Digital ConvertorB use ADCPi区 ADC enable区 Disable Timeri input capture enable M

9、ultiplexer enable Bandgap referenceInterrupt trigger level| Output toggletJ区 Free-run select区 Start conversion Auto trigger Bandg 叩 referenc Internal reference Left adjustReference| AREFPrescaleConversion time: 150uSTrigger sourceI Free running High speed Compare interrupt区 Conversion complete inter

10、rupt 最后在设置中添加主函数即Include”mairT()将其他控制代码添入程序,完整程序见附录程序控制的基本思路为,由AD7采集电位计电量并进行模数转换后得到value,该value由对应的函数公式转换为定时计数器初值TCNT1H和TCNT1L,即改变定时长短,然后在定时计数溢出中断程序中,执行电机换相指令,即可以完成由电位器控制电机转速任务;电机正反转控制由外部中断INTO和INT1改变标志变量,进而电机换相方向即可;数码管显示由头文件中对应程序完成。五、程序调试在基础实验第一次运行时,不管怎么调电位计,电机的运行频率有变化,但是电机怎么都不转。后来查程序发现:当变量count 1求

11、得高八位并赋值给TCNT1H后,电机不转,当宜接给TCNT1H赋值为OxFF时,电机转动。在调试扩展实验的时候,发现不管怎么调节电位计,数码管所显示的始终为0000,仔细检查发现门诃题所在:计算角度的关系中,由于360/2048这两个数均为整型,相除后得零,应该改为0.087890625*2,。改后,单片机运行出现问题。当旋转电位计到一定值后,按下按键电机方向反向,数码管显示的角度一直减小到负值,同时在正向转动时,电位计旋转到最大值的时候,数码管也不显示360 o这种现象有时候出现,有时候则正常,我们反复检查程序也没发现错误。经过思考,我们发现,如果当电机没有转到电位计AD值所对应的角度时,按

12、下反向键就会产生这样的问题。因此在操作过程中,我们要避免电机还没停止的时候按下反向按键。之后程序一切正常。口口.MiMotorRSTU-L*J J ./. ”,w六、感想程序中容易出现一些不起眼的小错误,比如漏掉分号,或者变量的类型不匹配导致赋值不成功;两个int变量相除时应该先转换为float型或者直接赋值;还有电机运行频率有一定范围,太小电机就不转了。程序最终调试成功,还是有一定成就感的,虽然程序在我们的独立思考和助教的帮助下,并没有那么难,但是毕竟是第一次接触单片机,能够调试成功还是付出了一番努力的。因为单片机对工科生很重要,我想,我在以后的工作和学习中还会再接触到它,我应该再接再励,在

13、以后有机会的时候更加深入研究它,也让自己的能力有进一步的提高七、项目分工贺英杰:配置,基础实验电位计控制转速,扩展实验电位计控制转角崔家浩:基础实验数码管显示转速,扩展实验数码管显示角度孙汶慧:基础作业四相八拍,扩展作业四相双四拍陈柯宇:LED灯显示速度快慢熊宇飞:基础实验正反转,扩展实验正反转八、附录1.基础实验/ICC-AVR application builder : 2014/5/11 23:58:19/ Target : M8/ Crystal: 11 .059Mhzincludeincludeinclude#include#define#define#define#define# define#define#define# defineng7289.hndelay .hA()B()COD()AB()BC()CD()DA()(PORTB =(PORTB =(PORTB =(PORTB =0B00000010)0B00001000)0B00000100)0B00010000)(PORTB =(PORTB =(PORTB =(PORTB =0B00001010)0B00001100)0B00010100)0B00010010)int step=();int dir_flag= 1;i

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 汇报材料

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服