2011年8月19日星期五

Arduino软件生成遥控方波与AUX遥控器原始方波的对比

这篇博客是前面AUX遥控器红外信号分析的续篇。

由于红外协议有好几种,功力原因,分析起来比较困难,因此权衡之后,还是决定采取用软件方式,模拟AUX空调的遥控信号。

前面博文分析得出结论是,帧与帧之间的间隔(这个词语可能跟标准术语有区别,在此是指相邻的下降沿和上升沿之间的间隔时间)是760us,源代码中设置的间隔为912us,这个数字是综合考虑delay以及源程序中其它指令的耗时等因素,以及考察红外方波波形之后计算所得。

而实际产生的波形与遥控器的原始波形之间,存在比较大的差异,而且这个差异比较怪异,
  1. 整个信号宽度比原始信号要宽出一截(见图1);
  2. 1T、2T波形的宽度有比较大的差距,比原始信号要宽(见图2);
  3. 4T比原始信号宽度要窄(见图3);
  4. 两个9T信号之间几乎没有差别(见图3)。
图1

图2

图3



源代码:


char *strOpen="000000000111101101101010101011011011011011010101010110101010101011011011011010101101010101010101010101011010101010101010101010101010101101010101010101010101010101010101010101010101010110101010101010101101101101101011010101010101010101101101010110";

int lenOfOpen =246;
unsigned int openCode[246];
int pinOut= 28;

void setup()
{
  pinMode(pinOut,OUTPUT);
  Serial.begin(9600);
  StringToArray();

}

void StringToArray()
{
  int i;
  char c;

  for (i=0; i<lenOfOpen; i++)
  {
    c= strOpen[i];

    //Serial.print(c);
    //Serial.print('|');


    if (c=='1')
      openCode[i]=1;
    else
      openCode[i]=0;

    //debug mode
    //Serial.println(openCode[i]);

  }
}

void loop()
{
  int i;
  for (i=0; i< lenOfOpen; i++)
  {
    digitalWrite(pinOut, openCode[i]);
    delayMicroseconds(912);
    //Serial.println(openCode[i]);
  }
}

需要重新计算间隔时间。


2011年8月15日星期一

Arduino中digitalWrite的一点疑惑

做Blink试验时,就曾经有点疑惑,digitalWrite往某个pin写入HIGH或LOW之后,该pin的状态是如何维护的呢?用万用表量输出脚的电压时,HIGH状态时是4.90v,LOW状态时是0.00v,但是示波器查看到的波形却有点不一致:

pin13电压波形图


采集到的电压峰值为正负0.3v,中间处于0v上下
从图上看出,状态设置为HIGH or LOW之后,该输出脚的状态处在一个中间值,而并不是一直处于HIGH or LOW,跟万用表量到的数据似乎有点矛盾。

源代码:

int P13=13;
boolean val=true;
void setup()
{
  pinMode(P13,OUTPUT);
  Serial.begin(96000);
}

void loop()
{
  if (val)
    digitalWrite(P13,HIGH);
  else
    digitalWrite(P13,LOW);
  delay(1500);
  val = !val;
  //Serial.println(val);
}


2011年8月13日星期六

AUX立式空调遥控器红外线波形分析

在网上找了一个红外线逻辑分析电路,做了一个分析器,今天拿它捕捉了AUX遥控器的开机信号,波形图如下,第一个图是全部波形,由于太长,后面的放大图分成了多个。

全部波形













高位之间的间隔为0.76ms


第一帧是宽度为9的低位信号,接着是一个宽度为4的高位,接着便是其它信号。

4,2,2,1,1,1,1,2,2,2,2,2,1,1,1,1,2,1,1,1,1,1,2,2,2,2,1,1,2,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,2,2,2,1,2,1,1,1,1,1,1,1,1,2,2,1,1,2


关机波形

关机信号方波


声音信号


信号分析:

第一帧也是9个宽度的地位,紧接着是:(2*6表示6个2个宽度的高位)
4,2,2,1,1,1,1,2 * 5,1,1,2,1,2,2,2,1,1,1,2,2,2,1,2,1 * 12,2,1 * 14,2,1 * 31, 2 * 4, 1,2,1 * 7, 2,1,2,1,1,2



2011年8月11日星期四

常见三极管参数(转帖)

因为要经常用到下面的一些三极管,所以帖在此备查。原帖也是转来的,最早是谁的也无从知晓。下面的地址是离我最近的,呵呵


9011 NPN 30V 30mA 400mW 150MHz 放大倍数20-80
9012 PNP 50V 500mA 600mW 低频管 放大倍数30-90
9013 NPN 20V 625mA 500mW 低频管 放大倍数40-110
9014 NPN 45V 100mA 450mW 150MHz 放大倍数20-90
9015 PNP 45V 100mA 450mW 300MHz 放大倍数 几百
9016 NPN 20V 25mA 400mW 620MHz 放大倍数20-90
9018 NPN 15V 50mA 400mW 620MHz 放大倍数20-90
8050 NPN 25V 700mA 200mW 150MHz 放大倍数30-100
8550 PNP 40V 1500mA 1000mW 200MHz 放大倍数40-140
详情如下:
90系列三极管参数
90系列三极管大多是以90字为开头的,但也有以ST90、C或A90、S90、SS90、UTC90开头的,它们的特性及管脚排列都是一样的。
9011 结构:NPN
集电极-发射极电压 30V
集电极-基电压 50V
射极-基极电压 5V
集电极电流 0.03A
耗散功率 0.4W
结温 150℃
特怔频率 平均 370MHZ
放大倍数:D28-45 E39-60 F54-80 G72-108 H97-146 I132-198
9012 结构:PNP
集电极-发射极电压 -30V
集电极-基电压 -40V
射极-基极电压 -5V
集电极电流 0.5A
耗散功率 0.625W
结温 150℃
特怔频率 最小 150MHZ
放大倍数:D64-91 E78-112 F96-135 G122-166 H144-220 I190-300
9013 结构:NPN
集电极-发射极电压 25V
集电极-基电压 45V
射极-基极电压 5V
集电极电流 0.5A
耗散功率 0.625W
结温 150℃
特怔频率 最小 150MHZ
放大倍数:D64-91 E78-112 F96-135 G122-166 H144-220 I190-300
9014 结构:NPN
集电极-发射极电压 45V
集电极-基电压 50V
射极-基极电压 5V
集电极电流 0.1A
耗散功率 0.4W
结温 150℃
特怔频率 最小 150MHZ
放大倍数:A60-150 B100-300 C200-600 D400-1000
9015 结构:PNP
集电极-发射极电压 -45V
集电极-基电压 -50V
射极-基极电压 -5V
集电极电流 0.1A
耗散功率 0.45W
结温 150℃
特怔频率 平均 300MHZ
放大倍数:A60-150 B100-300 C200-600 D400-1000
9016 结构:NPN
集电极-发射极电压 20V
集电极-基电压 30V
射极-基极电压 5V
集电极电流 0.025A
耗散功率 0.4W
结温 150℃
特怔频率 平均 620MHZ
放大倍数:D28-45 E39-60 F54-80 G72-108 H97-146 I132-198
9018 结构:NPN
集电极-发射极电压 15V
集电极-基电压 30V
射极-基极电压 5V
集电极电流 0.05A
耗散功率 0.4W
结温 150℃
特怔频率 平均 620MHZ
放大倍数:D28-45 E39-60 F54-80 G72-108 H97-146 I132-198
三极管8550
8550是一种常用的普通三极管。
它是一种低电压,大电流,小信号的PNP型硅三极管
集电极-基极电压Vcbo:-40V
工作温度:-55℃ to +150℃
和8050(NPN)相对
主要用途: 开关应用,射频放大
三极管8050
8050是常用的NPN小功率三级管,下面是的8050引脚图参数资料。
8050三级管参数:类型:开关型; 极性:NPN; 材料:硅; 最大集存器电流(A):0.5 A; 直流电增益:10 to 60; 功耗:625 mW; 最大集存器发射电(VCEO):25; 频率:150 KHz
PE8050 硅 NPN 30V 1.5A 1.1W
3DG8050 硅 NPN 25V 1.5A FT=190 *K
2SC8050 硅 NPN 25V 1.5A FT=190 *K
MC8050 硅 NPN 25V 700mA 200mW 150MHz
CS8050 硅 NPN 25V 1.5A FT=190 *K

2011年8月5日星期五

声卡示波器

Aduino群的Ansifa介绍了贼简单的基于声卡的示波器,其实就是用10k/100欧姆电阻分压,然后通过声卡采集大约0.02v的电压,用录音软件把电压波形显示出来,由于通常的声音采样频率为192000Hz,足够玩arduino的。





附电路PCB图

左边接测量头,中间接音频插头