24V直流电机H桥驱动电路及单片机C程序.docx
- 文档编号:30320250
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:11
- 大小:469.93KB
24V直流电机H桥驱动电路及单片机C程序.docx
《24V直流电机H桥驱动电路及单片机C程序.docx》由会员分享,可在线阅读,更多相关《24V直流电机H桥驱动电路及单片机C程序.docx(11页珍藏版)》请在冰豆网上搜索。
24V直流电机H桥驱动电路及单片机C程序
24V直流电机H桥驱动电路及单片机C程序
24V直流电机H桥驱动电路及单片机C程序
一、瓯理图
特别说明:
CCPO.CCP1=00时,电机停止;为01时.电机上转.为10时.电机反转;11是绝对不允许的•均防止H桥共态导通,调试时需要特别注意!
!
!
rrnwoc
P0
ILIA55A
»).-
ALAD
'•••
KFV'
T
AUNT
2j1^-*/h
CTT
-ifc»
芽[
4T(3erv
H
IJOV^A
A(vM»
a
aw?
II'-1
1TMI
ni
ii、、,‘,
、‘.I;I
0>DJJiiTXIEnXJl-lrerJH
r-c©s-£8> 92 v£ - g£as-T Fzw2 rliLKpzF-KwF! : ・」n ” ol|^^L zz z* — — ” A» Ml PI*O 严7 宙|L|LED 471 III) [im PM iro PIN 471 El呻 l£D PI*5 471 nnA uoj PI*6 471 JS3 nK' LED 4? l PI勺 屮6 IFD LED 471 二、程序代码 #include #include #defineuintunsignedint 仲defineucharunsignedchar sbitkeyl=P2A3;〃启动停止sbitkey2=P2A2;//正反转 sbitkey3=P2八1;//UP sbitkey4=P2A0;//DOWN ucharrun_flag;//O停止;1启动 uchardirection_flag;//O正转: 1反转 ucharcount;〃力LI,减计数key voidstatus_initial(void);voidPWM_initial(void);voiddelay_lus voiddelay_led(ucharx|; voidkcy_scan(vod|; voidM」un(void); //========^^===========——================ voidmain()〃注: 在程序出面,对两路PWM进行互锁,防止H 桥电路共态导通! {〃调试时,也耍特别注意! statusJnitialO; PWMJnitialO; while(l) { key^scand; Mrun(); } } voidstatusjnitial(void) CCAPOH=OXFF; CCAPOL=OXFF;//i空比为0% CCAP1H=OXFF; CCAPlL=OXFF;//ihi空比为0% V run_flag=0; direction_flag=0; count=0;//-给龙一个初始值,设定电机开机的初始转速? ? ? 或者按下启动, up启动加趣 P1=0x00;〃灯火 }voidP\A/M」nitial(void| { CCON=0X00; CMOD=0X02;//空闪模式下PCAi|数器继续工作,使用系统时钟,禁止CCON的CF位中断 CCAPM0=0X42;//01000010允许比绞器功能,允i午CCPO卿用作冰宽调节输出 CCAPM1=OX42;//同上,8位PWM,无中断 CCAPOH=OXFF;//PCA拢捉/比狡奇fr器-任八位和髙八位・…-频率f二SYSclk/256 CCAP0L7XFF;〃工作于PWM模式,用于揑制输出的占空比 CCAP1H=OXFF;〃当寄存戮CL的值小J[EPCnL,CCAPnLjIbh输出为低: 当寄存器CL的值等丁或大丁【EPCnL,CCAPnL]时,输出为商: CCAP1L=OXFF;〃肖CL的值冇FF变为00溢出时,[EPCnH,CCAPnH]的内容装载到[EPCnL,CCAPnL]lP 〃当EPCnL=0及CCAPnL-00H时,固定输出高 U^\EPCnL=1JiCCAPnL=FFH时.固宦输出低 CL=O,〃PCA的16位订数器••低八位*11髙八位 CH=O; CR=1;〃启动PCAt时器 )voiddelay_lus(ucharx){ ccharij;for(i=O;i } voiddelayJed(ucharx){ ccharij; j=x; v/hile(j-) for(i=0;i<100;i++)〃l甘间冉调整 _nop_(); } voidkey_scan(void) { uchartemp; P2=Oxff; temp=P2;temp=temp|OxOf; if(temp==OxOf)/m测是否冇按键按下 // 启动停止keyl if(keyl==O) delay_lus(10); if(keyl==O) {if(run_flag==l) run_fag=0;//stop else run_fag=1;//start } } //============================正转反转key2 if(key2==0) { delay_lus(10); if(key2==0) { if(directior_flag==l)direction_flag=0;//jl; else direction_flag=1;//反 //===========二upkey3 if(key3==0) { delay_lus(10); if(key2==0) { if(count==0) count=0; else count—; } } //============================downkey4if(key4==0) { delay_lus(10); if(key2==0) { if(count==255) count=255; else count++; // voidM_run(void) { ucharLtemp; if(run_flag==O)//stop { //========================不转 CCAPOH=OXFF; CCAPOL=OX阡;〃占空比为0% CCAP1H=OXFF; CCAP1L=OXFF;〃片空比为0%//==============================led_display不转.灯不亮temp=0x00; Pl=temp; ) if(run_flag==l)//run { temp=Oxff; CY=O; if(direction_flag==0)〃iF转 CCAPOH=OXFF; CCAPOL=OXFF;//占空比为0% CCAP1H=count; CCAP1L=count; //==============================led_displayfor(i=0;i<8;if+) { Pl=temp; temp=temp«l;delay」ed(count); } } if(direction_flag==1)〃反转 { CCAP1H=OXFF; CCAPlL=OXFF;//iFf空比为0% CCAPOH=count; CCAPOL=count; //==============================led_display for(i=0;i<8;i4-4-) { Pl=temp;temp=temp»l;delayjed(count); 24V转12V开关电源电路图 崔24V柴汕年上装用12V电器(如竝、收放机、电丿沪;)时,多采用12V三端亜 压器'但山丁•稳斥痔卜用降达12V・功耗很大,温度很高,极易损坏. afjKHI\种开即虫源变丿h卅・对将24V降为12V电Y絨图所示" 此电粘由555担任脉冲mL555的⑤廊接仃輕压直以农得+6V乩准电爪,②皿从 R7、R8组成的取样电路中获得取样电爪。 半②脚电H、小于+3V时,③脚则綸出高电半,便 BG3、BG1、BG2饱和导通,向负我供电。 与此同时,屯炽经R6向C2克电,比©1)和屯 位达到+9V时。 若②脚也达到*3V以上,则③腳扯出低电半・电容经⑦脚放电,开关管BG3、 BG1,BG2均截止。 鬥②脚所接电容的电》k低丁+3V时,③和又输出為电半,如此>1、断反复而便输出电压值稳定1额進输岀电压12V上。 由R1、R2、01.D1纽成心动电烬使电路在刚按通时向BG3提供基极电注,促使开关管BG1.BG2导通,并向555提供工作电压,当负毅短路时,555将失去工作电压,从而使BG3、BG1、BG2截止,以保护电路和开关管. 电感L和续流一极晋D2可减轻开关管的负辺.L用E7铁心、ei.Omm漆包线疑满即可。 D2HIXI5A的快边恢很-极洽或呼通…机怜°卅需输出史丈电流,BG1参数为lcm>30A.Vceo>100V.Pcm>150W;BG2参数为lcm>1.5A.Vceo>100V.Pcm>5W,iAH'j输岀电漁叫达10A.BG1>BG2也叫用大功冷PNP型达林颁芒代替.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 24 直流电机 驱动 电路 单片机 程序