MM Defender Controller

From PalOMoney
Revision as of 22:07, 26 June 2013 by Dev (talk | contribs) (Created page with "The Mosquito Magnet Defender Controller is a small PCB assembly that controls the Mosquito Magnet Defender 1/2 acre corded trap. This model is explained elsewhere on the web. ...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The Mosquito Magnet Defender Controller is a small PCB assembly that controls the Mosquito Magnet Defender 1/2 acre corded trap. This model is explained elsewhere on the web. This topic discusses what it is and how it works, but based only on observation of the PCB, its components, and signals.

Schematic Revision 0

MMDefender PCB ExtAssy Schem 0.png

Circuit Desciption

The heart of the system is the MicroChip PIC16C58B 18 pin SOIC micro-controller (uC) chip. This inexpensive, low end chip is one-time-programmable (OTP), and its firmware was programmed at the factory.

Along with the controller PCB, the Defender uses 6 other assemblies: an AC power connector, a power switch and LED indicator, a propane valve solenoid, an igniter, a fan, and a thermistor. These assemblies consist of the named component plus lead wires and female connectors that connect to mating connectors on the PCB.

The PCB contains 2 rectifiers to rectify the incoming 14 volt AC low voltage power source, supplied by an external power supply and a long low voltage cord. High current rectifier D2 powers the ignitor circuit directly, without any filter capacitors. D1, the lower current bridge rectifier, powers the internal rails (power supplies). U101 implements a regulated +12v supply to power the fan, propane solenoid, and the 5 volt power supply. It could also be (but isn't) used as the Vpp programming voltage. U102 implements the +5v supply. It is an 8 pin SSOP ?, not the 3 pin device shown on the schematic.

The front panel switch does not switch the power, but rather simply goes to the uC RA0 input. R1 and C1 form an RC network to support the PIC internal RC clock circuit. The components result in a nominal 3 mHz clock frequency. An unknown and unused input on unpopulated J4 is connected to RA3.

The uC's main outputs drive the fan, ignitor, and the solenoid, in that order. Each external device is driven by a transistor, which in turn is driven by the associated uC output pins RB1, RB0, and RB2. These pins are actuated in a programmed sequence to power the associated devices.

The uC is powered from +5v, and will shut down if the power supply drops too low, which occurs when the trap loses power. Otherwise, the uC gets its information from the thermistor assembly, which measures the temperature in the combustion chamber after the catalytic converter. The idea is that the temperature should not be too low, or too high. If these conditions are not met, the uC shuts the propane valve, runs the fan for a few minutes, and blinks the LED to indicate a fault.

The thermistor is configured with 4 resistors (R4, R5, R6, and R9) and 1 capacitor C4 to form a dynamic charging and timing circuit that measures the temperature. This circuit is used to measure a wide range of temperatures without using an A/D converter or comparator, inputs common on other controller chips but not on this low-end device.

The TOckl input is intended for use of an external clock with arbitrary (slow) rise times. The input has a Schmitt trigger to implement a 2.6v comparator with hysteresis. C4 is alternatively (1 each per second) charged via R5 (20k), and then via TH201 (200k thermistor) in parallel with R6 (162k).

RB5 goes high when LED first goes out, powering R5 (20k) to fast charge C4 in about 2.5ms to about 2.6v, which triggers TOckl and ends the charge. RB6 & RB4 go high as LED goes on. TH201 (200k @ 25C thermistor) slow charges C4 in about 14 ms. As the temperature rises, the thermistor resistance decreases and charges C4 more quickly. With thermistor TH201 disconnected or open, 162k charges C4 in about 25 ms. All pulses go low when TOckl is triggered. The ratio of fast to slow charge times gives the approximate temperature measure.

Micro Controller Functions

All in all, this is a fairly clever circuit that uses one thermistor as a sensor to detect every fault.

  • If the propane runs out or the gas valve solenoid fails, the combustion will cease, the thermistor temperature will fall, and the unit will shut off.
  • If the fan completely fails, the combustion will cease for lack of oxygen.
  • If the fan partially fails, the uC will fault for too high combustion chamber temperature (just speculation here).
  • If the power fails momentarily, then the solenoid will release and the valve will close, and the uC will reset.
  • When the power is restored, the unit will try to restart if the switch is in the Run position.
    • First, the uC slow blinks (1/sec) the LED and cools the system to derive the baseline thermistor resistance. The unit runs the fan for just under 3 minutes to do this.
    • The uC activates the ignitor for 5 seconds.
      • It doesn't seem likely that the thermistor can react in this short time period, but it might because the unit can move to fault status after only 5 seconds of ignition.
    • The uC reduces the fan speed by 1/4 pulse width modulation (10ms/40ms) and actuates the valve solenoid to apply propane to the combustion chamber and igniter.
    • After about 15 seconds, the fan is returned to full speed.
    • After a few (?) minutes, the uC observes normal operating temperature, and drives the LED with a solid ON signal.
    • If there is a fault detected, the uC drives the LED with a fast blinking signal, and shuts down the fan after another 3 (?) minutes.

Commentary

Upgrading

Although the PIC16C58B firmware is unknown, it is unlikely that the designers would have provided for field updating the firmware, because that would require additional unused and unprogrammed program space memory, and would require programmer access to the Vpp, ICSPD, and ICSPD pins. There is no connector for these pins, and Vpp is permanently wired to +5v (Vdd), so the pin can never be raised to the programming voltage. Any project to upgrade this unit will requiring replacing the factory PIC16C58B with a more capable chip, which fortunately could occupy the same footprint, plus installing a programming connector, and isolating Vpp from +5v (via 1k) and making the pin available for application of the programming voltage.