The NLX220 smart analog controller of San Jose, CA-based Adaptive Logic provides a simple and cost-effective solution for integrating adaptive logic functions into home appliances.
The chip, which can enable an appliance to operate in an auto or manual mode, consists of a fuzzifier, a defuzzifier and a controller.
When embedded into a vacuum cleaner, the chip’s fuzzy logic system adjusts itself according to environmental conditions.
Fuzzy logic system allows vacuum to adapt to changing conditions.
Complex digital microcontrollers aren’t the only, or even best, way to control many appliances. Instead, “smart” analog adaptive controllers using fuzzy logic methodology can provide a simpler, cheaper and better solution
Today’s consumers look for more and more features and performance in appliances, even traditional products such as vacuum cleaners.
But they’re also very cost conscious, forcing appliance manufacturers to find the most cost effective solution to providing innovative differentiation.
For years, appliance designers have considered digital microcontrollers the ideal way to add features and improve performance. But these controllers also add complexity and cost, not to mention lengthy development times.
Fundamentally, the problem with using a digital controller in an analog world is that you have to interface two very different techniques, creating complexity in solving even simple problems.
Increasingly, appliance designers are recognizing an attractive alternative, the smart analog controller.
Adaptive logic using fuzzy methodology allows the designer to create a simple system that does just what he needs without the complexity of writing software or compiling code to suit the application.
In many cases, the design process requires many iterations, resulting in long and expensive development cycles.
With smart analog controllers from Adaptive Logic, San Jose, Calif., formerly Neuralogix, for example, the designer can specify desired conditions interactively on the screen of a personal computer using a familiar Windows interface.
The configuration data is then programmed into a chip that can control the appliance directly without the need for installing or running software on the chip.
The chip itself represents most of the system, with only a few additional components such as power-handling triacs needed. The chips are also small and inexpensive, making them ideal for competitive appliance applications.
How fuzzy logic works
Fuzzy logic is a powerful analog processing methodology that accommodates imprecise input data and system nonlinearities easily for rapid development of robust control systems.
The methodology uses linguistic descriptions, making it intuitive and simple to use. It can be used to easily develop and add inexpensive intelligence to a variety of products.
Very little knowledge of fuzzy logic is required to create a design using a single-chip adaptive controller like the Adaptive Logic NLX220. The software support tools the company offers allows the designer to enter a design quickly and efficiently.
Defining fuzzy logic parameters
There are three types of parameters to be specified to define a fuzzy logic system: membership functions, fuzzy variables and rules. All are simple to understand, and the graphic presentation used by Adaptive Logic’s development system software makes them unusually intuitive.
Membership functions are used to define the acceptance and value over which an input can vary on an axis.
Membership functions have names such as LOW, HIGH, MED, and FULL, plus numerical centers and widths. The membership function chosen depends on the application.
Floating membership function
A unique feature of the NLX220 is its floating membership function with center and width values taken from inputs or output registers that can vary dynamically.
The feature allows the designer to use a previous input value and compare it with a current value to calculate the derivative.
For example, he can measure a voltage at one time and compare it with a value measured previously to determine the rate of change of voltage (dV/dt).
This allows the logic to adapt to changing conditions, such as drifting sensors or partially full vacuum bags.
Fuzzification and fuzzy variables
A fuzzy variable is a linguistic expression representing the association of an input variable against a membership function.
The comparison is called fuzzification and its result is a numerical fuzzy variable value that represents the degree to which the input matches the membership function.
An example of a fuzzy variable is as follows:
IF Vpressure IS LOW
where Vpressure is the input and LOW is the membership function.
Rules and rule evaluation
A rule consists of one or more fuzzy variables and an action output value that references a particular output.
The output action value can be applied to the output either directly (Immediate mode) or by incrementing the previous value (Accumulate mode). In a battery charger, for example, the action output value of the winning rule determines the rate at which the battery is to be charged.
All rules are evaluated once during each processing cycle. The NLX220 uses the MAX of MINs technique to evaluate rules.
The two-step process involves first determining the value for each fuzzy variable in a rule and having the smallest value represent the rule. The rule with the largest value of all the rules wins and its action value determines the output.
The main processing blocks of the NLX220 consist of the fuzzifier, defuzzifier and controller.
Applications information is stored in the parameter memory. Each of the four inputs is converted to eight bits of digital data and passed on through a multiplexer to the fuzzifier.
The controller determines the source of the information describing the membership functions used during fuzzification and works with the fuzzitier to evaluate rules.
Once the action is identified, action data values are converted to an analog signal and applied to one of the four analog outputs or used to feed back from the output registers to the inputs.
Vacuum cleaner controller
A vacuum cleaner is an excellent but simple example of an application using adaptive logic.
It may adjust to different naps or surfaces, varying densities of dirt, and collection bags that can range from completely empty to very full.
There are many different techniques that can be used to control a vacuum cleaner depending on the vacuum cleaner hardware and use.
This application demonstrates a pressure (vacuum). It’s simpler than many controllers, but is effective.
The vacuum cleaner example contains a switch that allows operation in either an automatically controlled mode (auto) or with no control (manual).
One feature is the ability to set pressure while in the auto mode. The same control is also used in the manual mode for adjusting the speed of the vacuum.
The speed of the vacuum cleaner motor is controlled using pulse width modulation and implemented with a triac.
The parameters of the system are summarized in the tables.
These are specified with the INSIGHT development system, then programmed into the chip with the INSTANT programmer system that connects to the personal computer used for development.
In the manual mode the motor speed is set by the PSET potentiometer.
The speed of the motor varies with the value of the LINEAR signal which controls the duty cycle of the Pulse Width Modulation (PWM) output. When in the manual mode the Rule “If auto/man is man then linear = Pset” sets the value of linear to the pot setting.
Placing this rule after the automatic linear rules, and separated by another output, allows this rule to override the automatic calculations when manual mode is selected.
This way, you do not have to include a term in all the automatic rules that checks to see if auto/man is auto. The elimination of these terms means that fewer rules are required and allows for other functions.
In the auto mode the controller keeps the pressure constant and equal to the value set by the PSET pot.
It checks for the differences between the output of the pressure sensor and the set point by using membership functions with floating centers.
A floating center means that the center of the Pressure membership functions is determined by the input PSET instead of being fixed to a constant value.
The center therefore moves as PSET is changed by the user. In operation PSET would be set high for cleaning floors, medium for upholstery and low for curtains.
The pressure is maintained at the desired setting by increasing LINEAR, hence the motor speed, if pressure is low and decreasing it if the pressure is high. When the pressure is correct, LINEAR is not changed.
A lower limit is placed on LINEAR by including a term in the rules that keeps the value of LINEAR from going so low that the motor would stop.
The on time of the triac is controlled by outputting a pulse on the PWM output. The pulse is synchronized to the AC line by monitoring zero crossing.
Since the motor will normally be on most of the time in a vacuum cleaners operation, a zero crossing scheme that operates once each cycle is used.
The zero input monitors the AC line voltage and when it reaches a positive value the ZSTATE output is set high.
This starts the internal timer which counts until just before the next zero crossing. At this time it returns to zero and remains there until ZSTATE again goes high, restarting the cycle.
The timer output is used as the floating center for the LINEAR membership functions. The comparison of LINEAR and timer sets the time when the triac will be turned on by the PWM output.
The controller is powered directly from the AC line. The triac is biased so that it will operate in the lower gate-turn-on current regions.
Though this is a fairly simple application, the same techniques can be used for more complex systems.
Adaptive Logic and its customers have implemented many different appliance controllers for products as varied as heater control, battery chargers, HVAC systems and intrusion alarms using similar techniques.
As this application demonstrates, smart analog adaptive controllers are a viable and often preferable alternative to using digital controllers to control analog processes