블로그 이미지
Leeway is... the freedom that someone has to take the action they want to or to change their plans.
maetel

Notice

Recent Post

Recent Comment

Recent Trackback

Archive

calendar

1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
  • total
  • today
  • yesterday

Category

2009. 12. 22. 13:38 Hardware

'Hardware' 카테고리의 다른 글

[RISD] Sensing, Materials, and Embodied Interaction  (0) 2008.08.08
TLV320AIC23BRHDR  (0) 2008.05.20
[Noah Shibley] eagle PCB  (0) 2008.04.01
smd toast oven  (0) 2008.03.24
Wiring board + 가속도 센서 시리얼 통신 테스트  (0) 2007.01.03
posted by maetel
2008. 8. 16. 22:31 Hardware/network



08-07-24

long CSGLSDlg::lCom_RcvData( WPARAM wParam, LPARAM lParam )
{
 if(Rvd_flag)
 {
  register int nRcvSize = (int)lParam; // data length
 
  for( int i=0;i<nRcvSize;i++)
  {   
   data1[i]=m_Commthread->g_byRcvBuf[i];
   fprintf(_fp1,"%02X\t",data1[i]);
  }

  fprintf(_fp1,"\n");
  m_nData++;
  UpdateData(FALSE);
 }
 return 1;
 
}


08-07-27

long CSGLSDlg::lCom_RcvData( WPARAM wParam, LPARAM lParam )
{

 if(Rvd_flag)
 {
  register int nRcvSize = (int)lParam; // data length

  for( int i=0;i<nRcvSize;i++)
  {   
   data1[i]=m_Commthread->g_byRcvBuf[i];
   fprintf(_fp1,"%02X\t",data1[i]);
  }

  if((ByteCount+nRcvSize) >= 25)
  {
   ByteCount = ByteCount - 25;
  }

  for(i=0;i<nRcvSize;i++)
  {
   if((ByteFlag==false)&&(data1[i]==250))
   {
    IdenFlag = true;
    StartIden[0] = data1[i];
   }
   else
   {
    if(IdenFlag==true)
    {
     if(data1[i] == 175)
     {
      StartIden[1] = data1[i];
     }
     else if(data1[i] == 32)
     {
      StartIden[2] = data1[i];
     }
     else if(data1[i] == 170)
     {
      StartIden[3] = data1[i];
      IdenFlag = false;
      ByteFlag = true;
     }
    }
    else
    {
     if(((ByteCount+i)==16)&&(ByteFlag==true))
     {
      Magneto[0] = data1[i];
      // ByteFlag = false;
      fprintf(_fp2,"%02X\t",Magneto[0]);
     }
     else if(((ByteCount+i)==17)&&(ByteFlag==true))
     {
      Magneto[1] = data1[i];
      // ByteFlag = false;
      fprintf(_fp2,"%02X\t",Magneto[1]);
     }
     else if(((ByteCount+i)==18)&&(ByteFlag==true))
     {
      Magneto[2] = data1[i];
      // ByteFlag = false;
      fprintf(_fp2,"%02X\t",Magneto[2]);
     }
     else if(((ByteCount+i)==19)&&(ByteFlag==true))
     {
      Magneto[3] = data1[i];
      // ByteFlag = false;

      fprintf(_fp2,"%02X\t",Magneto[3]);
     }
     else if(((ByteCount+i)==20)&&(ByteFlag==true))
     {
      Magneto[4] = data1[i];
      // ByteFlag = false;
      fprintf(_fp2,"%02X\t",Magneto[4]);
     }
     else if(((ByteCount+i)==21)&&(ByteFlag==true))
     {
      Magneto[5] = data1[i];
      fprintf(_fp2,"%02X\t",Magneto[5]);
      ByteFlag = false;
     }    
    } // else
   } // else
  } // for

  ByteCount = ByteCount + nRcvSize;

  fprintf(_fp1,"\n");
  fprintf(_fp2,"\n");
  m_nData++;
  UpdateData(FALSE);
 }
 return 1;
}


08-08-11

long CSGLSDlg::lCom_RcvData( WPARAM wParam, LPARAM lParam )
{   // check
 if(Rvd_flag)
 {
  register int nRcvSize = (int)lParam; // data length

  for( int i=0;i<nRcvSize;i++)
  {   
   data1[i]=m_Commthread->g_byRcvBuf[i];
   fprintf(_fp1,"%02X\t",data1[i]);
  }

  if((ByteCount+nRcvSize) >= 25)
  {
   ByteCount = ByteCount - 25;
  }

  for(i=0;i<nRcvSize;i++)
  {
   if((ByteFlag==false)&&(data1[i]==250))
   {
    IdenFlag = true;
    StartIden[0] = data1[i];
   }
   else
   {
    if(IdenFlag==true)
    {
     if(data1[i] == 175)
     {
      StartIden[1] = data1[i];
     }
     else if(data1[i] == 32)
     {
      StartIden[2] = data1[i];
     }
     else if(data1[i] == 170)
     {
      StartIden[3] = data1[i];
      IdenFlag = false;
      ByteFlag = true;
     }
    }
    else
    {
     if(((ByteCount+i)==16)&&(ByteFlag==true))
     {
      Magneto[0] = data1[i];
      // ByteFlag = false;
      fprintf(_fp2,"%02X\t",Magneto[0]);

      temp_m = Magneto[0]>>4;
      temp_l = Magneto[0]<<4;
      bit_order = temp_m | temp_l;
      fprintf(_fp2,"%02x\t",bit_order);
     }
     else if(((ByteCount+i)==17)&&(ByteFlag==true))
     {
      Magneto[1] = data1[i];
      // ByteFlag = false;
      fprintf(_fp2,"%02X\t",Magneto[1]);

      temp_m = Magneto[1]>>4;
      temp_l = Magneto[1]<<4;
      bit_order = temp_m | temp_l;
      fprintf(_fp2,"%02x\t",bit_order);
     }
     else if(((ByteCount+i)==18)&&(ByteFlag==true))
     {
      Magneto[2] = data1[i];
      // ByteFlag = false;
      fprintf(_fp2,"%02X\t",Magneto[2]);

      temp_m = Magneto[2]>>4;
      temp_l = Magneto[2]<<4;
      bit_order = temp_m | temp_l;
      fprintf(_fp2,"%02x\t",bit_order);
     }
     else if(((ByteCount+i)==19)&&(ByteFlag==true))
     {
      Magneto[3] = data1[i];
      // ByteFlag = false;
      fprintf(_fp2,"%02X\t",Magneto[3]);

      temp_m = Magneto[3]>>4;
      temp_l = Magneto[3]<<4;
      bit_order = temp_m | temp_l;
      fprintf(_fp2,"%02x\t",bit_order);
     }
     else if(((ByteCount+i)==20)&&(ByteFlag==true))
     {
      Magneto[4] = data1[i];
      // ByteFlag = false;
      fprintf(_fp2,"%02X\t",Magneto[4]);

      temp_m = Magneto[4]>>4;
      temp_l = Magneto[4]<<4;
      bit_order = temp_m | temp_l;
      fprintf(_fp2,"%02x\t",bit_order);
     }
     else if(((ByteCount+i)==21)&&(ByteFlag==true))
     {
      Magneto[5] = data1[i];
      fprintf(_fp2,"%02X\t",Magneto[5]);
      ByteFlag = false;

      temp_m = Magneto[5]>>4;
      temp_l = Magneto[5]<<4;
      bit_order = temp_m | temp_l;
      fprintf(_fp2,"%02x\t",bit_order);
     }    
    } // else
   } // else
  } // for

  ByteCount = ByteCount + nRcvSize;

  fprintf(_fp1,"\n");
  fprintf(_fp2,"\n");
  m_nData++;
  UpdateData(FALSE);
 }
 return 1;
}





08-08-12

unsigned char bit_more;
unsigned char bit_less;
//unsigned char bit_order;

unsigned short int Magneto_x;
unsigned short int Magneto_y;
unsigned short int Magneto_z;


long CSGLSDlg::lCom_RcvData( WPARAM wParam, LPARAM lParam )
{
 if(Rvd_flag)
 {
  register int nRcvSize = (int)lParam; // data length

  for( int i=0;i<nRcvSize;i++)
  {   
   data1[i]=m_Commthread->g_byRcvBuf[i];
   fprintf(_fp1,"%02X\t",data1[i]);
  }

  if((ByteCount+nRcvSize) >= 25)
  {
   ByteCount = ByteCount - 25;
  }

  for(i=0;i<nRcvSize;i++)
  {
   if((ByteFlag==false)&&(data1[i]==250))
   {
    IdenFlag = true;
    StartIden[0] = data1[i];
   }
   else
   {
    if(IdenFlag==true)
    {
     if(data1[i] == 175)
     {
      StartIden[1] = data1[i];
     }
     else if(data1[i] == 32)
     {
      StartIden[2] = data1[i];
     }
     else if(data1[i] == 170)
     {
      StartIden[3] = data1[i];
      IdenFlag = false;
      ByteFlag = true;
     }
    }
    else
    {
     if(((ByteCount+i)==16)&&(ByteFlag==true))
     {
      Magneto[0] = data1[i];
      // ByteFlag = false;
      fprintf(_fp2,"%02X\t",Magneto[0]);

      bit_more = Magneto[0]>>4;
      bit_less = Magneto[0]<<4;
      Magneto[0] = bit_more | bit_less;
//      fprintf(_fp2,"%02x\t",Magneto[0]);
     }
     else if(((ByteCount+i)==17)&&(ByteFlag==true))
     {
      Magneto[1] = data1[i];
      // ByteFlag = false;
      fprintf(_fp2,"%02X\t",Magneto[1]);

      bit_more = Magneto[1]>>4;
      bit_less = Magneto[1]<<4;
      Magneto[1] = bit_more | bit_less;
//      fprintf(_fp2,"%02x\t",Magneto[1]);
     }
     else if(((ByteCount+i)==18)&&(ByteFlag==true))
     {
      Magneto[2] = data1[i];
      // ByteFlag = false;
      fprintf(_fp2,"%02X\t",Magneto[2]);

      bit_more = Magneto[2]>>4;
      bit_less = Magneto[2]<<4;
      Magneto[2] = bit_more | bit_less;
//      fprintf(_fp2,"%02x\t",Magneto[2]);
     }
     else if(((ByteCount+i)==19)&&(ByteFlag==true))
     {
      Magneto[3] = data1[i];
      // ByteFlag = false;
      fprintf(_fp2,"%02X\t",Magneto[3]);

      bit_more = Magneto[3]>>4;
      bit_less = Magneto[3]<<4;
      Magneto[3] = bit_more | bit_less;
//      fprintf(_fp2,"%02x\t",Magneto[3]);
     }
     else if(((ByteCount+i)==20)&&(ByteFlag==true))
     {
      Magneto[4] = data1[i];
      // ByteFlag = false;
      fprintf(_fp2,"%02X\t",Magneto[4]);

      bit_more = Magneto[4]>>4;
      bit_less = Magneto[4]<<4;
      Magneto[4] = bit_more | bit_less;
//      fprintf(_fp2,"%02x\t",Magneto[4]);
     }
     else if(((ByteCount+i)==21)&&(ByteFlag==true))
     {
      Magneto[5] = data1[i];
      fprintf(_fp2,"%02X\t",Magneto[5]);
      ByteFlag = false;

      bit_more = Magneto[5]>>4;
      bit_less = Magneto[5]<<4;
      Magneto[5] = bit_more | bit_less;
//      fprintf(_fp2,"%02x\t",Magneto[5]);
     }    
    } // else
   } // else
  } // for

//  fprintf(_fp3,"%02X%\t%02X\t",Magneto[0],Magneto[1]);
//  fprintf(_fp3,"%02X%\t%02X\t",Magneto[2],Magneto[3]);
//  fprintf(_fp3,"%02X%\t%02X\t",Magneto[4],Magneto[5]);

  Magneto_x = (Magneto[0]<<8) | Magneto[1];
  Magneto_y = (Magneto[2]<<8) | Magneto[3];
  Magneto_z = (Magneto[4]<<8) | Magneto[5];

  fprintf(_fp3,"Magneto_x=%02X\t", Magneto_x);
  fprintf(_fp3,"Magneto_y=%02X\t", Magneto_y);
  fprintf(_fp3,"Magneto_z=%02X\t", Magneto_z);

  ByteCount = ByteCount + nRcvSize;

  fprintf(_fp1,"\n");
  fprintf(_fp2,"\n");
  fprintf(_fp3,"\n");
  m_nData++;
  UpdateData(FALSE);
 }
 return 1;
}



08-08-16 20:42
- log1.txt가 FA AF 20 AA로 시작하지 않으면, log2.txt에 한 번에 3개씩 (6개가 아니라) 저장된다. 이때 한 주기의 16번(17번째) byte부터 읽는 것이 아니라 무조건 처음에 들어온 데이터로부터 16번(17번째) byte를 읽기 시작한다.


08-08-17 02:22

Microsoft Visual C++ Debug Library

Debug Assertion Failed!

Program: ...\SGLS.exe
File: wincore.cpp
Line: 958

For information on how your program can cause an assertion failure, see the Visual C++ documentation on asserts.
(Press Retry to debug the aaplication)

http://forums.msdn.microsoft.com/en-US/vcgeneral/thread/0f287b5f-c1e1-4cd9-a0f0-a418def88edd/



* 변수들의 초기값 설정은 OnInitDialog()에서 한다.



'Hardware > network' 카테고리의 다른 글

UART (범용 비동기화 송수신기)  (0) 2008.07.02
bluetooth on Mac  (0) 2008.06.17
Video Tracking on PC  (0) 2007.08.11
posted by maetel
2008. 8. 8. 10:19 Hardware

'Hardware' 카테고리의 다른 글

RF Design House (RF 엔지니어 커뮤니티)  (0) 2009.12.22
TLV320AIC23BRHDR  (0) 2008.05.20
[Noah Shibley] eagle PCB  (0) 2008.04.01
smd toast oven  (0) 2008.03.24
Wiring board + 가속도 센서 시리얼 통신 테스트  (0) 2007.01.03
posted by maetel
2008. 8. 2. 16:34

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

2008. 8. 2. 15:45 Hardware/sensors

'Hardware > sensors' 카테고리의 다른 글

[월간 전자기술] 센서의 활용  (0) 2008.08.02
Motion Tracker MT9  (0) 2008.07.28
WSN (Wireless Sensor Network)  (0) 2007.01.19
sensor terms  (0) 2007.01.19
accelerometer 가속도 센서 - MMA7260Q datasheet  (0) 2006.12.14
posted by maetel
2008. 7. 28. 10:56 Hardware/sensors
http://xsens.com/en/products/human_motion/mtx.php



Platform: Windows 2000/XP (1)
Output:
• 3D orientation
o Quaternions
o Euler Angles (xyz)
o Rotation Matrix
• 3D rate of turn
• 3D acceleration
• 3D magnetic field strength
• Temperature

Dynamic Range: all angles in 3D
Angular Resolution: 0.05° RMS (2)
Static Accuracy: <1° (3)
Dynamic Accuracy: 3° RMS (4)
Turn On Time: 50 ms (5)
Sample Frequency: 100 Hz (6)


http://en.wikipedia.org/wiki/Quaternion

http://en.wikipedia.org/wiki/Euler_angles

*** http://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation

*** http://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles

http://en.wikipedia.org/wiki/ECEF

ECEF stands for Earth-Centered, Earth-Fixed, and is a Cartesian coordinate system used for GPS, and is sometimes known as a "conventional terrestrial" system[1]. It represents positions as an X, Y, and Z coordinate. The point (0,0,0) denotes the mass center of the earth, hence the name Earth-Centered. The z-axis is defined as being parallel to the earth rotational axes, pointing towards north. The x-axis intersects the sphere of the earth at the 0° latitude, 0° longitude. This means the ECEF rotates with the earth around its z-axis. Therefore, coordinates of a point fixed on the surface of the earth do not change, hence the name earth-fixed.

http://www.aerojockey.com/papers/meng/node7.html

http://en.wikipedia.org/wiki/Random_walk

http://en.wikipedia.org/wiki/Comma-separated_values


MT9 Sensor Fact Table
Accelerometers - Solid state, capacitative readout
Rate of turn sensor 'Gyroscope' - Solid state, “tuning fork concept”
Magnetometer - Thin film magnetoresistive

http://en.wikipedia.org/wiki/Capacitor

http://en.wikipedia.org/wiki/Tuning_fork

http://en.wikipedia.org/wiki/Magnetoresistance


RS-232 Serial Connection Settings
Setting: Value
Bits/second: 115200
Data bits: 8
Parity: none
Stop bits: 1
Flow control: none


http://en.wikipedia.org/wiki/Endianness

In computing, endianness is the byte (and sometimes bit) ordering used to represent some kind of data. Typical cases are the order in which integer values are stored as bytes in computer memory (relative to a given memory addressing scheme) and the transmission order over a network or other medium. When specifically talking about bytes, endianness is also referred to simply as byte order.

http://en.wikipedia.org/wiki/Endianness#Big-endian


http://www.webopedia.com/TERM/b/baud.html


Data packet MT9
Preamble (2B) Sensor ID (2B) Accelerometer (6B)Gyroscoop (6B) Magneto (6B) Temperature (2B) Checksum (1B)


Physical Specifications overview
Interface: Serial digital (RS-232/RS-485)
Operating Voltage: 6 V (adapter included)
Power Consumption: 35 mA
Temperature Operating Range: 5°C - 45°C
Outline Dimensions: 39 x 54 x 28 mm (W x L x H)


http://www.xsens.com/en/support/faq/mti_mtig_and_mtx.php#3.1

3 Sensor hardware Topics

3.1 Q: What are the measurement principles of the physical sensors in the MTi / MTx?
A: Rate of turn sensors (gyros):
MEMS, solid state, “vibrating structure" concept.
Linear accelerometers: MEMS, solid state, capacitative readout.
Magnetic field sensors: Thin-film magneto-resistive.


3.2 Q: What is the accelerometer range of the MTi / MTx?
A: The standard version of the MTx/MTi comes with 5g accelerometers (±50 m/s2 range). Full scales of 1.7g and 10g are available as well. Please, contact us at info@xsens.com if you need other specifications.


3.3 Q: Can I disconnect/connect the MTi / MTx as I please?
A: Yes. But keep in mind that for optimal accuracy the electronics of the MTi / MTx should be 'warmed up' for about 10-15 minutes.


3.4 Q: What kind of anti-aliasing (low-pass) filters does the MTx/MTi have?
A:What kind of anti-aliasing (low-pass) filters does the MTx/MTi have?
A: To avoid aliasing the MT uses low-pass (LP) filters on all inertial data channels (not on temperature and magnetometers). The filters used are effective second order and are available in different cut-off frequencies depending on your requirements. The standard MT is delivered with 40 Hz LP on the rate-of-turn sensors and 30 Hz LP on the accelerometers.


3.5 Q: Is there a USB version of the MTi / MTx?
A: The MTi and MTx are delivered with an Xsens USB Converter. The communication from sensor to USB Converter can be either RS-232, RS-422 or RS-485.


3.6 Q: What is the connector type on the MT inertial measurement unit (IMU)?
A: For the MTx the connector type is 'Binder 719'. For the MTi the connector type is ‘ODU L-series 7’. Pin-definitions are listed in the MTi and MTx User Manual. Please contact Xsens (info@xsens.com) and we will send you a copy.

3.7 Q: What are the pin definitions on the connectors (to save us buzzing the MT out)?
A:The pin-definitions are listed in the MTi and MTx User Manual. Please contact Xsens (info@xsens.com) and we will send you a copy.


3.8 Q: When you say that your MT samples at 100 Hz, does that mean that each sensor (accelerometers, gyroscope, etc.) is sampling at 100 Hz or that the total throughput is 100 Hz—i.e. that the true sampling rate is 100/number of sensors?
A: When we say 100 Hz we mean that each sensor channel is sampled at 100 Hz, so actually for the MT 10 channels of data (3D accelerometer, 3D rate of turn, 3D magnetometer and temperature) are transmitted at 100 Hz, some would call it 1000 Hz throughput.


3.9 Q: Is it possible to connect the MTx/MTi to a PocketPC?
A:Yes, most PocketPC's support standard RS232 input (mostly with supplied RS232 synch cable) so you can develop software for the PocketPC using binary data from the MTi or MTx or log the inertial data on the PocketPC (please contact us if you would like to receive a simple binary datalogger for the PocketPC).

Using the Xbus Master you can also easily connect to a PocketPC using Bluetooth.


firmware
http://webopedia.com/TERM/f/firmware.html
Software (programs or data) that has been written onto read-only memory (ROM). Firmware is a combination of software and hardware. ROMs, PROMs and EPROMs that have data or programs recorded on them are firmware.

http://en.wikipedia.org/wiki/Firmware

In computing, firmware is a computer program that is embedded in a hardware device, for example a microcontroller. It can also be provided on flash memory or as a binary image file that can be uploaded onto existing hardware by a user.

As its name suggests, firmware is somewhere between hardware and software. Like software, it is a computer program which is executed by a microprocessor or a microcontroller. But it is also tightly linked to a piece of hardware, and has little meaning outside of it.


http://terms.empas.com/dicsearch/view.html?i=3018166
①처리 과정 동안 컴퓨터에 의해 동적으로 변경이 불가능한 부류의 기억 장치에 적재된 컴퓨터 프로그램과 자료들.
②사용자 입장에서 변경할 수 없는 컴퓨터 프로그램과 자료가 들어 있는 하드웨어. 즉, 펌웨어에 들어 있는 컴퓨터 프로그램과 자료는 소프트웨어로 분류되고, 그 프로그램과 자료가 들어 있는 전기 회로는 하드웨어로 분류된다.
③읽기용 기억 장치(ROM)에 저장된 프로그램 명령어들.
④정상적인 동작을 하는 동안에는 변하지 않는, 기능적 개체를 구성하고 있는 컴퓨터 프로그램과 하드웨어가 1개의 단위로 이루어진 집합체. 그 하드웨어 단위에 저장된 컴퓨터 프로그램은 특정한 응용이나 작용에 맞는 요구를 만족시킬 고정된 논리 윤곽을 가진 집적 회로(IC)로서 저장된다.

'Hardware > sensors' 카테고리의 다른 글

[월간 전자기술] 센서의 활용  (0) 2008.08.02
myGyro300SPI  (0) 2008.08.02
WSN (Wireless Sensor Network)  (0) 2007.01.19
sensor terms  (0) 2007.01.19
accelerometer 가속도 센서 - MMA7260Q datasheet  (0) 2006.12.14
posted by maetel
2008. 7. 25. 14:49 Hardware/circuitry
전자응용과 기계장치제어
졸업작품 만들기 (II)


안희백

Ohm사
, 2006


15-26쪽:
트랜지스터와 FET의 스위칭


트랜지스터 - BJT, UJT, FET

BJT
= Bipolar Junction Transistor
eg. KTC3198, 2SD880, KSE13003

UJT
= Unjunction Transistor

FET
= Field Effect Transistor
eg. IRF830, MC1596



BJT

입력 - Base 전류
출력 - Collector 전류

h_FE = 출력 전류 / 입력 전류

BJT를 증폭기로 사용하여 입력전압에 대해 출력전압을 증폭하게 되는데 이때 트랜지스커에 연결된 저항에 의해 전류가 전압으로 환산될 뿐 트랜지스터 그 자체에는 전압증폭이란 존재하지 않는다.

http://en.wikipedia.org/wiki/BJT



FET

입력 - Gate 전압
출력 - Drain 전압

transconductance = 출력 전류 / 입력 전압

BJT에서는 베이스 전류가 없이는 절대 동작하지 않지만 FET에서는 전류가 아닌 게이트 전압으로 동작되므로 입력에 전류가 흐르지 않아도 된다. 그래서 BJT로 만들어진 것은 전력소모가 많고 FET로 만들어진 것은 전력소모가 적게 된다. (이것은 표준 논리 게이트도 마찬가지여서 TTL은 전력소모가 많지만 CMOS는 전력소모가 적다.)

http://en.wikipedia.org/wiki/Field_effect_transistor


MOS FET
http://en.wikipedia.org/wiki/MOSFET

SMPS
http://en.wikipedia.org/wiki/Switched-mode_power_supply


23쪽
회로에서의 가변저항에는 직류전류가 흐르면 안 된다. 그러므로 전류가 흘러야만 동작되는 트랜지스터로는 스위칭이 곤란하며 전류없이 전압만으로 동작하는 FET가 이 경우에 적격이다.



posted by maetel
2008. 7. 2. 02:04 Hardware/network

http://www.webopedia.com/TERM/U/UART.html

Pronounced u-art, and short for universal asynchronous receiver-transmitter, the UART is a computer component that handles asynchronous serial communication. Every computer contains a UART to manage the serial ports, and some internal modems have their own UART.

As modems have become increasingly fast, the UART has come under greater scrutiny as the cause of transmission bottlenecks. If you are purchasing a fast external modem, make sure that the computer's UART can handle the modem's maximum transmission rate. The newer 16550 UART contains a 16-byte buffer, enabling it to support higher transmission rates than the older 8250 UART.


http://en.wikipedia.org/wiki/UART

a piece of computer hardware that translates data between parallel and serial forms.

A UART is usually an individual (or part of an) integrated circuit used for serial communications over a computer or peripheral device serial port. UARTs are now commonly included in microcontrollers.



http://terms.empas.com/dicsearch/view.html?i=3006728

범용 비동기화 송수신기 (汎用非同期化送受信機)
컴퓨터의 비동기 직렬 통신을 처리하는 프로그램. 보통 마이크로칩으로 실현되며, RS-232C DTE 인터페이스를 제공하여, 모뎀이나 기타 다른 직렬 장치들과 통신하거나 데이터를 주고받을 수 있게 한다. UART는 병렬 데이터를 직렬 비트 스트림으로 변환, 또는 복원하고, 패리티 비트를 추가하거나 패리티를 검출, 제거하며, 비동기 통신을 위해 시작 비트와 정지 비트를 추구하고 삭제하는 기능들을 수행한다. 또한, UART 직렬 통신 측의 속도와 중앙 처리 장치(CPU) 속도에는 큰 차이가 있어 완충기(buffer)를 내장하기도 한다.

'Hardware > network' 카테고리의 다른 글

RS232 data communication - MT9  (0) 2008.08.16
bluetooth on Mac  (0) 2008.06.17
Video Tracking on PC  (0) 2007.08.11
posted by maetel
2008. 6. 29. 03:54 Hardware/circuitry
posted by maetel
2008. 6. 29. 03:04 Hardware/mC

WinAVRTM (pronounced "whenever") is a suite of executable, open source software development tools for the Atmel AVR series of RISC microprocessors hosted on the Windows platform. It includes the GNU GCC compiler for C and C++.
http://winavr.sourceforge.net/

Portable WinAVR is based on the regular WinAVR suite of software development tools for the Atmel AVR microprocessor series and is preconfigured to run directly from any removable medium (e.g. USB memory stick) without prior installation.

http://www.chip45.com/PortableWinAVR


'Hardware > mC' 카테고리의 다른 글

what is a microcontroller (student guide)  (0) 2008.06.09
SAM7-H256  (0) 2008.03.17
Arduino board  (0) 2007.11.17
AVR  (0) 2007.07.24
serial ports on Wiring board  (0) 2006.12.01
posted by maetel
2008. 6. 17. 03:41 Hardware/network

'Hardware > network' 카테고리의 다른 글

RS232 data communication - MT9  (0) 2008.08.16
UART (범용 비동기화 송수신기)  (0) 2008.07.02
Video Tracking on PC  (0) 2007.08.11
posted by maetel
2008. 6. 9. 17:58 Hardware/mC
http://www.parallax.com/

invalid-file

what is a microcontroller (student guide)


'Hardware > mC' 카테고리의 다른 글

winAVR  (0) 2008.06.29
SAM7-H256  (0) 2008.03.17
Arduino board  (0) 2007.11.17
AVR  (0) 2007.07.24
serial ports on Wiring board  (0) 2006.12.01
posted by maetel
2008. 5. 26. 21:49 Hardware/circuitry
posted by maetel
2008. 5. 20. 15:56 Hardware
TLV320AIC23BRHDR
datasheet here

2008-05-20 불 낮 @가브리엘 507: noah

baking-a-circuit practice!
we made a nice team work but we baked the oven also.
소화기 사용법 익혀 둘 것. ㅡㅡ;;;;



posted by maetel
2008. 4. 8. 02:44 Hardware/elements

'Hardware > elements' 카테고리의 다른 글

transducer  (0) 2007.07.25
servo motor  (0) 2007.07.25
2467S datasheet  (0) 2007.07.24
pin header  (0) 2007.01.07
regulator KA78R33 datasheet  (0) 2006.12.15
posted by maetel
2008. 4. 1. 14:54 Hardware

1. install X11 for Mac OSX 10.4
2. install Eagle PCB
    http://www.cadsoft.de
 

ZEUS EMTEK Co., Ltd
#81 Guro 2 Dong, Guro-Gu, Seoul, Korea
Phone: +82 (0)2 856-8246, Fax: +82 (0) 867-8246
URL: www.emulator.co.kr
Email: zeus@emulator.co.kr

eagle
file>new>schematic

add>
(*add 리스트에 원하는 장치가 없을 때에는
http://cadsoft.de의 download 페이지에서 제조회사 이름으로 찾아 본다.)

R-Trimm은 potentiometer (가변 저항)이다.


'Hardware' 카테고리의 다른 글

[RISD] Sensing, Materials, and Embodied Interaction  (0) 2008.08.08
TLV320AIC23BRHDR  (0) 2008.05.20
smd toast oven  (0) 2008.03.24
Wiring board + 가속도 센서 시리얼 통신 테스트  (0) 2007.01.03
soldering  (0) 2006.12.14
posted by maetel
2008. 3. 24. 19:36 Hardware
informed by noah
smd toast oven


'Hardware' 카테고리의 다른 글

TLV320AIC23BRHDR  (0) 2008.05.20
[Noah Shibley] eagle PCB  (0) 2008.04.01
Wiring board + 가속도 센서 시리얼 통신 테스트  (0) 2007.01.03
soldering  (0) 2006.12.14
testing serial  (0) 2006.12.10
posted by maetel
2008. 3. 17. 15:59 Hardware/mC
(informed by Noah)
ARM Development Boards
KitKorea 상품
ARM J Tag


'Hardware > mC' 카테고리의 다른 글

winAVR  (0) 2008.06.29
what is a microcontroller (student guide)  (0) 2008.06.09
Arduino board  (0) 2007.11.17
AVR  (0) 2007.07.24
serial ports on Wiring board  (0) 2006.12.01
posted by maetel
2007. 12. 4. 14:05 Hardware/material

LED Pixel Cloud illuminates office atrium
http://www.ledsmagazine.com/news/4/11/2
posted by maetel
2007. 11. 17. 13:31 Hardware/mC
사용자 삽입 이미지

Arduino-Diecimila schematic

'Hardware > mC' 카테고리의 다른 글

what is a microcontroller (student guide)  (0) 2008.06.09
SAM7-H256  (0) 2008.03.17
AVR  (0) 2007.07.24
serial ports on Wiring board  (0) 2006.12.01
testing Wiring board  (0) 2006.08.16
posted by maetel
2007. 8. 11. 12:35 Hardware/network
library for p5:
1) JMyron: http://webcamxtra.sourceforge.net
    -> library (for intel mac): http://www.jibberia.com/projects
2) LibCV - alternative video capture for Processing: http://toxi.co.uk/p5/libcv  (mac에서는 안 되는 것으로 보임. JMF)

http://processing.org/reference/libraries/video/index.html

1) Ken Perlin's Physical Media (Graduate), Spring 2006: VIDEO TRACKING WORKING IN PROCESSING

2) Dan O'Sullivan's Physical Computing: ProcVid: Video Tracking in Processing


vdig for QT on windows:
http://www.abstractplane.com/products/vdig.jsp
http://blog.maxray.net/index.php?pl=183
http://a.parsons.edu/~getFrame/students/jacqueline/src/WinVDIG.exe

macam on mac:
http://webcam-osx.sourceforge.net
http://www.vimicro.com/english/product/pc003.htm
Damian at appleforum: "UVC라는 표준규격을 만족하는 웹캠은 별도의 드라이버 없이 Mac OS X 10.4.3 이후 버젼에서 바로 인식한다고 하는 군요. macam 홈페이지에서도 해당 모델을 확인할 수 있습니다. 다만, 이런 모델들은 10만원 대에서 가격이 형성되어 있어 iSight와 큰 차이가 없습니다."

USB 연장선
http://en.wikipedia.org/wiki/USB#Version_history
http://www.icoda.co.kr/i_product/pro_view.html?it_num=67368
리피터 (5m 이상일 경우): http://www.icoda.co.kr/i_product/pro_view.html?it_num=80036


related projects:
http://itp.nyu.edu/%7Edbo3/proj/index.htm#webcam


* (informed by 오동훈)
USB 연장선으로 노이즈가 발생할 정도로 긴 거리에서라면 1394용 카메라를 써야 한다. (약 50만원 안팎)
http://www.cylod.com/



'Hardware > network' 카테고리의 다른 글

RS232 data communication - MT9  (0) 2008.08.16
UART (범용 비동기화 송수신기)  (0) 2008.07.02
bluetooth on Mac  (0) 2008.06.17
posted by maetel
2007. 7. 25. 12:32 Hardware/elements

'Hardware > elements' 카테고리의 다른 글

TDA 2002  (0) 2008.04.08
servo motor  (0) 2007.07.25
2467S datasheet  (0) 2007.07.24
pin header  (0) 2007.01.07
regulator KA78R33 datasheet  (0) 2006.12.15
posted by maetel
2007. 7. 25. 12:24 Hardware/elements
http://en.wikipedia.org/wiki/Servomechanism


servo, is a device used to provide control of a desired operation through the use of feedback. 


servomechanism |ˈsərvōˌmekəˌnizəm| |ˈsərvoʊˌmɛkəˌnɪzəm|
noun
a powered mechanism producing motion or forces at a higher level of energy than the input level, e.g., in the brakes and steering of large motor vehicles, esp. where feedback is employed to make the control automatic.


http://www.seattlerobotics.org/guide/servos.html

A Servo is a small device that has an output shaft. This shaft can be positioned to specific angular positions by sending the servo a coded signal. As long as the coded signal exists on the input line, the servo will maintain the angular position of the shaft. As the coded signal changes, the angular position of the shaft changes.


http://www.openservo.com


openservo_2.1_schematic.png



http://www.societyofrobots.com/actuators_servos.shtml


http://en.wikipedia.org/wiki/Electric_motor




http://en.wikipedia.org/wiki/Control_theory


PWM = Pulse-width modulation


RC servos

: The servo is controlled by three wires: ground (black/orange), power (red) and control (brown/other colour) and will move based on the pulses sent over the control wire. The servo expects a pulse every 20 ms, or 0.02 s in order to gain correct information about the angle. The width of the servo pulse dictates the range of the servo's angular motion.


http://en.wikipedia.org/wiki/Motion_control


http://www.rane.com/par-s.html#servo_loopservo-loop; servo-locked loop; servo-mechanism A self-regulating feedback system or mechanism. Typically a feedback system consisting of a sensing element, an amplifier, and a (servo)motor, used in the automatic control of a mechanical device (such as a loudspeaker). In audio, usually the name applies to a class of electronic control circuits comprised of an amplifier and a feedback path from the output signal that is compared with a reference signal. This topology creates an error signal that is the difference between the reference and the output signal. The error signal causes the output to do whatever is necessary to reduce the error to zero. A loudspeaker system with motional feedback is such a system. A sensor is attached to the speaker cone and provides a feedback signal that is compared against the driving signal to create more accurate control of the loudspeaker. Another example is Rane's servo-locked limiter™ which is an audio peak limiter circuit where the output is compared against a reference signal (the threshold setting) creating an error signal that reduces the gain of the circuit until the error is zero.


'Hardware > elements' 카테고리의 다른 글

TDA 2002  (0) 2008.04.08
transducer  (0) 2007.07.25
2467S datasheet  (0) 2007.07.24
pin header  (0) 2007.01.07
regulator KA78R33 datasheet  (0) 2006.12.15
posted by maetel

AVR

2007. 7. 24. 16:52 Hardware/mC
http://en.wikipedia.org/wiki/Atmel_AVR

http://www.atmel.com/products/avr/

http://www.avrfreaks.net/



invalid-file

ATmega128 datasheet (summary)

invalid-file

ATmega128 datasheet



'Hardware > mC' 카테고리의 다른 글

SAM7-H256  (0) 2008.03.17
Arduino board  (0) 2007.11.17
serial ports on Wiring board  (0) 2006.12.01
testing Wiring board  (0) 2006.08.16
Wiring board  (0) 2006.08.16
posted by maetel
2007. 7. 24. 14:24 Hardware/elements

'Hardware > elements' 카테고리의 다른 글

transducer  (0) 2007.07.25
servo motor  (0) 2007.07.25
pin header  (0) 2007.01.07
regulator KA78R33 datasheet  (0) 2006.12.15
RS-232 Serial Board  (0) 2006.12.06
posted by maetel