您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 直流电机调速系统课程设计报告
直流电机调速系统设计报告题目:H桥&串口输出2016年3月一、设计任务设计并制作一套直流电机调速系统,主要包括两部分:主电路部分和以单片机为核心的控制电路部分。要求设计、制作控制电路和主电路,实现如下功能:(1)通过码盘和光耦得到一系列脉冲,利用M法、T法或M/T法对这些脉冲在单片机中进行处理得到电机的转速,在液晶或数码管上进行显示;(2)DC/DC电路能够正常工作,通过旋钮或键盘设定转速,并能够通过电力电子电路输出合适的电压,使电机的转速达到设定转速。(3)实验室提供24V直流电源为DC/DC电路供电,其余部分电源请利用220V市电自行设计。数码管显示单元DC直流电源DC码盘和光耦驱动与保护电路单片机系统旋钮输入图1系统总体框图二、硬件电路设计与制作2.1显示部分电路设计使用计数器采集到电机转速后,需要用数码管进行显示。我们组选择串口驱动数码管显示电路,74HC595芯片是一种串入并出的芯片,是8位串行输入/输出或者并行输出移位寄存器,具有高阻、关、断状态。首先使用三极管构成驱动电路,驱动数码管。采用单片机的P0.0-P0.2作为74HC595时钟信号与输入口,使数码管显示相应转速,具体实现电路如图1。图1显示电路原理图2.2驱动部分电路设计驱动部分作为电机与单片机控制器的结合部分,是本次设计的主电路,需要完成DC/DC变化的功能。单片机产生PWM波送给驱动芯片IR2110,2110通过驱动电路控制MOSFET开关改变加在直流电机上的电压,从而达到改变转速的目的。单片机产生的PWM1和PWM2波形要相反,控制斩波电路的半桥互补通断。电路设计图如图2所示。图2驱动电路原理图2.3电源部分设计电源设计部分共分两个部分,一部分是IR2110的供电电压和所有芯片的供电电压,另一部分是USB口供电电部分,使用电脑供电,两部分电路通过拨码开关进行切换。市电供电电源采用220V交流电变成15V交流电,经整流桥变成直流电,再经7815、7805稳压得到15V和5V直流电,分别给驱动和单片机系统供电。图3市电电源设计图图4mini-USB供电接口图2.4单片机系统设计本设计采用STC15W4K48S4型号单片机,使用它的计数功能、定时器功能、数码管驱动功能、PWM波输出功能进行设计制作。图5单片机管脚功能图图6单片机最小系统原理图图7单片机管脚使用示意图2.5转速反馈设计此次设计使用单片机的P3.4口作为计数器使用。U31K100GND+5P3.4P1.0图8A/D采集和转速反馈电路图2.6硬件电路焊接图图9硬件电路焊接图三、软件设计与编程3.1主要程序流程开始AD采集PWM输出数码管显示调节电位器结束图10主要程序流程图3.2完整程序见附录四、测试结果上电后,电机运转正常,调节键盘后后,电机转速随之变化,数码管显示显示转速也随之变化,但是反转时程序中转速调节的P值过大,导致电机转速正负跳变,没有实现闭环控制。五、课程设计中遇到的问题及解决方法问题一整体硬件电路的设计原理不清楚,对于电路设计没有信心。解决方法:通过不断查阅资料,焊电路过程中不断修改电路才得到正确的电路。问题二IR2110的1和7脚PWM波不能正常输出,DC/DC电路不输出。解决方法:后来经过排查电路,发现主要有两个问题,第一个问题是芯片的5脚没有和IRF540的半桥臂连起来,另一个问题是24V和5V电源的地没有共起来,把这两个问题解决了,电路可以正常工作。六、课程设计感悟本次课程设计是内容是通过单片机控制驱动电路,改变加在直流电机上的电压,从而达到调节电机转速的目的。通过此次课程设计,使我更加扎实的掌握了有关直流电机调速方面的知识。在设计过程中遇到了一些问题,比如设计电路不知如何下手,电阻电容的选取只会照搬经典电路,却不会灵活应用,后来经过多次查找资,问题才得到解决。每次的课程设计都使我感觉到:我知识掌握的不够扎实,学会的知识不会应用,思想上总是存在侥幸心理,对一个电路不加验证就想着可以应用。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵,以后要多多联系吧,毕竟这样的机会是少之又少。我认为,这次课程设计不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我们的将来也有很大的帮助。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力此次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识。七、附录附录17.1重要芯片资料1.74HC595芯片74HC595芯片是一种串入并出的芯片,在电子显示屏制作当中有广泛的应用。595是具有8位移位寄存器和一个存储器,三态输出功能。移位寄存器和存储器是分别的时钟。数据在SCHcp的上升沿输入,在STcp的上升沿进入到存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。图174HC595引脚图管脚编号管脚名管脚定义功能1、2、3、4、5、6、7、15QA—QH三态输出管脚8GND电源地9SQH串行数据输出管脚10SCLR移位寄存器清零端11SCK数据输入时钟线12RCK输出存储器锁存时钟线13OE输出使能14SI数据线15VCC电源端图274HC595管脚功能图2.IR2110芯片IR2110采用HVIC和闩锁抗干扰CMOS制造工艺,DIP14脚封装。具有独立的低端和高端输入通道;悬浮电源采用自举电路,其高端工作电压可达500V,dv/dt=+50V/ns,15V下静态功耗仅116mv;输出的电源端电压范围10-20V;逻辑电源电压范围5-15V,可方便的与TTL、CMOS电平相匹配,而且逻辑电源地和功率之间允许有+5V的偏移量;工作频率高,可达500KHz;开通、关断延时小,分别为120ns和94ns;图腾柱输出峰值电流为2A。图3IR2110直插式管脚图附录二7.2程序7.2.1主程序#includeconfig.h#includeExti.h#includetimer.h#includedelay.h#includeGPIO.h#includePWM.h/*************功能说明********************************************************//*************本地常量声明**************///u8codet_display[]={//标准字库////0123456789ABCDEF//0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};u8codet_display[]={//标准字库//0123456789ABCDEF0xD7,0x14,0xCD,0x5D,0x1E,0x5B,0xDB,0x15,0xDF,0x5F};//0.1.2.3.4.5.6.7.8.9.-1unsignedcharcodeT_COM[]={0x80,0x40,0x20,0x10};//位码//=====================================================================//端口声明//=====================================================================//595的三个开关sbitP_HC595_SER=P0^0;//pin14SERdatainputsbitP_HC595_RCLK=P0^1;//pin12RCLkstore(latch)clocksbitP_HC595_SRCLK=P0^2;//pin11SRCLKShiftdataclock//转速测量的中断输入口INT0P3.2//pwm1路分别为p2.5//调节按钮,一路加,一路减sbitadd_zhuansu=P0^3;//接的是第二个按钮,正常为高电平sbitsub_zhuansu=P0^4;//=====================================================================//externbitB_Timer0_1ms;//中断是否结束,,如果时间到了则为1u8LED8[4];//显示的数据数码管要显示的数据,1300,,,1,3,0,0u8display_index;//显示位索引4322/*************本地变量声明**************/longintzhuansu=0;//测量到的转速longintset_zhuansu=3600;//设定的转速u8dir=1;//为正转u16pwm0,pwm1,pwm2;/*************外部函数和变量声明*****************/externu32Pulse;externu8PulseTimeOut;/*******************外中断配置函数*******************************/voidEXTI_config(void){EXTI_InitTypeDefEXTI_InitStructure;//结构定义EXTI_InitStructure.EXTI_Mode=EXT_MODE_Fall;//中断模式,EXT_MODE_RiseFall,EXT_MODE_FallEXTI_InitStructure.EXTI_Polity=PolityHigh;//中断优先级,PolityLow,PolityHighEXTI_InitStructure.EXTI_Interrupt=ENABLE;//中断允许,ENABLE或DISABLEExt_Inilize(EXT_INT0,&EXTI_InitStructure);//初始化INT0EXT_INT0,EXT_INT1,EXT_INT2,EXT_INT3,EXT_INT4}/*******************定时器配置函数*******************************/voidTimer_config(void){TIM_InitTypeDefTIM_InitStructure;//结构定义TIM_InitStructure.TIM_Mode=TIM_16BitAutoReload;//指定工作模式,TIM_16BitAutoReload,TIM_16Bit,TIM_8BitAutoReload,TIM_16BitAutoReloadNoMaskTIM_InitStructure.TIM_Polity=PolityLow;//指定中断优先级,PolityHigh,PolityLowTIM_InitStructure.TIM_Interrupt=ENABLE;//中断是否允许,ENABLE或DISABLETIM_InitStructure.TIM_ClkSource=TIM_CLOCK_12T;//指定时钟源,TIM_CLOCK_1T,TIM_CLOCK_12T,TIM_CLOCK_ExtTIM_InitStructure.TIM_ClkOut=DISABLE;//是否输出高速脉冲,ENABLE或DISABLETIM_InitStructure.TIM_Value=65536UL-((MAIN_Fosc)/(50*12));//初值,1000us,,,定时20ms,每秒50次TIM_InitStructure.TIM_Run=ENABLE;//是否初始
本文标题:直流电机调速系统课程设计报告
链接地址:https://www.777doc.com/doc-6153715 .html