fix bugs
This commit is contained in:
		
							parent
							
								
									db8a58f9f4
								
							
						
					
					
						commit
						3ff093656e
					
				
							
								
								
									
										12
									
								
								src/MPPT.c
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								src/MPPT.c
									
									
									
									
									
								
							| @ -87,7 +87,7 @@ void mppt_start(){ | ||||
|   int16_t vermogenDiff, lastVermogen; | ||||
|   while(1){ | ||||
|     mppt_setPWM(duty); | ||||
|     if(state == bigStaps){ | ||||
|     if(state == bigStaps){ // big stap state - finding roughly the setpoint a bit faster or find the peek power point
 | ||||
|       while(1){ | ||||
|         // set stap
 | ||||
|         if(mppt_vermogen - *(mppt_setpointP) > 0){ | ||||
| @ -109,12 +109,13 @@ void mppt_start(){ | ||||
|         if(vermogenDiff < 0) // get absolute value
 | ||||
|           vermogenDiff  = -vermogenDiff; | ||||
| 
 | ||||
|         //TODO: don't let the peek power point detecten trigger if it oversoots or needs to ajust down.
 | ||||
|         if(vermogenDiff < 50 || mppt_vermogen < lastVermogen){ | ||||
|           state = smallStaps; | ||||
|           break; | ||||
|         } | ||||
|       } | ||||
|     }else{ | ||||
|     }else{ // small stap state - aparanly it's close to the target. now get closer to it.
 | ||||
|       while(1){ | ||||
|         // set stap
 | ||||
|         if(mppt_vermogen - *(mppt_setpointP) > 0){ | ||||
| @ -136,11 +137,16 @@ void mppt_start(){ | ||||
|         if(vermogenDiff < 0) // get absolute value
 | ||||
|           vermogenDiff  = -vermogenDiff; | ||||
| 
 | ||||
|         if(vermogenDiff > 5){ | ||||
|         if(vermogenDiff > 50){ | ||||
|           state = bigStaps; | ||||
|           break; | ||||
|         } | ||||
| 
 | ||||
|         if(vermogenDiff > 5){ | ||||
|           break; | ||||
|         } | ||||
| 
 | ||||
|         // we reached the setpoint within 0.5 watts
 | ||||
|         usleep(100E3); | ||||
|         mppt_meetVermogen(); | ||||
|       } | ||||
|  | ||||
| @ -49,13 +49,13 @@ void comm_init(){ | ||||
|     // set data in the transmit buffer
 | ||||
|     switch(TransmitBuffer[0]){ | ||||
|       case SPIPARM_vermogen: | ||||
|         TransmitBuffer[1] = mppt_getVermogen(); | ||||
|         TransmitBuffer[2] = mppt_getVermogen(); | ||||
|         break; | ||||
|       case SPIPARM_snelheid: | ||||
|         TransmitBuffer[1] = comm_snelheid; | ||||
|         TransmitBuffer[2] = comm_snelheid; | ||||
|         break; | ||||
|       case SPIPARM_tempratuur:  | ||||
|         TransmitBuffer[1] = noodstop_getTempratuur(); | ||||
|         TransmitBuffer[2] = noodstop_getTempratuur(); | ||||
|         break; | ||||
|     } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user