三花電子膨脹閥C51程序適用于O型和T型_第1頁
三花電子膨脹閥C51程序適用于O型和T型_第2頁
三花電子膨脹閥C51程序適用于O型和T型_第3頁
三花電子膨脹閥C51程序適用于O型和T型_第4頁
三花電子膨脹閥C51程序適用于O型和T型_第5頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

三花電子膨脹閥C51程序(適用于O型和T型)程序說明勵磁時序:線圈數(shù)據(jù)線顏色接線勵微狀態(tài)(天網(wǎng))勵微狀態(tài)(升代)1234567812345678?1A橙P0.01100000110000011?2D紅P0.10111000000001110?3C黃P0.20001110000111000?4F黑P0.30000011111100000對垃的十六進制0x010x030x020x060x040x0C0x080x090x090x080x0C0x040x060x020x030x01導通日勺線圈AADDDCCCFFFAFAJFCFCDCDADA?5B監(jiān)接電源空—.A01B[西10COIO?OFCAINESA后CBLUErtLL^W-R—CKEDGPEY1-1IPJLmI■DEF1J11l_1變量值:count_max為計數(shù)脈沖最大值,調零初始設定560,運行時設定為508,多加8個脈沖的閉閥動作。ADD_DEC_flag:1正轉,0反轉stopADD_flag為脈沖停止增加標志位,表示計數(shù)達到508時不再繼續(xù)增加stopDEC_flag為脈沖停止減少標志位,表示計數(shù)達到0時不再繼續(xù)減小count_num為電子膨脹閥發(fā)送的脈沖計數(shù),定義int型,chai#大255count8為電子膨脹閥每組數(shù)據(jù)發(fā)送序號count5為電子膨脹閥每組數(shù)據(jù)發(fā)送開度1°計數(shù),1°為5個脈沖定義speed_time=2Q控制膨脹閥的勵磁速度,要求30-90pps,取50pps,則一個脈沖需要20ms2程序的編寫:.起點調整方法:(1)將閥全閉并調整起點至A相勵磁;

P0=0xf0;P0=vavle_exdtation[count8];//調整至A相(2)切斷電源時:通電后,施加560脈沖來進行閉閥動作;count_max=560(3)控制時:現(xiàn)有開度+8脈沖的閉閥動作。count_max=508.停止驅動:在停止的勵磁相上再施加勵磁0.5sec以上后,停止驅動;.開始驅動:施加0.5sec以上的勵磁于前回停止運轉的勵磁相上后,使其開始運轉;.倒轉驅動方向:在倒轉前的勵磁相上再施加0.5sec以上的勵磁,然后進行倒轉驅動;.開閥激勵步驟表1從步驟1到8。.關閥激勵步驟表1從步驟8到1。.步進電機帶有永磁鐵具有自保持能力,保持開閥不需要通電。頭文件vavle.h#ifndef__VAVLE_H__//單片機//單片機STC15F2K60S2頭文件,可以不再加入//定義頭文件//延時函數(shù)頭文件#include"common.h"#include"delay.h"/******************************T系列電磁閥/******************************T系列電磁閥*****************************#definespeed_time20//膨脹閥的勵磁速度,要求30-90pps,取50pps,則一個脈沖需要20ms#definePulse_max500〃全開脈沖#defineFirstClosePluse_max560//關閥時最大脈沖,在500基礎上要多關60#defineClosePluse_max508//關閥時最大脈沖,在500基礎上要多關8系列電磁閥*//******************************系列電磁閥*****************************#definespeed_time10//膨脹閥的勵磁速度,要求100-250pps,取100pps,則一個脈沖需要10ms#definePulse_max2000〃全開脈沖#defineFirstClosePluse_max2200//關閥時最大脈沖,在2000基礎上要多關30#defineClosePluse_max2030//關閥時最大脈沖,在2000基礎上要多關30*/externunsignedcharspeed_time;//膨脹閥的勵磁速度,要求30-90pps,取50pps,則一個月沖需要20ms//externintPulse_max;//全開脈沖externintOpenPluse_max;//關閥時最大脈沖,在500基礎上要多關60externintClosePluse_max;//關閥時最大脈沖,在500基礎上要多關8externintClosePluse;//ir閉脈沖-500或-2000externintOpenPluse;禰開脈沖500或2000//externintPulse_Init;//intPulse_max;〃全開脈沖//intOpenPluse_max;//關閥時最大脈沖,在500基礎上要多關60//intClosePluse_max;〃關閥時最大脈沖,在500基礎上要多關8//intPulse_Init;〃初始化時的脈沖開度externunsignedcharcodevavle_excitation[];//ABCD四相對應的I/O口數(shù)據(jù),正轉//接線:A-P0.0,D-P0.1,C-P0.2,F-P0.3/*定義變量*/externintcount_num;〃電子膨脹閥初始化計數(shù)//externunsignedintcount_max;/電子膨脹閥初始化時為560,初始化完賦值508externunsignedcharcount8;//電子膨脹閥每組數(shù)據(jù)發(fā)送計數(shù)externunsignedcharcount5;〃電子膨脹閥每組數(shù)據(jù)發(fā)送開度1°計數(shù)externunsignedcharcount8_temp;〃即計數(shù)緩externunsignedcharvavle_flag;//發(fā)送數(shù)據(jù)標志位externunsignedintopening_deg;〃開度externunsignedcharADD_DEC_flag;//1正轉,0反轉externunsignedcharbutton_flag;〃按鈕標志位externunsignedcharstopADD_flag;/計數(shù)達至U500時不再繼續(xù)增加externunsignedcharstopDEC_flag;/*聲明函數(shù)*///voidvavle_Init(void);voidstep_close(void);〃關閥,n為正轉圈數(shù)voidstep_open(void);〃開閥,n為反轉圈數(shù)voidcalc_opening_deg(void);//計算并顯示開度#endif子程序Vavle_Control.c/************************************************************************************Copyright,ThunderDays程序名稱:(晶振頻率12MHz)功能說明:可正常點動加減開度程序版本:1.0(2017/07)************************************************************************************/#include"vavle.h"http://電子膨脹閥頭文件#include<stdio.h>//unsignedcharcodevavle_exdtation[]={0x01,0x03,0x02,0x06,0x04,0x0C,0x08,0x09};//ABCD四相對應的I/O□數(shù)據(jù),正轉unsignedcharcodevavle_excitation[]={0x08,0x0C,0x04,0x06,0x02,0x03,0x01,0x09};//ABCD四相對應的I/O□數(shù)據(jù),正轉//接線:A-P0.0,D-P0.1,C-P0.2,F-P0.3intcount_num=0;//電子膨脹閥脈沖計數(shù),定義int型,char最大255unsignedintcount_max;//fe子膨脹閥初始化時為FirstClosePluse_max,正常閉閥時為ClosePluse_maxunsignedcharcount8=0;//電子膨脹閥每組數(shù)據(jù)發(fā)送計數(shù)unsignedcharcount5=0;//電子膨脹閥每組數(shù)據(jù)發(fā)送開度1°計數(shù)unsignedcharcount8_temp;//8拍計數(shù)緩存unsignedcharvavle_flag=0;//發(fā)送數(shù)據(jù)標志位unsignedintopening_deg=0;〃開度unsignedcharADD_DEC_flag=1;//1正轉,0反轉unsignedcharbutton_flag=0;〃按鈕標志位unsignedcharstopADD_flag=0;//i+數(shù)達至U500時不再繼續(xù)增加unsignedcharstopDEC_flag=0;/*電子膨脹閥初始化voidvavle_Init(void)//初始化電磁閥:關閥發(fā)560個脈沖,到0脈沖時,再通8個脈沖。{unsignedinti;//unsignedinti,N;ADD_DEC_flag=1;〃標志位置1,說明進行關閥操作//while(count_num<560);count_max=FirstClosePluse_max;P0=0xf0;

P0=vavle_exdtation[count8];〃開始勵磁前,在for(i=0;i<FirstClosePluse_max;i++)〃關閥發(fā)560個脈沖,開度為112度(step_close();}.P26=1;//蜂鳴器count8=0;//初始化完調整到A相stopADD_flag=1;//關閥操作位為1,說明滿開度//count_num=508;count_max=ClosePluse_max;LED_CLS_n(2);一for(i=0;i<Pulse_Init;i++)//開閥到400個脈沖,在此基礎上進行調節(jié)(.step_open();calc_opening_deg();}LED_CLS_n(1);//TR0=0;//定時器0關閉DelayMS(500);P0=0x00;//關閉操作}關閥操作,關1關閥操作,關1個脈沖/***********************************************************/voidstep_close(void)〃關閥,此程序操作開度1°{ADD_DEC_flag=1;〃標志位置1,說明進行關閥操作if(stopADD_flag)//開閥停止標志位為1時,執(zhí)行此操作說明開閥已經(jīng)開到做大亓度,關閥時清空此標志位{stopADD_flag=0;//count_num=0;}if(!stopDEC_flag){P0=vavle_excitation[count8++];P26=0;//蜂鳴器DelayMS(speed_time);/挺時//stopADD_flag=0;count_num--;if(count_num<ClosePluse_max)//在閥關到0脈沖時再額外通8個脈沖關閉操作,不計短一

{//count_num=516;count_num=ClosePluse;stopDEC_flag=1;//全閉標志位,說明膨脹閥已全閉//break;}}if(count8==8)count8=0;//count500_flag=1;}/******************************開閥操作,開/******************************開閥操作,開1個脈沖**/*****************************/voidstep_open(void)//開閥,此程序操作開度1°{ADD_DEC_flag=0;//標志位清零,說明進行開閥操作if(stopDEC_flag)//關閥停止標志位為1時,執(zhí)行此操作。說明關閥已經(jīng)關到0°,開閥時清空此標志位{stopDEC_flag=0;〃因關閥時,多加了8個脈沖進行關閥,所以計數(shù)值要進行復位為500,在此基礎上進行

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論