AU617371B2 - Ice bank control system for beverage dispenser - Google Patents

Ice bank control system for beverage dispenser Download PDF

Info

Publication number
AU617371B2
AU617371B2 AU24634/88A AU2463488A AU617371B2 AU 617371 B2 AU617371 B2 AU 617371B2 AU 24634/88 A AU24634/88 A AU 24634/88A AU 2463488 A AU2463488 A AU 2463488A AU 617371 B2 AU617371 B2 AU 617371B2
Authority
AU
Australia
Prior art keywords
recited
ice bank
sensor
temperature
compressor motor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
AU24634/88A
Other versions
AU2463488A (en
Inventor
Douglas A. Deeds
Jonathan Kirscher
W. Frank Stembridge Iii
William F. Stembridge
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Coca Cola Co
Original Assignee
Coca Cola Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Coca Cola Co filed Critical Coca Cola Co
Publication of AU2463488A publication Critical patent/AU2463488A/en
Application granted granted Critical
Publication of AU617371B2 publication Critical patent/AU617371B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B67OPENING, CLOSING OR CLEANING BOTTLES, JARS OR SIMILAR CONTAINERS; LIQUID HANDLING
    • B67DDISPENSING, DELIVERING OR TRANSFERRING LIQUIDS, NOT OTHERWISE PROVIDED FOR
    • B67D99/00Subject matter not provided for in other groups of this subclass
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F25REFRIGERATION OR COOLING; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS; MANUFACTURE OR STORAGE OF ICE; LIQUEFACTION SOLIDIFICATION OF GASES
    • F25DREFRIGERATORS; COLD ROOMS; ICE-BOXES; COOLING OR FREEZING APPARATUS NOT OTHERWISE PROVIDED FOR
    • F25D21/00Defrosting; Preventing frosting; Removing condensed or defrost water
    • F25D21/02Detecting the presence of frost or condensate
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B67OPENING, CLOSING OR CLEANING BOTTLES, JARS OR SIMILAR CONTAINERS; LIQUID HANDLING
    • B67DDISPENSING, DELIVERING OR TRANSFERRING LIQUIDS, NOT OTHERWISE PROVIDED FOR
    • B67D1/00Apparatus or devices for dispensing beverages on draught
    • B67D1/08Details
    • B67D1/0857Cooling arrangements
    • B67D1/0858Cooling arrangements using compression systems
    • B67D1/0861Cooling arrangements using compression systems the evaporator acting through an intermediate heat transfer means
    • B67D1/0864Cooling arrangements using compression systems the evaporator acting through an intermediate heat transfer means in the form of a cooling bath
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F25REFRIGERATION OR COOLING; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS; MANUFACTURE OR STORAGE OF ICE; LIQUEFACTION SOLIDIFICATION OF GASES
    • F25DREFRIGERATORS; COLD ROOMS; ICE-BOXES; COOLING OR FREEZING APPARATUS NOT OTHERWISE PROVIDED FOR
    • F25D31/00Other cooling or freezing apparatus
    • F25D31/002Liquid coolers, e.g. beverage cooler
    • F25D31/003Liquid coolers, e.g. beverage cooler with immersed cooling element

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Thermal Sciences (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Devices That Are Associated With Refrigeration Equipment (AREA)
  • Devices For Dispensing Beverages (AREA)
  • Beverage Vending Machines With Cups, And Gas Or Electricity Vending Machines (AREA)
  • Production, Working, Storing, Or Distribution Of Ice (AREA)

Description

AUSTRALIA 617371 Patents Act C1PLETE SPEUFICATIGIN
(ORIGINAL)
Class Int. Class Application Number: Lodged: Complete Specification Lodged: Accepted: Published: SPriority Related Art: APPLICANT'S REFERENCE: RC48532 (1310) Name(s) of Applicant(s): The Coca Cola Company Address(es) of Applicant(s): 04 310 North Ryde Avenue NW, b> 0 Atlanta, Georgia, 205t~ Qi76 6~A 0 UNITED STATES OF AMERICA.
0 Address for Service is: PHILLIPS 0RMUNDE FITZPATURICK Patent and Trade Mark Attorneys 367 Collins Street Melbourne 3000 AUSTRALIA Complete Specification for the imvention entitled: ICE BANK XCNTML SYSTM FOR BEVERAGLE DISPENISER Our Ref 108778 POF Code: 78750/78750 The following statement is a full description of this invention, including the best method of performing it known to applicant(s): 6003q/1 -1- To: The Commissioncr or vatents p18/7/78 PHILLIPS ORMONDE FITZPATRICK Patent and Trade Mark Attorneys 367 Collins Street Melbourne, Australia tA I ICE BANK CONTROL SYSTEM FOR BEVERAGE DISPENSER Background of the Invention This invention relates to an ice bank control system, and in particular to such a system for a beverage dispenser having a mechanical refrigeration system.
Ever since ice banks have been used to maintain a water bath at or near 32 degrees F. surrounding the ice bank, the control systems to maintain the ice bank, for the most part have been metal capsules filled with water. The freezing process caused expansion within the capsule thereby flexing a diaphragm and pushing a fluid in a capillary tube against a piston on the opposite end of the capillary tube. to actuate a switch. These systems have been adequate over the years, however, being a mechanical type of system, they have problems of leakage, diaphragm wear, and general mechanical tolerances that sometimes make this type of cqonrol So* irregular in its operation. Since the water inside the capsule on these devices is enclosed, they all tend to overbuild an ice bank on the initial pull down, as the first o0°° ice crystal formation does not occur immediately, partially due to having a very slight pressure on the water in the %0 capsule. After the initial pull down, the ice never completely melts within a capsule during normal operation and the temperature cycle becomes very consistent until wear or leakage in the system causes a change that generally builds a larger ice bank until complete failure, at which time, the water within the ice bank container completely freezes. To replace the control necessitates waiting for the ice to melt. In addition, when the ice bank container freezes completely, damage often occurs to the more TRB10775.
10/29/87 expensive stainless steel water and syrup cooling coils, requiring replacement thereof.
According to one *aspect of the present invention there is provided an ice bank control system for a beverage dispenser having a refrigeration system including a compressor, a compressor motor, an ice water tank filled with water up to a water level, and ice bank building evaporator coils loc3ted in said tank below said water level, said control system comprising: a solid state temperature sensor suita-bl fcr rrfao)ec in~ Q~ mountinA in said tank below said water level adjacent to one of said coils and in contact with an ice bank built by 00 said evaporator coils; and a control circuit including a microcomputer connected to said sensor solely by an electrical lead for Scontrolling the thickness of the ice bank and including means for turning off said compressor motor when the o 00 temperature senses by said sensor reaches a first selected value and for turning said compressor motor back on when the temperature sensed by said sensor reaches a second selected value.
o According to a further aspect of the present S invention there is provided a method for controlling an 0.
0 0 0000 00 a 00 o 00 00, 00 0000 0 0
QOD
0 0O( aO 01000.
C) C 000 ice bank in a beverage dispenser comprising the steps of: 00 00 o providing a refrigeration system including a compressor, a compressor motor an ice tank filled with water up to a water level, and ice bank building case o0 evaporator coils located in said tank below said water level; providing a solid state temperature sensor mounted in said tank below said water level and adjacent to one of said coils and in contact with an ice bank built by said evaporator coils; providing a control circuit including a microcomputer for controlling the thickness of the ice bank and including means for turning off the compressor motor when the temperature sensed by said sensor reaches a first selected value, and for turning the compressor motor 39 back on when the temperature sensed by said sensor reaches L
MJP
Y a second selected value; and connecting said control circuit to said sensor solely by an electrical lead.
The present invention encompasses morE than just controlling the thickness of the ice bank; it also includes protection for the compressor. The present invention uses a solid state sensor that has proven to be very reliable to measure the temperature of the super cooled ice. This system can maintain a very consistent ice bank within the capacity of the compressor system.
39 MJP -3- ~s The present invention will be more fully understood from the detailed description below of preferred embodiments when read in connection with the accompanying drawings wherein like reference numerals refer to like elements and wherein: Fig. 1 is a partly-cross-sectional rear elevational view of a beverage dispenser using the ice bank control system of this invention; Fig. 2 is a perspective view of the sensor, control housing and support bracket for the sensor; Fig. 3 is a cross-sectional view through the sensor; Fig. 4 is an electrical block diagram of the control circuit; Figs. 5A and 5B is an electrical schematic circuit diagram of the ice bank control circuit; and Figs. 6A to 6J are flow diagrams of the software.
MJP
the ice bank control circuit; and Fig. 6 is a flow diagra em-ft software.
aid cription of thc Preferred Embodimentf With reference now to the drawings, Fig. 1 shows a beverage dispenser 10 having a mechanical refrigeration system 12 including an ice water bath tank 14, evaporator coils 16 positioned in the tank 14 to build an ice bank 17, syrup cooling coils 18 water cooling coils 19, an 0 0 agitator 20, an agitator motor 22, a compressor system including a compressor motor 24 and a control box 26 housing an ice bank control system 28. The ice bank control system °0 1 28 of the present invention can be used with any standard o0000oo <oO o well-known refrigeration system. It is therefore, not necessary to describe in detail such known refrigeration system.
Referring to Figs. 1-3, the ice bank control system 28 O of this invention comprises a sensor 30 connected by an 0o 0 insulated and shielded electrical line 32 to the ice bank o.oo.. control system mounted above the water on a refrigeration 0 ~deck 36. The sensor 30 is mounted in the ice water bath at the desired predetermined distance (usually one to two 0 o 0 inches) from the evaporator coil 16, by a support bracket 38 connected to a coil. The distance depends upon the type and size of the particular dispenser, the amount of weight of ice the coils 16 are designed to carry, and the desired thickness of the ice bank. The bracket 38 can provide for adjusting the distance of the sensor 30 from the coil. The sensor 30 is preferably an inexpensive solid state sensor such as a highly repeatable thermistor sensing element TRB10775.
-6- 000 0060 *0 03 6 o j 0003 9003 0000 0> 3 o 0 0 92 0 0"; 9 9 0 93 99.
09 0 91 .9 0 0 949 40 3, 9 0~ 9 0 0 0 00
~?N
k.~vr Osencased in a quantity of epoxy mraterial 42 inside a watertight plastic (preferably Lexan) shell 44.
The sensor 30 is preferably placed at tha desired location for the boundary between the ice and the water. In previous systems, the ice bank would vary in size from about one inch beyond the sensor to one inch short of the sensor.
The present invention keeps the ice bank at essentially the same size all the time. "1-en the compressor is on, the temperature at the sensor will continually drop, and while the compressor is off, the temperature at the sensor will continually increase. Various selected temperatures can be selected for the sensor to turn the compressor off and on, that is, for a second higher temperature, respectively. A preferred first temperature is 29.5'F for all but the first pulldown cycle (which is 27'F), and is preferably 31.5*F for the second temperature. ;arkSe With reference now to Figs. 4,ratd-, the electric schematic of the ice bank control system 28 of the present invention will now be described. Fig. 4 shows in block diagram the ice bank control circuit 34 connected to the sensor 30. The ice bank control circuit 34 is connected to both the agitator motor 22 and to the compressor motor 24.
Fig. 5 is a more detailed electrical schematic diagram of the ice bank control circuit 34, which diagram has been divided up by dotted lines in the into seven separate sections A-C for ease of description.
Regarding section A, the power supply converts 24 VAC into 24 VDC to supply the relays and into regulated 5 VDC to supply the analog and digital logic circuits. MV1 is a varistor which protects the circuitry in the event more than 47 volts is applied. CE7 and CEB provide a voltage drop for the AC voltage to the bridge rectifier. The output of the bridge is preregulated by R2 and DZ1 and filtered by TRB10775.
(1 -7- 0000 0000 o o 0 00 0 0 0 0 0 0 9 E 0 0000 0 0 0 00 0 Sa 00 0 0 00 ,r a o a-a 09C 0 0 00 00000 4 0 i 0 6 41 0 This voltage is the input to RG1 which provides +5 VDC to all the analog and logic circuitry. D1 rectifies the AC input voltage to provide 24 VDC. R12 limits the current to the relays.
Regarding section B, Il is a complete 8 bit single chip microcomputer 48 with 512 program steps and 32 bytes of RAM.
It has an 8 bit counter and 12 input/output pins. L1, C3, and C4 provide a 4 MHZ resonator to the oscillator inputs of the microcomputer. Jl, J2, J3, J4,'J5, J6, and J7 are wire jumpers which are connected between I/O pins on the microcomputer and ground. Some of the wires will be cut during calibration to one of 128 different patterns.
Regarding section C, the watchdog timer is a circuit that provides power on reset for the microcomputer and monitors the operation, forcing the microcomputer to reset if it detects the output pin not changing "states" for as long as eight seconds. C15, D5, and R15 differentiate the watchdog strobe output of the microcomputer 48, which is implemented with software and an output pin. This signal is buffered with one of the gates of 14 and is the input trigger for the 8 second retriggerable timer made up by D6, R14, and CE6. If the differentiator does not receive pulses, then the timer times out, and the output of the timer is the input gate signal to the gated oscillator made up of CE2, R3, and one of the gates of 14. When the gated Fecillator starts to oscillate, the output resets the microcomputer 48 through R13, C7, and D4. The oscillator will continue to reset the microcomputer until the watchdog strobe output begins to trigger the timer.
Regarding section D, the compressor control circuit takes the logic level output of the microcomputer 48 and drives a normally open dry contact relay output. The microcomputer outputs a logic to open the contacts and a TRB10775.
1 13 -8logic to close the contacts. Transistor Q3 and resistors R16 and R8 invert the logic output. CE3 filters the output of the inverter to keep the relay off during transients. Darlington transistor Ql drives the coil of RL1. D2 protects the circuitry from the inductive switching transients. R17 and C16 provide damping for the contacts of the relay during switching.
Regarding section E, ithe agitator control circuit takes the logic level output of the microcomputer 48 and drives a normally closed dry contact relay output. The microcomputer St,, outputs a logic to open the contacts and a logic to close the contacts. Darlington transistor Q4 and resistor R18 drive the coil of RL2. D7 protects the circuitry from the inductive switching transients.
Regarding section F, the precision oscillator changes b the output wave form with changes in the resistance of the sensor input. The output wave form is analyzed by the microcomputer 48 to obtain temperature and component drift o0o information. The circuit generates a wave form of which one part is proportional to the temperature, and one part is proportional to a reference. R7, RIO, and Rll form a precision voltage divider with outputs of 1.67 VDC and 3.33 0:O0*: VDC. C2 and C6 filter the outputs of the divider which are input to two precision analog voltage comparators contained 0o in 12. The comparators are connected in a circuit where if the voltage of the other inputs to the comparators are between 1.67 and 3.33 VDC the outputs of the comparator are logic S. RI and R4 are the pullups for the comparators.
If the voltage of the other inputs become greater than 3.33 or less than 1.67, the output of one of the comparators will be The comparators outputs are the set and reset inputs for the "nand latch" made up of 2 gates of 14. When the voltage exceeds the boundaries set up by the voltage TRB10775.
divider, the nand latch will change states. One output of the nand latch is input to the microcomputer 48. The other output drives switching transistor Q2 through resistor R9.
The other input to the comparators is the voltage on capacitor CE4, which will be charging or discharging through R6 depending on the state of Q2. When CE4 is charging, Q2 will be off and the 5 VDC supply will charge CE4 through the "short circuit resistor" Rl9, the sensor resistance and R6.
When the voltage on CE4 exceeds 3.33 VDC, the comparator output will cause the latch to change states, turning Q2 on o and begin to discharge CE4 through R6 only. When the aoao voltage on CE4 drops below 1.67 VDC, the comparator output a "will cause the state of the nand latch to change again.
0 C.
0O' Regarding section G, Ti is a negative temperature ,oo coefficient thermistor whose resistance changes with temperature in a repeatable manner.
We have documented the temperature gradient of the ice bank with a chart recorder by placing sensors on the o0>' evaporator coil and at 1/8 inch intervals up to 1.5 inches o0 a away from the coil. The chart clearly shows a temperature gradient through the ice bank 46 that, when operating o normally, ranged from approximately 25 degrees F. to 32 0 degrees F. at the evaporator coil at the time the compressor 24 shut off.
By carefully studying the temperature gradient of the ice bank 46 during normal cycling, we discovered that a temperature pattern existed that could be duplicated using a very accurate temperature measurement system. We determined that a low cost thermistor having a consistent Beta curve where Beta is equal to the semi-conductor material and manufacturing process of the thermistor 40, coupled with a single chip microcomputer 48 and a relatively low cost relay RL1 can be employed to maintain the ice bank 17, with TRB10775.
more consistency and with additional features over the previously used system.
The system of the present invention includes a low cost highly repeatable thermistor sensing element 40 coupled with a single chip microcomputer 48 to control temperature within degrees F. over a very narrow temperature span extending from about 29.5 to-about 31.845 degrees.
The thermistor 40 was selected because it maintained a Beta curve of plus or minus 1.2% at -a temperature range near 32 degrees which variation is almost negligible over the narrow span at the near freezing temperature range within which we are operating.
Differences between actual thermistor Beta Curves and the ideal Beta curve for this thermistor appear as offsets, which are calibrated out by comparing the unit to the ideal I "at a fixed temperature. Correction is set digitally to "avoid problems such as drift over the lifetime of adjustment potentiometers.
SIn most applications, thermistors are used by measuring voltage across a resistive divider and converting to digital values using a discrete or monolithic analog-to-digital converter. We use the thermistor as one component of a two resistor, one capacitor oscillator. The time of the low state of the oscillator is dependent only on the values of a fixed resistor 54 and the capacitor 56. The time of the high state of the oscillator is dependent on the values of the thermistor 40, the fixed resistor 54 and the capacitor 56.
TRB10775,,
A
-11- Time Low K x RF x C Time High K x (RF RT) x C Where: RF Value of Fixed Resistor C Value of Capacitor RT Value of Thermistor Resistance K Constant By measuring the period of the High and Low states of the oscillator 52, we can calculate the resistance of the thermistor o00 Solving for RT: .o RT [(RF x Time High)/Time Low] RF o. Since the value of the capacitor is not used in the 0 03 calculation of the RT, the value of the capacitor and any temperature drift is not too critical. The temperature drift of the fixed resistor is specified to be negligible.
0o°1s We took the normalized temperature resistance 0) characteristic over a small range and selected coefficients 0 .o for a second order polynomial approximation which is oo. accurate to .01 degrees F. The microcomputer 48 measures the periods and computes the temperature.
The thermistor 40 is much like other temperature sensors in that they typically, in a single thermistor version, do not have a linear output that coincides with a linear temperature line. The resistance output is a curve which has to be compensated for in order to have accurate measurements. We have created a formula that is included in software for the microprocessor 48 to perform this function.
Since the microprocessor 48 has control of the relay (switch RL1 in Fig. 58) that controls the compressor motor W 0 TRB10775.
-12- 24 and since it has the capability of sensing other temperatures and timing functions, we included in the software the following features to further enhance the capability of the icebank control system 28 of this invention: A 4 1/2 minute timer (other time periods could be used) that ensures that the compressor 24 will stay off for 4 1/2 minutes each time it is turned off to allow the high and low pressure sides of a.o the compressor 24 to equalize prior to restarting, 'oo. to keep the compressor motor from trying to start under a heavy load. This feature can °o substantially reduce compressor motor burnup.
o0O The microcomputer 48 with its software can sense that when the resistance goes to infinity, an open circuit has occurred meaning that a wire has been o o cut in the sensing circuit thereby causing the "V00 microprocessor 48 to shut the compressor 24 off to keep from freezing the water in the tank 14.
0 0. The microprocessor 48 also senses that when the resistance goes to virtually zero that a short has 00 0 occurred in the sensing system and again shuts the compressor 24 off to prevent an overfreeze.
The microprocessor 48 also senses that when the compressor relay RL1 is closed and the water temperature is high, the microprocessor can control a second relay which controls the water circulation motor. By stopping the agitation of the water around the evaporator coil 16, it allows TRB10775.
i .1 -13the ice formation to begin much quicker, thereby allowing the compressor pressure differeftial from increasing too much, which keeps the compressor motor from overheating and burning up. The software programs the microprocessor 48 to keep the agitator motor 22 off anytime the temperature is above approximately 40 degrees F.
Factors such as atmospheric pressure, chemical or mineral content of water, and the amount of stirring in an ice bath can depress the initial oo* freezing temperature to as low as 27.5 degrees F.
Since this is below the normal cycling temperature 0 70 needed to maintain the ice bank, the o oi microprocessor 48 lowers its 29.5 degree F. lower cycle temperature to 27 degrees F for the first 0 0 cycle to ensure that the compressor does not turn off during the first ice formation until the ice oo bank 46 is built.
0 When produced in large quantities, this system with all its extra benefits is a more accurate and o cost effective solution to maintaining ice banks S° and protecting the compressor motor than other 00% o systems available on the market.
0 O 0 TRB10775.
I i -14- The soft :are includes a "watchdog" circuit This feacure shuts the microprocessor 48 down, which turns the compressor motor 24 off in the event of an unusual spike or wave form temporarily disrupts the operation of the microprocessor 48.
The circuit continuously tries to restart the microprocessor until it sees the proper wave form.
When the micropro'cessor begins to function again, the compressor motor 24 stays off for 4% minutes.
The software will be understood b one skilled in the ViSs. b -Vo 6: C\s e art from the flow chart shown inAFig.-6 and from the following software description.
Floating Point Math Package: 0(06 00ac 00 0 o a 6a 0 64060 6 #O aOnrt on o4 64 6 o 660 Sub. FSUB 0 00 00 4 o n o OO 0 6 0 00 Sub. FADD Subtracts a floating point number in floating point register A from a floating point number in floating point register B with the result going to B.
Adds the two floating point numbers in registers A and B with the result going to B.
Multiplies the floating point numbers in registers A and B with the result going to B.
Divides the floating point number in B by the floating point number in A with the result Sub. FMPY Sub. FDIV going to B.
TRB10775.
I
10/29/87 I .1 -U I Sub. NEGA Sub. NORM Sub. FSWAP Negates the floating point number in A with the result staying in A.
NORM normalizes a floating point number in B so that its most significant bit in the mantissa is a 1.
FSWAP exchanges the contents of floating point registers A and B.
Coke Ice Detector: 00 00 0 Q 0 o 00 o 4 Sub. period Sub. FIXA 0n 0 0 04 00 4 0 0 0 0 04l 0 0 04a Branches to code, pbody, in upper half of memory. This allows it to be called as a subroutine but not use much subroutine memory (lower 128 bytes).
FIXA repairs the mantissa of floating point register A with regard to the counting scheme used by period, period counts within a 16 bit pseudoregister but the upper B bits has the value of 128 not 256 as with a normal 16 bit number. FIXA divides the upper 8 bits by 2, then adds 128 to the bottom 8 bits if the top 8 was not evenly divisible by 2.
movbw moves a floating point number in floating register B to the floating point register whose number is in W at the onset of the CALL.
movwb moves a floating point number whose file number is in W at the onset of the CALL to floating point register B.
Sub. movbw Sub. movwb TRB10775.
l- -16- Sub. wdt wdt prevents the constant re-initialization of the microprocessor by the watch dog hardware, during normal operation. It does this by toggling the wdog line whenever called. The resulting pulses keep capacitor CE3 discharged, thus preventing the connected section of IC2 from oscillating and resetting the 1654.
The MAIN Program: '*0 *4 I Ir i 44i 1 4 4 *44 4444.
*O 44 *4 4 9 4 o s.* 4 4 4 44 4 4J 4 o) 4 beginning (no label)
MAIN
This clears all registers for startup.
This section does simple initialization then delays for 2.2 seconds or 4.5 minutes (test or normal modes).
This section takes 128 samples, calculates the resistance of each individually and keeps a running sum.
fixexp averages the sum by correcting its exponent. In effect dividing by 128.
fahr calculates the temperature from the input resistance from the formula T= A+Br+Cr^2 where T is the temperature r is the resistance of the probe. A, B, and C are the constants 86.979, .0226819, and 17.9 E-9 fixexp fahr TRB10775.
/pi 11 r i 11 i. piw MJP 3.
t -17which were derived from a 2nd degree polynomial fitting the resistance curve between -5 and +5 degrees Celsius.
integrate integrate performs a simple integration process by applying both the new and previous temperatures in the formula, new old old -new)/P. This process is skipped in test mcde, immediately after reset or after 4 min. delays.
hitest hitest first checks to see whether the S0 0 Gt o temperature is below 40 degrees F. If it is, o0 it turns on the stirrer motor. The high setpoint is then loaded.
e oO 0 00 hiO hiO checks the current temperature against the high setpoint. If it is less than the setpoint program flow continues at lotest.
a o 0Otherwise the current temperature is compared to 150 degrees Fahrenheit. If the temperature is greater than 150, we restart 49 0 by sitting in a loop and not allowing the watch dog timer to be pulsed. The program o° continues by going to MAIN.
lotest lotest loads the 1st low or low setpoints depending on whether we have previously passed below the 1st low setpoint.
loO loO compares the low setpoint against the current temperature. If the current temperature is above the low setpoint then TRB10775.
i 3, MP-4- -18the program continues at with2. If the current temperature is less than the low [test] setpoint then the relay is turned or left on. The program continues by going to MAIN if in test mode.
wait The program waits for 4.5 minutes to prevent the compresspr for immediately turning back on, then continues at MAIN.
with2 The current temperature was above the [test] setpoint, so the compressor relay is left in 0.00 its current state. Program flow continues at o o o o0 MAIN.
oo 0 0:06 pbody pbody acts in two ways. When first called it 0000 o00 synchronizes the program with the temperature period. When called again it returns the actual values of the high and low times.
0 0 o0 The singl? chip microcomputer 48 is a Gen eral instrument PIC 1654. Some notable characteristics of the o0o 0microcomputer are: A. 512 program steps B. 32 bytes of RAM 0 0 0 0a D. All subroutines must begin in the lower half of memory.
E. It has an eight bit clock counter.
F. When master clear is pulled low and then released high, the program counter is set to the last program location (511).
G. The architecture includes a two level stack.
TRB10775.
-19- The program consists of 1 main program routine, 6 subroutines, and 7 floating point math subroutines.
In the accompanying source code (Exhibit the main program with its 5 subroutines, the begin routine, and the floating point subroutines each have separate listings.
Each listing has a separate set of line numbers starting with 1.
The accompanying source code (Exhibit A) is sequenced in the same order as this description.
1. Lines 25 through 61 contain the register definitions.
Lines 69 through 76 contain the address definitions of a o. the floating point subroutines so that they can be called by the main routine and 5 subroutines of the 1st O o0 listing.
on Lines 84 through 171 are definitions of constants used within the program.
2. Line 186 is the entry point of a routine to measure the C high and low periods of the temperature waveform.
Placing the entry point here allows the body of the code (in the upper half of memory) to be called as a subroutine.
q 3. Line 204 is the only entry point for subroutine FIXB.
Lines 204 through 219 repairs the mantissa for floating point register A with regard to the counting scheme used by subroutine period. Period counts within a 16 bit pseudo-register, but the upper 8 bits has the value of 128 not 256 as with a normal 16 bit number. FIXB divides the upper 8 bits by 2, then adds 128 to the TRB10775.
lower 8 bits if the top 8 bits was not evenly divisible by 2.
4. Line 228 is the only entry point to subroutine movbw.
Lines 228 through 239 move the contents of floating point register B to the floating point register pointed to by W at the onset of the CALL subroutine.
L:ne 248 is the only entry point to subroutine movwb.
Lines 248 through 259 moves a floating point number pointed to by W at the onset of the CALL subroutine to floating point register B.
o 2 o 6. Line 267 is the only entry point to subroutine wdt.
oo Lines 267 through 281 prevent the constant re-initialization, of the microcomputer by the o watch-dog hardware during normal operation. By 0 00 toggling the state of the wdog line capacitor CE3 is kept discharged preventing IC2 from self oscillating o° and resetting the PIC 1654.
o 00 00 0 0 Q Lines 270 through 274 change the state of the wdog line 4. from high to low.
0 o o Lines 276 through 280 change the state of the wdog line from low to high.
7. Line 291 (BEGIN) is the entry point of the main program.
Lines 291 through 295 initializes the flags so that the program remembers that this is the first operation and that no integration of temperature should occur.
TRB10775.
ETIYi IE*Iiiiii -21- Lines 303 through 326 turn off the compressor-relay and delay for 4h minutes. If the test pin is held low the 4h minute delay is skipped.
Lines 334 through 339 initialize the temperature measurement loop.
Lines 341 through 359 get the counts for the high and low portions of the temperature waveform for 1 time through the loop.
Lines 361 through 373 calculate the sensor resistance o o from the high and low periods.
Lines 375 through 382 adds the calculated resistance to .000 the sum of all resistances for 64 loops.
Lines 384 through 385 check to see if we have done all 0 0 64 loops.
oa Lines 393 and 394 divide the sum of all loops by 64 to o get the average resistance.
o a Lines 407 through 462 convert the average resistance oo 0 into the temperature in degrees Fahrenheit using the formula T A Br Cr^2. T is the temperature and r is the resistance of the sensor. A, B, and C are the constants 86.979, .0226819, and 17.9 E-9, which were derived for a 2nd degree polynomial fitting the resistance curve between -5 and +5 degrees Celsius.
TRB10775.
-22:- Lines 464 thyough 495 add a correction factor to the calculated temperature. A digital offset is read from I/0 port RB and converted to the correction factor by m~ultiplying by .055906, then subtracting 3.55.
Lines 506 through 528 do simple intergration to smooth out the data by applying the formula: T= T(old) [T(old) T(new)]/8 The data is not integrated for the first measurement period after reset and after 4 minute delays.
Lines 537 through 662 comprise the setpoint tests.
Lines 537 through 552 compare the temperature to degeesF.If aoe40 degrees F. the stirrer motor is tune off. If at or below 40 degrees F. the stirrer motor is turned on.
o Lines 554 through 595 compare the temperature to the 0 high setpoint, 31.845 degrees F. If above the high setpoint, the temperature is compared to 150 degrees F.
*0 0*If above 150 degrees the program loops -to itself at line 581 without toggling the watch dog timer. This restarts the microcomputer. If the sensor wires get 0 severely pinched during installation or operation and tesensor wires short, then the temperature waveform will compute to a temperature above 150 degrees F. and the compressor will remain off. If below 150 degrees F. the compressor relay is turned on. Program flow continues at line 364 (MAIN).
TRB1Q7 -23- Lines 597 through 662 compare the temperatureto the low setpoint. If the first-time flag is set, indicating that the control has not previously cycled trough the low setpoint temperature, then the low setpoint is set at 27.000 degrees F. otherwise it is set at 29.500. degrees F. If the temperature is above the low setpoint (between setpoints) no action is taken and program flow continues at 1ine 364 (MAIN). If the temperature is below the low setpoint then the compressor relay Is turned off and the first-time flag is cleared to show that we have indeed cycled. Program flow then continues at line 364 (MAIN).
0908 00 8. Lines 670 (pbody) through 712 times the high and low periods of the temperature waveform, it is used twice successively, once to synchronize with the waveform and Sonce to actually measure the periods. If the sensor cord has been cut during installation or operation and 0 the sensor appears as an open or very large resistance the 16 bit pseudo counter will overflow in lines o 678-681 and the program loops to itself at line 681 without toggling the watchdog timer. This restarts the microcomputer.
o 9. Line 721 is the restart vector which contains the first instruction executed after a restart.
Lines 35 (BEGIN) through 39 zero all of the registers.
Lines 1 through 278 perform the floating point mathematical operations of addition, subtraction, multiplication, and division. The mantissa is a 16 bit long 2's complement representation of a number between -1/32,768 TRB10775.
a -24and 1/32,768. The exponent is an 8 bit two's complement representation of a number between -128 and 128. This provides a working range of numbers from positive or negative 2.9x10^-39 to positive or negative 3.4x10^38 with an accuracy exceeding 4 significant decimal digits.
11. Lines 38 (FSUB) through 91 performs floating point subtraction and addition. If the routine is entered at line 3, the number in floating point register A is 2's complemented then added to the number in floating point register B, to perform subtraction. If the routine is entered at line 4, no negation takes place and the numbers are merely added.
°12. Lines 114 (FMPY) through 156 perform floating point 990o multiplication on registers A and B with the product r going to B.
13. Lines 159 (FDIV) through 211 perform floating point o division with the result of B/A going to B.
Go 14. Lines 219 (NEGA) through 224 negate floating point register A with the result remaining in A.
Lines 234 (NORM) through 251 perform normalization on S* floating point register B. Normalization shifts a floating point number left until the most significant bit is a 1 to maximize the mathematical precision. The sign and magnitude of the number stay the same. Only the representation changes.
16. Lines 259 (FSWAP) through 277 exchange the contents of floating point registers A and B.
TRB10775.
I i 1
L
While the preferred embodiments of this invention have cdescribed above in detail, it is to be understood that variations and modifications can be made therein without dc-arting from the spirit and scope of the present invention.
000 j *000 00 00 a 0 0 0 00 0 0 0)00 0000 0 0000 00 0 0 0 0 00 o 00 0 0 0 0 00 0 00 00 0 0 00 0 000000 0 0 0* 0 0 ~t 0 TRB10775.
26 LINE ADDR 1.
INSTR Coke Ice Detector 13 31.845 27.00 29.500 6 Mar 03-06-1987 10:45:15 TITLE "Coke Ice Detector 13 31.845 27.000 29.500 6 Mar 1967" ;Notice for software Project Ice Bank Control ;Authors: Doug Deeds, Jonathan Kirschner, Bill Steebridge, Frank Steebridge Date of publication: 2 Copyright, 1987 An unpublished work of All Rights Reserved March 1987 the Coca-Cola Company 0260 ORG
FINIT
LIST P=1654,E,H NLIST T,S,M gisters 0000 0001 0002 0003 0004 0005 0006 +INDEX EQU
+RTCC
+PC
.iASR
+FSR
+RA
+RB
EQU
EQU
EQU
EQU
EQU
EQU
gisters 0007 0011 0012 0014
+ACCA
+EXPA
+ACCB
+EXPB
EQU
EQU
EQU
EQU
d 4
C
C
tO C 4 0 40 0 0 4 0 27 0015 0016 0020 0021 0024 0025
+TEMP
+ACC C
+EXPC
+ACCD
+EXPD
+SIGN
;RAM Usage 0026 loopsu I1JFORMATIVE-LABEL TOO 0031 ACCF 0033 EXPF 0034 flag 0035 loop 0036 loop 2 0037 loop 3
EQU
LONG,
EQU
EQU
EQU
EQU
EQU
EQU
26
TRUNCATED
31 33 34 35 36 37 Floating point register F Flags General purpose loop counter 0035 0037 ACCG EQU EXPG EQU 37 ;Floating Point Routine Addresses 0003 0004 0065 0104 0132 0211 0217 0235
FSUB
FADD
FMPY
NEGB
FDIV
NEGA
VNORM
FSWAP
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
0003 0004 0065 0104 0132 0211 0217 0235 o o a 000 0 .i 'V CV CC 0 0 0V0 0 CC 0 OflO 0 o a -r a a 0 00 0 0 00 0 000 00 0 0 00 ci 0 0 0 0 ci 000 0 0 0 7' 28 77.
73.
79.
81.
82.
83.
84.
86.
87.
88.
89.
91.
92.
93.
94.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
I11.
112.
113.
114.
115.
Miscellaneous Constants 0177 0141 0005 ;Setphl Setph2 Setph3 Setphl Setph2 Setph3 Setphl ;Setph2 Setph3 Setphl Setph2 Setph3 Setiohl Setph2 Setph3 Setphl ;Setph2 Setph3 Setphl ;Setph2 Setph3 Setpll Setp12 ;Setpl3
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
7 FR 60R+1 7ER 31.520 deg.
014H+1 to test for 7ER 31.620 deg.
071-i1 to test for 7EH 31.720 deg.
OE1Hi1 to test for 31.845 deg.
to test for 7FR 31.920 deg.
OAER+1 to test for= 7FR 31.945 cieg.
OC8R+1 to test for 40H1. 32.000 deg.
0011+1 to test for 7BR 30.988 deg.
OF3H to test for
EQU
EQU
EQU
EQU
06H1 0511 0 0 0 0 000 00 0 0 0 0 00 0 0 0 0 00 000 0 00 0 0 000 00 0 0a 29 116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
0166 0000 0005 Setpll Setpl2 Setpl3 Setpll ;Setpl2 Setpl3 Setpll Setpl2 Setp13 Se tp 1 Se tp12 Se tp13 ;firstl ;first2 first3 f irsti f irst2 f irst3 hil5O 10150 expiSO hi 60 lo 60 exp60 hi4O lo4 0 exp40 7BH 0 8DH 0 7BH 2 6H 0 7AH
OOH
70OH 0OOH 30.888 deg.
to test for 30.788 deg.
to test for 30.500 deg, to test for 29.500 deg.
to test for 28.000 deg.
to test for 27.000 deg.
to test for= 150 deg. (82.23 really) 60 dE~g. (56.388) 40 deg. approximately 35 deg. approximately 0154 0000 0005 0122 0124 0007 0160 0306 0006 0120 0000 0006 0106 0000 0006
EQU
EQU
EQU
EQU
EQU
EQU
EQtT
EQU
SQU
EQU
EQU
EQU
EQU
EQU
EQU
70H 0 C6H 6H 50H 0OOH 6H 4 6H
OOH
6H hi3 5 1035 exp3 5 ao 0 0 000 O 0 0 a O 0 0t0 0 00 0 0 0 0 0 00 00 0 0 00 0 Cc, 0 0 00 0 0 0 0 0 30 155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172, 173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
0013 0012 0017 0016 0000 0002 0003 0004 0005 0006 0007 0000 0002 0003 wofrof wofron wonrof wonron first noint wdog nowait below above relay relout wdtout tempin WDT off, relay off WDT off, relay on WDT on, relay off WDT on, relay on register usage flag,0 flag,1 flag,2 flag,3 flag,4 flag, 5 flag, 6 flag,7 first time overflow no integration WDT state no wait last sample was below low setpoint last sample was above high setpoint relay on measures the low and high times of the input on bit 0 of RA .OUTPUT: lh in ACCB hi in ACCA period 4a 0 00 c 0 a 0 000 0 r 0 00 0 a 0 *r C 0 0 0 ca~o 0r 0o 00 60 C a a 0 9 O o a soo C a a o 0 0 0 C 0
;I
31 194.
195.
196. 0260 197.
198.
199.
200.
201.
202.
203.
204. 0261 205. 0262 206. 0263 207. 0264 208. 0265 209. 0266 210.
211. 0267 212. 0270 213.
214. 0271 215. 0272 OBD9 period GOTO
;FIXB
OCOF
002C 0403 03 2A 0703 OA8F 0 6EB
OABB
0 5EB 0A8F 0 2AA 04EB
OABF
FIXB MOVLW
MOVWF
BCF
RRF
BTFSS
GOTO
OFH
EXPB
ASR,O0
ACCB
ASR, 0
NORM
BTFSC OBH,7 GOTO f lxi BSF OBH,7 GOTO NORM Clear carry Rotate into carry Skip on carry Skip on ACCB+1 128 Set MSB Add another 256 Same as adding 128 216.
217.
218.
219.
0273 0274 0275 f ixi INCF
BCF
GOTO
ACCB
OBH, 7
NORM
220.
221.
222.
223.
224.
225.
226.
227.
228. 0276 229. 0277 230. 0300 231.
232. 0301 movbw Use W as an index to move fB to a floating point 0024 020QA 0020 0 2A4 movbw HOVWF
MOVF
MOVWF
FSR
ACCE W
INDEX
INCF FSR A 0 000 S0 OQO 00 coo 00 0 o 00 9. 0 0 0 00 0 0 0 32 233. 0302 234. 0303 235.
236. 0304 237. 0305 238. 0306 239. 0307 240.
241.
242.
243.
244.
245.
246.
247.
248. 0310 249. 0311 250. 0312 251.
252. 0313 253. 0314 254. 0315 2.55.
256. 0316 257. 0317 258- 0320 259. 0321 260.
261.
262.
263.
264.
265.
266.
267. 0322 268. 0323 269.
270. 0324 271. 0325 020OB 0020 02VA 020C 0020 0800 MOVF ACCB+1,W MOVWF INDEX INCF FSR MOVF EXPB..W MOVWF INDEX RETLW 0 ;movwb Use W as an index to move a floating point to fB 0024 0200 00 2A 0 2A4 0200 002B 02A4 0200 002C 0800 movwb MOVWF
MOVF
MOVJF
INCF
MOVF
MOVWF
FSR
INDEX, W
ACCB
FSR
INDEX,W
ACCB+1
FSR
INDEX, W
EXPB
0
INCF
MOVF
MOVWF
RETLW
W(atch) D(og) T(imer) 077C 0AD9 047C
OCOA
BTFSS flag,wdog GOTO wdtl BCF flag,wdog MOVLW wofron See what the WDT's current state is It was on so turn it off 00 00 0'~ 4. 0 0 o p 000 0 0 4 0 0 00 00 0 0 0 C 0 0.0 pop p o p 33 272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
0326 0327 0330 0331 0332 0333 0334 0335 0336 07FC
OCOB
OADD
057C 0 COE 07 FC 0 COF 0025 0869
BTFSS
MOVLW
GOTO
f lag, relay wo fro f wdt2 wdtl wdt2 BSF 1 MOVLW worn BTFSS flat MOVLW worn MOVWF RA RETLW 69H 1, wdog ron 1, relay ro f .It was off so turn it on 282.
283.
284.
285.
286.
287.
288.
289.
290.
291. 0337 292. 0340 293.
294. 0341 295. 0342 296.
297.
298.
299.
300.
301.
302.
303. 0343 304.
305. 0344 306. 0345 307.
308. 0346 309. 0347 310.
BEGIN .Do everything OD0 5 003C
OCOF
0025 BEGIN MOVLW
MQVWF
MOVLW
MOVWF
00000101B f lag Set no integrate and first time flags Clear all others wonro f
RA
4.5 minute delay 055C wait BSF flag,noint .No integration on return 0 C7 7 00 3D 007E 04FC MOVLW 077H MOVWF loop waitl CLRF
BCF
loop2 f lag, relay .Make damn sure that the relay is off Q 4 c. O0~ t 0 ~00 C 0 0.C 0 t tj *0t 0 0 0 g o~ p p 0 4 0 4 S sO P 00 0 4 40 0 0'i~ p 4~ pp 4 p p 2 0 4 P p p p p p p p 34 31.. 0350 312. 0351 313.
314. 0352 315. 0353 316. 0354 317. 0355 318.
319. 0356 320. 0357 321.
322. 0360 323. 0361 324.
325. 0362 326. 0363 327.
328.
329.
330.
331.
332.
333.
334. 0364 335. 0365 336. 0366 337.
338. 0367 339. 0370 340.
341. 0371 342. 0372 343. 0373 344. 0374 345.
346. 0375 347. 0376 348. 0377 349.
007F 0902 0C07 0 9BE 02FF
OAEA
0725 OAF4 0 2FE QAB 8 0 2FD OAE6 wait2 wait3 CLRF loop3 CALL wdt MOVLW ACCA CALL movbw DECFSZ loop3 GOTO wait3 BTFSS RA,1 GOTO MAIN DECFSZ loop2 GOTO wait2 DECFSZ loop GOTO waiti .Kill lots of time Test mode? If in test get out of loop
MAIN
0076 0077 007B 0C40 003D 0902 09B0 0 9D2 09B0 09B1 09 9D 0 9B1 MAIN CLRF
CLRF
CLRF
loops ur loopsumiloopsum+2 .Clear loop sum
MOVLW
MOVWF
ml CALL
CALL
CALL
loop wdt period wdt Get in sync Get some actual values CALL period
CALL
CALL
CALL
FIXB
F SWA-P
FIXB
I, C, t 1 48 9 00 00 35 350. 0400 0C19 351. 0401 09BE 352.
353. 0402 099D 354. 0403 0903 355. 0404 098F 356. 0405 099D 357.
358. 0406 0C19 359. 0407 09CB 360.
361. 0410 099D 362. 0411 095A 363. 0412 098F MOVLW ACCF CALL movbw
CALL
CALL
CALL
CALL
FSWAP
FSUB
NORM
FSWAP
Save low high low;result in fB move result to fA Get back low high-low)/low MOVLW ACCF CALL movwb
CALL
CALL
CALL
FSWAP
FDIV
NORM
364.
365. 0413 0C50 MOVLW 366. 0414 0027 MOVWF INFORMATIVE-INCONSISTANT USE 367. 0415 OCCD MOVLW 368. 0416 0028 MOVWF INFORMATIVE-INCONSISTANT USE 369. 0417 OCOB MOVLW 370. MOVLW 371. 0420 0029 MOVWF 372. 0421 0935 CALL 373. 0422 098F CALL 374.
375. 0423 099D CALL 376. 0424 0C16 MOVLW INFORMATIVE-INCONSISTENT USE 377. 0425 09C8 CALL 378. 0426 0904 CALL 379. 0427 098F CALL 380.
5DH
ACCA
OF SYMBOL
GCOH
ACCA+1 OF SYMBOL
OBH
EXPA
FMPY
NORM
FSWAP
loopsum OF SYMBOL movwb
FADD
NORM
1500 1500 1500 high-low)/low Get the loop sum 381. 0430 0C16 MOVLW loopsum INFORMATIVE-INCONSISTENT USE OF SYMBOL 382. 0431 09BE CALL movbw 383.
384. 0432 02FD DECFSZ loop 385. 0433 0AF9 GOTO al 386.
Replace loop sum See if we've done this however many #'s c r a oco o *re c o r ,r r r r r r b LI* 00 0
SO
0 Q 0 rrl-- -i i-i 36 387.
388.
389.
390.
391.
392.
393.
394.
395.
396.
397.
398.
399.
400.
401.
402.
403.
404.
405.
406.
407.
408.
409.
f ixexp .Fix the exponent.
0434 0C06 0435 OQAC MOVLW 06H SUBWF EXPB 6 .loop sum is still in fB f ahr Calculate the temperature at a given resistance Input: R in ACCB 0436 0C19 0437 09BE f ahr MOVLW ACCF CALL movbw .Save resistance 410. 0440 OC4A MOVLW 411. 0441 0027 MOVWF INFORMATIVE-INCONSISTENT USE 412. 0442 0C52 MOVLW 413. 0443 0028 M0VWF INFORMATIVE-INCONSISTENT USE 414. 0444 OCF8 MOVLW 415. 0445 0029 MOVWF 4AH
ACCA
OF SYMBOL 52H ACCk+l OF SYMBOL
OFBH
EXPA
.B .002268193289 or 2.2680759E-3 416.
417. 0446 418. 0447 0935 09 8F CALL FMPY CALL NORM MAY NOT WORK WITH NEG TEMPS) A=86.9798867393 or 86.976562 419.
420. 0450 OC5D MOVLW 421. 0451 0027 MOVWF INFORMATIVE-IN~CONSISTENT USE 422. 0452 OCFA MOVLW 56H
ACCA
OF SYMBOL 0 FAH o o 0 ('On 0 n 0 0 0 0'0 0 0 0 0'0 0 0 -r 0 0 00 0 0 00 0 000 00 0 0 0 0 0 37 423. 0453 0028 MOVWF ACCA+] INFORMATIVE-INCONSISTENT USE OF SYMI 424. 0454 0C07 MOVLW 07H 425. 0455 0029 MOVWF EXPA 426.
427. 0456 099D CALL FSWAP 428. 0457 0903 CALL FSUB 429. 0460 098F CALL NORM 430.
431. 0461 OC1D MOVLW ACCG 432. 0462 09BE CALL movbw 433.
434. 0463 0C19 MOVLW ACCF 435. 0464 09C8 CALL movwb 436.
437. 0465 099D CALL FSWAP 438. 0466 0C19 MOVLW ACCF 439. 0467 09C8 CALL movwb 440.
441. 0470 0935 CALL FMPY 442. 0471 098F CALL NORM 443.
444. 0472 OC4C MOVLW 4CH 445. 0473 0027 MOVWF ACCA INFORMATIVE-INCONSISTENT USE OF SYMI 446. 0474 OCE9 MOVLW OE9H 447. 0475 0028 MOVWF ACCA+] INFORMATIVE-INCONSISTENT USE OF SYMI 448. 0476 OCE7 MOVLW OE7H 449. 0477 0029 MOVWF EXPA 450.
451. 0500 0935 CALL FMPY 452. 0501 098F CALL NORM 453. 0502 099D CALL FSWAP 454.
455. 0503 OC1D MOVLW ACCG 456. 0504 09CB CALL movwb 457.
458. 0505 0904 CALL FADD
!OL
A-BX
Save A+BX Get back resistance Get it again X 2
BOL
OL
C=.00000001790777 or 17.907041E-9 CX 2 get back A+BX Y IOD "c-C d X c li C1 C III L rll
L
00 0 00 0 0 00 0 0 0 0 i 1 -ia~-r~iB~IIDIP-"P~.- 38 459. 0506 098F CALL 460.
461. 0507 OC1D MOVLW 462. 0510 09BE CALL 463.
464. 0511 0206 MOVF 465. 0512 0E7F AWDLW 466. 0513 0027 MOVWF INFORMATIVE-INCONSISTENT USE 467. 0514 0068 CLRF INFORMATIVE-INCONSISTENT USE 468. 0515 0C07 MOVLW 469. 0516 0029 MOVWF 470.
NORM
A+BX+CX 2
ACCG
movbw Save A+BX+CX 2
RB,W
7FH
ACCA
OF SYMBOL ACCA+1 OF SYMBOL 07H
EXPA
Get offset data Mask off stirrer motor bit Make an exponent for a 7 bit integer 471. 0517 472. 0520 473. 0521 474. 0522 475. 0523 476. 0524 477.
478. 0525 479. 0526 0C72 002A OC7E 002B
OCFC
002C 0935 09BF
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
72H
ACCB
7EH ACCB+1
OFCH
EXPB
055906 CALL FMPY CALL NORM Offset .055906 480.
481. 0527 0C71 MOVLW 71H 482. 0530 0027 MOVWF ACCA INFORMATIVE-INCONSISTENT USE OF SYMBOL 483. 0531 0C99 MOVLW 99H 484. 0532 0028 MOVWF ACCA+1 INFORMATIVE-INCONSISTENT USE OF SYMBOL 485. 0533 0C02 MOVLW 02H 486. 0534 0029 MOVWF EXPA 487.
488. 0535 0903 CALL FSUB 489. 0536 098F CALL NORM 490. 0537 099D CALL FSWAP 491.
492. 0540 OC1D MOVLW ACCG 493. 0541 09C8 CALL movwb 494. 0542 0903 CALL FSUB 3.55 Offset in degrees) offset constant Get back A+BX+CX 2 Calculate actual temperature a a a a ai a a *aa pa a al aI a 00 0 0 0P 0001 P P 0 D P ~1 V.~L 39 495. 0543 098F 496.
497.
CALL NORM 498.
499.
500.
501.
502.
503.
504.
505.
506. 0544 507. 0545 508.
509. 0546 510. 0547 511.
512. 0550 513. 0551 514. 0552 515. 0553 516. 0554 517.
518. 0555 519. 0556 520.
521. 0557 522. 0560 523. 0561 524. 0562 525. 0563 526.
527. 0564 528. 0565 529.
530.
531.
532.
533.
integrate Do simple integration to smooth the timings averaged data is TEMPERATURE 0750 0B6 8 0450 0B74 09 9D
OCOE
0 9CB 0903 09 8F 0C03
GOAC
09 9D
OCQE
0 9C8 0903 09 8F
OCOE
0 9BE intgr BTFSS flag, noint GOTO intgrl BCF flag,noint GOTO intgr2 Skip if no integration flag is set Go to integrate mode but skio integration this time Get last reading sum Old -new intgrl CALL
MOVLW
CALL
CALL
CALL
MOVLW
SUBWF
CALL
MOVLW
CALL
CALL
CALL
FSWAP
ACCC
movwb
FSUB
NORM
EXPE
F SWAP
ACCC
movwb
FSUB
NORM
./8 Old old new)/8 .Save the value as the old value intgr2 MOVLW ACCC CALL movbw ;Setpoint. tests 0 S ~-te C 00 09 0 0 90 00 0 0 00 0 000 0 0 0 I I 40 534.
535. 536.
537. 0566 0C50 hitest MOVLW 538. 0567 0027 MOVWF INFORMATIVE-INCONSISTENT USE 539. 0570 OCOO MOVLW 540. 0571 002B MOVWF INFORMATIVE-INCONSISTENT USE 541. 0572 0C06 MOVLW 542. 0573 0029 MOVWF 543.
544. 0574 OCOE MOVLW 545. 0575 09C8 CALL 546. 0576 099D CALL 547. 0577 0903 CALL 548.
549. 0600 OC7F MOVLW hi40
ACCA
OF SYMBOL ACCA+1 OF SYMBOL
EXPA
Load 40 degree F. Stirrer on-point
ACC
mov
FSW
FSU]
wb
AP
B 40 loop 07FH 550. 0601 06EA 551. 0602 OCFF BTFSC ACCB,7 MOVLW OFFH Turn on stirrer motor if active low) Turn off stirrer motor if closed) 60, Stirrer circuitry is 60 But will be normally 552. 0603 0026 MOVWF RB 553.
554. 0604 OC7F MOVLW Setph 555. 0605 0027 MOVWF ACCA INFORMATIVE-INCONSISTENT USE OF SYM 556. 0606 0C61 MOVLW Setph 557. 0607 0028 MOVWF ACCA+: INFORMATIVE-INCONSISTENT USE OF SYMI 558. 0610 OD05 MOVLW Setph: 559. 0611 0029 MOVWF EXPA 560.
561. 0612 OCOE MOVLW ACCC 562. 0613 09C8 CALL aovwb 563.
564. 0614 099D CALL FSWAP 565. 0615 0903 CALL FSUB 566. 0616 07EA BTFSS ACCB, 1
OL
2
BOL
3 Load fA with high setpoint Get loop value 7 Setpoint loop value 0 00 Cp C o oo oo C CCC
C
CCC 0 Cc C C Co 0 0, 09 0 C 9~ 00 C C oo a C 0g I'I I 2 i 41 567. 0617 08A7 GOTO lotest 568.
569. 0620 0C52 MOVLW 570. 0621 0027 MOVWF INFORMATIVE-INCONSISTENT USE 571. 0622 0054 MOVLW 572. 0623 0028 MOVWF INFORMATIVE-INCONSISTENT USE 573. 0624 0007 MOVLW 574. 0625 0029 MOVWF 575.
576. 0626 OCOE MOVLW 577. 0627 09C8 CALL 578. 0630 099D CALL 579. 0631 0903 CALL 580. 0632 06EA BTFSC 581. 0633 OB9B hil GOTO 582.
583. 0634 070C BTFSS 584. 0635 OBA5 GOTO 585.
586. 0636 04DC BCF 587. 0637 05FC BSF 588. 0640 000E MOVLW 589. 0641 077C BTFSS 590. 0642 OCOA MOVLW 591. 0643 0025 MOVWF 592. 0644 0AF4 GOTO hil50
ACCA
OF SYMBOL o1150 ACCA+1 OF SYMBOL exp150
EXPA
ACCC
aovwb
FSWAP
FSUB
ACCB,7 hil flag,above hi2 flag,above flag,relay wonron flag,wdog wofron
RA
MAIN
Load 150 degree F, setpoint 150 loop restart if over 150 degrees If we were high before then turn on Set relay state flag Turn on relay 593.
594. 0645 05DC hi2 BSF 595. 0646 0AF4 GOTO 596.
597. 0647 0C76 lotest MOVLW 598. 0650 0027 MOVWF INFORMATIVE-INCONSISTENT USE 599. 0651 OCOO MOVLW 600. 0652 0028 MOVWF INFORMATIVE-INCONSISTENT USE 601. 0653 OC05 MOVLW flag,above
MAIN
Setpll
ACCA
OF SYMBOL Setpl2 ACCA+1 OF SYMBOL Setpl3 Load low setpoint o o moo 0 0 0 00 0 0 0 o 0 0 0 0 00 0 00 0 00 0 0* 1 42 602. 0654 0029 603.
604. 0655 071C MOVWF EXPA BTFSS flag,first See if this is the first time through the bottom setpoint if not, then skip loading the first low setpoint 605. 0656 OBB5 GOTO 606.
607. 0657 OC6C MOVLW 608. 0660 0027 MOVWF INFORMATIVE-INCONSISTENT USE 609. 0661 OCOO MOVLW 610. 0662 0028 MOVWF INFORMATIVE-INCONSISTENT USE 611. 0663 OC05 MOVLW 612. 0664 0029 MOVWF 613.
614. 0665 OCOE lo0 MOVLW 615. 0666 09CB CALL 616. 0667 099D CALL 617. 5670 0903 CALL 618.
619. 0671 06EA BTFSC 620. 0672 OBCC GOTO firstl
ACCA
OF SYMBOL first2 ACCA+1 OF SYMBOL first3
EXPA
ACCC
aovwb
FSWAP
FSUP
Load first low setpoint Get loop value Low setpoint loop value ACCB,7 with2 621.
622. 0673 623.
624. 0674 625. 0675 626.
627. 0676 628. 0677 629.
630.
631.
632.
633.
634.
635.
636.
637.
041C 06BC
OBCO
05BC 0AF4 04BC 0605 059C 04FC OC90F 077C
OCOB
BCF flag,first BTFSC flag,below GOTO lol BSF flag,below GOTO MAIN 0700 0701 0702 0703 0704 0705 0706 Sign set so within setpoints We're below w setpoint so don't use 28.000 again were we below are?
BCF
BTFSC
BSF
BCF
MOVLW
BTFSS
MOVLW
flag,below RA,relout flag,nowait flag, relay wonrof flag,wdog wofrof Yes, so don't do anything If relay on, then go off Don't delay Clear relay state flag Turn off relay
I'
rrr r a r r a a 'o 00 0 0000b -~mm~c~r lens 43 638. 0707 0025 MOVWF RA 639.
640. 0710 641. 0711 642.
643. 0712 644. 0713 645.
646. 0714 647. 0715 648.
649. 0716 650. 0717 651.
652. 0720 653. 0721 654. 0722 655. 0723 656.
657. 0724 658. 0725 659. 0726 660.
661. 0727 662. 0730 663.
664.
665.
666.
667.
668.
669.
670. 0731 671. 0732 672.
673. 0733 674. 0734 675.
576. 0735 0790 OAE3 049C OAF4 04DC 04BC 0 6FC 0 8D4
OCOF
077C
OCOB
OBD7
OCOE
077C
OCOA
0025 OAF4 delay BTFSS
GOTO
flag, nowait wai t witi.2 BCF flag,nowait GOTO MAIN BCF flag,above BCF flag,below BTFSC flag, relay GOTO with3 See what state we'*re in Relay off
WDT?
MOVLW
BTFSS
MOVLW
GOTO
MOVLW
BTFSS
MOVLW
wonrof f lag,wdog wo fro f with4 wonron
FLAG,WDOG
wo fron with3 with4 .Relay on
WDT?
MOVWF RA GOTO MAIN pbody .the body of period 0665 OBEl
OME
OBD9 0 4E1 BTFSC RA,tempin GOTO lhend
BTFSS
GOTO
RTCC, 7 if clear continue counting Skip if RTCC 127 Start the counting again BCF RTCC,7
I
V 0 404 t~ I 1~ 44 677.
678. 0736 03ED INCFSZ 679. 0737 OBD9 GOTO 680.
681. 0740 OBEO 1h2 GOTO 682.
683. 0741 0201 Ihend MOVF 684. 0742 0061 CLRF 685. 0743 0028 MOVWF INFORMATIVE-INCONSISTENT USE 686. 0744 020D MOVF 687. 0745 0027 MOVWF INFORMATIVE-INCONSISTENT USE
TEMP
Ihl
RTCC,W
RTCC
ACCA+1 OF SYMBOL
TEMP,W
ACCA
OF SYMBOL 688.
689. 0746 690.
691. 0747 692. 0750 693.
694. 0751 695. 0752 696.
697. 0753 698.
699. 0754 700. 0755 701.
702. 0756 703.
704. 0757 705. 0760 706. 0761 707.
708. 0762 709. 0763 710. 0764 711.
712. 0765 713.
006D 0765
OBEF
07E1 OBE7 04E1 03ED OBE7 CLRF TEMP BTFSS RA,tempin GOTO HLEND BTFSS RTCC,7 GOTO hll BCF RTCC,7 Skip if TEMP has overflowed Data is worthless so restart Clear RTCC Clear pseudo upper byte of RTC Go on if high_low transition skip if RTCC 127 start the counting again .from 128 not 0 skip if TEMP has overflowed Data is worthless so restart get lower 8 bits of lh Clear real time counter save them get upper 8 bits of hl Clear pseudo upper byte of RTC save them INCFSZ TEMP GOTO hll GOTO h12 OBEE h12 0201 0061 002B 020D 006D 002A HLEND MOVF
CLRF
MOVWF
MOVF
CLRF
MOVWF
RTCC,W
RTCC
ACCB+1
TEMP,W
TEMP
ACCB
0800 p 2 RETLW 0 0 0 0 0 0 000 0 0 0 0 0 0 00 0t o 0 0 0 0 00 0 0 0 ri-- I Y 45 714.
715.
716.
717.
718.
719.
720. 0777 721. 0777 OADF 722.
723.
;ending master clear restart vector ending ORG 777 Last instruction in ROM GOTO BEGIN
END
0 a c 0 000 0 0 cOO a a 0 0 0 00 0 0 0 00 0 0 00 0 000 00 0 0 0 00 00 0 0 cc o 0 46 LINE ADDR 09-02-1987 INSTR Beoin 17:08:53 PAGE 1 "Beoin" TITLE FINIT DEFINITIONS LIST P=1654.E,H NLIST T,S,M 0000 0001 0002 0003 0004 0005 0006 gisters
INDEX
+RTCC
+PC
+ASR
+FSR
+RA
+RB
gisters
EQU
EQU
EQU
EQU
EQU
EQU
EQU
0007 0011 0012 0014 0015 0016 0020 0021 0024 0025
+ACCA
+EXPA
-iACCB
+EXPB
+TEMF
+ACCC
-IEXPC
+ACCD
+EXPD
+SIGN
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
7 11 12 14 16 21 24 REGISTERS AT MASTER CLEAR 357 q 07 F FSR
BEGIN
;ZEROES ALL 0357 0357 0C07 0360 0024 BEGIN M0VL MOvw] 0 0 0 0 Ge 0 Q 0 0 00 0 00 47 0361 0060 0362 03E4 0363 OAFI ZERM CLRF
INCFSZ
GOTO
INDEX
FSR
ZERAM
a- 0 0 0* 0 0 04 0 O 00 0 48
LINE
2.
3.
4.
6.
7.
8.
9.
11.
12.
13.
14.
16.
17.
18.
19.
21.
22.
23.
24.
26.
27.
28.
29.
31.
32.
33.
34.
36.
37.
38.
ADDR INSTR Floating Point Math Package 09-02-1987 TITLE "Floating Point Match Package"' 17:10:35 0000 ORG 000
FINIT
LIST P=1654,E,H NLIST T,S,M 1/0 Registers 0000 0001 0002 0003 0004 0005 0006
+INDEX
+RTCC
+-PC
+ASR
+FSR
+RA
-4RB
EQU
EQU
EQU
EQU
EQU
EQU
EQU
mnt registers 0007 0011 0012 0014 0015 0016 0020 0021 0024 0025 0000 07EC 0001 OAOC
+ACCA
+EXPA
+ACCB
+EXPB
+TEMP
+ACCC
4EXPC
-#ACCD
+EXPD
+SIGN
FA3
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
BTFSS EXPB,7 GOTO FAO GOTO FA2 CALL NEGA ;SKIP ON EXPB NEGATIVE 0002 OA10 0003 0989 FSUB .If you are substractift-g negative fA o 0 0 0 003., o 000 0 0 0*~0 0 0 0 GPO 0 0 fl 0 0 0 33 0 00 0 000 00 0 0 00 0 000 000 0 00 0 0 0 49 0004 0005 0006 0007 0209 018C 0643 0A17 FADD MOVF
XORWF
BTFSC
GOTO
EXPA,W
EXPB,W
ASR, 2
PADD
0010 07E9 0011 OAOO 0012 07EC 0013 OAOF BTFSS EXPA,7 GOTO FA3 BTFSS EXPB,7 GOTO FA1 Scale mantissas ;FIND GREATER EXPONENT Skip on EXPA not equal to EXPB Skip on EXPA negative Skip on EXPB negative COMPARE EXPA WITH EXPB ;SKIP ON EXPA EXPB ;MAKE EXPA EXPB ;EXPB COUNT FOR SHIFT RIGHT 0014 0015 0016 0017 0020 0021 0022 0023 0024 0209 008C 0603 099B 0209
OOAC
092B 03EC 0A12
FAO
FA1 FA2
SCLOOP
MOVF
SUBWF
BTFSC
CALL
MOVF
SUBWF
CALL
INCFSZ
GOTO
EXPA,W
EXPB,W
ASR,0
FSWAP
EXPA,W
EXPB
MASR1
EXPB
SCLOOP
0025 0209 0026 002C MOVF EXPA,W MOVWF EXPB 0027 0030 0031 0032 0033 0034 0035 0036 0037 0040 0207 010A 0035 0921 07F5 07EA 0500 0403 02AC 0A2B PADD MOVF
IORWF
MOVWF
CALL
BTFSS
BTFSS
RETLW
BCF
INCF
GOTO
ACCA,W
ACCB,W
SIGN
MADD
SIGN, 7 ACCB,7 0 ASR,0
EXPB
ASRHCK
Find sign of result ;FOR OVERFLOW CHECK ;CHECK FOR OVERFLOW ;CLEAR CARRY
;OVERFLOW
;SCALE TO RIGHT 0041 0208 MADD MOVF ACCA+1,W r OP 001) LI QO
OD
D OIO ~t 401* tliro L O P eb i or r o a ~ra or rr 0 00 00 0 0 00 50 78. 0042 79. 0043 0044 81. 0045 82. 0046 83. 00-47 84.
86.
87.
88.
89.
91.
92.
93.
94.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
11l.
112.
113.
114.
115.
116.
0 lEB 0603 0 2AA 0207 O1EA 0800 0403 0 6EA 0503 03 2A 032B 0800
ADDWF
BTFSC
INCF
M0VF
ADDWF
RETLW
ACCB+1 ASR, 0
ACCB
ACCA, W
ACCB
;ADD CARRY 0050 0051 0052 0053 0054 0055 MASR1
ASRHCK
BCF ASR, 0 BTFSC ACCB,7 BSF ASR,0 RRF ACCB RRF ACCBi- RETLTV 0 ;CLEAR CARRY ;MASLl .16 bit shift left Clear carry Sift the 16 bits 0056 0057 0060 0061 0062 0063 0064 0403 03 6B 03 6A 04EA 0603 0 SEA 0800 MASLl BCF ASR, 0 RLF ACCB+l RLF ACCB BCF ACCB,7 RTFSC ASR,0 BSF ACCB,7 RETLW 0 Clear the MSB Skip if no carry Sign had been negative so fix MSB
EMPY
.Floating point multiply fA #fB fB 0065 0066 0067 0 97D 0 94A 0331
FMPY
MPLOOP
CALL
CALL
RRF
PSIGN
SETUP
ACCD ;ROTATE D RIGHT 0 0 0 0 0 000 00 0 0 0- 0 0 Q 0 0 000 9 0 0 51 117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145, 146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
0070 0071 0072 0073 0074 0075 0076 0077 0100 0101 0102 0103 0104 0105 0106 0107 0110 0111 0112 0113 0114 0115 0116 0117 0120 0121 0122 0123 0124 0125 0126 0127 0130 0332 0603 0921 032A 032B 02ED 0A37 0209 01EC 02AC 07F5 0A8F
OOEB
026B 0643
OOEA
026A OA8F OC10 002D 020A 0031 020B 0032 006A 006B
OBOO
0207 0091 0743
OBOO
0208 0092
FINUP
NEGB
SETUP
COMPAR
RRF
BTFSC
CALL
RRF
RRF
DECFSZ
GOTO
MOVF
ADDWF
INCF
BTFSS
GOTO
DECF
COMF
BTFSC
DECF
COMF
GOTO
MOVLW
MOVWF
MOVF
MOVWF
MOVF
MOVWF
CLRF
CLRF
RETLW
MOVF
SUBWF
BTFSS
RETLW
MOVF
SUBWF
ACCD+1 ASR,0
MADD
ACCB
ACCB+1
TEMP
MPLOOP
EXPA, W
EXPB
EXPB
SIGN,7
NORM
ACCB+1 ACCB+1 ASR,2
ACCB
ACCB
NORM
.16
TEMP
ACCB,W
ACCD
ACCB+1,W ACCD+1
ACCB
ACCB+1 0
ACCA,W
ACCD,W
ASR,2 0 ACCA+1,W ACCD+1,W ;NO SKIP ON ADD ;ADD A TO B ;ROTATE B RIGHT ;LOOP TILL DONE ;ADD EXPONENTS ;SKIP ON NOT ZERO ;16 PLACE SHIFT ;MOVE B TO D ;CLEAR B 0 0 0 a a aas 9 r a aco o +r a a cr a orr *a a o -1 52 156. 0131 157.
158.
159. 0132 160. 0133 161. 0134 162. 0135 163. 0136 164. 0137 165. 0140 166. 0141 167. 0142 168. 0143 169. 0144 170. 0145 171.
172. 0146 173. 0147 174.
175. 0150 176. 0151 177. 0152 178. 0153 179.
0800 097D 0 94A 04E7 04F1 0372 0371 0368 0367
OGED
0953 0703 0A6 8 0 2AC OA6F 0372 0371 0603 OA6F 0953 0703 0A.7 6 0208 0 OBZ 0703 00 Fl 0207 QOBi 0503 03 6B 03 6A 0 2ED RETLW 0 FDIV CALL
CALL
BCF
BCF
RLF
RLF
RLF
RLF
DECF
CALL
BTFSS
GOTO
PSIGT
SETUP
ACCA, 7 ACCD, 7 ACCD+1
ACCD
ACCA+1
ACCA
TEMP
COMPAR.
ASR, 0 Dl ;SKIP ON CARRY 180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
0154 0155 0156 0157 0160 0161 0162 0163 0164 0165 0166 0167 0170
INCF
GOTO
Dl RLF
RLF
BTFSC
GOTO
CALL
BTFSS
GOTO
D2 MOVF
SUBWF
BTFSS
DECF
MOVF
SUBWF
BSF
D3 RLF
RLF
DECFSZ
ACCD+1
ACCD
ASR, 0 D2
COMPAR
ASR, 0 D3
EXPB
;ROTATE ACCD LEFT ;SKIP ON NO CARRY ACCA+1, W ACCD+1 ASR, 0
ACCD
ACCA,W
ACCD
ASR, 0 ACCB+1
ACCB
TEMP
;C-A C ;SET CARRY 0 0~ 00* 0 00 o 00* 0 0 000 00 0 0 0 0 000 00 0 0 0 00 0 0000 0 0 53 194. 0171 195.
196. 0172 197. 0173 198. 0174 199. 0175 200. 0176 201. 0177 202. 020C 203. 0201 0A6 8 0209 0 QAC 0A42 0207 018A 0035 07EA 0A87 026B 0 2AB 0643
OOEA
02 6A 07E7
OBOO
GOTO D1
PSIGN
MOVF
SUBWF
GOTO
MOVF
XORWF
MOVWF
BF SS
GOTO
EXPA,W
EXPB
FINUP
ACCA, W ACCB ,W
SIGN
ACCB, 7
TRYA
;PREPARE SIGN 204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215, 216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232 0202 0203 0204 0205 0206 0207 0210 COMF ACCB4-1 INCF ACCB4-1 BTFSC ASR,2 DECF ACCB COMF ACCB BTFSS ACCA,7 RETLWK 0 ;WEGB, CAN'T CALL SUER ;SKIP ON NO ZERO TRY-k ;MEGA .Negate fA 0211 0212 0213 0214 0215 0216 02 6B 02AB 0643 0 0E7 0267 0800 NEGA COMF ACCA+1 INCF ACCk+1 BTFSC ASR,2 DECF ACCA COMF ACCA RETLW 0 NORM -Shifts a fp till it has al1in bit 6 of the MS byte (This is done to improve the accuracy) 00 a a o oa o o r -I 54 233.
234.
235.
236.
237.
0217 0220 0221 0222 238.
239. 0223 240. 0224 241. 0225 242.
243. 0226 244. 0227 245.
246. 0230 247. 0231 248. 0232 020A OE7F 0743 0A96 022B 0643 0800 06CA 0800 092E
OOEC
0A96 NORM MOVF
ANDLW
JFTSS
GOTO
MOVF
BTFSC
RETLW
ACCB,W
177 ASR, 2
CNORN
ACCB+1 ASR,2 0 Check for and 0 Skip on high byte 0 177 0 127 H) Skip if other then 0 If 0 then return If there's a 1 in bit 6 quit CNORM BTFSC ACCB,6 RETLW 0
CALL
DECF
GOTO
MASL1
EXPB
CNORM
Shift left Lower the exponent to match the shift 249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
FSWAP Swap the contents of fA fB 0233 0234 0235 0236 0237 0240 0241 0242 0243 0244 0245 0246 0247 0250 0251 0252 0207 002D 020A 0027 020D 002A 0208 002D 0028 020D 002B 0209 002D 020C 0029 FSWAP MOVF
MOVWF
MOVF
MOVWF
MOVF
MOVWF
MOVF
MOVWF
MOVWF
MOVF
MOVMF
MOVF
MOVWF
MOVF
MOVWF
020B
ACCA,W
TEMP
ACCB,W
ACCA
TEMP,Wf
ACCB
ACCA+1,W
TEMP
MOVF ACCB+1,W ACCA+1
TEMP,W
ACCB+1
EXPA,W
TEMP
EXPB,W
EXPA
u W 6 i tt Bf* S f.
kW 00 9> o a o c D a ~rs~a 55 272. 0253 273. 0254 274. 0255 275.
020OD 002C 0800
MOVF
MOVWF
RETLW
EITD
TEMP, W
EXPB
0 (1662c)
V'-Y
0 ~a 0 a a a 4O0 0 0 0 00 0 a 000 00 9 0

Claims (24)

1. An ice bank control system for a beverage dispenser having a refrigeration system including a compressor, a compressor motor, an ice water tank filled with water up to a water level, and ice bank building evaporator coils located in said tank below said water level, said control system comprising: a solid state temperature sensor suitable fo- roue use. meunting^ in said tank below said water level adjacent to one of said coils and in contact with an ice bank built by said evaporator coils; and a control circuit including a microcomputer connected to said sensor solely by an electrical lead for controlling the thickness of the ice bank and including means for turning off said compressor motor when the o o temperature senses by said sensor reaches a first selected 0 0 00 value and for turning said compressor motor back on when the temperature sensed by said sensor reaches a second selected value. 9099,o 39 1918u 39 1918U MJP THE CLAIMS DEFINING THE INVENTION ARE AS FOLLOWS: 1. An ice bank control system for a beve ge dispenser comprising: a refrigeration system including a mpressor, a compressor motor, an ice water tank filled ith water up to a water level, and ice bank building vaporator coils located in said tank below said water vel; a solid state tempera re sensor mounted in said tank below said water leve adjacent to one of said coils and in contact with an ice bank built by said evaporator coils; and a control circuit including a microcomputer connected to said nsor solely by an electrical lead for controlling the thickness of the ice bank and including means for rning off said compressor motor when the temperat e sensed by said sensor reaches a first selected value nd for turning said compressor motor back on when th temperature sensed by said sensor reaches a second coloeted va-lue..
2. The system as recited in claim 1 wherein said control circuit is mounted above said tank.
3. The system as recited in claim 1 wherein said sensor includes a thermistor sensing element.
4. The system as recited in claim 3 wherein said element maintains a Beta curve of plus or minus substantially 1.2% at a temperature near 32 0 F. The system as recited in claim 1 wherein said control circuit includes means for maintaining said compressor motor off for a period of time, each time it is turned off, sufficient to allow high and low pressure equalization to reduce the risk of compressor burnup. 39 MJP -56- A 5S1.
6. The system as recited, in claim 1 wherein-said control circuit includes means for turning off said compressor motor to prevent an overfreeze whenever either a short circuit or an open circuit occurs in said sensor.
7. The system as recited in claim 1 including an agitator in said tank and an agitator motor connected to said agitator and wherein said control circuit includes means for controlling said agitator -motor to keep it off whenever the temperature sensed by said sensor is above a selected value.
8. The system as recited in claim 7 wherein said ex.. selected value is about 40 0 F. ao n° The system as recited in claim 1 wherein said 0 °6 control circuit includes means for preventing overbuild of the ice bank during the initial ice bank buildup.
10. The system as recited in claim 1 wherein said control circuit includes a watchdog circuit that turns off the compressor motor in the event of an unusual spike or o waveform. o 6 0 11. The system as recited in claim 1 wherein said o control circuit includes means for turning off the o compressor motor if and when the ice bank control system fails.
12. The system as recited in claim 1 wherein said control circuit includes means for varying said first selected value.
13. The system as recited in claim 12 wherein said varying means includes means includes means for using a lower temperature during the first pulldown and a higher temperature on all subsequent pulldowns.
14. The system as recited in claim 13 wherein said lower temperature is about 27 0 F and said higher temperature is about 29.5 0 F. s, ,TRB10775. N! LIJ -r I I. r The system as recited in claim 1 wherein said microcomputer includes a single chip microprocessor. 4:6. Th -system as recited i claim- whein said &so I-sa thermistor th-a- -maintains a Beta curve of about pluc or minus 1.2% at a tompcrat4ure of about 32 0 F. a-7. The system as recited in claim 1 wherein said control circuit includes a two resistor, one capacitor oscillator and in which said sensor is one of said resistors. 1 1-8. The system as recited in claim 1 wherein said sensor is a negative temperature coefficient thermistor whose resistance changes with temperature in a repeatable manner. The system as recited in claim 1 wherein said sensor is located a predetermined distance from said one of said coils. \9 92-. The system as recited in claim 1 wherein said control circuit includes means for keeping the ice bank at substantially the same size at all times. a< 0o A method for controlling -t-he ice bank in a beverage dispenser comprising the steps of: providing a refrigeration system including a compressor, a compressor motor an ice tank filled with water up to a water level, and ice bank building evaporator coils located in said tank below said water level; providing a solid state temperature sensor mounted in said tank below said water level and adjacent to one of said coils and in contact with an ice bank built by said evaporator coils; providing a control circuit including a microcomputer for controlling the thickness of the ice bank and including means for turning off the compressor motor when the temperature sensed by said sensor reaches a first selected value, and for turning the compressor motor back on when the temperature sensed by said sensor reaches a second selected value; and connecting said control circuit to said sensor 39 solely by an electrical lead. MJP(j -58- c- l. .i IY;II.1111111 11-. 11_111--- lli_- 111. ~X
21. The method as recited in claim 20 including the step of maintaining said compressor motor off for a period of time, each time it is turned off, sufficient to allow high and low pressure equalization, to reduce the risk of compressor motor burnup.
22. The method as recited in claim 20 including the steps of providing an agitator in said tank and an agitator motor connected to said agitator and controlling said agitator motor to keep it off whenever the temperature sensed by said sensor is above a selected value.
23. The method as recited in claim 22 wherein said selected value is about 60 0 F.
24. The method as recited in claim 20 including the step of preventing overbuild of the ice bank during the initial ice bank build up.
25. The method as recited in claim 20 including the step f* t of turning off the compressor motor ir; the event of an unusual spike or waveform. 0oo
26. The method as recited in claim 20 including the step 0 of turning off the compressor motor if and when the o0 a °o control circuit fails.
27. The method as recited in claim 20 including the step of varying said first selected value.
28. The method as recited in claim 27 including using a o o •lower temperature during the first pull down and using a 0000 o 0 higher temperature on all subsequent pull downs.
29. The method as recited in claim 20 including the step of providing a two resistor, one capacitor oscillator and using one of said resistors as said sensor and measuring said temperature by measuring the period of said 0 oscillator. o 30. The method as recited in claim 20 including the step of turning off the compressor motor to prevent an overfreeze whenever either of a short circuit or an open circuit occurs in said sensor.
31. The method as recited in claim 20 including the step of maintaining the ice bank at substantially the same size 39 at all times. MJP 11 -59- i'
32. The method as recited in claim 20 wherein said first selected value is substantially 29.5 0 F and said second selected value is substantially 31.5 0 F.
33. A control system as recited in claim 1 substantially as herein described with reference to the accompanying drawings.
34. A method as recited in claim 20 substantially as herein described with reference to the accompanying drawings. DATED: 14 June, 1991. PHILLIPS ORMONDE FITZPATRICK Attorneys for: THE COCA-COLA COMPANY 0 t I O 4 a 4 0 o o 30 9 6 0 0 39 MJP
AU24634/88A 1987-11-02 1988-11-02 Ice bank control system for beverage dispenser Ceased AU617371B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11593587A 1987-11-02 1987-11-02
US115935 1987-11-02

Publications (2)

Publication Number Publication Date
AU2463488A AU2463488A (en) 1989-05-25
AU617371B2 true AU617371B2 (en) 1991-11-28

Family

ID=22364247

Family Applications (1)

Application Number Title Priority Date Filing Date
AU24634/88A Ceased AU617371B2 (en) 1987-11-02 1988-11-02 Ice bank control system for beverage dispenser

Country Status (7)

Country Link
EP (1) EP0315439A3 (en)
JP (1) JPH01147272A (en)
KR (1) KR890008018A (en)
CN (1) CN1034992A (en)
AU (1) AU617371B2 (en)
BR (1) BR8805571A (en)
ZA (1) ZA888172B (en)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4916910A (en) * 1988-07-11 1990-04-17 Lancer Corporation Low profile drink dispenser
DE4228776A1 (en) * 1992-08-28 1994-03-03 Bosch Siemens Hausgeraete Device for enriching water with CO¶2¶ gas to produce carbonated water
US5732563A (en) * 1993-09-22 1998-03-31 Imi Cornelius Inc. Electronically controlled beverage dispenser
US5549219A (en) * 1994-08-11 1996-08-27 Lancaster; William G. Method and apparatus for cooling and preparing a beverage
WO1996006012A2 (en) * 1994-08-11 1996-02-29 Lancaster William G Method and apparatus for ice transport and for cooling and preparing a beverage
US5950866A (en) * 1995-08-10 1999-09-14 Lancaster; William G. Method and apparatus for cooling and preparing a beverage
US5664436A (en) * 1996-04-29 1997-09-09 Lancer Corporation Component configuration for enhancing dispenser serviceability
US5987897A (en) * 1997-05-30 1999-11-23 Ranco Incorporated Of Delaware Ice bank system
FR2776377B1 (en) * 1998-03-19 2000-06-16 Magneti Marelli France METHOD FOR PROVIDING A CORRECTED VALUE FROM A SENSOR IN A VEHICLE
US6026650A (en) * 1999-01-15 2000-02-22 York International Corporation Freeze point protection for water cooled chillers
US6662573B2 (en) * 2002-04-30 2003-12-16 Lancer Partnership, Ltd. Cooling bank control assembly for a beverage dispensing system
GB0504861D0 (en) * 2005-03-09 2005-04-13 Green Adam L Package dispenser
DE202006014421U1 (en) * 2006-06-07 2007-10-18 Liebherr-Hausgeräte Ochsenhausen GmbH Fridge and / or freezer
GB2446312B (en) 2006-07-08 2009-02-11 Imi Cornelius Beverage dispense
CN102972613A (en) * 2012-11-14 2013-03-20 东莞华中科技大学制造工程研究院 Refrigerating equipment based on hardness control
AU2014215515B2 (en) * 2013-02-06 2017-07-13 H. C. Duke & Son Llc Chilled food product dispenser and method with adaptive control of refrigeration system
EP3137411A4 (en) 2014-05-01 2018-01-24 The Coca-Cola Company Fluid dispenser chassis and agitation system
CN104200616A (en) * 2014-08-01 2014-12-10 镇江翼天计算机科技有限公司 Touch-induction high-temperature alarm
US9862589B2 (en) * 2016-05-31 2018-01-09 Starbucks Corporation Chilled beverage dispenser
JP2018013261A (en) * 2016-07-19 2018-01-25 公益財団法人日本ユニフォームセンター Portable cooling device
JP6835248B2 (en) * 2017-11-09 2021-02-24 三菱電機株式会社 Ice dispenser and refrigerator / freezer
TWI647166B (en) * 2018-04-18 2019-01-11 陳建志 Beverage supply machine with emptying and cooling function

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0067523A1 (en) * 1981-05-28 1982-12-22 Honeywell Inc. Frost sensing apparatus
US4497179A (en) * 1984-02-24 1985-02-05 The Coca-Cola Company Ice bank control system for beverage dispenser

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4232530A (en) * 1979-07-12 1980-11-11 Honeywell Inc. Heat pump system compressor start fault detector

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0067523A1 (en) * 1981-05-28 1982-12-22 Honeywell Inc. Frost sensing apparatus
US4497179A (en) * 1984-02-24 1985-02-05 The Coca-Cola Company Ice bank control system for beverage dispenser

Also Published As

Publication number Publication date
ZA888172B (en) 1990-05-30
EP0315439A2 (en) 1989-05-10
BR8805571A (en) 1989-07-11
EP0315439A3 (en) 1990-09-19
JPH01147272A (en) 1989-06-08
CN1034992A (en) 1989-08-23
KR890008018A (en) 1989-07-08
AU2463488A (en) 1989-05-25

Similar Documents

Publication Publication Date Title
AU617371B2 (en) Ice bank control system for beverage dispenser
US5022233A (en) Ice bank control system for beverage dispenser
CN100429407C (en) Stability control system and method for centrifugal compressors operating in parallel
US5598716A (en) Ice thermal storage refrigerator unit
Lankisch et al. Increased body weight as a prognostic parameter for complications in the course of acute pancreatitis
US5743097A (en) Apparatus and method for controlling the flow rate of refrigerant to a refrigeration device
US4338790A (en) Control and method for defrosting a heat pump outdoor heat exchanger
US6148623A (en) System and method for measuring amount of electric power consumption in a refrigerator
US4412389A (en) Method of automatically controlling the drying process in a laundry-drying system, and equipment for performing the method
CA2333152C (en) Method and device for cool-drying
US20040237551A1 (en) Cooling control system for an ambient to be cooled, a method of controlling a cooling system, and a cooler
US4884414A (en) Adaptive defrost system
KR20000071194A (en) Oil return from evaporator to compressor in a refrigeration system
NO912390D0 (en) FLUID MIXTURES FOR REFRIGERATOR COMPRESSORS AND PROCEDURES FOR PREPARING THE MIXTURES.
EP1103296A4 (en) Device and method for cool-drying
KR100251660B1 (en) Method for purging noncondensable gases from a closed loop refrigeration unit and a refrigeration unit apparatus therefor
EP1306631A3 (en) Refrigerating apparatus for container
US4522335A (en) Method and apparatus for aeration of stored grain
US5163298A (en) Electronic ice bank control
EP1510768A1 (en) Dehumidifier with a defrost control system
CA2356369C (en) Freeze point protection for water cooled chillers
FI104131B (en) Control of indoor air temperature and relative humidity in the unit
US6490873B2 (en) Ice maker and method of making ice
JP3850442B2 (en) Method for measuring residual moisture during post-drying in freeze-drying process
EP0836060B1 (en) Absorption over-concentration control