⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 4-6-stop制动.txt

📁 运用模糊算法和PID调节控制开关磁阻电机的调速。采用的单片机是Intel的80c196KB,编程语言为PL/M.
💻 TXT
字号:
STOP:PROCEDURE;
DISABLE;
/*当转速较高时,采用pwm占空比固定,负转矩减速*/
/*******当转速较低时,器件全关断,自然停车*******/
  IF RUN_SPD<200 THEN DO;/*转速低于200,全关断*/
	 IOC2=80H;          /**cam清零**/
	 IOC2=80H;
	 R0=0;
         R0=0;
/*hso_command=05H;控制pwm通道为低 */
	 HSO_COMMAND=25H;                
	 HSO_TIME=TIMER1+03H;
	 R0=0;
	 R0=0;
	 HSO_COMMAND=06H;     /*关ab*/
	 HSO_TIME=TIMER1+03H;
         R0=0;
         R0=0;
         HSO_COMMAND=07H;        /*关cd*/
         HSO_TIME=TIMER1+03H;
         R0=0;
         R0=0;
  END;
  ELSE DO;     /*run_spd>100*/
  pwm_width=4;
     IF DIRECT=1 THEN DO;/*逆时针*/
         TURNON=T_SPAN/2;
         TURNOFF=T_SPAN/2;
         DO CASE ORDER;/*制动*/
             T00:DO;/*P=1,Q=0*/
                 HSO_COMMAND=23H;
                 HSO_TIME=TIMER1+TURNON;
                 R0=0;
                 R0=0;
                 HSO_COMMAND=01H;
                 HSO_TIME=TIMER1+TURNOFF;
                 R0=0;
                 R0=0;
             END;
             TO1:DO;/*P=1,Q=1*/
                 HSO_COMMAND=02H;
                 HSO_TIME=TIMER1+TURNOFF;
                 R0=0;
                 R0=0;
                 HSO_COMMAND=20H;
                 HSO_TIME=TIMER1+TURNON;
                 R0=0;
                 R0=0;
             END;
             TO2:DO;/*P=0,Q=1*/
                 HSO_COMMAND=03H;
                 HSO_TIME=TIMER1+TURNOFF;
                 R0=0;
                 R0=0;
                 HSO_COMMAND=21H;
                 HSO_TIME=TIMER1+TURNON;
                 R0=0;
                 R0=0;
             END;
             TO3:DO;/*P=0,Q=0*/
                 HSO_COMMAND=00H;
                 HSO_TIME=TIMER1+TURNOFF;
                 R0=0;
                 R0=0;
                 HSO_COMMAND=22H;
                 HSO_TIME=TIMER1+TURNON;
                 R0=0;
                 R0=0;
             END;
         END;
     END; 	
     ELSE DO;/*顺时针*/
         TURNON=T_SPAN/2;
         TURNOFF=T_SPAN/2;
         DO CASE ORDER;/*制动*/
             T10:DO;/*P=1,Q=1*/
                 HSO_COMMAND=01H;
                 HSO_TIME=TIMER1+TURNOFF;
                 R0=0;
                 R0=0;
                 HSO_COMMAND=23H;
                 HSO_TIME=TIMER1+TURNON;
                 R0=0;
                 R0=0;
             END;
             T11:DO;/*P=0,Q=1*/
                 HSO_COMMAND=02H;
                 HSO_TIME=TIMER1+TURNOFF;
                 R0=0;
                 R0=0;
                 HSO_COMMAND=20H;
                 HSO_TIME=TIMER1+TURNON;
                 R0=0;
                 R0=0;
             END;
             T12:DO;/*P=0,Q=0*/
                 HSO_COMMAND=03H;
                 HSO_TIME=TIMER1+TURNOFF;
                 R0=0;
                 R0=0;
                 HSO_COMMAND=21H;
                 HSO_TIME=TIMER1+TURNON;
                 R0=0;
                 R0=0;
             END;
             T13:DO;/*P=1,Q=0*/
                 HSO_COMMAND=00H;
                 HSO_TIME=TIMER1+TURNOFF;
                 R0=0;
                 R0=0;
                 HSO_COMMAND=22H;
                 HSO_TIME=TIMER1+TURNON;
                 R0=0;
                 R0=0;
             END;
         END;
     END;
END;
ENABLE;
END STOP;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -