Monday, May 26, 2014

Reverse Engineering R622-LCD 160x65 with 10 ICONs Graphic LCD

정체를 알 수 없는 Graphic LCD입니다.

Surplus LCDs




Dimensions

가로 7.5Cm x 세로 6Cm x 두께  0.4Cm




Reverse Engineering

포장 박스에 있는 표기와, PCB에 있는 표기 모두 검색해보았지만 Datasheet를 찾을 수 없었습니다
다행히 LCD Controller는 식별 가능해, 그 정보를 바탕으로 Reverse Engineering을 하였습니다
D1560TQA는 EPSON사 SED1560 TCP(tape carrier package) 타입입니다
사진으로 보니 상당히 아름답습니다


EPSON사 SED1560의  핀 위치와 Pad정보를 바탕으로 핀넘버를 파악하였습니다



            


최종결과


백라이트는 5V 구동시 전류 제한 저항은 50옴 정도 사용하시면 될거 같습니다

Schematic



Download



주의사항

아래 빨간 표시 부분은 외부 충격을 받을 경우 PCB의 날카로운 면에 의해 손상이 일어납니다
손상시 복구가 불가능하므로 세심한 주의가 필요합니다

손상시 증상


후일담

SED1560 Datasheet를 분석해보니 Serial 제어도 지원하더군요
전통적인 Parallel 방식은 선이 최소 12가닥이 필요하지만, Serial 방식은 선이 2가닥만 있으면 LCD제가 가능하므로 상당히 매력적입니다
기능은 제공, PCB 일부를 끊고 연결하면 될거라 판단, 바로 실행에 옮겼습니다


PCB 패턴을 중간에 끊고, 잇는 과정에서 납땜 불량발생
제가 가지고있는 연장으로는 불가능하다 판단, 원복하는 과정에서 납땜 불량, 쇼트...
파손으로 이어져 결국 폐기....


어차피 고장난거.. 분해를 해보니.. 뒷면에 RICHO사 마크가 보이더군요
RICOH사 휴대용 사무기기에 들어가는 LCD인거 같습니다 

Monday, May 12, 2014

Encoder with velocity sense & 4Digit 7Segment LED Tutorial

Encoder with velocity sense

Rotary Encoder와 4 Digit 7-Segment 활용하기

버튼 4~5개가 해야 할일을 단 1개로 수행할 수 있으니 무척 유용한 부품입니다
0초에서 99분99초까지 타이머 설정을 7-Segment에 표시하는 예제입니다

기본 동작은 크게 3가지 입니다
1.오른쪽 회전 : 증가
2.왼쪽 회전 : 감소
3.버튼을 누를 경우 : Run/Stop (실제 타이머 동작은 하지 않습니다)

Encoder with velocity sense
음향 볼륨의 경우 한바퀴 혹은 두바퀴면  Max/Min 으로 이동 가능하지만
시간설정같이 이동 범위가 넓다면 Encoder knob를 여러번 돌려야 하는 불편함이 있습니다
이 문제를 해결하기위해 천천히 돌릴경우 최소단위(1초) 증가/감소
빠르게 돌릴경우엔 가중치(ENC_INC_SCALE)  를 주어 빠르게 이동하는 방법을 사용합니다

















회전속도가 44mSec 이상인 경우 1초씩 증가, 이하 인경우  30초씩 증가하도록 
구현되어있습니다, 가중치는 ENC_INC_SCALE 값을 통해 조정가능합니다 (Default : 30초)
// Default Up/Down Encoder Value
#define ENC_INC_SCALE  30 
ISR(INT0_vect)
{
  // When an interrupt occurs, we only have to check the level of
  // of pin PD2(INT0) to determine the direction.
  // We must also evaluate timer0counter for bigger steps when the encoder is turned faster.
  //
  // *Number of Detent : 12 PPR(Pulses Per Revolution) / 30 detents
  //  Number of Detent : 15 PPR(Pulses Per Revolution) / 24 detents

  // Up
  if(bit_is_clear( ENC_SET_PIN , ENC_UP) && (timer0counter > 10))     
  {
    if(timer0counter > 44)
      timestamp += 1;
    else
      timestamp += ENC_INC_SCALE;

    if(timestamp > ENC_MAX) timestamp = ENC_MAX;
  }
  // Down
  else if(bit_is_set( ENC_SET_PIN , ENC_UP) && (timer0counter > 10))
  {
   if(timer0counter > 44)   // 24:15/24(PPR/Detents), 44:12/30(PPR/Detents)
     timestamp -= 1;
   else
     timestamp -= ENC_INC_SCALE;

    if(timestamp < ENC_MIN) timestamp = ENC_MIN;
  }

  timer0counter = 0;
  mode = STS_SET;  // Time Set Mode
}

PPR? Detent?

PPR(Pulses Per Revolution) : 한바퀴(360도) 돌릴때 신호(Pulse)가 몇개 나오는지를 의미합니다.
Detent(멈춤쇠): 엔코더 스위치를 돌릴때 딸각 거리는 저항이 느껴집니다, 멈춤쇠라고도 합니다.



Testing & Prototyping

Schematic

Partlist exported from encoder test.sch at 2014-05-13 AM 2:25:15
QtyValueDevicePackagePartsDescription
6104C-EU025-025X050C025-025X050C1, C2, C3, C4, C5, C6CAPACITOR, European symbol
410KR-EU_0204/70204/7R1, R14, R15, R16RESISTOR, European symbol
112 PPR/30 DetentsEC12E_SW9915ENCODERCHANG SHIN Rotary Encoder with switch(Right Angle)
8220RR-EU_0204/70204/7R2, R3, R4, R5, R6, R7, R8, R9RESISTOR, European symbol
42SA1015-PNP-TO92-ECBTO92-ECBT1, T2, T3, T4PNP Transistror
44k7R-EU_0204/70204/7R10, R11, R12, R13RESISTOR, European symbol
1MEGA48VMEGA48/88/168-AUTQFP32-08IC1
1MLS-3461MLS-34614DIGIT-30147SEGMENTFour Digit 0.56" CA Seven-Segment LED Display

Parts



Dimensions




Downloads