虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

电感<b>磁珠</b>

  • 429总线协议说明

    ARINC429总线协议是美国航空电子工程委员会(Airlines Engineering Committee)于1977年7月提出的,并于同年发表并获得批准使用,它的全称是数字式信息传输系统(Digital Information Transmission System ) 。协议标准规定了航空电子设备及有关系统间的数字信息传输要求。ARINC429广泛应用在先进的民航客机中,如B-737、B-757、B-767,俄制军用飞机也选用了类似的技术。 ARINC429总线结构简单、性能稳定,抗干扰性强。最大的优势在于可靠性高。飞机上的ARINC429数据总线,用于在系统和设备之间传送上千种不同类型的参数,如航向、真空速、马赫数等。

    标签: 429总线协议

    上传时间: 2016-08-17

    上传用户:w50403

  • 12345

    /****************temic*********t5557***********************************/    #include   <at892051.h>     #include   <string.h>    #include   <intrins.h>     #include   <stdio.h>     #define    uchar    unsigned char     #define    uint     unsigned int     #define    ulong    unsigned long     //STC12C2051AD的SFR定义     sfr  WDT_CONTR = 0xe1;//stc2051的看门狗??????     /**********全局常量************/    //写卡的命令     #define    write_command0       0//写密码     #define    write_command1       1//写配置字     #define    write_command2       2//密码写数据     #define    write_command3       3//唤醒     #define    write_command4       4//停止命令     #define    TRUE       1     #define    FALSE      0     #define    OK         0     #define    ERROR      255     //读卡的时间参数us     #define ts_min          250//270*11.0592/12=249//取近似的整数     #define ts_max          304//330*11.0592/12=304     #define t1_min          73//90*11.0592/12=83:-10调整     #define t1_max          156//180*11.0592/12=166     #define t2_min          184//210*11.0592/12=194     #define t2_max          267//300*11.0592/12=276     //***********不采用中断处理:采用查询的方法读卡时关所有中断****************/     sbit p_U2270B_Standby = P3^5;//p_U2270B_Standby PIN=13     sbit p_U2270B_CFE = P3^3;//p_U2270B_CFE     PIN=6     sbit p_U2270B_OutPut = P3^7;//p_U2270B_OutPut  PIN=2     sbit wtd_sck = P1^7;//SPI总线     sbit wtd_si = P1^3;    sbit wtd_so = P1^2;    sbit iic_data = P1^2;//lcd IIC     sbit iic_clk = P1^7;    sbit led_light = P1^6;//测试绿灯     sbit led_light1 = P1^5;//测试红灯     sbit led_light_ok  = P1^1;//读卡成功标志     sbit fengmingqi = P1^5;    /***********全局变量************************************/       uchar data Nkey_a[4] = {0xA0, 0xA1, 0xA2, 0xA3};//初始密码             //uchar idata card_snr[4];   //配置字     uchar data bankdata[28] = {1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7};     //存储卡上用户数据(1-7)7*4=28     uchar data cominceptbuff[6] = {1,2,3,4,5,6};//串口接收数组ram     uchar command; //第一个命令     uchar command1;//     //uint  temp;     uchar j,i;    uchar myaddr = 8;    //uchar ywqz_count,time_count;             //ywqz jishu:     uchar bdata DATA;    sbit BIT0 = DATA^0;    sbit BIT1 = DATA^1;    sbit BIT2 = DATA^2;    sbit BIT3 = DATA^3;    sbit BIT4 = DATA^4;    sbit BIT5 = DATA^5;    sbit BIT6 = DATA^6;    sbit BIT7 = DATA^7;    uchar bdata DATA1;    sbit BIT10 = DATA1^0;    sbit BIT11 = DATA1^1;    sbit BIT12 = DATA1^2;    sbit BIT13 = DATA1^3;    sbit BIT14 = DATA1^4;    sbit BIT15 = DATA1^5;    sbit BIT16 = DATA1^6;    sbit BIT17 = DATA1^7;    bit i_CurrentLevel;//i_CurrentLevel  BIT 00H(Saves current level of OutPut pin of U2270B)     bit timer1_end;    bit read_ok = 0;    //缓存定时值,因用同一个定时器     union HLint { uint W;    struct   {    uchar H;uchar L;   }   B; };//union HLint idata a     union HLint data a;    //缓存定时值,因用同一个定时器     union HLint0 { uint W;    struct {   uchar H;   uchar L; } B; };//union HLint idata a     union HLint0 data b;    /**********************函数原型*****************/    //读写操作     void f_readcard(void);//全部读出1~7 AOR唤醒     void f_writecard(uchar x);//根据命令写不同的内容和操作     void f_clearpassword(void);//清除密码     void f_changepassword(void);//修改密码     //功能子函数     void write_password(uchar data *data p);//写初始密码或数据     void write_block(uchar x,uchar data *data p);//不能用通用指针     void write_bit(bit x);//写位     /*子函数区*****************************************************/    void delay_2(uint x)    //延时,时间x*10us@12mhz,最小20us@12mhz     {    x--; x--;    while(x)    {      _nop_();      _nop_();      x--;    }    _nop_();//WDT_CONTR=0X3C;不能频繁的复位     _nop_();    }    /////////////////////////////////////////////////////////////////////     void initial(void)    {    SCON = 0x50; //串口方式1,允许接收     //SCON  =0x50;     //01010000B:10位异步收发,波特率可变,SM2=0不用接收到有效停止位才RI=1,     //REN=1允许接收     TMOD = 0x21; //定时器1 定时方式2(8位),定时器0 定时方式1(16位)     TCON = 0x40; //设定时器1 允许开始计时(IT1=1)     TH1 = 0xfD;  //FB 18.432MHz 9600 波特率     TL1 = 0xfD;  //fd 11.0592 9600     IE = 0X90;     //EA=ES=1     TR1 = 1;     //启动定时器     WDT_CONTR = 0x3c;//使能看门狗     p_U2270B_Standby = 0;//单电源     PCON = 0x00;    IP = 0x10;//uart you xian XXXPS PT1 PX1 PT0 PX0     led_light1 = 1;    led_light = 0;    p_U2270B_OutPut = 1;    }    /************************************************/    void f_readcard()//读卡     {    EA = 0;//全关,防止影响跳变的定时器计时     WDT_CONTR = 0X3C;//喂狗     p_U2270B_CFE = 1;//      delay_2(232);  //>2.5ms            /*   //   aor    用唤醒功能来防碰撞   p_U2270B_CFE = 0; delay_2(18);//start gap>150us   write_bit(1);//10=操作码读0页   write_bit(0);       write_password(&bankdata[24]);//密码block7   p_U2270B_CFE =1 ;//    delay_2(516);//编程及确认时间5.6ms   */    WDT_CONTR = 0X3C;//喂狗     led_light = 0;    b.W = 0;    while(!(read_ok == 1))    {             //while(p_U2270B_OutPut);//等一个稳定的低电平?超时判断?              while(!p_U2270B_OutPut);//等待上升沿的到来同步信号检测1       TR0 = 1;      //deng xia jiang       while(p_U2270B_OutPut);//等待下降沿       TR0 = 0;   a.B.H = TH0;   a.B.L = TL0;   TH0 = TL0 = 0;   TR0 = 1;//定时器晚启动10个周期       //同步头       if((324 < a.W) && (a.W < 353)) ;//检测同步信号1                  else     {     TR0 = 0;     TH0 = TL0 = 0;     goto read_error;    }      //等待上升沿        while(!p_U2270B_OutPut);   TR0 = 0;   a.B.H = TH0;   a.B.L = TL0;   TH0 = TL0 = 0;   TR0 = 1;//b.N1<<=8;            if(a.B.L < 195);//0.5p       else     {     TR0 = 0;     TH0 = TL0 = 0;     goto read_error;    }      //读0~7块的数据       for(j = 0;j < 28;j++)      {       //uchar i;                  for(i = 0;i < 16;i++)//8个位        {        //等待下降沿的到来         while(p_U2270B_OutPut);                TR0 = 0;     a.B.H = TH0;     a.B.L = TL0;     TH0 = TL0 = 0;     TR0 = 1;              if(t2_max < a.W/*)&&(a.W < t2_max)*/)//1P          {         b.W >>= 2;//先左移再赋值          b.B.L += 0xc0;                             i++;        }        else if(t1_min < a.B.L/*)&&(a.B.L < t1_max)*/)//0.5p         {         b.W >>= 1;         b.B.L += 0x80;                           }        else      {      TR0 = 0;      TH0 = TL0 = 0;      goto read_error;     }        i++;        while(!p_U2270B_OutPut);//上升                   TR0 = 0;     a.B.H = TH0;     a.B.L = TL0;     TH0 = TL0 = 0;     TR0 = 1;                      if(t2_min < a.W/*)&&(a.W < t2_max)*/)//1P          {         b.W >>= 2;         i++;        }        else if(t1_min < a.B.L/*a.W)&&(a.B.L < t1_max)*/)//0.5P         //else if(!(a.W==0))         {         b.W >>= 1;         //temp+=0x00;          //led_light1=0;led_light=1;delay_2(40000);         }        else      {      TR0 = 0;      TH0 = TL0 = 0;      goto read_error;     }        i++;       }       //取出奇位        DATA = b.B.L;       BIT13 = BIT7;    BIT12 = BIT5;    BIT11 = BIT3;    BIT10 = BIT1;       DATA = b.B.H;       BIT17 = BIT7;    BIT16 = BIT5;    BIT15 = BIT3;    BIT14 = BIT1;       bankdata[j] = DATA1;      }              read_ok = 1;//读卡完成了     read_error:    _nop_();    }       }    /***************************************************/    void f_writecard(uchar x)//写卡     {    p_U2270B_CFE = 1;    delay_2(232);  //>2.5ms            //psw=0 standard write     if (x == write_command0)//写密码:初始化密码     {      uchar i;      uchar data *data p;      p = cominceptbuff;      p_U2270B_CFE = 0;   delay_2(31);//start gap>330us       write_bit(1);//写操作码1:10       write_bit(0);//写操作码0       write_bit(0);//写锁定位0       for(i = 0;i < 35;i++)      {       write_bit(1);//写数据位1       }      p_U2270B_CFE = 1;      led_light1 = 0;   led_light = 1;   delay_2(40000);//测试使用       //write_block(cominceptbuff[4],p);       p_U2270B_CFE = 1;      bankdata[20] = cominceptbuff[0];//密码存入       bankdata[21] = cominceptbuff[1];      bankdata[22] = cominceptbuff[2];      bankdata[23] = cominceptbuff[3];    }    else if (x == write_command1)//配置卡参数:初始化     {      uchar data *data p;      p = cominceptbuff;      write_bit(1);//写操作码1:10       write_bit(0);//写操作码0       write_bit(0);//写锁定位0               write_block(cominceptbuff[4],p);      p_U2270B_CFE=  1;    }    //psw=1  pssword mode     else if(x == write_command2)  //密码写数据    {      uchar data*data p;      p = &bankdata[24];      write_bit(1);//写操作码1:10       write_bit(0);//写操作码0       write_password(p);//发口令       write_bit(0);//写锁定位0       p = cominceptbuff;      write_block(cominceptbuff[4],p);//写数据            }    else if(x == write_command3)//aor    //唤醒 {      //cominceptbuff[1]操作码10 X xxxxxB       uchar data *data p;      p = cominceptbuff;      write_bit(1);//10       write_bit(0);             write_password(p);//密码       p_U2270B_CFE = 1;//此时数据不停的循环传出     }    else //停止操作码     {      write_bit(1);//11       write_bit(1);             p_U2270B_CFE = 1;         }    p_U2270B_CFE = 1;    delay_2(560);//5.6ms     }    /************************************/    void f_clearpassword()//清除密码     {    uchar data *data p;    uchar i,x;          p = &bankdata[24];//原密码     p_U2270B_CFE = 0; delay_2(18);//start gap>150us     //操作码10:10xxxxxxB     write_bit(1);    write_bit(0);              for(x = 0;x < 4;x++)//发原密码     {             DATA = *(p++);      for(i = 0;i < 8;i++)      {       write_bit(BIT0);       DATA >>= 1;      }    }    write_bit(0);//锁定位0:0     p = &cominceptbuff[0];    write_block(0x00,p);//写新配置参数:pwd=0             //密码无效:即清除密码     DATA = 0x00;//停止操作码00000000B     for(i = 0;i < 2;i++)    {    write_bit(BIT7);    DATA <<= 1;    }    p_U2270B_CFE = 1;       delay_2(560);//5.6ms     }    /*********************************/    void f_changepassword()//修改密码            {       uchar data *data p;    uchar i,x,addr;    addr = 0x07;//block7     p = &Nkey_a[0];//原密码     DATA = 0x80;//操作码10:10xxxxxxB     for(i = 0;i < 2;i++)    {      write_bit(BIT7);      DATA <<= 1;    }    for(x = 0;x < 4;x++)//发原密码     {             DATA = *(p++);      for(i = 0;i < 8;i++)      {       write_bit(BIT7);       DATA >>= 1;      }    }    write_bit(0);//锁定位0:0     p = &cominceptbuff[0];    write_block(0x07,p);//写新密码     p_U2270B_CFE = 1;    bankdata[24] = cominceptbuff[0];//密码存入     bankdata[25] = cominceptbuff[1];    bankdata[26] = cominceptbuff[2];    bankdata[27] = cominceptbuff[3];    DATA = 0x00;//停止操作码00000000B     for(i = 0;i < 2;i++)    {      write_bit(BIT7);      DATA <<= 1;    }    p_U2270B_CFE = 1;       delay_2(560);//5.6ms     }    /***************************子函数***********************************/    void write_bit(bit x)//写一位     {    if(x)    {      p_U2270B_CFE = 1;   delay_2(32);//448*11.0592/120=42延时448us       p_U2270B_CFE = 0;   delay_2(28);//280*11.0592/120=26写1     }    else    {      p_U2270B_CFE = 1;   delay_2(92);//192*11.0592/120=18       p_U2270B_CFE = 0;   delay_2(28);//280*11.0592/120=26写0     }    }    /*******************写一个block*******************/    void write_block(uchar addr,uchar data *data p)    {    uchar i,j;        for(i = 0;i < 4;i++)//block0数据     {             DATA = *(p++);      for(j = 0;j < 8;j++)      {       write_bit(BIT0);       DATA >>= 1;      }    }    DATA = addr <<= 5;//0地址     for(i = 0;i < 3;i++)    {      write_bit(BIT7);      DATA <<= 1;    }                   }    /*************************************************/    void write_password(uchar data *data p)    {    uchar i,j;        for(i = 0;i < 4;i++)//     {             DATA = *(p++);      for(j = 0;j < 8;j++)      {       write_bit(BIT0);       DATA >>= 1;      }    }        }   /*************************************************/   void main()    {    initial();    TI = RI = 0;    ES = 1;    EA = 1;  delay_2(28);   //f_readcard();     while(1) {   f_readcard();      //读卡   f_writecard(command1);  //写卡    f_clearpassword();   //清除密码     f_changepassword();    //修改密码 } }

    标签: 12345

    上传时间: 2017-10-20

    上传用户:my_lcs

  • java入门编程合集

    题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?    //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println("第1个月的兔子对数:    1"); System.out.println("第2个月的兔子对数:    1"); int f1 = 1, f2 = 1, f, M=24;      for(int i=3; i<=M; i++) {       f = f2;       f2 = f1 + f2;       f1 = f;       System.out.println("第" + i +"个月的兔子对数: "+f2);          } } } 【程序2】    题目:判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。    public class lianxi02 { public static void main(String[] args) {     int count = 0;     for(int i=101; i<200; i+=2) {      boolean b = false;      for(int j=2; j<=Math.sqrt(i); j++)      {         if(i % j == 0) { b = false; break; }          else           { b = true; }      }         if(b == true) {count ++;System.out.println(i );}                                   }     System.out.println( "素数个数是: " + count); } } 【程序3】    题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。 public class lianxi03 { public static void main(String[] args) {      int b1, b2, b3; 

    标签: java 编程

    上传时间: 2017-12-24

    上传用户:Ariza

  • 学生成绩管理

    #include<stdio.h> #include<windows.h> int xuanxiang; int studentcount; int banjihao[100]; int xueqihao[100][10]; char xm[100][100]; int xuehao[100][10]; int score[100][3]; int yuwen; int shuxue[000]; int yingyu[100]; int c[100]; int p; char x[1000][100]="",y[100][100]="";/*x学院 y专业 z班级*/  int z[100];  main() { void input(); void inputsc(); void alter(); void scbybannji(); printf("--------学生成绩管理-----\n"); printf("请按相应数字键来实现相应功能\n"); printf("1.录入学生信息   2.录入学生成绩       3.修改学生成绩\n"); printf("4.查询学生成绩   5.不及格科目及名单   6.按班级输出学生成绩单\n"); printf("请输入你要实现的功能所对应的数字:"); scanf("%d",&xuanxiang); system("cls"); getchar(); switch (xuanxiang) { case 1:input(); case 2:inputsc(); case 3:alter(); /*case 4:select score(); case 5:bujigekemujimingdan();*/ case 6:scbybanji; } } void input() { int i; printf("请输入你的学院名称:"); gets(x); printf("请输入你的专业名称:"); gets(y); printf("请输入你的班级号:"); scanf("%d",&z); printf("请输入你们一个班有几个人:"); scanf("%d",&p); system("cls"); for(i=0;i<p;i++) { printf("请输入第%d个学生的学号:",i+1); scanf("%d",xuehao[i]); getchar(); printf("请输入第%d个学生的姓名:",i+1); gets(xm[i]); system("cls"); } printf("您已经录入完毕您的班级所有学生的信息!\n"); printf("您的班级为%s%s%s\n",x,y,z); /*alter(p);*/ } void inputsc() { int i; for(i=0;i<p;i++) { printf("\n"); printf("--------------------------------------------------------------------------------\n\n"); printf("\t\t\t\t录入学生的成绩\n\n\n"); printf("--------------------------------------------------------------------------------\n\n"); printf("\t\t\t\t%s\n",xm[i]); printf("\n"); printf("\t\t\t\t数学:"); scanf("%d",&shuxue[i]); printf("\n"); getchar(); printf("\t\t\t\t英语:"); scanf("%d",&yingyu[i]); printf("\n"); getchar(); printf("\t\t\t\tc语言:"); scanf("%d",&c[i]); system("cls"); } } void alter() { int i;/*循环变量*/ int m[10000];/*要查询的学号*/ int b;/*修改后的成绩*/ char kemu[20]=""; printf("请输入你要修改的学生的学号"); scanf("%d",&m); for (i=0;i<p;i++) { if (m==xuehao[i]) { printf("%s的数学成绩为%d,英语成绩为%d,c语言成绩为%d,xm[i],shuxue[i],yingyu[i],c[i]");  printf("请输入你想修改的科目");} } gets(kemu); getchar(); if (kemu=="数学"); { scanf("%d",&b); shuxue[i]=b;} if (kemu=="英语"); { scanf("%d",&b); yingyu[i]=b;} if (kemu=="c语言"); { scanf("%d",&b); c[i]=b; } printf("%s的数学成绩为%d,英语成绩为%d,c语言成绩为%d,xm[i],shuxue[i],yingyu[i],c[i]"); } void scbybannji() { int i; char zyname[20]; int bjnumber; printf("请输入你的专业名称"); scanf("%s",&zyname); printf("请输入你的班级号"); scanf("%d",&bjnumber); for (i=0;i<p;i++) { if (zyname==y[i]); if (bjnumber==z[i]); printf("专业名称%s班级号%d数学成绩%d英语成绩%dc语言成绩%d,y[i],z[i],shuxue[i],yingyu[i],c[i]"); } }

    标签: c语言

    上传时间: 2018-06-08

    上传用户:2369043090

  • 基于最小二乘法和硬件在环平台的永磁同步电机参数辨识

    针对永磁同步电机多个参数同时辨识时会出现欠秩的情况, 介绍了在 dq 坐标系下采用最小二乘法将多个参数分开辨识的方法。在硬件在环平台上采用该方法对电阻、电感和磁链进行了辨识。最后进一步考虑到电阻和磁链受温度的影响大, 进行了考虑温升的电阻和磁链的辨识。经验证, 该方法可以比较准确地辨识出电机参数。

    标签: 最小二乘法 参数辨识 硬件 永磁同步电机

    上传时间: 2019-12-05

    上传用户:ni952777

  • 八选一模拟开关CD4051参考电路

    八选一模拟开关CD4051参考电路:以TI公司的模拟开关IC芯片CD4051为核心元件的八选一模拟开关电路设计。该设计使用了SMA接口用于选通模拟信号,板子的数字地与模拟地用0欧磁珠隔离,关键信号使用弧形走线,以保证信号质量。为了便于单片机易于驱动CD4051的三个数选端A0, A1, A2和一个禁止端INH,板子用LM324与三极管组成串联稳压功率放大电路,以解决CD4051在供电正电压大于5V时,数字信号输入3.3V无法被识别为高电平的问题。同时本设计还利用平拨开关实现单片机控制和人工控制的切换,在人工模式下可以通过改变跳帽位置实现八选一中任意一路选通。在单片机控制模式下跳帽作用失效,由三个数选端控制选通信道。注意事项:附件资源包括Kicad工程文件,Gerber文件和BOM。电路双电源供电,供电电压受CD4051限制,可参考其数据手册。推荐-5V,0,+12V供电以发挥板上功率放大和CD4051的最大用途。

    标签: 模拟开关 cd4051 功率放大

    上传时间: 2021-10-19

    上传用户:bluedrops

  • (网盘)300本Python电子书

    |- 数据科学速查表 - 0 B|- 迁移学习实战 - 0 B|- 零起点Python机器学习快速入门 - 0 B|- 《深度学习入门:基于Python的理论与实现》高清中文版PDF+源代码 - 0 B|- 《Python生物信息学数据管理》中文版PDF+英文版PDF+源代码 - 0 B|- 《Python深度学习》2018中文版pdf+英文版pdf+源代码 - 0 B|- 《Python编程:从入门到实践》中文版+源代码 - 0 B|- stanford machine learning - 0 B|- Python语言程序设计2018版电子教案 - 0 B|- Python网络编程第三版 (原版+中文版+源代码) - 0 B|- Python机器学习实践指南(中文版带书签)、原书代码、数据集 - 0 B|- python官方文档 - 0 B|- Python编程(第4版 套装上下册) - 0 B|- PyQt5快速开发与实战(pdf+源码) - 0 B|- linux - 0 B|- 征服PYTHON-语言基础与典型应用.pdf - 67.40 MB|- 与孩子一起学编程_中文版_详细书签.pdf - 69.10 MB|- 用Python做科学计算.pdf - 6.10 MB|- 用Python写网络爬虫.pdf - 9.90 MB|- 用Python进行自然语言处理(中文翻译NLTK).pdf - 4.40 MB|- 像计算机科学家那样思考 Python中文版第二版.pdf - 712.00 kB|- 网络爬虫-Python和数据分析.pdf - 6.90 MB|- 图解机器学习.pdf - 59.40 MB|- 凸优化.pdf - 5.70 MB|- 数据挖掘导论.pdf - 2.50 MB|- 数据科学入门.pdf - 13.30 MB|- 数据结构与算法__Python语言描述_裘宗燕编著_北京:机械工业出版社_,_2016.01_P346.pdf - 74.30 MB|- 神经网络与深度学习.pdf - 92.60 MB|- 深入Python3...

    标签: python

    上传时间: 2022-06-06

    上传用户:

  • 智能称重系统的设计资料

    智能称重系统的设计资料要以微控制器为控制核心,通过称重传感器实现对灌装气体重量的自动检测及控制,但普遍存在称重精度不高、功能不全等问题。本文旨在以高性能STC11F32XE 单片机为控制核心,设计出高精度数据采集、宽温度工作范围的智能燃气灌装称重系统。1 系统硬件电路设计1. 1 整体硬件电路设计燃气灌装称重控制系统主要包括: 信号采集、信号调理、灌装过程控制、数据显示等模块。其中的信号调理模块对传感器的mV 输入信号进行滤波、放大、A/D 转换后送入单片机STC11F32XE 进行处理; 电源电压电路给各模块电路提供数字5 V 和模拟5 V 直流电压; 数码管显示器、键盘、蜂鸣器及指示灯构成人机交互模块; 温度传感器DS18B20 采集环境温度供传感器温度补偿时使用( 见图1) 。1. 2 信号采集及调理电路据设计要求,称重传感器选用铝合金悬臂梁结构的应变片式传感器,其有效的最大输出在20 mV以内,为了拓展其A/D 转换器的满量程有效利用范围,需要对其进行差动放大。同时,为了提高其抗干扰能力,对传感器输出信号进行二阶低通滤波, IN -和IN + 为传感器输出的差动信号,S3 和S4 是磁珠,对高频干扰信号有一定的抑制作用; 运算放大器采用精密双运放OP2177,放大电路的放大倍数由R10、R31 和RG1 决定

    标签: 智能称重系统

    上传时间: 2022-07-24

    上传用户:

  • 燃气灌装称重系统的设计资料

    介绍了基于 STC11F32XE 和 A / D 转换器 ADS1230 的燃气灌装称重系统,并提出了其硬件电路设计和软件设计流程。该系统具有对传感器进行温度误差补偿、自动校准等功能。通过试验证明,该系统具有测量精度高、稳定可靠等优点。近年来,国内燃气灌装设备已部分实现智能化,主要以微控制器为控制核心,通过称重传感器实现对灌装气体重量的自动检测及控制,但普遍存在称重精度不高、功能不全等问题。本文旨在以高性能STC11F32XE 单片机为控制核心,设计出高精度数据采集、宽温度工作范围的智能燃气灌装称重系统。1 系统硬件电路设计1. 1 整体硬件电路设计燃气灌装称重控制系统主要包括: 信号采集、信号调理、灌装过程控制、数据显示等模块。其中的信号调理模块对传感器的mV 输入信号进行滤波、放大、A/D 转换后送入单片机STC11F32XE 进行处理; 电源电压电路给各模块电路提供数字5 V 和模拟5 V 直流电压; 数码管显示器、键盘、蜂鸣器及指示灯构成人机交互模块; 温度传感器DS18B20 采集环境温度供传感器温度补偿时使用( 见图1) 。1. 2 信号采集及调理电路据设计要求,称重传感器选用铝合金悬臂梁结构的应变片式传感器,其有效的最大输出在20 mV以内,为了拓展其A/D 转换器的满量程有效利用范围,需要对其进行差动放大。同时,为了提高其抗干扰能力,对传感器输出信号进行二阶低通滤波, IN -和IN + 为传感器输出的差动信号,S3 和S4 是磁珠,对高频干扰信号有一定的抑制作用; 运算放大器采用精密双运放OP2177,放大电路的放大倍数由R10、R31 和RG1 决定。调理电路如图2 所示。

    标签: 燃气灌装称重系统

    上传时间: 2022-07-29

    上传用户:

  • 磁芯电感器的谐波失真分析

    磁芯电感器的谐波失真分析 摘  要:简述了改进铁氧体软磁材料比损耗系数和磁滞常数ηB,从而降低总谐波失真THD的历史过程,分析了诸多因数对谐波测量的影响,提出了磁心性能的调控方向。 关键词:比损耗系数, 磁滞常数ηB ,直流偏置特性DC-Bias,总谐波失真THD  Analysis on THD of the fer rite co res u se d i n i nductancShi Yan Nanjing Finemag Technology Co. Ltd., Nanjing 210033   Abstract:    Histrory of decreasing THD by improving the ratio loss coefficient and hysteresis constant of soft magnetic ferrite is briefly narrated. The effect of many factors which affect the harmonic wave testing is analysed. The way of improving the performance of ferrite cores is put forward.  Key words: ratio loss coefficient,hysteresis constant,DC-Bias,THD  近年来,变压器生产厂家和软磁铁氧体生产厂家,在电感器和变压器产品的总谐波失真指标控制上,进行了深入的探讨和广泛的合作,逐步弄清了一些似是而非的问题。从工艺技术上采取了不少有效措施,促进了质量问题的迅速解决。本文将就此热门话题作一些粗浅探讨。  一、 历史回顾 总谐波失真(Total harmonic distortion) ,简称THD,并不是什么新的概念,早在几十年前的载波通信技术中就已有严格要求<1>。1978年邮电部公布的标准YD/Z17-78“载波用铁氧体罐形磁心”中,规定了高μQ材料制作的无中心柱配对罐形磁心详细的测试电路和方法。如图一电路所示,利用LC组成的150KHz低通滤波器在高电平输入的情况下测量磁心产生的非线性失真。这种相对比较的实用方法,专用于无中心柱配对罐形磁心的谐波衰耗测试。 这种磁心主要用于载波电报、电话设备的遥测振荡器和线路放大器系统,其非线性失真有很严格的要求。  图中  ZD   —— QF867 型阻容式载频振荡器,输出阻抗 150Ω, Ld47 —— 47KHz 低通滤波器,阻抗 150Ω,阻带衰耗大于61dB,       Lg88 ——并联高低通滤波器,阻抗 150Ω,三次谐波衰耗大于61dB Ld88 ——并联高低通滤波器,阻抗 150Ω,三次谐波衰耗大于61dB FD   —— 30~50KHz 放大器, 阻抗 150Ω, 增益不小于 43 dB,三次谐波衰耗b3(0)≥91 dB, DP  —— Qp373 选频电平表,输入高阻抗, L ——被测无心罐形磁心及线圈, C  ——聚苯乙烯薄膜电容器CMO-100V-707APF±0.5%,二只。 测量时,所配用线圈应用丝包铜电磁线SQJ9×0.12(JB661-75)在直径为16.1mm的线架上绕制 120 匝, (线架为一格) , 其空心电感值为 318μH(误差1%) 被测磁心配对安装好后,先调节振荡器频率为 36.6~40KHz,  使输出电平值为+17.4 dB, 即选频表在 22′端子测得的主波电平 (P2)为+17.4 dB,然后在33′端子处测得输出的三次谐波电平(P3), 则三次谐波衰耗值为:b3(+2)= P2+S+ P3 式中:S 为放大器增益dB 从以往的资料引证, 就可以发现谐波失真的测量是一项很精细的工作,其中测量系统的高、低通滤波器,信号源和放大器本身的三次谐波衰耗控制很严,阻抗必须匹配,薄膜电容器的非线性也有相应要求。滤波器的电感全由不带任何磁介质的大空心线圈绕成,以保证本身的“洁净” ,不至于造成对磁心分选的误判。 为了满足多路通信整机的小型化和稳定性要求, 必须生产低损耗高稳定磁心。上世纪 70 年代初,1409 所和四机部、邮电部各厂,从工艺上改变了推板空气窑烧结,出窑后经真空罐冷却的落后方式,改用真空炉,并控制烧结、冷却气氛。技术上采用共沉淀法攻关试制出了μQ乘积 60 万和 100 万的低损耗高稳定材料,在此基础上,还实现了高μ7000~10000材料的突破,从而大大缩短了与国外企业的技术差异。当时正处于通信技术由FDM(频率划分调制)向PCM(脉冲编码调制) 转换时期, 日本人明石雅夫发表了μQ乘积125 万为 0.8×10 ,100KHz)的超优铁氧体材料<3>,其磁滞系数降为优铁

    标签: 磁芯 电感器 谐波失真

    上传时间: 2014-12-24

    上传用户:7891