|
|
|
DT102 RS-485/232 Mini LCD Terminal
The DonTronics DT102 PCB has been designed on a 2.5" SimmStick platform, and is same size as the DT205 Relay board. It has provision for six "Hat Key" type push button switches, and a standard 2 by 14/16 LCD. The board is designed for the Truly brand LCD, however many others will fit the standard 14/16 pin header strip provided. Pins 15 and 16 are normally for back lite type displays, however some standard displays, like the Truly brand, have the extra holes, as they use the same artwork pattern for both types of displays, even though the extra two holes aren't used. Mounting holes are provided for the Truly display which mounts via female/male header pins on the component side of the board, and above components such as the PIC16F84 micro. Yes, the micro will fit in a socket if need be, right under the display. The display is very simply removed. Two RJ-45 connectors allow RS-485 communications via an 8 wire standard cables. Two jacks means RS-485 can be used on multiple connections or drops. These RJ-45 PCB mount jacks need to be mounted on the solder side of the board. Also on the solder side of the board, you will find a spot to mount a 5 pin DIN PCB connector, same as the one in your standard PC. This allows an "AT" type keyboard to be plugged in as an alternative to the 6 push button switches. Other features:
Special notes regarding the circuitry used. In 'normal' operation ( when not reading the configuration jumpers )
either the PIC or the LCD would be driving the i/o lines. The bias resistors
common line is connected to the 'E' ( RA2 ) line to make sure that the correct Serial communications.
Software Specs: At the time of writing, software isn't available to make use of the "AT" keyboard input, however code can be found at Steve Lawther's site at: http://ourworld.compuserve.com/homepages/steve_lawther/keybinfo.htm This may need to be re-configured to suit the DT102 board. Steve Lawther's "AT Keyboard/LCD" Schematic Other Software will be available and full details will be announced in the
near future; LCD software specs. Parts List1 x DT102 PCB 1 x 7805 IC4 +5 Voltage regulator (Optional) Serial Communications RS-232: (Optional) 1 x Capacitor C1 1uf Electrolytic or Tant. @16 V. 1 x Capacitor C2 1uf Electrolytic or Tant. @16 V. 1 x Capacitor C3 1uf Electrolytic or Tant. @16 V. 1 x Capacitor C4 1uf Electrolytic or Tant. @16 V. 1 x MAX-232 IC3 (or equivalent) When using the DT102 in a SimmStick bus talking to another simmstick, don't
fit the RS232 chip, it won't work! Unless you swap the rx and tx data
lines. It may also pay to install a 16 pin socket for the Max-232, as you
may have to remove it for some 1 x Capacitor C5 100uf/25V Electrolytic (Power Supply)
1 x Capacitor C6 100uf/25V Electrolytic (Power Supply)
1 x Capacitor C7 .01uf (or .1uf) Ceramic (Power Supply)
1 x Capacitor C8 .01uf (or .1uf) Ceramic (Power Supply)
1 x Capacitor C9 15pf to 22pf Ceramic
(Install only if Crystal is installed)
1 x Capacitor C10 15pf to 22pf Ceramic
(Install only if Crystal is installed)
1 x Capacitor C11 .01uf (or .1uf) Ceramic (Reset cct)
1 x Resistor R1 1K .25 watt (Reset cct)
1 x Resistor R2 15K .25 watt (Reset cct)
1 x Resistor R3 10K .25 watt (Comms Pullup)
1 x Resistor R4 470 .25 watt (Clock cct)
1 x Resistor R5 1K .25 watt (Comms cct)
1 x Resistor R6 680 .25 watt (for RS-485 comms)
1 x Resistor R7 1K5 .25 watt (for Power LED)
1 x Resistor R8 xxx .25 watt
(Value to be calculated for LCD Backlight )
1 x Resistor R9 120 .25 watt (for RS-485 comms)
1 x Resistor R10 10K .25 watt (For Backlite switch)
1 x Potentiometer RV1 10K. (Brightness LCD)
1 x 6 pin Resistor network (5 by 2K2) or 2.2K This is used for the configuration Jumpers at JP4. The value used is fairly critical as there are a number of different run time configurations due to the various ports driving these lines. This bus is between the PIC and the LCD. J4: Pin 1-2 is A,
3-4 is B,
5-6 is C,
7-8 is D,
9-10 is E.
1 x 1N4148 Diode D1 (Reset Circuit) 1 x 1N4148 Diode D2 (Small Keypad) 1 x 1N4148 Diode D3 (Small Keypad) 1 x 1N4148 Diode D4 (Small Keypad) 1 x 1N4148 Diode D5 (Small Keypad) 1 x 1N4148 Diode D6 (Small Keypad) 1 x 1N4148 Diode D7 (Small Keypad) 1 x 1N4004 Diode D8 (Power In from SimmBus) 1 x 1Nxxxx Diode D9 (Not Used, incorrect label) 1 x 1N4004 Diode D10 (Power In from RS-485 bus) 1 x LTC485/Max-485 IC2 (Max-485 Comms) 1 x BC-548 Transistor (LCD backlight switch) 1 x Piezzo Buzzer B1 (Optional) 6 x "Hat Key" type button switches (Small keypad) 1 x 5mm LED For LED1 Power indicator. 1 x 5mm LED For LED2 RS-485 debugger. Install One of PC AT Keyboard Connectors: - 5 pin DIN type PCB mounted connector. OR - 5 pin PS2 type PCB mounted connector. (Optional and you can't install both types) 2 x RJ45 PCB mount connectors RJ1 and RJ2.
(Max-485 comms)
1 x PIC16F84F84-04-P (IC1) Micro.
(other 18 pin PICmicro's & speeds will suit)
A Crystal of a suitable value, or a 3 pin Resonator.
Install C9 and C10 ONLY If a crystal is fitted.
The most common crystal used for beginners is 4Mhz, as this matches in with the PIC16C84/04/P that most people start with. 1 x 16 character x 2 line Truly brand LCD. The DT102 board is designed for the Truly brand LCD, however many others will fit the standard 14/16 pin header. The rest of the components are made up of single and dual line headers for
control and I/O. HeadersJ1: J2: J3, J5, and J6: J4: J7: J8: J9 J10 J11 Fitting the DiodesDiodes D8 and D10 are listed as 1N4004's, but the hole sizes are too small to mount these. You can do many things to overcome this problem. We have found 1N4001's will fit, but these may be awkward to find. You can "Surface Mount" the diodes, or use resistor legs soldered to the board to "T" solder the diodes to. A neat job should be achievable without too much drama. Function of D8Protect the polarity of the PWR input signal, and to "Direction Isolate" the PWR signal to the RJ-45 +12V so that two 12 Volt inputs don't interact. If no power input is used on the RJ-45 bus, then D8 can be a wire link. Function of D10Almost the opposite description of D8. J2 pads can be used to short out D10, so that power can be fed from the SimmStick bus to the RJ-45 bus. If power is fed up the RJ-45, then D10 can be shorted out with a wire link.
Subject: RE: DT102 Issues Date: Mon, 21 Jun 1999 17:29:48 +1000 From: "Barry Hay" To: "Don McKenzie" <don@dontronics.com> OK Don, Not wanting to dampen any enthusiasm :)
------------------------
----------------------- Subject: Re: [Fwd: DT102 Issues] From: Sage Telecommunications <rodegan@
Yes, I did go to Jarcar and get them, I have been assured that the footprint
has changed since I got them. Good old Jaycar! (These are Australian companies, however Rod has mentioned that Molex has the same footprint.) FYI,
Rod Subject: DT102 mod Date: Sun, 3 Oct 1999 19:38:47 +0200 From: 75805312@ To: don@dontronics.com Don, just my .02 $ about DT102. I find it very flexible to accommodate many different projects, but can't be used for direct programming on DT001 due to a lack of connection to the simmstick bus. Let me solve this problem. Assembly instructions x1 Xtal 10MHz
(for future AT/PS2 keyboard interface software needs)
c9, c10 capacitor 15pf
IC1 16f84-10
RV1 10K pot
R2 15K
R1, R5 wire jumper
C11 not install
D1 not install
jumper from J5.1 to J3.2
and J3.1 to J5.2
(to use MAX232 installed on DT001/DT003)
Wire from simmbus pin7 to VCC
(VCC from simmbus)
from simmbus pin8 to IC1.5 (MCLR)
from simmbus pin21 to IC1.12 (RB6)
from simmbus pin22 to IC1.13 (RB7)
Here is 84dt102.zip
(3K) in order to check the circuit just for output (RS232 to LCD). As soon as I
can I will send you also the AT Keyboard to RS232 routine. If you think it will
useful for some your customer you can put it on your WEB. Subject: Re: DT102 mod Date: Tue, 5 Oct 1999 12:38:30 +0200 From: 75805312@ To: don@dontronics.com Don, as I promise you here I am again to give you a snippet ( non really a snippet, 1447 lines of code!) to test the DT102 with a PS2/AT IBM Keyboard. Why a test pgm and not a really terminal pgm? As you know very well IBM Keyboard just output a scan code when a key is pressed and another code when the key is release. The PC BIOS with the OS, according with the keyboard definition file (i.e. Keyb.IT for italian keyboard in DOS) translate the scan code in the ASCII character and use the function keys to move the cursor. So the code for a real terminal depends of the application you need. HARDWARE PROBLEM: Clock and data from keyboard are OPEN COLLECTOR LINES. You need to put two 4K7 tie-up resistor, one from RB0 to VCC and the other from RB1 to Vcc. You can put them on the back of DIN/miniDIN connector or under the 16f84 from pin6 to pin14 and from pin7 to pin14. I haven't tried this solution but as the 16F84 ( and a lot of other pin
compatable PIC's ) have a s/w configurable pull up resistor for port B the
hardware error is actually a software configuration error! Just enable the port
b pullups on the PIC and don't need to worry about hardware mods. I modify a pgm founded on the WEB to fit the different HW of DT102 and I test it on LM52L 16x2 LCD that fits the DT102. This code can be used to view the data between an AT keyboard and computer. The LCD will show on the top line, the codes on the keyboard bus, and on the lower line, a decoded version of the code i.e. ASCII character for printable characters, or a 2/3 character description of non-printable codes according to the IBM US Keyboard layout. The display scrolls right to left, as the codes are received. The program is receive only and would require extra code if wanting to send data to the keyboard, i.e. to set the CAPS LOCK / NUM LOCK / SCRL LOCK LEDs. Source code is very big and complex then I send you only the .HEX ready to be
programmed on ciao Claudio Rachiele IW0DZG Subject: Terminal program for DT102 Date: Fri, 17 Dec 1999 10:52:07 +1000 From: "Lionel Theunissen" <lionelth@big.net.au> To: "Don McKenzie" <don@dontronics.com> Hi Don, I've just finished writing an RS232 terminal program to run on the DT102, which I think may be of interest to you. It runs on a 10Mhz PIC16F84. It supports the AT keyboard interface, and requires a 16*2 LCD. Here is a list of features:
To enter configuration mode, hold down SW1 and SW6 during power up. The top line of the LCD will show a version number, and the lower line with show the currently selected option. The options are:
The onboard switches perform the following functions in configuration mode:
Known issues: * With an AT keyboard the CAPS LOCK will perform like a SHIFT LOCK. Also pressing any of the shift keys will release the CAPS LOCK, like an old style typewriter. The CAPS LOCK LED on the keyboard is not supported currently. * Only the typewriter portion of the AT keyboard is supported. None of the numeric keypad or cursor control keys are recognized. * The CTRL and ALT keys are not recognized. However control codes can be assigned to the function (F1-F6) keys. The program is copyright, however I am granting permission for private (non-profit) use on the understanding that it is provided AS IS. Commercial use is prohibited without my express written permission. If you decide to put the binary up on your page please mention this disclaimer. It is an extremely tight squeeze to fit all of this in a 16F84. Literally every single byte of program and data EEPROM memory is used, so the addition of more features may prove difficult. Still, I think it has enough features to be quite useful. Let me know what you think. I'd also like feedback as to any bugs/ improvements, etc. I haven't yet tested it on all baud rates, so if someone has the time to do so, it would be appreciated. BTW, as Rod Egan commented, pullup resistors are not needed for the AT keyboard. This program uses the internal pullups. One thing I will say about the DT102 though; The RS232 TX and RX lines are on the same simmstick bus auxiliary lines as other (microcontroller) simmsticks. Since the most probable use of this device is to communicate with another simmstick, it would have made more sense for them to be the other way around. Perhaps future versions of the DT102 should have links to set this. I may consider releasing the source code in the future if there is enough demand, and once I'm satisfied that it is stable. Anyway, for now, the hexfile is attached. (See Below) Lionel... 24-Feb-2000 Hi Don, I've decided to release the source code for the terminal program I wrote for the DT102 (attached). You're welcome to put it up on your page if you like. There were a couple of people on the PIClist asking for some source for an interrupt driven RS232 routine a couple of weeks ago. The RS232 engine in this program might be useful to them and others. Usual disclaimer applies. newterm.zip 12K Both hex and source.
|