At 10:23 AM 2/18/03 -0500, Chris Loiacono wrote: >I'm really curious about those ADC's. Is anyone using them in an Industrial >app that can shed more light from that angle? Much of my stuff would be classed as industrial - and most of that uses the a/d inputs on 16c73b PICs. However, I deal with slowly changing a/d values (thermocouples embedded within gas-fueled catalytic heaters) and I am able to use analog RC filters on the a/d inputs as well as digital filtering within the code. My major problems have always been high frequency noise (VFD motor speed controllers) and fast transients (motors and contactors turning off). VFD noise is pervasive - it gets everywhere. Keeping it out of the thermocouple transmitters was a challenge. But the worst problem is the fast transients that happen when inductive loads get turned off. My early generation controllers would spontaneously reset if a contactor opened. I tried everything I could think of: bypass every wire that left the PCB, increase the quantity of bypass caps near each chip, ground plane on the PCB, layout changes, the works. One of the problems was tracked down to a shift register: we used to use TPIC6B595 (note the "B") to drive relays and 2 of the outputs from one of those also controlled a 4051 analog multiplexor. One of my engineers finally proved to me that the TPIC6B595 was susceptible to transient electric fields: he mounted one on a ground plane, connected LEDs to the outputs, fed in a pulse train to set the outputs to a pattern, then physically shorted all the control lines to the ground plane (smallest possible loop area). Operating a piezo sparker anywhere in the vicinity completely scrambled the pattern shown on the LEDs. Changing to the TPIC6595 (note: no "B") completely eliminated that problem. The reason this was leading to resets is that one of the inputs on the mux was at a known verification value: the code checks 1 input on every mux for a known value every time through an input scan and bails if any verification input is out of spec. Going back to an earlier rev of the same board and changing the shift registers to the non-B version showed an almost complete immunity of fast transient fields. However, there was still a very rare spontaneous reset. I went through all the board revisions that I had tried and found that the version that made the most difference had more ground area under the PIC and connecting the peripherals (muxes and such). I can't really call it a ground plane - its only a 2 layer board with traces top and bottom. But the ground trace is somewhere around 0.25" wide as opposed to 0.10" wide on the earlier boards. My advice, for what its worth, is to abuse your controller in every way that you can imagine. I don't have access to a commercial ESD gun but get similar results from an ordinary piezo ignitor and from a high frequency ignitor used for starting xenon lamps. Finally, plan for failure. My oven controller boards use an external supervisor (Xicor X5043) and have a simple 2 transistor monostable that monitors the reset line into the PIC. Each time a reset pulse is detected, the timer is reset and disables the fuel gas relays. There are other hardware disabling techniques as well as multiple software tests that all have to pass before allowing the fuel gas relays to operate. Hope this helps! dwayne -- Dwayne Reid Trinity Electronics Systems Ltd Edmonton, AB, CANADA (780) 489-3199 voice (780) 487-6397 fax Celebrating 19 years of Engineering Innovation (1984 - 2003) .-. .-. .-. .-. .-. .-. .-. .-. .-. .- `-' `-' `-' `-' `-' `-' `-' `-' `-' Do NOT send unsolicited commercial email to this email address. This message neither grants consent to receive unsolicited commercial email nor is intended to solicit commercial email. -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.