This is the part of the MRNet project.

MRNet -- Wired Cab Module (Revision A)

Table of Contents

Introduction

{Introduction goes here.}

Cab Design Goals

The goals for the handheld cab are:

The feature set I decided on for this handheld cab is:

Cab Electronics

The handheld cab schematics are broken into several pages. The schematics are:

Power And Cable Interface

The first schematic shows the power and cable interface electronics:

Hand-held Cab Power
This circuit starts with the power and ground coming on the PWR1 and GND pins of N1 and being routed through SW1 into voltage regulator VR1 with capacitors C1 and C2 to provided regulated 5 volts for the rest of the handheld cab. In addition, D5 and R94 provide a current limited supply to charge the 9-volt Nickel Cadnium battery. The 9-volt battery is chosen because it is lighter than 4 or 5 AA batteries. If the power from PWR1 and GND2 ever goes away, diode D6 will kick in and supply voltage and current for VR1 and its two capacitors C1 and C2. The concept is that the Nickel Cadnium battery is always being charged when the cab is plugged into the cab station and the battery is discharging only when the operator is moving between cabs. The on/off switch is after the battery so that the cab can be charged overnight without having to leave the rest of the electronics on. Going back to connector N1, the signal comes in on the SIG pin of N1 and is fed into the Schmidt triggerU19A and the resulting signal is fed into the UART input pin of the microcontroller. The UART output pin of the microcontroller is fed into the open collector NAND gate U19A which is pulled up by resistor R95 and the resulting output signal is sent out on the SIG pin of R95.

Microcontroller

The handheld cab is organized around a Microchip PIC16C73 in an 28-pin SDIP package. The PIC16C73 has a 5 channel analog to digital converter, a built in asynchronous serial port, and enough I/O pins to control the rest of the handheld cab.

Given that there are a total of 64 LED segments in the seven-segment displays, 24 indvidually controllable LED's, and 8 button inputs, there is no way to directly connect each LED and switch to an individual pin on the PIC. Instead, I have arranged all of the input and output data as one big shift register using `164 and `165 shift registers. This is basically just a simplistic I2C bus. The code to shift 8-bits of data out looks like it will take around 32 instructions. This routine will need to be called about 12 times (12 x 32 = 384,) so an update will not be visible to the operator.

The I/O lines on the PIC are labled below:

AN0-AN4
These are the inputs form the 4 potentiometers used for throttle speed, break pressure, etc.
Serial Out (Port B0)
This is the data bit goes to the input of the shift register.
Serial In (Port B1)
This is the data bit that comes from the output of the shift register.
Clock (Port B2)
This is the clock signal that causes all of the shift registers to shift one bit over.
Strobe (Port B3)
This is the signal that forces the input registers to load up their contents.
LED's ON (Port B4)
This is the signal that causes all of the LED's to turn on or off. The LED's are turned off while the shifting takes place.
There will be a number of left over I/O pins on the PIC.

The microcontroller schematic is below:

Handheld Cab Microcontroller Schematic
{Describe schematic here.}

Seven Segment Display

The schematic for the seven segment displays is shown below:

7-Segment Display Schematic
{Describe schematic here.}

Buttons

The schematic for the buttons is shown below:

Buttons Schematic
{Describe schematic here.}

LED's

The schematic for the LED's is shown below:

Other LED's Schematic
{Describe schematic here.}

Cab Printed Circuit Board

The cab controller has been layedout. The following are available:

Cab PCB Artwork Layer
This contains the artwork layer that specifies where the components are to be placed.
Cab PCB Back Layer
This is the back (solder) side of the board.
Cab PCB Front Layer
This is the front (component) side of the board.
Cab PCB Excellon Drill File
This is the drill file for the PCB in industry standard Excellon format.
Cab PCB RS-274X Back Layer
This is the industry standard RS-274X file that specifies the apertures and line placement for the back layer.
Cab PCB RS-274X Front Layer
This is the industry standard RS-274X file that specifies the apertures and line placement for the front layer.
Cab PCB Drill Size File
This is a short file that specifies the drill sizes for the Excellon drill file.
Cab PCB Parts List File
This is a the parts list file.
Cab PCB Size and Hole Counts
This is a short file that specifies the board size and hole count.

Notes

As I debug a circuit board, I type notes to myself so that the next revision will be even better. The notes for this board are listed below: