The VP-TX-DCIM is a new multi-sensor platform designed around the PIC18LF series microprocessor and the MCP3208 A/D converter.
The "must have" design criteria for this project had to have these minimum features:
- 1 internal temperature sensor (Thermistor)
- 4 external temperature sensors (Thermistors)
- 1 internal Humidity sensor (0 - 100 %RH)
- 1 internal CO (Carbon Monoxide) gas sensor
- 1 internal differential static pressure sensor
- 1 external water leak detection sensor
- simple user interface (graphic lcd and minimum buttons)
- low power and wide operating supply voltage range (9 to 24 VDC)
- audible alarm
- RS485 with Modbus RTU protocol communication
and a few other wish list items. The design team (me :) ) was given 4 weeks to go from concept, to schematic, to board layout, to prototype, to test, and finally to beta test in a customer's location.
I am a firm believer in "cut and paste" and "if it ain't broke, don't fixit".
Quite a bit of the design was taken from previous products and pasted together. (parts of this design can be found in other products on this website and related blog posts!)
The PIC18LF66K series was chosen for its low cost, IO count, ease of programming and low power consumption. Even though the PIC has analog inputs, I decided to use the MCP3208 external A/D converter - the resolution was good enough for the application and I already had software libraries built for it. The one sensor I did not have experience with and spent the most time on was the pressure sensor. I finally chose an SPI type interface sensor because it was just too easy to implement.
Fortunately, we already had a display module as a component (128 x 64 white on blue) and the software function libraries, so that part was easy. The rest of the project was cut and pasted (literally on paper !!) before starting the schematic.
I have learned the hard way that even when under pressure, it saves time to make enough time to do things right - proofread schematics (especially against prior designs to catch rookie mistakes), recheck and validate artwork before releasing to production, and my favorite, always have a "heartbeat" LED designed into the project - it's the equivalent of the "Hello World" scenario when first starting the software side. (I still get a kick every time I apply power, there's no smoke, a bit of code, and the LED starts blinking!! )
At the end, a very enjoyable and rewarding project - everything worked just fine (you can see in the above pictures there are no "hack and whacks" - it's the rev A prototype), and most importantly, we have a happy customer. :)