Browse Source

调整插管判断逻辑,打印pwm,修改默认pid

yidong 1 tháng trước cách đây
mục cha
commit
f828eb8570

+ 1 - 1
BoardInterface/onechip_load_inf.h

@@ -8,7 +8,7 @@
 #define SOFT_VERSION_1  7	//软件版本号
 #define SOFT_VERSION_1  7	//软件版本号
 #define SOFT_VERSION_2  4	//软件版本号
 #define SOFT_VERSION_2  4	//软件版本号
 #define SOFT_VERSION_3  0	//软件版本号
 #define SOFT_VERSION_3  0	//软件版本号
-#define SOFT_VERSION_4  18	//软件版本号
+#define SOFT_VERSION_4  19	//软件版本号
 
 
 
 
 
 

+ 9 - 6
DriverInterface/communication.c

@@ -1004,16 +1004,19 @@ void deal_mUnion_cmd(CmdMessage *pMsg)
 void update_work(void) {
 void update_work(void) {
    float temp;
    float temp;
    unsigned int st;
    unsigned int st;
+   float pwm;
 
 
     if(sysinf.log_level & VAN_LOG_TEMP ){
     if(sysinf.log_level & VAN_LOG_TEMP ){
-        char data[20];
-        get_master_st(&temp,&st); 
+        char data[28];
+        get_master_st(&temp,&st,&pwm); 
         *(unsigned int *)(data+0) = st;
         *(unsigned int *)(data+0) = st;
         *(float *)(data+4) =temp;
         *(float *)(data+4) =temp;
-        get_lysis_st(&temp,&st);
-        *(unsigned int *)(data+8) = st; 
-        *(float *)(data+12) = temp;
-        *(float *)(data+16) = sysinf.cabinTem;    
+        *(float *)(data+8) =pwm;
+        get_lysis_st(&temp,&st,&pwm);
+        *(unsigned int *)(data+12) = st; 
+        *(float *)(data+16) = temp;
+        *(float *)(data+20) = pwm;
+        *(float *)(data+24) = sysinf.cabinTem;    
         data_send_to_pc(PC_CMD_UPDATETEMP, data,sizeof(data));        
         data_send_to_pc(PC_CMD_UPDATETEMP, data,sizeof(data));        
     }
     }
 
 

+ 2 - 2
DriverInterface/onchip_flash.c

@@ -184,9 +184,9 @@ uint32_t checksum_calc1(uint8_t *wdata, int len)
 void cfg_load_default_param(void)
 void cfg_load_default_param(void)
 {
 {
 	sysinf.lysis_offset = -6;
 	sysinf.lysis_offset = -6;
-	sysinf.lysis_overHeat = 3;
+	sysinf.lysis_overHeat = 0;
 	sysinf.lysis_overHeatTime    = 10;
 	sysinf.lysis_overHeatTime    = 10;
-	sysinf.lysis_Kp = 5;
+	sysinf.lysis_Kp = 20;
 	sysinf.lysis_Ki = 0.01;
 	sysinf.lysis_Ki = 0.01;
 	sysinf.lysis_Kd = 0;
 	sysinf.lysis_Kd = 0;
 	
 	

+ 4 - 2
DriverInterface/state_mini.c

@@ -110,15 +110,17 @@ int TrigStateCheck(void)
 {
 {
 	 return (HAL_GPIO_ReadPin(MINI7_V2_DEC_S1_GPIO_Port,MINI7_V2_DEC_S1_Pin)) ? 1 : 0; // 
 	 return (HAL_GPIO_ReadPin(MINI7_V2_DEC_S1_GPIO_Port,MINI7_V2_DEC_S1_Pin)) ? 1 : 0; // 
 }
 }
-uint32_t get_master_st(float *temp,unsigned int *st) {
+uint32_t get_master_st(float *temp,unsigned int *st,float *pwm) {
 	*temp = sysinf.heaterMaster.pid.realtemp;
 	*temp = sysinf.heaterMaster.pid.realtemp;
+     *pwm =  sysinf.heaterMaster.pid.variate;
 	*st = sysinf.psmMaster.state;
 	*st = sysinf.psmMaster.state;
 	return 0;
 	return 0;
 }
 }
 
 
 
 
-uint32_t get_slave_st(float *temp,unsigned int *st) {
+uint32_t get_slave_st(float *temp,unsigned int *st,float *pwm) {
 	*temp = sysinf.heaterSlave.pid.realtemp;
 	*temp = sysinf.heaterSlave.pid.realtemp;
+     *pwm =  sysinf.heaterSlave.pid.variate;
 	*st = sysinf.psmSlave.state;
 	*st = sysinf.psmSlave.state;
 	return 0;
 	return 0;
 }
 }

+ 2 - 2
DriverInterface/state_mini.h

@@ -233,8 +233,8 @@ typedef struct ProcessStateMachine
 
 
 void resend_error_update(void);
 void resend_error_update(void);
 void re_send_state(void);
 void re_send_state(void);
-uint32_t get_master_st(float *temp,unsigned int *st);
-uint32_t get_slave_st(float *temp,unsigned int *st);
+uint32_t get_master_st(float *temp,unsigned int *st,float *pwm);
+uint32_t get_slave_st(float *temp,unsigned int *st,float *pwm);
 void updateAmplifState(uint8_t newset);
 void updateAmplifState(uint8_t newset);
 void updateLysisState(uint8_t newset);
 void updateLysisState(uint8_t newset);
 void updateData_next(unsigned int recdex,unsigned char * part);
 void updateData_next(unsigned int recdex,unsigned char * part);

+ 28 - 16
DriverInterface/usr_lysis.c

@@ -27,6 +27,7 @@
 #define HEAT_ARRIVE_EDGE 0.5 
 #define HEAT_ARRIVE_EDGE 0.5 
 #define GOTO_IDLE_GAP  3000 
 #define GOTO_IDLE_GAP  3000 
 #define HEATCHECK_OUT  85 
 #define HEATCHECK_OUT  85 
+#define CARD_STDCHANGE_TIME 100 
 
 
 
 
 
 
@@ -170,15 +171,17 @@ uint32_t Pid_work(void) {
   return 0;
   return 0;
 }
 }
 
 
-uint32_t get_lysis_st(float *temp,unsigned int *st) {
+uint32_t get_lysis_st(float *temp,unsigned int *st,float *pwm) {
 
 
 	*temp = sysinf.lysis.pid.realtemp;
 	*temp = sysinf.lysis.pid.realtemp;
 	*st = sysinf.lysis.thermostat_st;
 	*st = sysinf.lysis.thermostat_st;
+	*pwm = sysinf.lysis.pid.variate;
 	return 0;
 	return 0;
 }
 }
 uint32_t lysis_work(void) {
 uint32_t lysis_work(void) {
   float temp;
   float temp;
   static uint32_t last10ms;
   static uint32_t last10ms;
+  static uint32_t cardStChang;
   static float firstTemp;
   static float firstTemp;
   lysis_ctr_def *ptherm = &sysinf.lysis;
   lysis_ctr_def *ptherm = &sysinf.lysis;
 
 
@@ -263,18 +266,21 @@ uint32_t lysis_work(void) {
 			ptherm->firstin = false;
 			ptherm->firstin = false;
 			Close_therm(0);
 			Close_therm(0);
 			ptherm->recGoalFlag = 0;
 			ptherm->recGoalFlag = 0;
-			firstTemp = getADC_Chanel_value(1);
-			
+			firstTemp = getADC_Chanel_value(1);			
 			updateLysisState(SYS_STATE_CHECK);
 			updateLysisState(SYS_STATE_CHECK);
+			cardStChang = 0;
 		}else{	
 		}else{	
-		    if(Read_Tupe()){
-				set_lysis(ptherm->setgaol);	
-				ptherm->recGoalFlag = 0;	
-				firstTemp = getADC_Chanel_value(1);
+		    if(Read_Tupe()==1){
+					if(((sysinf.conter10ms - last10ms)>CARD_STDCHANGE_TIME)&&cardStChang){						
+						set_lysis(ptherm->setgaol);	
+						ptherm->recGoalFlag = 0;	
+						firstTemp = getADC_Chanel_value(1);
+						ptherm->thermostat_st = THERMOSTAT_INSERT;
+						ptherm->firstin = 1;
+					}				
+			}else{				
 				last10ms = sysinf.conter10ms;
 				last10ms = sysinf.conter10ms;
-				ptherm->thermostat_st = THERMOSTAT_INSERT;
-				ptherm->firstin = 1;
-				
+				cardStChang = 1;
 			}
 			}
 		}
 		}
 	}break;
 	}break;
@@ -282,6 +288,7 @@ uint32_t lysis_work(void) {
 		if(ptherm->firstin){		
 		if(ptherm->firstin){		
 			ptherm->firstin = false;
 			ptherm->firstin = false;
 			updateLysisState(SYS_STATE_RUNING);
 			updateLysisState(SYS_STATE_RUNING);
+			last10ms = sysinf.conter10ms;
 		}else{
 		}else{
 			/*加热异常判断*/		    
 			/*加热异常判断*/		    
 			if(((ptherm->pid.realtemp - firstTemp) < HEAT_WORK_THD)&&
 			if(((ptherm->pid.realtemp - firstTemp) < HEAT_WORK_THD)&&
@@ -333,13 +340,18 @@ uint32_t lysis_work(void) {
 			Close_therm(0);
 			Close_therm(0);
 			beep_set(BEEP_WORKEND);
 			beep_set(BEEP_WORKEND);
 			last10ms = sysinf.conter10ms;
 			last10ms = sysinf.conter10ms;
-		}else{			
-			if((sysinf.conter10ms-last10ms)> GOTO_IDLE_GAP){
-//			if(Read_Tupe() == 0){
+			cardStChang = 0;
+		}else{		
+			if(Read_Tupe() == 0){
 			/*管管移除,进入到预热状态*/
 			/*管管移除,进入到预热状态*/
-				ptherm->thermostat_st = THERMOSTAT_IDLE;
-				ptherm->firstin = true;
-			}
+				if(((sysinf.conter10ms - last10ms)>CARD_STDCHANGE_TIME)&&cardStChang){
+					ptherm->thermostat_st = THERMOSTAT_IDLE;
+					ptherm->firstin = true;	
+				}
+			}else{				
+				last10ms = sysinf.conter10ms;
+				cardStChang = 1;
+			}			
 		}
 		}
 	}break;
 	}break;
 	case THERMOSTAT_ERROR:{
 	case THERMOSTAT_ERROR:{

+ 1 - 1
DriverInterface/usr_lysis.h

@@ -94,6 +94,6 @@ void updatParm_lysis(void);
 void set_lysis(float goal) ;
 void set_lysis(float goal) ;
 uint32_t lysis_work(void);
 uint32_t lysis_work(void);
 uint32_t Close_lysis_work(void);
 uint32_t Close_lysis_work(void);
-uint32_t get_lysis_st(float *temp,unsigned int *st);
+uint32_t get_lysis_st(float *temp,unsigned int *st,float *pwm);
 /***********************************/
 /***********************************/
 #endif /* USR_HEATER_H_ */
 #endif /* USR_HEATER_H_ */

+ 130 - 1
MDK-ARM/mini7_V2.uvoptx

@@ -148,7 +148,88 @@
           <Name>-U-O142 -O2254 -SF4000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F103RE$Flash\STM32F10x_512.FLM)</Name>
           <Name>-U-O142 -O2254 -SF4000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F103RE$Flash\STM32F10x_512.FLM)</Name>
         </SetRegEntry>
         </SetRegEntry>
       </TargetDriverDllRegistry>
       </TargetDriverDllRegistry>
-      <Breakpoint/>
+      <Breakpoint>
+        <Bp>
+          <Number>0</Number>
+          <Type>0</Type>
+          <LineNumber>510</LineNumber>
+          <EnabledFlag>1</EnabledFlag>
+          <Address>134311814</Address>
+          <ByteObject>0</ByteObject>
+          <HtxType>0</HtxType>
+          <ManyObjects>0</ManyObjects>
+          <SizeOfObject>0</SizeOfObject>
+          <BreakByAccess>0</BreakByAccess>
+          <BreakIfRCount>1</BreakIfRCount>
+          <Filename>..\DriverInterface\usr_motor.c</Filename>
+          <ExecCommand></ExecCommand>
+          <Expression>\\mini7_V2\../DriverInterface/usr_motor.c\510</Expression>
+        </Bp>
+        <Bp>
+          <Number>1</Number>
+          <Type>0</Type>
+          <LineNumber>303</LineNumber>
+          <EnabledFlag>1</EnabledFlag>
+          <Address>134313252</Address>
+          <ByteObject>0</ByteObject>
+          <HtxType>0</HtxType>
+          <ManyObjects>0</ManyObjects>
+          <SizeOfObject>0</SizeOfObject>
+          <BreakByAccess>0</BreakByAccess>
+          <BreakIfRCount>1</BreakIfRCount>
+          <Filename>..\DriverInterface\usr_motor.c</Filename>
+          <ExecCommand></ExecCommand>
+          <Expression>\\mini7_V2\../DriverInterface/usr_motor.c\303</Expression>
+        </Bp>
+        <Bp>
+          <Number>2</Number>
+          <Type>0</Type>
+          <LineNumber>61</LineNumber>
+          <EnabledFlag>1</EnabledFlag>
+          <Address>134332914</Address>
+          <ByteObject>0</ByteObject>
+          <HtxType>0</HtxType>
+          <ManyObjects>0</ManyObjects>
+          <SizeOfObject>0</SizeOfObject>
+          <BreakByAccess>0</BreakByAccess>
+          <BreakIfRCount>1</BreakIfRCount>
+          <Filename>..\DriverInterface\user_heater.c</Filename>
+          <ExecCommand></ExecCommand>
+          <Expression>\\mini7_V2\../DriverInterface/user_heater.c\61</Expression>
+        </Bp>
+        <Bp>
+          <Number>3</Number>
+          <Type>0</Type>
+          <LineNumber>167</LineNumber>
+          <EnabledFlag>1</EnabledFlag>
+          <Address>134341928</Address>
+          <ByteObject>0</ByteObject>
+          <HtxType>0</HtxType>
+          <ManyObjects>0</ManyObjects>
+          <SizeOfObject>0</SizeOfObject>
+          <BreakByAccess>0</BreakByAccess>
+          <BreakIfRCount>1</BreakIfRCount>
+          <Filename>..\DriverInterface\van_BSP_Scanner.c</Filename>
+          <ExecCommand></ExecCommand>
+          <Expression>\\mini7_V2\../DriverInterface/van_BSP_Scanner.c\167</Expression>
+        </Bp>
+        <Bp>
+          <Number>4</Number>
+          <Type>0</Type>
+          <LineNumber>864</LineNumber>
+          <EnabledFlag>1</EnabledFlag>
+          <Address>0</Address>
+          <ByteObject>0</ByteObject>
+          <HtxType>0</HtxType>
+          <ManyObjects>0</ManyObjects>
+          <SizeOfObject>0</SizeOfObject>
+          <BreakByAccess>0</BreakByAccess>
+          <BreakIfRCount>0</BreakIfRCount>
+          <Filename>..\DriverInterface\ESP32_WROOM_32D.c</Filename>
+          <ExecCommand></ExecCommand>
+          <Expression></Expression>
+        </Bp>
+      </Breakpoint>
       <WatchWindow1>
       <WatchWindow1>
         <Ww>
         <Ww>
           <count>0</count>
           <count>0</count>
@@ -438,6 +519,54 @@
           <ExecCommand></ExecCommand>
           <ExecCommand></ExecCommand>
           <Expression></Expression>
           <Expression></Expression>
         </Bp>
         </Bp>
+        <Bp>
+          <Number>2</Number>
+          <Type>0</Type>
+          <LineNumber>303</LineNumber>
+          <EnabledFlag>1</EnabledFlag>
+          <Address>0</Address>
+          <ByteObject>0</ByteObject>
+          <HtxType>0</HtxType>
+          <ManyObjects>0</ManyObjects>
+          <SizeOfObject>0</SizeOfObject>
+          <BreakByAccess>0</BreakByAccess>
+          <BreakIfRCount>0</BreakIfRCount>
+          <Filename>..\DriverInterface\usr_motor.c</Filename>
+          <ExecCommand></ExecCommand>
+          <Expression></Expression>
+        </Bp>
+        <Bp>
+          <Number>3</Number>
+          <Type>0</Type>
+          <LineNumber>510</LineNumber>
+          <EnabledFlag>1</EnabledFlag>
+          <Address>0</Address>
+          <ByteObject>0</ByteObject>
+          <HtxType>0</HtxType>
+          <ManyObjects>0</ManyObjects>
+          <SizeOfObject>0</SizeOfObject>
+          <BreakByAccess>0</BreakByAccess>
+          <BreakIfRCount>0</BreakIfRCount>
+          <Filename>..\DriverInterface\usr_motor.c</Filename>
+          <ExecCommand></ExecCommand>
+          <Expression></Expression>
+        </Bp>
+        <Bp>
+          <Number>4</Number>
+          <Type>0</Type>
+          <LineNumber>167</LineNumber>
+          <EnabledFlag>1</EnabledFlag>
+          <Address>0</Address>
+          <ByteObject>0</ByteObject>
+          <HtxType>0</HtxType>
+          <ManyObjects>0</ManyObjects>
+          <SizeOfObject>0</SizeOfObject>
+          <BreakByAccess>0</BreakByAccess>
+          <BreakIfRCount>0</BreakIfRCount>
+          <Filename>..\DriverInterface\van_BSP_Scanner.c</Filename>
+          <ExecCommand></ExecCommand>
+          <Expression></Expression>
+        </Bp>
       </Breakpoint>
       </Breakpoint>
       <WatchWindow1>
       <WatchWindow1>
         <Ww>
         <Ww>