This is the part of the MRNet project.
{Introduction goes here.}
The goals for the handheld cab are:
The feature set I decided on for this handheld cab is:
The handheld cab schematics are broken into several pages. The schematics are:
The first schematic shows the power and cable interface electronics:
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.
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:
The microcontroller schematic is below:
{Describe schematic here.}
The schematic for the seven segment displays is shown below:
{Describe schematic here.}
The schematic for the buttons is shown below:
{Describe schematic here.}
The schematic for the LED's is shown below:
{Describe schematic here.}
The cab controller has been layedout. The following are available:
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:
{The software still needs to be writen.}
{Summary goes here}