我雕刻机的主轴电机48V 300W直接接通电源也是出现问题,后来我用STC89C52RC单片机写个占空比逐渐变大的软起动程序就完美解决了,后来发现采用仅有8脚的STC15F104W单片机更方便,启动时间改变程序中的T值就可以了!- #include<reg52.h>
- #define uchar unsigned char
- #define uint unsigned int
- sbit pwm=P2^0;//输出启动信号,本人建议单片机驱动光耦,光耦驱动MOS
- sbit close=P3^2;//停止按键
- sbit start=P3^3;//启动按键
- void delay(int i)//延时
- {
- while(i--);
- }
- void DC_motor()//占空比循环叠加
- {
- uint T=500,N=0;//启动时间改变T(0-65535)
- for(N=1;N<T;N++)
- {
- pwm=0;
- delay(N);
- pwm=1;
- delay(T-N);
- }
- }
- void main()
- {
- while(1)
- {
- if(start==0)//判断启动按键按下
- {
- delay(100);//延时消抖
- if(start==0)//再次确认启动按键按下
- {
- DC_motor();//占空比循环叠加
- pwm=0;//全速
- }
- while(!start);
- }
- if(close==0)//判断停止按键按下
- {
- delay(100);//延时消抖
- if(close==0)//再次确认停止按键按下
- {
- pwm=1;//停止
- }
- while(!start);
- }
- }
- }
复制代码
|