hi kees, great to know that's working for you now.
must use VB code click here to know howp.s.for some reason all my indentation disappears when I posted this message, don't know why
after that your code can look something like that
and once it's done, it appear that there's one ENDIF missingCode:motor CON 3 sensor VAR PORTB.0 temp VAR WORD setspeed VAR BYTE 'speed set by user power VAR WORD 'control variable (CV) , PWM dutycycle PV VAR WORD 'process value, or actual speed error VAR BYTE 'difference between set speed and actual speed Kprop VAR BYTE 'constant for proportional feedback control Kprop = 4 run: Pot 5,25,setspeed PulsIn sensor,0,temp ' measure speed IF temp2 > 0 Then ' check if motor is running PV = 10000 / temp ' depends on encoder and motor IF PV >255 Then PV = 255 IF setspeed > PV Then error = setspeed - PV power = power + (error / Kprop) 'new PWM value IF power > 255 Then power = 255 'otherwise overflow Else error = PV - setspeed power = power - (error / Kprop) 'new PWM value IF power > 255 Then power = 0 'otherwise overflow EndIF Else power = setspeed ' so a motor without optical sensor EndIF ' can also be used HPwm motor,power,10000 ' Send a PWM signal at 10kHz, drive motor LCDOut $FE,1,"spd ",DEC3 setspeed 'show on screen LCDOut $FE,$C0,"pv ", DEC3 PV 'for debugging GoTo run


 
			 
			 
			 
					
					

 
 
		 
				
				
				
				
			

Bookmarks