小小鸟
获得 0 次赞
帮助过0人
最近在做单片机输出pwm波,通过运放将其放大(0~10v),但是现在遇到一个问题就是没有办法得到0v的电压。由于控制的东西要求比较严格,只有0v的时候才能将它关断。但是测了一下单片机的输出是0.03v,经过放大后输出就办成了0.06v。希望大神们能够帮忙想个办法
我最近在做一个关于可控硅的东西,但是一上电的话可控硅和G极的连的电阻和芯片就会一起烧掉,我的负载是螺旋型的加热器,有人说是没有接阻容吸收电路的问题,但是上网查了一下电阻电容的选取,网上选多少的都有,能不能帮忙讲解一下。参数的选择,分析一下烧的原因。(现在烧的我都不敢上电了,身边也没什么人问!)
t2117功率控制,按照如下电路图连接,但是上电运行的时候6管脚输出的电阻就会烧掉,不知道是什么原因,可控硅用的是BTA25800B,难道是电阻小了,如果小了电阻要取多少?怎么计算?资料上说的也是模糊不清,看都看不懂!
地址、数据发送子程序 void Write1302 ( unsigned char addr,dat ) { unsigned char i,temp; CE=0; //CE 引脚为低, 数据传送 中止 SCLK=0; // 清零时钟总线 CE = 1; //CE引脚为高,逻辑控制有效 //发送地址 for ( i=8; i>0; i-- ) //循环8次移位 { SCLK = 0; temp = addr; DIO = (bit)(temp&0x01); //每次传输低字节 addr >>= 1; //右移一位 SCLK = 1; } //发 送数据 for ( i=8; i>0; i-- ) { SCLK = 0; temp = dat; DIO = (bit)(temp&0x01); dat >>= 1; SCLK = 1; } CE = 0; } //数据读取子程序 unsigned char Read1302 ( unsigned char addr ) { unsigned char i,temp,dat1,dat2; CE=0; SCLK=0; CE = 1; //发送地址 for ( i=8; i>0; i-- ) //循环8次移位 { SCLK = 0; temp = addr; DIO = (bit)(temp&0x01); //每次传输低字节 addr >>= 1; //右移一位 SCLK = 1; }//读取数据 for ( i=8; i>0; i-- ) { ACC_7=DIO; SCLK = 1; ACC>>=1; SCLK = 0; } CE=0; dat1=ACC; dat2=dat1/16; //数据进制转换 dat1=dat1%16; //十六进制转十进制 dat1=dat1+dat2*10; return (dat1); }//初始化DS1302 void Initial(void) { Write1302 (WRITE_PROTECT,0X00); //禁止写保护 Write1302 (WRITE_SECOND,0x56); //秒位初始化 Write1302 (WRITE_MINUTE,0x34); //分钟初始化 Write1302 (WRITE_HOUR,0x12); //小时初始化 Write1302 (WRITE_PROTECT,0x80); //允许写保护 }
双向可控硅的驱动电流是50mA,现在我想在控制可控硅的线路上接一个发光二极管,这样可控硅导通还是截至就可以看得到,可是发光二极管的驱动电流是20mA,我该怎么做?