KLM-162CAN 을 이용한 전광판

AVR Project 조회 수 26497 추천 수 154 2004.12.23 11:11:11


http://myhome.naver.com/dolmangi/

다른님이 만드신 전광판인데, 오래되어서 자료링크가 안되네요 ^^:

 

 전광판 Electronic Signboard 

 

많은 분들께서 전광판에 관심을 보여주고 계셔서 게시판을 만들었습니다. 
많이 이용해 주세요

전광판은 수십~수백의 화소(LED)를 이용하여 문자, 영상 등을 표시하는 장치로 광고, 공공의 정보 등을 표시하는데 사용된다. 많은 수의 화소를 동시에 점등시키는 것은 회로제작이나 전력의 측면에서 비효율적이므로 대부분 눈의 착시현상을 이용하여 매우 빠르게 순차적으로 한 줄씩 점등한다. 이러한 드라이브 방식의 LED MATRIX MODULEdynamic drive type이라 부른다. 1줄 당 1초에 정보를 표시하는 시간은1/n(n:전체줄수)초가 되며 줄 수가 많을수록 눈에는 깜박거림이 심하게 보이거나 또는 매우 빠른 주파수를 사용한다면 밝기가 줄어든다.

 

본 회로는 16(LED)x16(LED)LED MATRIX10(가로모듈)*5(세로모듈) 개로 연결하여 총 50개의 LED MATRIX모듈을 사용한다. 그림1처럼 가로 10개씩 직렬로 연결하면 총 16(LED)*5(세로모듈)=80줄의 LED가 되며 줄 당 표시시간은 1()/80()=12.5ms가되어 깜박거림을 없애기 위해 주파수를 빠르게 하면 밝기가 약하게 되어 전광판의 효과를 보기 힘들게 된다. 따라서 그림 2처럼 각 줄의 각 모듈을 모두 직렬로 연결하면50개가 한줄이 되어 전류소모는 많아지지만 1()/16()=62.5ms 5배 더 밝아진다

 

모듈 연결 방법

본 회로에서 사용한 clock 주파수는 10MHz 주기는 100ns 이며 한줄(160(LED)¡¿5(MATRIX)=800)을 표시하는 시간은 (뒤의 timing chart 참조) 32clock4화소출력이므로 800/4*32(CLK)*100(ns)=640us이며 총 16줄이므로 16(DOT)*640us=10.24ms 이므로 1/10.24ms = 97.65로 초당 약 97번 화면을 갱신하게 된다. 전체 시스템의 구조는 그림3과 같으며 PCeditor 프로그램에 의해서 생성된 Graphic DATA는 직렬통신에 의해 Controller의 주 메모리에 저장되고 저장된 DATAController 프로그램된 Animation의 순서로 Video RAM으로 전송된다. Video RAM에 전송된 DATA는 전송된 순간 LED MATRIX 화면도 동시에 갱신된다.

 

system block diagram

[그림3 ] system block diagram

 

Refresh Counter에서 연속된 Address를 생성하고 생성된 어드레스는 controllerVideo RAM에 대한 BUS 요구가 없을 때 Video RAM으로 공급된다. 그후 RD 신호가 공급되고 Video RAM에서 DATA가 출력되면 Shift Register에 의해 2bit(,적색) Serial로 바뀐후 DOT matrix로 흐르게 된다. 바로 직후 DOT MATRIXCLOCK 신호가 Trigger되고 MATRIXCLOCKRising-Edge에서 DATA신호를 내무의 SHIFT REGISTERSHIFT하게 된다. 이러한 과정을 50개의 MATRIX에 공급할 한 후에 LATCH ENABLE을 신호를 주게 되며 이때 MATRIX화면의 DATA가 갱신되며 갱신직후 바로 MATRIX ADDRESS CLOCK 신호가 들어오게 되며 현재 출력하고 있는 바로 다음 줄로 방금 들어왔던 데이터들이 출력되게 된다. CPUVideo RAM BUS의 요구와 Refresh CounterVideo RAM BUS 요구신호가 동시에 들어오는 경우 Refresh counter의 내용을 그대로 보존한 채 CPU의 요구를 먼저 처리하고 처리가 끝나면 바로 다시 Refresh counter의 내용을 처리하게 된다.

DOT MATRIX MODULE 과 전원 - KLM162CAN(광전자)

16X164color dot matrix 모듈로 검정, 빨강, 녹색, 주황색을 낼 수 있는 모듈로 내부의 SHIFT REGISTER를 이용하여 모든 dot matrix module이 직렬로 연결 하게 된다. Address BusCLK, LATCH, ENABLE 신호는 모두 병렬로 연결되며 R, G (데이터 신호)는 모두 Serial 로 연결되어 Clockrising-edge에서 한 DOTShift된다.

 

LED는 개당 약 20mA의 전류를 소모하며 한줄(160)를 한가지 색으로 전부 점등시킬 경우 20mA¡¿160=3200mA(3.2A), 그리고 5줄을 동시에 점등시킬 경우 3.2Ax5=16A의 전류를 소모한다. 주황색을 내기 위해서는 DOT하나 당 2개의 LED를 점등시켜야 하므로 16Ax2=32A의 전류를 소모한다. 거기다가 LED 드라이버에서 소모하는 전류 와 controller에서 소모하는 전류를 고려하면 35A이상의 전원이 필요하다. 본 회로에서는 30A의 전원과 PC power를 사용하였는데 그 이유는 냉각팬에 필요한 전원12V 그리고 ControllerLED 모듈의 전원을 분리시키기 위함이다. MATRIX에서 에니메이션 효과를 처리할 때 많은양의 전류의 변화가 있으므로 같은 전원을 사용하게 되면 Controller가 오동작 하거나 심한 경우 CPURESET되는 경우가 발생할 수 도 있기 때문에 이를 방지하기위한 수단으로 전원을 두 개를 사용하였다.


[
그림 4] LED Moduleblock diagram

[1]  LED Modulespec

LED spec

[그림4.5] LED ModuleTiming chart

 

MATRIX MODULE 연결 CABLE

DATA cable은 그림6 처럼 연결되며 10번 모듈과 11번 모듈사이를 연결 할 수 있는 cable이 공급되지 않으므로 그림5와 같은  1,2번 사이의 cable 2개를 이용하여 제작하여야 한다.

(a) data cable


(b) power cable
[
그림 5] 연결 케이블

 cabling

[그림6] 케이블 연결도

 

전원연결도
[그림 7] 전원 케이블 연결도

SHIFT REGISTER

74LS244는 양방향 Shift register1BYTE의 데이터를 받아서 2bit(RED,GREEN) 나누어 DOT MATRIX모듈로 전송하는 역할을 한다.

shift register

[그림8] shift register

 

 

 

truth table

[그림9] truth table

 

위의 진리표를 살펴보면 S_0S_1?H"일때 CLOCKrising-edge에서 DATA BUS로부터 8bitLoad한다. 그리고 S_0?H" 이고 S_1?L"일때는 clock에서 right shift가 된다. 따라서 다음과 같이 구동한다.

S_0=VCC에 연결하고 S_1 만을 이용하여 LOADShift를 선택한다

S_1=?H"일 때 Address-MUXRefresh CounterData-MUXShift Register를 선택한다.

AddressVideo-RAM에 흐르고 이때 RD신호가 떨어진다.

RD신호가 RAM에 떨어지고 있을 때 (DATADATA BUS를 통해 Shift Register에 도착했을 때) Shift RegisterClock 신호를 준다

Shift RegisterData를 내부의 F/F에 각각 LOAD한다.

AIA| Shift Register DATA BusMUXRAM에서 끊고 MATRIX모듈로 연결하고 Shift RegisterS_1"L"로 만든다.

±×·?¸e Shift RegisterData BUS에는 방금 LOAD한 값이 그대로 출력되게 된다.

bit6bit7이 각각 RG에 연결되어 있으므로 이 상태에서 MATRIX CLOCK을 주면 2비트가 그대로 MATRIXLOAD된다.

´U½A Shift register2bit shift 시킨후 MATRIX CLOCK을 공급 (반복3)

±×EA Refresh counterClock을 가하고 위의 과정을 반복하게 된다.

BUS DRIVER - MUX

74LS245 는 양방향 tri-state 버스 드라이버로 CPU module에서 Video-RAM에 데이터를 기록할때는 REFRESH COUNTER의 출력을 HIGH IMPEDENCE상태로 만들고 반대로 CPU module에서 Video-RAM에 접근하지 않을때는 REFRESH COUNTER의 출력을 RAM과 연결해주는 역할을 한다.

 

MUX의 역할

[그림10] MUX

 

CLOCK-GENERATOR Timing Chart

Timing chart

 

CPU module

80c196KC-20MHZ , 32K-ROM, 32K-RAM, RS-232C통신포트 이용

memory map

[그림 ] memory map

 

에디터 만들기

4가지 색만을(검정,초록,빨강,분홍) 표현할 수 있기때문에 사진을 바로 전광판에 출력할 수 는 없다. 따라서 비슷한 색으로 바꿔주는 기능이 필요하며, 에니메이션을 효과를 넣기 위해서 여러장의 그림을 편집할 수 있는 기능이 필요하다. 데이터는 시리얼 통신을 통해서 콘트롤러에 들어가며 콘트롤러는 수신된 데이터를 비디오램 또는 데이터공간 어디에든 저장할 수 있다. 이미지 한장은 4Kbyte를 차지하므로 32Kbyte의 RAM공간에서 실제로 사용할 수 있는 장수는 4~5장 정도 이다. 하지만 시리얼 통신이 115200bps로 비교적 고속이기 때문에 OnLine으로 화면을 업데이트 시켜도 보는데 큰 지장은 없다.

 

실행화면
[그림 ] 에디터 실행화면1


[그림 ] 에디터 실행화면2

 
[그림] 완성된 전광판 [ 큰사진1 , 큰사진2 ]

 

Download

KLM-162CAN 파는 곳
List of Articles
번호 제목 글쓴이 날짜 조회 수sort

AVR Project Stepper Motor Controller file

http://www.doc.ic.ac.uk/~ih/doc/stepper/control2/connect.html 새 페이지 2   Stepper Motor Controller Connection Diagrams The wires from the Logic PCB connector to the stepper motor in a TM100 Di...

AVR Project AVR Mega8을 사용한 PID제어 소스 file

http://www.circuitcellar.com/library/print/1002/eady147/index.htm LCD에 보이는 것은 실제 조리기의 온도와 음식3개의 온도이다. 압전 경보기가 꺼져 있으면, 조리기의 온도는 5° 간격으로 180° 에서 400°F이다. 음...

AVR Project PIC Based Serial Port Servo Controller file

http://www.digitalnemesis.com/ash/projects/picservo/ ◆ PIC Based Serial Port Servo Controller By Ashley Roll Ever wanted to use Servos in a robotics project? This project uses a PIC microcontroller and...

AVR Project 12C508 IR Proximity Detector file

http://users.frii.com/dlc/robotics/projects/botproj.htm 적외선 LED와 적외선 리모콘용 수신센서를 이용한 근접센서 프로젝트입니다. 포토센서를 사용하는 방법보다 비교적 먼거리의 물체를 한개의 IR수신 IC로 감지합니다. 첨부된 ...

AVR Project AVR 5x7 Dotmatrix LED Display file

http://www.blitzlogic.com/AVR 5x7 Dotmatrix LED Display Since we can source a maximum of 10mA per pin for PORT B and total maximum current from PORT B is 80mA, hence PORT B is just sufficient ...

AVR Project AT90S2313 디지털 용량계 file

http://elm-chan.org/works/cmc/report.htmlipstackAT90S2313 디지털 용량계 이것은 용량을 빨리 측정하는 간단한 용량계이다. 용량의 측정 원리는 임피던스 브릿지나 딥메터처럼 용량을 한번에 측정한다. 요즈음의 표준 용량계는 Cx에...

AVR Project UHF FSK PLL RF Module (NR-FPCX) file

  • eastsky
  • 2010-10-20
  • 조회 수 40491

UHF FSK PLL방식 무선 데이터 송/수신 모듈을 이용한 AVR 회로도 및 HEX 파일입니다. 기본적으로 CodeVision 에서 컴파일 한 HEX 이며, 2세트간에 10~20 Byte 이내에 데이터 송수신을 위한 회로 입니다. RF-Module ...

AVR Project Nokia LCD를 이용한 디지털시계 소스 file

함동호디스플레이는 Nokia LCD를 사용하였고 MPU는 Mega8을 이용하여 만든 디지털 시계입니다. 일단 간단하게 기본 그림과 가운데 시간:분:초 와 같은 형태로 24시간을 디스플레이 하도록 만든 소스 입니다.. 그리고 시간 설정...

AVR Project LED 전광판 file

http://home.wanadoo.nl/electro1/avr/dotmatrix.htm 개발자 사이트 : http://home.wanadoo.nl/electro1/avr/dotmatrix.htm 관련 사이트 : http://www.edaboard.com/ftopic58756-30.html 74H595 Shift Register App : http://www.kronosr...

AVR 강좌 Codevision C언어 Manual file

코드비젼 c언어 메뉴얼입니다

AVR Project AT90S2313을 사용한 IR to USB 모듈 file

http://www.cesko.host.sk/IgorPlugUSB/IgorPlug-USB (AVR)_eng.htm Universal USB interface & USB Infrared Interface with microprocessor AT90S2313-10 : 마이크로 콘트롤러로 USB를 완성 : IgorPlug-USB (AVR) 이기사의 ...

AVR Project ATmega8 - 회로도 file

간단한 회로도 입니다.

H/W 스텝모터회로 - 테스트용 file

전에 스텝모터 테스트용으로 만든 회로 입니다.. 실제로 테스트 해보니 잘 돌기는 하는데... 좀 그러네요 ^^; 학교에서 테스트용으로 사용하면 좋을 듯 합니다.. 덤으로 196 모터 회로... 추가

AVR Project Keypad & Encoder file

  • eastsky
  • 2010-10-15
  • 조회 수 31623

74HC138 을 이용한 10 * 8 Keypad 회로 입니다.. Encoder 을 사용할 때 시계방향과 반시계방향을 체크하는 방법입니다.. 여러가지가 있겠지만, 일정 시간 샘플링을 통한 방법이 가장 쉬우면서도 유효하다고 봅니다.

AVR Project Atmega16을 이용 74HC595 사용 file

http://scipia.co.kr/index.php?i_div=Its_tech_note&i_no=9이츠임베디드Atmega16을 이용 74HC595(8bit serial-in, serial or parallel-out shift register with output latches; 3-state) 사용기 입니다.. 이 자료는 이츠임베디드에...

AVR Project ATtiny26L의 AD 변환과 PWM 출력제어 file

http://www.geocities.jp/kuman2600/k2adc.html출처 : www.ipstack.co.kr 손잡이를 돌리면 모타의 회전이 바뀐다. 커다란 가변권선 저항을 직렬로 넣어 콘트롤하는 일이 있습니다. Tiny26L은 AD변환과 PWM기능이 있으므로, 가변저항으로...

AVR Project ATmega163 EDTP LittleDevice file

http://216.53.172.209/ ATmega163 EDTP LittleDevice For those of you that have twiddled the LED on the PICDEM.net board, this is a new twist. An EDTP Packet Whacker is still running the Etherne...

H/W 아이폰 충전 회로 file

  • eastsky
  • 2010-10-29
  • 조회 수 27581

iPhone Connector Info (Pin 27) USB Data (+) Pins 25 and 27 may be used in different manner. To force the iPod 5G to charge in any case, when USB Power 5 VDC (pin 23) is fed, 25 must ...

AVR 강좌 [MEGA8] 타이머1비교인터럽트를 사용해서 주파수출력을 내는 방법 file

avrmall우선 타이머0로 주파수 입력을 받습니다. 1초동안이면 1초동안에 입력된 펄스개수를 계수하면 입력 주파수가 됩니다. 입력주파수를 다시 타이머1비교인터럽트를 사용해서 출력을 내려면 아래와 같은 방식으로 하시면 됩니다. ...

AVR Project JTAGICE mkII 상세 설명서 file [3]

안녕하세요 ⚑ 제가 JTAGICE mkII 상세 설명서를 얻었는데요 이 자료를 함동호님과 회원님들에게 드리려고해요. ★ 앞으로 많은 협조를 ★