Description: Develop a self-contained unit that can automatically control up to four DCC-equipped engines, starting and stopping them based on their position on a loop of track. The control PIC interacts with the MiniDCC controller through the MiniDCC's keypad. Six pins from the 16F88 will connect to the keypad through a pair of 4066 ICs. Due to a limited number of available pins on the 16F88, an infrared TV remote control is being utilized to change settings on the controller. The IR signal is received by the PNA4602M, which is designed to respond only to IR signals modulated at 38 kHz, the frequency typically used by TV remote control units. The 16F88 controller is programmed using PIC Basic Pro. The test code for the controller is included below. Note that it is currently unable to sense train position and is primarily being used to test the circuit and its components. A custom 4 x 4 keypad matrix has been created from 16 discrete SPST momentary switches, specifically selected from Electronic Goldmine (part number G1412).
The described circuit involves the integration of a PIC microcontroller (16F88) that functions as the central processing unit for controlling multiple DCC (Digital Command Control) equipped model train engines. The architecture allows for automatic control of up to four engines, facilitating their start and stop operations based on their respective positions on a circular track layout.
The communication between the PIC and the MiniDCC controller is established via a keypad interface. The keypad is constructed using a custom 4 x 4 matrix design, employing 16 SPST momentary switches. This design choice enables user interaction for selecting various functions and settings related to the operation of the DCC engines. The keypad connections are managed through two 4066 analog switches, which provide the necessary signal routing while conserving the limited I/O pins available on the 16F88 microcontroller.
To enhance the functionality of the control unit, an infrared (IR) remote control is incorporated for changing settings dynamically. The IR receiver, PNA4602M, is specifically selected for its ability to detect signals modulated at 38 kHz, which is standard for most consumer IR remote controls. This feature allows the user to interact with the control unit wirelessly, providing a convenient and flexible means of operation.
Programming of the 16F88 is conducted using PIC Basic Pro, a high-level programming language suited for microcontroller applications. The initial test code has been developed to verify the circuit's functionality and the interaction between the components, although it is noted that the current implementation does not yet include train position sensing capabilities. Future iterations of the project may incorporate position detection to further enhance the control system's automation and responsiveness.
Overall, this design represents a sophisticated approach to model train control, integrating both wired and wireless communication methods while utilizing a microcontroller to manage multiple engines efficiently.Develop a self contained unit that can automatically control up to four DCC equipped engines, starting and stopping them based on their position on a loop of track The control PIC interacts with the MiniDCC controller through the MiniDCC`s keypad. Six pins from the 16F88 will connect to the keypad through a pair of 4066 ICs. Because of a limited n umber of available pins on the 16F88 an infrared TV remote control is being used to change settings on the controller. The IR signal is received by the PNA4602M. It is made to react only to IR signals that are modulated at 38 KHz, the frequency used by a typical TV remote control unit.
The 16F88 controller is programmed using PIC Basic Pro. The test code for the controller is below. Note that it is not yet able to sense train position. It is being used primarily to test the circuit and its components. I chose to make up my own 4 x 4 keypad matrix from 16 discreet SPST momentary switches - the ones I have chosen are from Electronic Goldmine (part number G1412)
Communication with the MCP3028 ADC chip is achieved through a straightforward serial interface that adheres to the SPI protocol. The PIC16F84 or PIC16F628 does not possess a hardware SPI peripheral. However, a software-implemented SPI protocol can facilitate communication with the...
The initial PIC program utilizing the C language demonstrates how to blink a single LED using a PIC microcontroller with a C program. This serves as an introduction to C programming for PIC microcontrollers.
The circuit for blinking an LED using...
Propclocks are complex devices that utilize a PIC microcomputer operating at 10 MHz. The PIC serves as the core component, managing the timing of LED illumination to create the illusion of numbers and, in analog mode, hands suspended in mid-air....
The hardware design for USB is quite minimal, which is advantageous. However, it quickly becomes apparent that the simplicity of the hardware design leads to complex communication and control software, which will be explored further in the theory and software...
This programmer requires only a basic terminal program capable of uploading an ASCII PIC HEX file. It does not matter what operating system or computer (MAC, Win98, XP, Vista, DOS, Linux, etc.) is used to talk to it. All of...
For applications requiring numerous Analog to Digital channels or substantial program memory (up to 32K), this prototype board is ideal. It is designed for 40-pin PIC microcontrollers and includes a power supply circuit, a 20MHz crystal oscillator circuit, an RS232...
An automatic feeder dispenses food based on the activation of a series of buttons, which interface with a system controller and a food dispenser. The system is designed for intelligent processing of inputs and outputs, allowing dynamic configuration of button...
PIC C Compilers are utilized to compile source code, leveraging the extensive built-in functions offered by these compilers. A single C statement can produce multiple pages of PIC RISC instructions, eliminating the need for manual coding. CCS charges $125 for...
The Open Source Automation project is a free automation software that operates on Windows and does not require programming for setup. It features a user-friendly graphical interface and includes unique functionalities that are not typically found in high-end security and...
We use cookies to enhance your experience, analyze traffic, and (if you allow) serve personalized ads.
By clicking Accept All, you agree to our use of cookies.
Learn more