24V直流电机H桥驱动电路及单片机C程序_第1页
24V直流电机H桥驱动电路及单片机C程序_第2页
24V直流电机H桥驱动电路及单片机C程序_第3页
24V直流电机H桥驱动电路及单片机C程序_第4页
24V直流电机H桥驱动电路及单片机C程序_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、24V直流电机H桥驱动电路及单片机C程序一、原理图特别说明:CCPOsCCP1=00时,电机停止;为01时,电11是绝对不允许的,为防止H桥共态导通,调试时需要特另£>1on*7HTOfliT叫扌§1'rtXJVHCEIlLIM-KDOKi4丄扣记+UPTLP5211R5IOkVAGKDRIkCCFOLE尸卜/卜/卜,卜7卜/卜产1、鼻4皿山皿-KdnddlllIllLED7LED1o47R2lipDII111247R2匸47曲M.p471需PIVJI24V1423丄+24VE24S三U15J3CDNjTXD二、程序代码#indude<STC12C52.

2、h>头文件川在wwwwtcrrKusm卜载#indude<intrins,h>#defineuintunsignedint#defineucharunsignedcharsbitkeyl=P2A3;"启动停止sbitkey2=P2A2;"正反转sbitkey3=P2A1;/UPsbitkey4=P2A0;/DOWNucharrun_flag;/O停止:1启动uchardirectionflag;/OIF转;1反转ucharcount;山减计数key=_=_=voidstatusniti沖Woid);voidPWMJnitfal(void);voiddela

3、y_lus(ucharx);voiddelay_led(ucharx);voidkeyscan(void);voidM_run(void);voidmain()“注;在程序川Uu,刘两路PWM进行A锁,防止h桥屯路共态导通!"调试时,也要特别注意Istatusjnitial();RWMnitid();while(l)kev_scan();刚un();voidstatusjnitialfvoid)CCAPOH=OXFF;1.亠at4isf9i.、*rr.b、t<jrun_flag=0;direction_flag=0;count=0;/给定-个初始值,设止'电机开机的初始

4、转速?.或者按下启动up启动加速P1=0x00;/灯灭voidPWMJnitial(void)CCON=0X00;CMOD=0X02;空闲模式卜PCA计数器继续T作,使川系统时钟,禁止CCON的CF位小断CCAPM0=0X42;/01000010允许比较器功能,允许CCP0脚用作脉宽调节输川CCAPM1=0X42;同18位PWM.无中断CCAPOH二OXFF;/PCA捕捉/比较誉存器-低八位和也八位频率f=SYSclk/256CCAPOL=OXFF;工作丁PWM模式,用丁控制输卅的占宇比CCAP1H=OXFF;每存器CL的伯小JEPCnL,CCAPnLl:J输出为低:寄存器CL的值竽丁或大丁e

5、PCnL,CCAPnlL时,输出为乩CCAP1L=OXFF;CL的值仃FF变为00溢出时tEPCnH,CCAPnH的内容装载到ERCnLTCCAPnL1!1!PVEPCnL=0及CCAPnL=OOH时,同定输.出髙!TVEPCnL=1®CCAPnL=FFH时,l-'ilxL输出低CL=O;/PCA的16位计数器-低八位和讣八位CH=O;R=1;启动PS怎时器voiddelay_lus(ucharx)ucharij;for(i=0;i<x;i+)for(j=0;j<120;j+);voiddelay_led(ucharx)ucharij;j=x;while(j-)f

6、or(1=0;i<100;i+)时间再调整_nopj);voidkey_scan(void)uchartemp;P2-Oxff;temp=P2;temp=temp|0x0f;if(temp=OxOf)/检测是否有按键按-卜启动停止keylif(keyl=O)delay_lus(10);if(keyl=Oif(runflag1)run_flag=0;/stopelserun_flag=1;/start疋转反转k即2if(key2=0)delay_lus(10);if(key2=0jif(directian_fIag=1directionflag=0;/jI-elsedirectionfla

7、g=1;“反/=-=-=upkey3if(key3=0)delay_lus(10);if(key2=0if(count=0)count=0;else/=-=downkey4if(key4=0)delaylus(lO);if(key2=0)if(count=255)count=255;elsecount+;voidMrun(void)ucharl.temp;if(run_flag=O)/stop/=HCCAPOH=OXFF;OZAPOL二OXFF;占学比対0%CCAP1H=OXFF;CCAPILuOXFF;/占小比为0%/=|ed_display不转,灯不壳temp-0x00;Pl=temp;i

8、f(run_flag=l)/runtemp=Oxff;匚y=o;iffdirectionl日呂=0)"ill转匚匚APOH=OXFF;CCAPOL=OXFF;/i7空比为0%CCAP1H=count;CCAP1L=count;/led_displayfor(i=D;i<8;i+)Pl=temp;temp二temp«l;delayled(count);if(direction_flag=l)"反转CCAP1H=OXFF;CCAP1L=0XFF;/i'i空比为0%CCAPOH=count;CCAPOL=count;/=-led_displayfbr(i=

9、0;i<8;i+)Pl=temp;temp-temp»l;delayjed(count);24V转12V开关电源电路图在羽/柴汕车上装用12V电器(如仪表、收放机、电扇筹)时勢采用12V-压器。但由于稳压器上压降&12V,功耗很犬,温度很裔,极易揭坏。我们设计了-种开关型屯源变压器,可将2W降为12V屯路如图所示口+24此电路由555担任吐;'川振荡器。555的脚按YiWili以获得+6V呈准电压,即从R7.R8组成的取样屯路中获得取样电H讥半脚电圧小J'-+3VlbJ脚则输出筒电平,使BG3.BG1.BG2饱和导通.向负载供电。与此同时电源绊R6向C2充电,半©脚电位达到+敦Ihb若唧也达到+3#以上,则脚输出低电F电容经脚放电,开关管BG3、BG仁BG2均截D脚所接电容的屯爪低J+3V时,脚又输出寓电平*如此不斷反复而使输出电汗值稳迅于额尢输出电斥12VHo由R1、RN01.D1组成川动电路,使电路在刚援屈忖向BG3提供基极电流,促使开关管BG1、BG2H诵,并向555椁供丁柞申二当窃载衍路时,555熔失去工作电乐,电感L和续流二极管D2叫减轻开关管的负担°L用E7饮心、1.0mm漆包线绕满

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论