Sunday, April 22, 2012

LCD Terminal, the GMterm II

Project GMterm II

PROJECT OBJECTIVE: To develop a serial LCD terminal written in OS Basic that will respond to the PH Anderson command set. To design a pcb for the project.

INTRODUCTION: This project started out as an attempt to produce firmware for the 16F886 that would respond to the command set of the PH Anderson serial LCD products sold as programmed 16F628 chips, except with all code written in Basic.. Andersons code was written in assembly language, used an interrupt driven buffer on the serial input and provided RS232 and TTL inputs. As mentioned elsewhere in this site, I used PHA's device to monitor variables during code development and .now I use the GMterm 2.

GMterm has all code written in OS Basic and responds to all of the PHA's commands, except for big numbers. It uses a interrupt driven barrel buffer for the input serial data stream. A pcb has also been designed to house the GMterm chip and, though, the initial design used the 16F886, the pcb can also use the 18F2420, 18F2520 and the 18F25K22. Since the code is written in Basic, conversion to the other MCU's is easy.

Since the 28 pin devices have additional I/O, other capabilities could be added to the PHA design, such as, four selectable baude rates, command controllable contrast and serial interface daughter boards.

  • LCD: 1x8  to  4x40
  • Backlight control, PWM
  • Contrast control: digital or analog potentiometer.
  • I/O, direct TTL and RS232
  • Daughter board for RS232, RS485 ( full and half duplex) and USB
  • I2C with branch, 16 address, 6 meters max.( not implemented)
  • USART select: 8 or 9 bit
  • baude: 2400, 9600, 19.2k, 38.4k
  • GPIO
  • Command Set: Basic and extended
  • Tiny Bootloader
  • MCU: 16F886, 18F2420, 18F2520 and 18F25K22
  • Requires external regulated power.

W 1.5 inch, L 2.8 inch



Intro: The solderless breadboard, slbb,  setup uses the uLab28 PIC and is pictured below. This setup implements part of the circuit diagram: 16F886, LCD, contrast pot and a speaker. If you do not have a uLab28 then the entire circuit can be wired on the slbb. You will also need to provide +5V to the circuit from a separate power supply or a regulator wired on the slbb.

Development setup for LCD terminal using uLab28.

What's Needed
  1.  SLBB with 830  or 1660 contacts
  2.  Wart: 6 VDC @ 500ma unregulated
  3.  Addon: PWR-1 or (7805 + parts)
  4.  Addon:RS232 ( ST232CN + parts)
  5.  Microchip 16F886 with Tiny bootloader
  6.  20x4 LCD Vishay L020N4AYYHET or equivalent
  7.  Digital Pot.CAT5113LI-10-G
  8.  Oshonsoft PicSimIde Basic compiler
  9.  Tiny Bootloader
  10.  PC with a RS232 port

The LCD used in our setup has a SIP connector at the top of the display similar to the Vishay part above. The sip can be plugged directly into the slbb or use adapters with a ribbon cable. The Simple Menu project uses adapters.

If a 7805 regulator will be used in your setup, then a 7.5VDC wart may be needed. This can be determined by checking the voltage drop across the regulator. The backlight on the LCD draws the greater power, about 200ma. If you are having overheating, change the backlighting level or turn it off.

Step 1) Wire a basic setup including: processor and RS232 interface. Connect a LED with resistor from B0 to ground. The uLab28-PIC has all of this on-board.
Step2) Compile a LED blink routine and download to make sure bootloader and hardware are working properly. There is a blink routine in zip file.
Step3) Complete basic SLCD wiring while referring to Basic circuit diagram. See zip file.


Tiny Bootloader



No comments:

Post a Comment