Car Controller using PIC16F870
Posted on Mar 27, 2013 8130
Under: Car Bike Circuits
Our present car controller runs on a single PIC16F870 micro and provides functions for remote door locks, headlight reminder, and car finder. It is constructed using wire-wrap to allow for future expansion and is mounted using Velcro on the passenger side of the center console. The downside of this design is that changes to the system require a lot of work for removal, rewiring, reprogramming, and reinstalling. It could also be stolen which would be a major bummer - making something the first time is interesting, having to do it all over is not.
Click here to download the full size of the above Circuit.
The idea it to replace this with a set of microcontroller modules networked together. Several of these modules have already been constructed on single-sided circuit boards (see how we do this). Since each of these modules does a specific job, the system can be expanded and enhanced by creating new modules with (hopefully) little or no changes to existing ones. Each is powered by 12 volts DC and has a network connection. The entire system is orchestrated from the control Console Unit (velcrod to the top of the dash board). The front panel has a 2 line by 8 character LCD display, momentary push button, and rotary encoder. The rear panel has the 12 volt power connector, network RCA jack, daylight sensor (solar cell from old calculator), and 5-pin din connected to directly reprogram the internal PIC without opening the case. Pulling the power and network connections, the unit can be hauled into the shop for easy reprogramming. Or, using a laptop computer, can be reprogrammed while still mounted in the car. Both the front and back panels of the project box have been replaced with Lexan. Unlike the older type of Plexiglass, you can just drill, cut, and generally mangle this material without it shattering. Development and Debug - From previous experience doing network style designs, it was decided to do all communications in ASCII. This allows individual units to be debugged using a PC terminal...