行业资讯

行业资讯

通过我们的最新动态了解我们

tr1可控硅(可控硅vgt)

发布时间:2023-05-14
阅读量:207

本文目录一览:

你好 我用单片机 通过过零检测产生中断 控制可控硅 但是 灯总是闪

你的延时是不是有问题??单片机的定时器是不是向上计数的?怎么我看你程序觉得你用向下计的呢? 还有看你程序似乎是:(moc30=0)先开启可控硅然后根据dw的数值去决定延时多少再关控制信号(moc30=1),但是有一点是,可控硅若不是可控关断的话,就有问题了,普通可控硅是开通之后只要有电流就不会关断,它只会在交流电过零时自动关断.要想达到调光效果,可以这样控制:过零检测后开始延时(根据dw的数值),延时到后开启可控硅缺念,然后必须在交流电再次过零前撤消控制信号,以便可控硅过零时关断,当再检测到过零信号再重复上面的控制就可伏州困以了,也就是说你的控制信迹坦号是100HZ的脉冲才得.

我的洗衣机插上电源没有反应是什么情况?洗衣机插上电不起动

洗衣机按下电源按钮后毫无反应怎么回事

主要有以下原因:

1、电源电压过低洗衣机满陪祥载时电压低于180V不能正常工作,但在空载时一般应能启动。

2、负载过重启动转矩不能克服负载转矩而不能启动。但是,减小负载后应能启动。

3、电容器故障电容器的容量不足时,电动机启动转矩变小负载时不能启动,但一般空载时能启动。电容器断路时,电动机不能启动,但这时如用手拨动电动机轴,电动机便能沿手动的方向转动起来。电容器短路时,电动机两绕组将通过同相电流,电动机发出很大嗡嗡声,发热很快,手拨动电动机轴电动机也不能启动。

4、主、副绕组中有一个断路主、副绕组中有一个断路时,用手拨动电动机轴即能缓慢地启动起来。

5、电动机接线有错误洗涤电动机的绕组接线和中线错接,脱水电动机的主、副绕组接线错误,都将造成空载时可以启动,但是负载时不能启动。

6、绕组有短路故障绕组有短路故障时,也会出现空载时可以启动,但是负载时不能启动。

7、转子铝条断裂转子铝条断裂的条数占整个转子槽数七分之一时,电动机也不能启动。

洗衣机有电源显示 启动不了

滚桶洗衣机查看门是否关严,或按下面的例案检查

例1. 波轮不转(齿轴与齿套打滑)

例2. 通电后功能选择指示灯直接显示到脱水功能,无洗衣、漂洗功能,且不能脱水(功能选择开头损坏)

例3. 通电后电源指示灯亮,整机不工作(水磁同步电机烧坏)

例4. 电机不转动(电机烧坏)

例5. 使用中电机突然停转冒烟并有严重的焦糊味(电机绕组短路)

例6. 开启电源,电源指示发光二极管不亮,按键无反应(保护电路误动作)

例7. 通电后指示灯亮,电机不转(双向可控硅T1损坏)

例8. 所有功能失效(稳压二极管DZ短路)衣物洗涤干净。

例9. 不能洗涤,进排水正常(启动电容器烧坏)

例10. 突然停转并伴有焦糊味(电机绕组线圈烧坏,VS2和VS4损环芦蔽搏)

例11. 洗涤不正常(水位开关失灵)

例12. 电机不能运并渗转或转速慢(可控硅TR1损坏)

单片机控制可控硅调压程序

可控硅必须检测过零信号。只有零点以后触发,才会有效。而且在下一个零点到来的时候,可控硅会自动关历亮闭。你这个程序里面只有一句P=1,没有P=0,那么这个端口一直开启,没有关闭。负载将一直投入。不可能关闭。所以,根本不可能调压!

想要调压:1、增加一个过零检测电路。清烂弯

2、每次触发以后,过一段时间必须把触发信号关闭。也可以在过零中断时,将触发信号关闭。

3、调压的大小值受过零后多长时间投入。注答闷意10MS以内必须完成一次控制。否则控制将不正常。

三洋洗衣机XQB65-B935DX怎么按都无法启动

滚桶洗衣机查看门是否关严,或按下面的例案检查

例1. 波轮不转(齿轴与齿套打滑)

例2. 通电后功能选择指示灯直接显示到脱水功能,无洗衣、漂洗功能,且不能脱水(功能选择开头损坏)

例3. 通电后电源指示灯亮,整机不工作(水磁同步电机烧坏)

例4. 电败衡裤机不转动(电机烧坏)

例5. 使用中电机突然停转冒烟并有严重的焦糊味(电机绕组短路)

例6. 开启电源,电源指示发光二极管不亮,按键无反应(保护电路误动作)

例7. 通电后指示灯亮,电机不转(双向可控硅T1损坏)

例8. 所有功能失效(稳压二极管DZ短路)衣物洗涤干净。

例9. 不能洗涤,进排水正常(启动电容器烧坏)

例10. 突然停转并伴有焦糊味(电机绕组线拦蠢圈烧坏,VS2和VS4损环)

例11. 洗涤不正常(水位开关失灵)

例12. 电机不能运转或转速慢(可控硅TR1损坏)

例13. 使用中电机突然停转(停机续流熄弧电阻R短路)

例14. 不工作(电机线圈烧毁)

例15. 不能洗涤(抱簧动作不灵活)

例16. 洗涤电机不转,但有“嗡嗡”声(启动电容损坏)

例17. 漂洗和脱水电机均不转动且发出“嗡嗡”声(启动电容损坏)

例18. 洗衣机不工作,电机有“嗡嗡”声(启动电容损坏)

例19. 开机后各程序娄码管均正常发光,但按下“启动/暂停”按钮,波轮不转动(传动皮带拉断)

例20. 通电后操作面板显示正常,但按下启动键洗衣机不工作(电子门锁位置偏移)

例21. 进完水后不能进行洗涤(电机接线盒脱落)

例22. 甩干时电机突然停转(电机损坏)

例23. 通电后蜂鸣器报警,面板上只有电源指示灯和低水位指示灯亮,其余均不亮,按键均无效(电容察简C13漏电)

例24. 不能正常洗涤(洗涤定时开关损坏)

例25. 通电后显示正常,电机不转动且有“嗡嗡”声(双向可控硅无穿)

例26. 开机后发光管不亮,按键不起作用,蜂鸣器不响(电位器R3接解不良)

故障排除法,有问题还是直接找售后。

8位单片机PID控制PWM的算法如何实现,C语言计算?

PID控制在8位单片机中仍然有广泛的应用,比如温度控制,利用比例、积分、微分补偿来做恒温补偿控制,当然由于有这些数学处理,用C语言相对方便厅森一些,以下是一个具体的实例。

#includereg51.h

#includeintrins.h

#includemath.h

#includestring.h

struct PID {

unsigned int SetPoint; // 设定目标 Desired Value

unsigned int Proportion; // 比例常数 Proportional Const

unsigned int Integral; // 积分常数 Integral Const

unsigned int Derivative; // 微分常数 Derivative Const

unsigned int LastError; // Error[-1]

unsigned int PrevError; // Error[-2]

unsigned int SumError; // Sums of Errors

};

struct PID spid; // PID Control Structure

unsigned int rout; // PID Response (Output)

unsigned int rin; // PID Feedback (Input)

sbit data1=P1^0;

sbit clk=P1^1;

sbit plus=P2^0;

sbit subs=P2^1;

sbit stop=P2^2;

sbit output=P3^4;

sbit DQ=P3^3;

unsigned char flag,flag_1=0;

unsigned char high_time,low_time,count=0;//占空比调节参数

unsigned char set_temper=35;

unsigned char temper;

unsigned char i;

unsigned char j=0;

unsigned int s;

/***********************************************************

延时子程序,延时时间以12M晶振为准,延时时间为30us×time

***********************************************************/

void delay(unsigned char time)

{

   unsigned char m,n;

   for(n=0;ntime;n++)

 扮基亩  for(m=0;m2;m++){}

}

/***********************************************************

写一位数据子程序

***********************************************************/

void write_bit(unsigned char bitval)

{

EA=0;

DQ=0; /*拉低DQ以开始一个写时序*/

if(bitval==1)

{

_nop_();

DQ=1; /*如要锋睁写1,则将总线置高*/

}

delay(5); /*延时90us供DA18B20采样*/

DQ=1; /*释放DQ总线*/

_nop_();

_nop_();

EA=1;

}

/***********************************************************

写一字节数据子程序

***********************************************************/

void write_byte(unsigned char val)

{

   unsigned char i;

  unsigned char temp;

  EA=0;

  TR0=0;

for(i=0;i8;i++) /*写一字节数据,一次写一位*/

{

temp=vali; /*移位操作,将本次要写的位移到最低位*/

temp=temp1;

write_bit(temp); /*向总线写该位*/

}

delay(7); /*延时120us后*/

// TR0=1;

EA=1;

}

/***********************************************************

读一位数据子程序

***********************************************************/

unsigned char read_bit()

{

unsigned char i,value_bit;

EA=0;

DQ=0; /*拉低DQ,开始读时序*/

_nop_();

_nop_();

DQ=1; /*释放总线*/

for(i=0;i2;i++){}

value_bit=DQ;

EA=1;

return(value_bit);

}

/***********************************************************

读一字节数据子程序

***********************************************************/

unsigned char read_byte()

{

unsigned char i,value=0;

EA=0;

for(i=0;i8;i++)

{

if(read_bit()) /*读一字节数据,一个时序中读一次,并作移位处理*/

value|=0x01i;

delay(4); /*延时80us以完成此次都时序,之后再读下一数据*/

}

EA=1;

return(value);

}

/***********************************************************

复位子程序

***********************************************************/

unsigned char reset()

{

unsigned char presence;

EA=0;

DQ=0; /*拉低DQ总线开始复位*/

delay(30); /*保持低电平480us*/

DQ=1; /*释放总线*/

delay(3);

presence=DQ; /*获取应答信号*/

delay(28); /*延时以完成整个时序*/

EA=1;

return(presence); /*返回应答信号,有芯片应答返回0,无芯片则返回1*/

}

/***********************************************************

获取温度子程序

***********************************************************/

void get_temper()

{

unsigned char i,j;

do

{

 i=reset(); /*复位*/

}  while(i!=0); /*1为无反馈信号*/

   i=0xcc; /*发送设备定位命令*/

 write_byte(i);

 i=0x44; /*发送开始转换命令*/

 write_byte(i);

 delay(180); /*延时*/

do

{

 i=reset(); /*复位*/

}  while(i!=0);

 i=0xcc; /*设备定位*/

 write_byte(i);

 i=0xbe; /*读出缓冲区内容*/

 write_byte(i);

 j=read_byte();  

 i=read_byte();

 i=(i4)0x7f;

 s=(unsigned int)(j0x0f);     //得到小数部分

 s=(s*100)/16;

 j=j4;

 temper=i|j; /*获取的温度放在temper中*/

}

/*====================================================================================================

Initialize PID Structure

=====================================================================================================*/

void PIDInit (struct PID *pp)

{

memset ( pp,0,sizeof(struct PID));    //全部初始化为0

}

/*====================================================================================================

PID计算部分

=====================================================================================================*/

unsigned int PIDCalc( struct PID *pp, unsigned int NextPoint )

{

unsigned int dError,Error;

Error = pp-SetPoint - NextPoint;          // 偏差  

pp-SumError += Error;                     // 积分  

dError = pp-LastError - pp-PrevError;    // 当前微分

pp-PrevError = pp-LastError;  

pp-LastError = Error;

return (pp-Proportion * Error             // 比例项  

+ pp-Integral * pp-SumError              // 积分项

+ pp-Derivative * dError);                // 微分项

}

/***********************************************************

温度比较处理子程序

***********************************************************/

void compare_temper()

{

unsigned char i;

if(set_tempertemper)      //是否设置的温度大于实际温度

{

 if(set_temper-temper1)  //设置的温度比实际的温度是否是大于1度

{

 high_time=100;      //如果是,则全速加热

 low_time=0;

}

     else  //如果是在1度范围内,则运行PID计算

{

  for(i=0;i10;i++)

{

  get_temper();   //获取温度

   rin = s; // Read Input

  rout = PIDCalc ( spid,rin ); // Perform PID Interation

}

  if (high_time=100)

    high_time=(unsigned char)(rout/800);

  else

        high_time=100;

    low_time= (100-high_time);

}

}

else if(set_temper=temper)

{

 if(temper-set_temper0)

{

  high_time=0;

  low_time=100;

}

 else

{

   for(i=0;i10;i++)

 {

       get_temper();

       rin = s; // Read Input

   rout = PIDCalc ( spid,rin ); // Perform PID Interation

 }

   if (high_time100)

    high_time=(unsigned char)(rout/10000);

     else

    high_time=0;

    low_time= (100-high_time);

}

}

// else

// {}

}

/*****************************************************

T0中断服务子程序,用于控制电平的翻转 ,40us*100=4ms周期

******************************************************/

void serve_T0() interrupt 1 using 1

{

if(++count=(high_time))

output=1;

else if(count=100)

{

output=0;

}

else

count=0;

TH0=0x2f;

TL0=0xe0;

}

/*****************************************************

串行口中断服务程序,用于上位机通讯

******************************************************/

void serve_sio() interrupt 4 using 2

{

/* EA=0;

RI=0;

i=SBUF;

if(i==2)

{

while(RI==0){}

RI=0;

set_temper=SBUF;

SBUF=0x02;

while(TI==0){}

TI=0;

}

else if(i==3)

{

TI=0;

SBUF=temper;

while(TI==0){}

TI=0;

}

EA=1; */

}

void disp_1(unsigned char disp_num1[6])

{

unsigned char n,a,m;

for(n=0;n6;n++)

{

// k=disp_num1[n];

for(a=0;a8;a++)

{

   clk=0;

m=(disp_num1[n]1);

disp_num1[n]=disp_num1[n]1;

if(m==1)

 data1=1;

else

 data1=0;

 _nop_();

 clk=1;

 _nop_();

}

}

}

/*****************************************************

显示子程序

功能:将占空比温度转化为单个字符,显示占空比和测得到的温度

******************************************************/

void display()

{

unsigned char code number[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6};

unsigned char disp_num[6];

unsigned int k,k1;

k=high_time;

k=k%1000;

k1=k/100;

if(k1==0)

disp_num[0]=0;

else

disp_num[0]=0x60;

k=k%100;

disp_num[1]=number[k/10];

disp_num[2]=number[k%10];

k=temper;

k=k%100;

disp_num[3]=number[k/10];

disp_num[4]=number[k%10]+1;

disp_num[5]=number[s/10];

disp_1(disp_num);

}

/***********************************************************

主程序

***********************************************************/

void main()

{

unsigned char z;

unsigned char a,b,flag_2=1,count1=0;

unsigned char phil[]={2,0xce,0x6e,0x60,0x1c,2};

TMOD=0x21;

TH0=0x2f;

TL0=0x40;

SCON=0x50;

PCON=0x00;

TH1=0xfd;

TL1=0xfd;

PS=1;

EA=1;

EX1=0;

ET0=1;

ES=1;

TR0=1;

TR1=1;

high_time=50;

low_time=50;

PIDInit ( spid );    // Initialize Structure

spid.Proportion = 10; // Set PID Coefficients  比例常数 Proportional Const

spid.Integral = 8;    //积分常数 Integral Const

spid.Derivative =6;   //微分常数 Derivative Const

spid.SetPoint = 100; // Set PID Setpoint 设定目标 Desired Value

while(1)

{

if(plus==0)

{

EA=0;

for(a=0;a5;a++)

for(b=0;b102;b++){}

if(plus==0)

{

set_temper++;

flag=0;

}

}

else if(subs==0)

{

for(a=0;a5;a++)

for(b=0;a102;b++){}

if(subs==0)

{

set_temper--;

flag=0;

}

}

else if(stop==0)

{

   for(a=0;a5;a++)

  for(b=0;b102;b++){}

  if(stop==0)

{

 flag=0;

 break;

}

 EA=1;

}

     get_temper();

 b=temper;

if(flag_2==1)

a=b;

if((abs(a-b))5)

temper=a;

else

temper=b;

a=temper;

flag_2=0;

if(++count130)

{

display();

count1=0;

}

compare_temper();

}

 TR0=0;

 z=1;

while(1)

{

  EA=0;

if(stop==0)

{

   for(a=0;a5;a++)

  for(b=0;b102;b++){}

  if(stop==0)

  disp_1(phil);

// break;

}

EA=1;

}

}

为什么滚筒洗衣机老炸tr1可控硅

单用一个变压器绕组,可控硅的那组桥式整流和VD1~4的这组同时供电,可控硅导通时其阳极和A点是等电位的,所耐滚以当然要在X处断开。你胡核有另一个变压器当然可以按原图接线,TR1有两组互不相裤亩掘通的绕...

关键词:电容器 单片机控制可控硅 可控硅 控制可控硅 tr1可控硅

相关新闻

一点销电子网

Yidianxiao Electronic Website Platform

Tel:0512-36851680
E-mail:King_Zhang@Lpmconn.com
我们欢迎任何人与我们取得联系!
请填写你的信息,我们的服务团队将在以您填写的信息与您取得联系。
*您的姓名
*电话
问题/建议
承诺收集您的这些信息仅用于与您取得联系,帮助您更好的了解我们。