The present disclosure relates generally to solid production such as ice production and, in particular, to software logic to control a solid-production system for producing a solid on demand.
Conventional refrigeration appliances, such as domestic refrigerators, typically have both a fresh food compartment and a freezer compartment or section. Such conventional refrigerators are often provided with a unit for making ice pieces, commonly referred to as “ice cubes” despite the non-cubical shape of many such ice pieces. These ice making units normally are located in the freezer compartments of the refrigerators and manufacture ice by convection, e.g., by circulating cold air over water in an ice tray to freeze the water into ice pieces or by conduction e.g., transfer thermal energy through a thin conductive material when the temperature of the water is hotter than the thin conductive material. Storage bins for storing the frozen ice pieces are also often provided adjacent to the ice making units. The ice pieces can be dispensed from the storage bins through a dispensing port in the door that closes the freezer to the ambient air. The dispensing of the ice usually occurs by means of an ice delivery mechanism that extends between the storage bin and the dispensing port in the freezer compartment door.
However, conventional ice making units that employ conduction using a thin conductive material, convection, or another similar ice making modality tend to be inefficient at reducing a temperature of water to form ice pieces. This is because, in part, compressors utilized in conventional ice making units are generally inefficient due to the economic limitations of compressor sizing. For example, a very large compressor may increase the rate of ice production by reducing a temperature of water for form ice pieces quicker than a smaller compressor, but may be extremely cost and energy inefficient as a whole. As such, the ice production rate in conventional ice making units may be inefficient due to at least compressor sizing limitations as well as the heat transfer delivery method (e.g., conduction or convection).
Therefore, a need exists for a system for producing ice pieces that utilizes a heat transfer coefficient that is higher than heat transfer coefficients used in typical ice making modalities, so as to be more efficient and adaptable to demands of users.
Example implementations of the present disclosure are directed to software logic in a solid-production system for producing a formed solid, for example, ice. The present disclosure includes, without limitation, the following example implementations.
Some example implementations provide a solid-production system, comprising a conveying mechanism arranged to engage and move a fluid mold through the solid-production system; a fluid-dispensing mechanism arranged to dispense fluid to the fluid mold; a cooling block arranged to interact with the fluid mold moved through the cooling block via the conveying mechanism so as to cool the fluid therein to form a solid; a pressure plate arranged to urge the fluid mold into interaction with the cooling block; a solid-dispensing mechanism arranged to dispense the solid loosened by a solid ejector to a user through an exit port; and processing circuitry configured to implement a master state machine, and slave state machines for respective ones of the fluid-dispensing mechanism, conveying mechanism, pressure plate and solid-dispensing mechanism, wherein the master state machine is configured to send commands to the slave state machines based on states of the slave state machines, and the slave state machines are configured to execute the commands to control the respective ones of the conveying mechanism, fluid-dispensing mechanism, pressure plate, and solid-dispensing mechanism.
In some example implementations of the solid-production system of any preceding example implementation, or any combination of any preceding example implementations, the slave state machines include a conveying mechanism slave state machine and other slave state machines for the fluid-dispensing mechanism, pressure plate, and solid-dispensing mechanism, wherein the master state machine being configured to send commands to the slave state machines includes being configured to send first and second commands to the conveying mechanism slave state machine based on respectively first and second states of the conveying mechanism slave state machine, and wherein the first state is defined by the conveying mechanism not moving the fluid mold through the solid-production system, and the second state is defined by the conveying mechanism moving the fluid mold through the solid-production system.
In some example implementations of the solid-production system of any preceding example implementation, or any combination of any preceding example implementations, the conveying mechanism slave state machine is configured to: execute the first command and cause the conveying mechanism to move the fluid mold through the solid-production system; and execute the second command and cause the conveying mechanism to stop movement of the fluid mold through the solid-production system.
In some example implementations of the solid-production system of any preceding example implementation, or any combination of any preceding example implementations, the slave state machines include a fluid-dispensing mechanism slave state machine and other slave state machines for the conveying mechanism, pressure plate, and solid-dispensing mechanism, wherein the master state machine being configured to send commands to the slave state machines includes being configured to send first and second commands to the fluid-dispensing mechanism slave state machine based on respectively first and second states of the fluid-dispensing mechanism slave state machine, and wherein the first state is defined by the fluid-dispensing mechanism dispensing the fluid to the fluid mold, and the second state is defined by the fluid-dispensing mechanism not dispensing the fluid to the fluid mold.
In some example implementations of the solid-production system of any preceding example implementation, or any combination of any preceding example implementations, the fluid-dispensing mechanism slave state machine is configured to: execute the first command to cause the fluid-dispensing mechanism to stop dispensing the fluid to the fluid mold; and execute the second command to cause the fluid-dispensing mechanism to initiate dispensing the fluid to the fluid mold.
In some example implementations of the solid-production system of any preceding example implementation, or any combination of any preceding example implementations, the slave state machines include a pressure plate slave state machine and other slave state machines for the conveying mechanism, fluid-dispensing mechanism, and solid-dispensing mechanism, wherein the master state machine being configured to send commands to the slave state machines includes being configured to send first and second commands to the pressure plate slave state machine based on respectively first and second states of the pressure plate slave state machine, and wherein the first state is defined by the pressure plate being arranged adjacent to a top surface of the fluid in the fluid mold so as to urge the fluid mold into interaction with the cooling block, and the second state is defined by the pressure plate being arranged in a spaced apart relation from the top surface of the fluid in the fluid mold so as not to urge the fluid mold into interaction with the cooling block.
In some example implementations of the solid-production system of any preceding example implementation, or any combination of any preceding example implementations, the pressure plate slave state machine is configured to: execute the first command to cause arrangement of the pressure plate into the spaced apart relation from the top surface of the fluid in the fluid mold so as not to urge the fluid mold into interaction with the cooling block; and execute the second command to cause arrangement of the pressure plate to be adjacent to the top surface of the fluid in the fluid mold so as to urge the fluid mold into interaction with the cooling block.
In some example implementations of the solid-production system of any preceding example implementation, or any combination of any preceding example implementations, the slave state machines include a solid-dispensing mechanism slave state machine and other slave state machines for the conveying mechanism, fluid-dispensing mechanism, and pressure plate, wherein the master state machine being configured to send commands to the slave state machines includes being configured to send first and second commands to the solid-dispensing mechanism slave state machine based on respectively first and second states of the solid-dispensing mechanism slave state machine, and wherein the first state is defined by the solid-dispensing mechanism being arranged to dispense the solid loosened by the solid ejector to the user through the exit port, and the second state is defined by the solid-dispensing mechanism being arranged so as to not dispense the loosened solid.
In some example implementations of the solid-production system of any preceding example implementation, or any combination of any preceding example implementations, the solid-dispensing mechanism slave state machine is configured to: execute the first command to cause arrangement of the solid-dispensing mechanism so as not to cause the solid-dispensing mechanism to dispense the loosened solid; and execute the second command to cause arrangement of the solid-dispensing mechanism so as to cause the solid-dispensing mechanism to dispense the solid loosened by the solid ejector to the user through the exit port.
In some example implementations of the solid-production system of any preceding example implementation, or any combination of any preceding example implementations, the master state machine is configured to detect variables associated with respective ones of the states of the slave state machines, and send the commands to the slave state machines based thereon.
In some example implementations of the solid-production system of any preceding example implementation, or any combination of any preceding example implementations, the variables associated with the states of the conveying mechanism slave state machine include a volume of the fluid or the solid in the fluid mold, a time period associated with a fluid or a solid in the fluid mold, sub-states of the conveying mechanism, a track error state, a number of cycles that the conveying mechanism moves through the solid-production system, an expiration of a time period associated with a cycle of the number of cycles, detection and update of a position of the fluid mold in the cycle, a temperature of the fluid or the solid in the fluid mold, an emptiness of the fluid mold, and an expiration of a time period associated with cooling the fluid in the fluid mold to form the solid.
In some example implementations of the solid-production system of any preceding example implementation, or any combination of any preceding example implementations, the variables associated with the states of the fluid-dispensing mechanism slave state machine include a fill level and a fill time of the fluid dispensed to the fluid mold, an emptiness of the fluid mold, detection of the fluid mold in a fluid-dispensing position aligned with the fluid-dispensing mechanism, a volume of the solid in the fluid mold, and a temperature of the fluid or the solid in the fluid mold and an expiration of a time period associated with dispensing the fluid to the fluid mold.
In some example implementations of the solid-production system of any preceding example implementation, or any combination of any preceding example implementations, the variables associated with the states of the pressure plate slave state machine include an arrangement of the pressure plate from a top surface of the fluid in the fluid mold, detection of the fluid mold in an ejection position aligned with the solid ejector, an emptiness of the fluid mold, a temperature of the fluid or the solid in the fluid mold, and an arrangement of the solid ejector relative to the fluid mold in the ejection position.
In some example implementations of the solid-production system of any preceding example implementation, or any combination of any preceding example implementations, the variables associated with the states of the solid-dispensing mechanism slave state machine include detection of the fluid mold in a solid-dispensing position aligned with the solid-dispensing mechanism, an emptiness of the fluid mold, a temperature of the fluid or the solid in the fluid mold, a status of the exit port, expiration of a time period associated with dispensing the solid from the fluid mold, and a volume of the solid in the fluid mold.
It will therefore be appreciated that the above Summary is provided merely for purposes of summarizing some example implementations so as to provide a basic understanding of some aspects of the disclosure. As such, it will be appreciated that the above described example implementations are merely examples of some implementations and should not be construed to narrow the scope or spirit of the disclosure in any way. It will be appreciated that the scope of the disclosure encompasses many potential implementations, some of which will be further described below, in addition to those here summarized. Further, other aspects and advantages of implementations disclosed herein will become apparent from the following detailed description taken in conjunction with the accompanying drawings which illustrate, by way of example, the principles of the described implementations.
Having thus described the disclosure in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
Some implementations of the present disclosure will now be described more fully hereinafter with reference to the accompanying figures, in which some, but not all implementations of the disclosure are shown. Indeed, various implementations of the disclosure may be embodied in many different forms and should not be construed as limited to the implementations set forth herein; rather, these example implementations are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art. For example, unless otherwise indicated, reference to something as being a first, second or the like should not be construed to imply a particular order. Also, something may be described as being above something else (unless otherwise indicated) may instead be below, and vice versa; and similarly, something described as being to the left of something else may instead be to the right, and vice versa. Further, for example, reference may be made herein to quantitative measures, values, relationships or the like. Unless otherwise stated, any one or more if not all of these may be absolute or approximate to account for acceptable variations that may occur, such as those due to engineering tolerances or the like. Like reference numerals refer to like elements throughout.
Example implementations of the present disclosure are generally directed to solid production, such as ice production, and may be utilized in any of a number of different types of applications. Some example applications include commercial food storage and processing, chemical manufacturing, concrete mixing and curing, packaged ice production, and the like. Other example applications include household appliances such as refrigerators, freezers, or the like. As such, some example implementations of the present disclosure may be suitable for use in a household refrigeration system, where ice is produced on demand by the system upon a request for ice by a user.
More particularly, an appliance, such as for example, a household refrigeration system, may include the appropriate hardware and/or software to allow a user to interact with the appliance either directly on the appliance or remotely by way of network-connectivity between the appliance and a user device. Examples of appliances provisioned with network-connectivity are provided in U.S. Patent Application Pub. No. 2016/0315810 to Francescangeli, which is incorporated by reference herein in its entirety. For example, the user may be able to control the appliance, monitor operation of the appliance, initiate a service request for the appliance, and/or perform other management tasks via a service platform integrated with the appliance or on the user device.
In some example implementations, the user may be able to interact with the service platform in order to control, monitor, initiate a service request, and/or perform other management tasks with regard to a solid-production system of the appliance. For example, the user may be able to request dispense of one or more solids (e.g., ice pieces), which may be produced and dispensed based on this request. The service platform may also provide the user with the capability to tailor the solid production to his/her needs. For example, the user may be able to monitor a rate of solid production to determine how many solids are available for dispense (e.g., number of ice pieces formed) and/or when more solids will be available for dispense. If the user wishes to increase the speed of solid production, the service platform may further allow the user to modify or choose a volume of the solid (i.e., size of the solid) produced, and thus, modify the speed of solid production; where a solidification time of the solid is dependent on the desired volume of the solid. Therefore, the solid-production system disclosed herein advantageously allows a user to control a solid-production rate to increase the rate of solid production as desired.
According to some example implementations,
The conveying mechanism 105 may be configured to individually index a fluid mold of the plurality of fluid molds M0-M29 into an initial physical position P0 aligned with the fluid-dispensing mechanism 101. The fluid-dispensing apparatus may be configured to dispense a quantity of fluid, such as water, into the fluid mold M0 upon detection of the fluid mold in the fluid-dispensing position. The fluid-dispensing mechanism may be configured with a sensor to determine a fill level of the fluid dispensed from the fluid-dispensing apparatus into the fluid mold so as to determine whether the fluid mold is filled with a pre-determined threshold quantity of fluid.
After the fluid-dispensing mechanism 101 determines that a fluid mold, such as the fluid mold M0, is filled with the pre-determined threshold quantity of fluid, the conveying mechanism 105 may be configured to index the fluid mold out of the fluid-dispensing position P0 and index a subsequent fluid mold, such as fluid mold M29, into the fluid-dispensing position for receipt of the fluid by the fluid-dispensing mechanism. The fluid mold that is filled with the pre-determined threshold quantity of fluid may then be moved by the conveying mechanism in the machine direction from the fluid-dispensing mechanism to the cooling block of the cooling block and pressure plate arrangement 102. For example, the fluid mold M0 can be indexed from the fluid-dispensing position P0 to a subsequent physical position P1 in the cooling block by the conveying mechanism.
In one example implementation, the solid-production system 100 includes a pressure plate. The pressure plate may be arranged relative to a top surface of the fluid in the fluid molds in a cooling region (i.e., P1-P10). The pressure plate may be arrangeable into an initial position adjacent to a top surface of the fluid in the fluid molds so as to urge the fluid molds into interaction with the cooling block. The pressure plate may also be arrangeable in a second position in spaced apart relation relative to a top surface of the fluid in the fluid molds so as not to urge the fluid molds into interaction with the cooling block. When the pressure plate is in the initial position and the fluid molds are urged into interaction with the cooling block, the cooling block may reduce a first temperature of the fluid in the fluid molds to a second temperature so as to solidify the fluid in the fluid molds and form a solid.
The cooling block of the cooling block and pressure plate arrangement 102 may be configured to cool the quantity of fluid dispensed in the fluid molds as they are indexed or are moved therethrough by the conveying mechanism 105 in order to form a solid in the fluid molds. In some example implementations, the solid-production system includes one or more tracks that may be received through the fluid mold, such that the cooling block may simultaneously or substantially simultaneously solidify fluid in fluid molds on multiple tracks. For example, there may be a single track with 30 fluid molds, with a cooling region in the cooling block being sized to accommodate ten fluid molds therein (e.g., fluid molds M1-M10 as shown in
A fluid mold, such as the fluid mold M11, may be indexed or transmitted through the cooling region of the cooling block and arrive at a position P11 at the solid ejector 103. At position P11, the solid ejector may include a sensor that may be configured to detect whether a solid, such as ice, has formed in the fluid mold. For example, the sensor at the solid ejector may be configured to detect whether or not an entirety or a substantial entirety of a volume of fluid in the fluid mold has been cooled to a temperature at which it has formed a solid. After the sensor at the solid ejector determines that fluid in the fluid mold has formed a solid, the fluid mold can be loosened by the solid ejector. The solid ejector may be configured to loosen the solid in the fluid mold such that the bond between the solid and the fluid mold may be broken. Optionally, the solid ejector or a secondary solid ejector may be located at the solid-dispensing mechanism 104, proximate to position P27 to loosen a solid in the fluid mold.
After the solid ejector 103 loosens the solid in the fluid mold, the fluid mold with the loosened solid may be indexed using the conveying mechanism 105 from the position P11 to subsequent positions, such as, for example, positions P12-P28. When being indexed by the conveying mechanism through positions P12-P28, each fluid mold may include a housing or a cap so that the solid will not be disturbed and potentially removed from an interior of the fluid mold. In this way, when a fluid mold moves from the position P11 to the position P28, although the fluid mold may be upside down as shown in
The solid-dispensing mechanism 104 may be configured to dispense the solid from an interior of the fluid mold once the fluid mold arrives at the position P28. The solid-dispensing mechanism 104 may have an exit port positioned proximate to the position P28. When a fluid mold, such as the fluid mold M28, arrives at the position P28, the exit port may allow dispense of the loosened and dispensed solid from the fluid mold. In some example implementations, a sensor may be located proximate to the position P28 to detect whether the solid is dispensed or provided to the user through the exit port. After the solid in the fluid mold is dispensed at the solid-dispensing mechanism, the empty fluid mold may then be indexed from the position P28 to the position P29 by the conveying mechanism 105.
In some example implementations, operation of the solid-production system 100 is initiated when a user requests one or more solids from a user interface. Upon receiving the user's request, the exit port positioned proximate to the position P28 may open to allow dispense of the requested number of solids from the fluid mold to the user. As the requested number of solids is dispensed by the solid-dispensing mechanism, the empty fluid molds may be indexed from the position P28 to the position P29 by the conveying mechanism 105, as described above.
In one example implementation, the master state machine 201 is configured to send first and second commands to the conveying mechanism slave state machine 202 based on respectively first and second states of the conveying mechanism slave state machine. The conveying mechanism slave state machine may be arranged to control the conveying mechanism (e.g., 105 in
In this example implementation, the first state of the conveying mechanism slave state machine 202 may be defined by the conveying mechanism not moving the fluid mold through the solid-production system, and the second state may be defined by the conveying mechanism moving the fluid mold through the solid-production system. As described herein, the first and second states defined by the conveying mechanism are example states thereof, and other states may be defined by the conveying mechanism.
In some example implementations, the conveying mechanism slave state machine 202 may receive the commands from the master state machine 201 and may be configured to execute the first command and cause the conveying mechanism to move the fluid mold through the solid-production system; and execute the second command and cause the conveying mechanism to stop movement of the fluid mold through the solid-production system. As described herein, the first and second commands defined by the conveying mechanism are example commands, and other commands may be defined by the conveying mechanism.
In some other example implementations, the master state machine 201 may be configured to send first and second commands to a fluid-dispensing mechanism slave state machine 203 based on respectively first and second states of the fluid-dispensing mechanism slave state machine. The fluid-dispensing mechanism slave state machine may be arranged to control a fluid-dispensing mechanism (e.g., 101 in
In some example implementations, the fluid-dispensing mechanism slave state machine 203 may receive the commands from the master state machine 201 and may be configured to execute the first command to cause the fluid-dispensing mechanism to stop dispensing the fluid to the fluid mold; and execute the second command to cause the fluid-dispensing mechanism to initiate dispensing the fluid to the fluid mold. As described herein, the first and second commands defined by the fluid-dispensing mechanism are example commands, and other commands may be defined by the fluid-dispensing mechanism.
In some other example implementations, the master state machine 201 may be configured to send first and second commands to a pressure plate slave state machine 204 based on respectively first and second states of the pressure plate slave state machine. The pressure plate slave state machine may be arranged to control interaction of the fluid molds with a cooling block (e.g., the cooling block of the cooling block and pressure plate arrangement 102 in
In some example implementations, the pressure plate slave state machine 204 may receive the commands from the master state machine 201 and may be configured to execute the first command to cause arrangement of the pressure plate into the spaced apart relation from the top surface of the fluid in the fluid mold so as not to urge the fluid mold into interaction with the cooling block; and execute the second command to cause arrangement of the pressure plate to be adjacent to the top surface of the fluid in the fluid mold so as to urge the fluid mold into interaction with the cooling block. As described herein, the first and second commands defined by the pressure plate mechanism are example commands, and other commands may be defined by the pressure plate mechanism. For example, a third command, upon execution by the pressure plate state slave machine, may cause arrangement of the pressure plate to be in spaced apart relation from the top surface of the fluid in the fluid mold, where the pressure plate upon execution of the third command, is spaced apart from the top surface of the fluid molds a greater distance than upon execution of the first command.
In some other example implementations, the master state machine 201 is configured to send first and second commands to a solid-dispensing mechanism slave state machine 205 based on respectively first and second states of the solid-dispensing mechanism slave state machine. The solid-dispensing mechanism slave state machine may be arranged to control a solid-dispensing mechanism (e.g., 104 in
In some example implementations, the solid-dispensing mechanism slave state machine 205 may receive the commands from the master state machine 201 and may be configured to execute the first command to cause arrangement of the solid-dispensing mechanism so as not to cause the solid-dispensing mechanism to dispense the loosened solid, and execute the second command to cause arrangement of the solid-dispensing mechanism so as to cause the solid-dispensing mechanism to dispense the solid loosened by the solid-dispensing mechanism to the user through the exit port. As described herein, the first and second commands defined by the solid-dispensing mechanism are example commands, and other commands may be defined by the solid-dispensing mechanism.
In some example implementations, the master state machine 201 may be configured to detect variables associated with respective ones of the states of the slave state machines (e.g., the conveying mechanism slave state machine 202, the fluid-dispensing mechanism slave state machine 203, the pressure plate slave state machine 204, and the solid-dispensing mechanism slave state machine 205), and send the commands to the slave state machines based thereon.
For example, the variables associated with the states of the conveying mechanism slave state machine may include a number of cycles that the conveying mechanism moves through the solid-production system, an expiration of a time period associated with a cycle of the number of cycles, detection and update of a position of the fluid mold in the cycle, a temperature of the fluid or the solid in the fluid mold, an emptiness of the fluid mold, and an expiration of a time period associated with cooling the fluid in the fluid mold to form the solid. Other variables associated with the states of the conveying mechanism slave state machine are also contemplated herein.
In another example, the variables associated with the states of the fluid-dispensing mechanism slave state machine 203 may include a fill level and a fill time of the fluid dispensed to the fluid mold, an emptiness of the fluid mold, a detection of the fluid mold in a fill or fluid-dispensing position aligned with the fluid-dispensing mechanism, a volume of the solid in the fluid mold, and a temperature of the fluid or the solid in the fluid mold and an expiration of a time period associated with dispensing the fluid to the fluid mold. Other variables associated with the states of the fluid-dispensing slave state machine are further contemplated.
In still another example, the variables associated with the states of the pressure plate slave state machine 204 may include an arrangement of the pressure plate from a top surface of the fluid in the fluid mold, detection of the fluid mold in an ejection position aligned with the solid ejector, an emptiness of the fluid mold, a temperature of the fluid or the solid in the fluid mold, and an arrangement of the solid ejector relative to the fluid mold in the ejection position. Other variables associated with the states of the pressure plate slave state machine are further contemplated.
In a still further example, the variables associated with the states of the solid-dispensing mechanism slave state machine 205 may include detection of the fluid mold in a solid-dispensing position aligned with the solid-dispensing mechanism, an emptiness of the fluid mold, a temperature of the fluid or the solid in the fluid mold, a status of the exit port, expiration of a time period associated with dispensing the solid from the fluid mold, and a volume of the solid in the fluid mold. Other variables associated with the states of the solid-dispensing slave state machine are further contemplated.
With regard to the conveying mechanism slave state machine 202, the conveying mechanism slave state machine may receive commands from the master state machine 201 for controlling one or more tracks. Each of the tracks may be controlled in parallel so that fluid molds on each of the tracks are incrementally moved or indexed one position at a time. For example, in some implementations, the conveying mechanism may comprise three tracks having a single motor or three designated motors (i.e., one motor per track). In some example implementations, the conveying mechanism slave state machine may execute commands received from the master state machine by actuating a main processor that may be configured to control the track(s) via control of the associated motors. For example, the main processor may be configured to actuate the associated motors for controlling track speed by implementing closed loop speed control.
In other example implementations, the conveying mechanism slave state machine 202 may execute commands and/or subcommands received from the master state machine 201 by actuating one or more co-processors that may supplement the capabilities of the main processor. For example, each co-processor may be associated with a motor, so that each co-processor may be configured to actuate the motor associated with each track in order to control track directional movement upon receiving a pulse that may be generated by pulse-width modulation (PWM) output from a general purpose input output (GPIO) or another similar mechanism. In this example, each motor may move the respective track only in one direction (e.g., the machine direction) and the associated co-processor may send a feedback of one pulse when the track is moved successfully. The co-processor may send two pulses as a negative acknowledgement (NACK) if the tracks are not moved successfully by its respective motor. Otherwise, each track may be jointly controlled by a single motor actuated by the co-processor.
For example, as shown in
In some example implementations, subcommands may define parameters of the first or second command sent by the master state machine to the conveying mechanism slave state machine 300, such that execution of the subcommands may be initiated by the conveying mechanism slave state machine after receipt of the first or second command from the master state machine. Completion of the first or second command and/or subcommands may then result in the transition of the conveying mechanism slave state machine between the various states through a series of sub-states.
In particular, for example, the conveying mechanism slave state machine 300 in the first state may receive the first command, which may then initiate execution of a subcommand to measure and read a temperature of the cooling block relative to a temperature set point. For example, there may be one or more sensors located proximate to the cooling block to measure the temperature of the cooling block and transmit the measured temperature to the conveying mechanism slave state machine. The temperature set point may be a temperature that the cooling block has reached in order to solidify the fluid in the fluid molds, i.e., reduce the first temperature of the fluid to a second temperature.
If the temperature of the cooling block is less than the temperature set point, then the conveying mechanism slave state machine 300 may move into a track recover state, “TRACK RECOVER” 301, as described in detail in
In
If the previous state of the conveying mechanism slave state machine is a track ready state, “TRACK READY” 306 or a track maintenance state, “TRACK MAINTENANCE ROTATION” 307, then a pressure plate slave state machine, such as the pressure plate slave state machine 204 in
Referring back to
In
For example, as illustrated in
In
Further in this example, the number decremented each time the fluid molds are moved one position in the machine direction is used to count the number of full rotations made by the fluid molds (e.g., molds M0-M29) in the machine direction. As used herein, a “full rotation” or a “full cycle” refers to the track moving or indexing a fluid mold (e.g., M0) in the machine direction around the entire solid-production system. More particularly, the number of full rotations is based on how many times a fluid mold returns to an initial position. If, for example, the initial position of a fluid mold is P0, then each time the specific fluid mold returns to that initial position will be equivalent to a full rotation of that fluid mold throughout the system. As such, each subsequent full rotation will have its value increased by a value of one, so that a first rotation has a value of one (i.e., the specific fluid mold has returned to the initial position a first time), a second rotation has a value of 2 (i.e., the specific fluid mold has returned to the initial position a second time), etc.
Once the subcommand is initialized, then another command (e.g., the first command) may be executed to cause track movement via actuation of one or more motors associated with the track of the conveying mechanism. The track movement may be movement of each fluid mold one position in a machine direction.
Once the track of the conveying mechanism begins movement, then the conveying mechanism slave state machine 300 may transmit a signal back to the master state machine indicating that the conveying mechanism slave state machine has transitioned to the second state. In some example implementations, subcommands may define parameters of the second command, such that execution of the subcommands may be initiated by the conveying mechanism slave state machine after receipt of the second command from the master state machine. Completion of the second commands and/or subcommands may then result in the transition of the conveying mechanism slave state machine from the second state to the first state or another state through a series of sub-states, where the track moves the fluid mold through the solid-production system.
Movement of the fluid mold may be determined by analyzing whether a specific fluid mold (indicative of relative positions of all the fluid molds) has advanced one position from its previous position to a current position in the machine direction (e.g., from P0 to P1). If the fluid mold has not moved from its previous position, then another subcommand may be executed to determine if the move has failed (e.g., there is a system error) such that the track has not moved the fluid molds one position. If the move has not failed, then the command will run until the fluid molds have moved one position in the machine direction. If the move has failed, then the conveying mechanism slave state machine may transmit a signal to the master state machine to indicate the track error status of the track.
If the fluid molds have moved one position in the machine direction, then the command may continue execution to move the track so that the fluid molds each advance one position. More particularly, for example, the command may be configured to cause a motor associated with the track of the conveying mechanism to move the fluid molds one position in the machine direction in the track one position (e.g., move from P1 to P2). The conveying mechanism slave state machine 300 may then execute a subcommand to access an associated memory device to retrieve the track rotation count and/or previous and current positions of each of the fluid molds, and thereby determine whether the fluid molds of the track of the conveying mechanism have moved a number of positions equal to a full rotation (i.e., count value is 1). If the count value is not 1, then a subcommand may be executed and the number of positions left before the fluid molds return to their initial position may be decremented (e.g., by one). The subcommand may be executed then to move each fluid mold one position in the machine direction.
If the fluid molds of the track of the conveying mechanism have moved a number of positions equal to a full rotation, then the conveying mechanism slave state machine may transition to a track waiting state, “TRACK WAIT ON COOLING BLOCK” 304, described in more detail in
In
If the temperature of the cooling block is greater than the temperature set point, the conveying mechanism slave state machine 300 may transition to a track fill and solidify state, “TRACK FILL AND SOLIDIFY” 305, as described in greater detail in
In
The conveying mechanism slave state machine 300 may then be configured to determine whether the fluid-dispensing mechanism is currently dispensing the fluid to the fluid mold using, for example, a sensor. A signal may be transmitted by the sensor to the conveying mechanism slave state machine indicating whether or not fluid dispensed by the fluid-dispensing mechanism is occurring. Fluid-dispensing may be complete after a predetermined threshold fill level has been achieved. The conveying mechanism slave state machine may be configured to receive measurements from the sensor of a measured fluid fill level for comparison against the predetermined threshold fill level. If the predetermined threshold fill level is met, fluid dispense is complete. The conveying mechanism slave state machine can then transition to the state “MOVE” (e.g., second state) to move the filled fluid mold through the cooling block.
If the fluid-dispensing mechanism is not currently filling a fluid mold, the conveying mechanism slave state machine can determine whether the fluid mold is empty. For example, the sensor may be configured to measure a temperature of the fluid mold to determine whether there is a solid, a fluid, or nothing in the fluid mold. In this example, if the sensor detects a temperature other than an ambient temperature of air, then the sensor may output a signal to the conveying mechanism slave state machine indicating that the fluid mold is not empty. If the fluid mold is not empty, the conveying mechanism slave state machine can determine whether a solid in the fluid mold has been ejected at, for example, ejection position P11 in
Where the fluid mold is empty at the fluid-dispensing position, e.g., P0 in
In some example implementations, where the pressure plate slave state machine is in the solidify state “SOLIDFY” 402, the pressure plate slave state machine can determine whether the pressure plate is in a steady state. If so, the conveying mechanism slave state machine can transition to the state defined by the conveying mechanism moving the fluid mold through the solid-production system.
If the pressure plate is not in a steady state, the pressure plate slave state machine can determine whether all the fluid molds in the cooling region relative to the cooling block include fluid for solidification. If so, the pressure plate slave state machine can execute a command to cause arrangement of the pressure plate to be adjacent to a top surface of the fluid in the fluid mold so as to urge the fluid mold into interaction with the cooling block and solidify the fluid in the fluid molds. In particular, motor(s) associated with the pressure plate can receive a signal from a sensing mechanism indicating that the fluid molds in the cooling region relative to the cooling block are filled to the predetermined fill level with fluid. The motors can then actuate an actuation mechanism so as to cause arrangement of the pressure plate to be adjacent to a top surface of the fluid in the fluid mold, i.e., move into the initial position, so as to urge a bottom surface of the fluid mold into interaction with the cooling block so as to reduce a first temperature of the fluid in the fluid molds to a second temperature to form a solid.
If all the fluid molds in the cooling region relative to the cooling block do not include fluid, fluid-dispensing mechanism can determine whether a fluid mold at the position P0 is empty via receiving a signal from an associated sensor. If so, the fluid-dispensing mechanism slave state machine can transition to the fill state “FILL” 401 to dispense fluid to the empty fluid mold in position P0. If the fluid mold at the position P0 is not empty, the fluid-dispensing slave state machine can receive a signal from a sensor whether a previous or last mold at the position P0 is filled with fluid. If so, then the pressure plate slave state machine may be configured to transition to the first state upon executing a second command so as to cause arrangement of the pressure plate to be adjacent to the top surface of the fluid in the fluid mold and solidify the fluid therein.
When the pressure plate is arranged adjacent to a top surface of the fluid in the fluid mold, a sensing mechanism may be configured to determine whether all the fluid molds in the cooling region relative to the cooling block have formed a solid from the fluid. The sensing mechanism may be a thermopile, a timer, a combination thereof, and the like. The sensing mechanism may be configured to detect whether or not a solid has formed and transmit the signal to the pressure plate slave state machine. If a solid has not formed, the sensing mechanism may continuously monitor the fluid molds to determine when the solid has formed. If a solid has formed, the pressure plate slave state machine can transition to the second state upon executing a first command so as to cause arrangement of the pressure plate into spaced apart arrangement from the top surface of the fluid in the fluid mold and not solidify the fluid therein. Then the conveying mechanism slave state machine can transition to the move state “MOVE” or the dispensing mechanism slave state machine can transition to the fill state “FILL” 401 based on whether the fluid mold is empty or not. If a timer for maintenance of the pressure plate is expired, the track fill and solidify state, “TRACK FILL AND SOLIDIFY” 305 can transition to the pressure plate maintenance rotation state, “PRESSURE PLATE MAINTENANCE ROTATION” 310.
Returning back to
In
If the master state machine does not transmit the second command to the solid-dispensing mechanism slave state machine, then the solid dispensing mechanism slave state machine may execute a subcommand to cause a determination of whether the track door to the exit port is closed. If the track door is not closed (i.e., is open), then the solid-dispensing mechanism slave state machine may execute a subcommand to close the door and may receive and re-execute a subcommand to determine if the fluid mold is in a solid state.
If the track door is closed, the conveying mechanism slave state machine 300 may execute a subcommand to cause a determination of whether a track maintenance timer has expired. The track maintenance timer, which may differ from or be the same timer as a pressure plate maintenance timer, may be activated during the track fill and solidify state, “TRACK FILL AND SOLIDIFY” 305 in order to monitor movement of the pressure plate. Specifically, the pressure plate maintenance timer may provide capabilities to determine that the pressure plate is not stuck in either of the first or the second position due to, for example, excessive frost due to water vapor. By comparison, the track maintenance timer may be activated during the track ready state, “TRACK READY” 306 so as to ensure that movement of the fluid molds is not hindered due to, for example, excessive frost due to water vapor.
If the track maintenance timer has expired (e.g., there is a period of inactivity in the system, such as for example, five minutes, ten minutes, etc.), then the conveying mechanism slave state machine may receive and execute the first command and cause the track of the conveying mechanism to move the fluid mold and transition to a track maintenance rotation state, “TRACK MAINTENANCE ROTATION” 307. Inactivity may include not receiving a user-request for a specified number of solids, such that none of the track(s) is/are rotating. The track maintenance rotation state is described in more detail in
If a solid is not available (e.g., is still a fluid, the fluid mold is empty, etc.), then the solid-dispensing mechanism slave state machine may receive and execute a first command from the master state machine to cause arrangement of the solid-dispensing mechanism so as not to cause the solid-dispensing mechanism to dispense the loosened solid (i.e., the track door is closed to the exit port). The conveying mechanism slave state machine 300 may then transition back to the track waiting state, “TRACK WAIT ON COOLING BLOCK” 304.
In
If the fluid-dispensing mechanism slave state machine does not receive the second command from the master state machine, and a full rotation of the track of the conveying mechanism is complete, the pressure plate slave state machine (e.g., 204 in
If the track move has failed, then a solid-dispensing mechanism slave state machine (e.g., 205 in
Referring back to
In
If the user-requested number of solids is not dispensed from the fluid mold in the solid-dispensing position, then the solid-dispensing mechanism can determine whether or not there is more time left in the predetermined solid wait time. If yes, then the solid-dispensing mechanism slave state machine can remain in a first state defined by the solid-dispensing mechanism being arranged to dispense the solid loosened by the solid ejector to the user through the exit port, and the second state defined by the solid-dispensing mechanism being arranged so as to not dispense the loosened solid. If no, then the solid-dispensing mechanism slave state machine can send a signal to the master slave state machine to record the state of the fluid mold in the solid-dispensing position as “SOLID” and can stop the solid counter. Then, the conveying mechanism slave state machine can transition to a track dispense state, “TRACK DISPENSE” 309, described in more detail in
In
If track movement is not complete and track movement has failed, the solid-dispensing mechanism slave state machine can receive and execute a first command from the master state machine to cause arrangement of the solid-dispensing mechanism so as not to cause the solid-dispensing mechanism to dispense the loosened solid, such that the track door is closed or down. Then the conveying mechanism slave state machine can receive and execute a second command and cause the conveying mechanism to stop movement of the fluid mold through the solid-production system. Then, the conveying mechanism slave state machine can send a signal to the master slave state machine to record the state of the conveying mechanism slave state machine as “TRACK STATUS ERROR”.
Referring back to
In
If execution of the first command is successful, then the pressure plate slave state machine can execute a subcommand to determine if the number of solids has been ejected by the solid ejector, i.e., has the number of solids requested by the user been loosened in the respective fluid molds for dispensing by the solid-dispensing mechanism to the user. If yes, then the conveying mechanism slave state machine can transition back to the track ready state, “TRACK READY” 306. If not, then the pressure plate slave state machine can receive and execute a second command from the master state machine to cause arrangement of the pressure plate to be adjacent to the top surface of the fluid in the fluid mold so as to urge the fluid mold into interaction with the cooling block, and the conveying mechanism can transition back to a track fill and solidify state, “TRACK FILL AND SOLIDIFY” 305.
Referring now to
As noted herein, in some example implementations, the conveying mechanism slave state machine can use a timer to monitor the track movement. In some instances, timeout may occur when the track is still moving. When timeout occurs and the maximum number of allowed retries is exceeded to move the track (i.e., a specified number of retries that the conveying mechanism slave state machine can try to execute the first command sent by the master state machine), the state “TRACK_MOVING” may transition to a sub-state “TRACK UNKNOWN”, indicating an unknown state of the track. The sub-state “TRACK UNKNOWN” may transition to the state “TRACK MOVE INIT” to initialize track movement. In another example, when timeout occurs, the conveying mechanism slave state machine can attempt to re-execute the first command to enter the state “TRACK_MOVING” to enable track movement.
In
The conveying mechanism slave state machine may then receive and execute a subcommand from the master state machine to transition to a stop pulse sub-state, “SUB-STATE STOP PULSE”, in order to stop generating the series of pulses once the period of time has expired or the number of pulses has been generated. The GPIO may then be configured as an input such that the pin may be turned or pulled “LOW”. The voltage may be about zero (0) V to about one (1) V. A series of pulses may be generated by the GPIO via PWM and the timing mechanism may be restarted. The series of pulses may be generated for a period of time, such as, for example between about three (3) seconds and about ten (10) seconds, or once a number of pulses has been generated, such as, for example, one, two, three, four, etc., pulses. The conveying mechanism slave state machine may then receive and execute a subcommand from the master slave state machine to enter the wait for response sub-state, “SUB-STATE WAIT FOR RESPONSE”, in order to stop generating the series of pulses once the period of time has expired or the number of pulses has been generated and received by one or more co-processors responsible for controlling track movement and/or pressure plate arrangement.
In the wait for response sub-state “SUB-STATE WAIT FOR RESPONSE,” the conveying mechanism slave state machine can determine whether track movement is successfully completed based on a number of pulses received by the co-processors associated with the conveying mechanism slave state machine for controlling track movement.
If the period of time is expired, or the conveying mechanism slave state machine receives two pulses, the conveying mechanism slave state machine may receive and execute a subcommand from the master state machine to transition from the wait for response sub-state “SUB-STATE WAIT FOR RESPONSE” to a transition timeout sub-state “SUB-STATE TRANSITION TIMEOUT”. The transition timeout sub-state is defined by the track of the conveying mechanism not being successfully moved the necessary number of positions in the required period of time.
If the co-processor receives one pulse as generated by the GPIO, the conveying mechanism slave state machine may receive and execute a subcommand from the master state machine to transition from the wait for response sub-state, “SUB-STATE WAIT FOR RESPONSE”, to the transition complete sub-state, “SUB-STATE TRANSITION COMPLETE”. The transition complete sub-state may be defined by the track of the conveying mechanism having successfully moved the fluid molds the necessary number of positions.
When the conveying mechanism slave state machine is in either of the transition timeout sub-state or the transition complete sub-state, the conveying mechanism slave state machine may receive and execute a subcommand from the master state machine to transition from either of these sub-states to the wait for start sub-state “SUB-STATE WAIT FOR START”. The wait for start sub-state may be defined by the conveying mechanism receiving and executing a first command and cause the conveying mechanism to move the fluid mold through the solid-production system. Notably, the execution of various commands and subcommands by the conveying mechanism slave state machine so as to transition into one or more sub-states as described in
In some example implementations, as shown in
For example, upon receiving a subcommand from the master slave state machine, the fluid-dispensing mechanism slave state machine 700 can execute the subcommand and start a wait timer so as to transition to a before fill wait sub-state, “BEFORE FILL WAIT”. When the wait timer expires, the fluid-dispensing mechanism slave state machine can send a signal to the master state machine, which can then send a second command to the fluid-dispensing mechanism slave state machine to cause the fluid-dispensing slave state mechanism to transition to a first state, “FILL IN PROCESS”, defined by the fluid-dispensing mechanism dispensing the fluid to a fluid mold in a fluid-dispensing position relative to the fluid-dispensing mechanism (e.g., P0 in
After the fill timer is expired, the fluid-dispensing mechanism slave state machine can receive and execute a first command from the master state machine to cause the fluid-dispensing mechanism to stop dispensing the fluid to the fluid mold. In particular, the fluid-dispensing mechanism slave state machine can deactivate the valve mechanism and start the wait timer. The fluid-dispensing mechanism slave state machine can then transition from the first state, “FILL IN PROCESS”, to the after fill wait sub-state, “AFTER FILL WAIT”. After the wait timer has expired, the fluid-dispensing mechanism slave state machine can receive and execute a first command from the master state machine to cause the fluid-dispensing mechanism to stop dispensing the fluid to the fluid mold in the dispensing position, so as to transition from the after fill wait sub-state, “AFTER FILL WAIT” to the second state, “FILL IDLE”, defined by the fluid-dispensing mechanism not dispensing the fluid to the fluid mold.
For example, as shown in
In the first state, the pressure plate slave state machine may receive a first command that initiates a series of subcommands from a master state machine, such as master state machine 201 in
In some example implementations, subcommands may define parameters of the first or second command sent by the master state machine to the pressure plate slave state machine 800, such that execution of the subcommands may be initiated by the pressure plate slave state machine after receipt of the first or second command from the master state machine. Completion of the first or second command and/or subcommands may then result in the transition of the pressure plate slave state machine between the first state and the second state or to another state through a series of sub-states.
In particular, the pressure plate slave state machine 800, may be in an initialization state, “PP INIT”. The pressure plate slave state machine may receive and execute a subcommand from the master state machine to transition from the initialization state, “PP INIT” to a wait sub-state, “PP INIT WAIT.” If the transition from the initialization state, “PP INIT” to the wait sub-state, “PP INIT WAIT” takes longer than a predetermined amount of time (e.g., longer than one minute, two minutes, three minutes, etc.), then pressure slave state machine may receive and execute a subcommand from the master slave state machine to transfer to an unknown sub-state, “PP UNKNOWN.”
If the transition is complete, then the pressure plate slave state machine 800 may receive and execute a second command to cause arrangement of the pressure plate to be adjacent to the top surface of the fluid in the fluid mold so as to urge the fluid mold into interaction with the cooling block, i.e., the initial state. In particular, the pressure plate slave state machine may actuate an actuation mechanism so as to move the pressure plate into the initial state. Then the pressure plate slave state machine may transition to the second wait sub-state, “PP INIT WAIT 2.” If the transition from the second wait sub-state, “PP INIT WAIT 2”, takes longer than the predetermined amount of time, then pressure slave state machine may receive and execute a subcommand from the master slave state machine to transfer to the unknown sub-state, “PP UNKNOWN.” Otherwise, if the transition is complete, the conveying mechanism slave state machine can transition to a first state, “PP DN” defined by the pressure plate being arranged adjacent to a top surface of the fluid in the fluid mold so as to urge the fluid mold into interaction with the cooling block. The first state assists in more efficient solidification of the fluid in the fluid molds in the cooling region relative to the cooling block.
If the pressure plate is requested to be in the second state, “UP”, then the pressure plate slave state machine may receive and execute a first command so as to transition to the second state, defined by the pressure plate being arranged in a spaced apart relation from the top surface of the fluid in the fluid mold so as not to urge the fluid mold into interaction with the cooling block. Upon receiving the first command from the master state machine, the pressure plate slave state machine may cause arrangement of the pressure plate into the spaced apart relation from the top surface of the fluid in the fluid mold so as not to urge the fluid mold into interaction with the cooling block, and transition to the down to up sub-state, “PP DN TO UP”. A signal may be sent from the pressure plate slave state machine to the master state machine to indicate that the transition from the first state to the second state.
If the pressure plate is requested to be in a eject or ejection state, “EJECT”, then the pressure plate slave state machine may receive and execute a command so as to transition to the eject state, defined by the pressure plate being arranged in a spaced apart relation from the top surface of the fluid in the fluid mold so as not to urge the fluid mold into interaction with the cooling block, where in the eject state the pressure plate is arranged in a spaced apart relation from the top surface of the fluid in the fluid mold a greater distance than in the second state. Upon receiving the command from the master state machine, the pressure plate slave state machine may cause arrangement of the pressure plate into the eject state, and transition to the down to up sub-state, “PP DN TO UP”. A signal may be sent from the pressure plate slave state machine to the master state machine to indicate the transition between the states.
In the down to up sub-state, “PP DN TO UP”, the pressure plate slave state machine may receive and execute a subcommand from the master state machine to transition from the down to up sub-state to the second state, “PP UP”, if the transition from the first state to the second state is complete. If the transition from the first state to the second state times out (i.e., the pressure plate does not transition to the second state within a predetermined period of time), then the pressure plate slave state machine may receive and execute a subcommand from the master state machine to transition to the unknown sub-state, “PP UNKNOWN”.
In the second state, “PP UP”, the conveying mechanism slave state machine may receive and execute a subcommand to transition to an up to down sub-state, “PP UP TO DN”, where the pressure plate slave state machine is requested to be in the first state, “PP DN”. In the up to down sub-state, the pressure plate slave state machine may receive and execute a second command so as to transition to the first state, defined by the pressure plate being arranged adjacent to a top surface of the fluid in the fluid mold so as to urge the fluid mold into interaction with the cooling block. Upon receiving the second command from the master state machine, the pressure plate slave state machine may cause arrangement of the pressure plate to be adjacent to the top surface of the fluid in the fluid mold so as to urge the fluid mold into interaction with the cooling block, and may transition to the up to down sub-state, “PP UP TO DN”. A signal may be sent from the pressure plate slave state machine to the master state machine to indicate that the transition from the second state to the first state.
In the up to down sub-state, “PP UP TO DN”, the pressure plate slave state machine may receive and execute a subcommand from the master state machine to transition from the up to down sub-state to the first state, “PP DN”, if the transition from the second state to the first state is complete. If the transition from the second state to the first state times out (i.e., the pressure plate does not transition to the first state within a predetermined period of time), then the pressure plate slave state machine may receive and execute a subcommand from the master state machine to transition to the unknown sub-state, “PP UNKNOWN”.
Further, in the second state, “PP UP”, the conveying mechanism slave state machine may receive and execute a subcommand to transition to an up to eject sub-state, “PP UP TO EJECT”, where the pressure plate is requested to be in the eject sub-state, “EJECT”. In the up to eject sub-state, the pressure plate slave state machine may receive and execute subcommand so as to transition to an eject state, defined by the actuation mechanism interacting with the solid ejector to move it into an ejection position. Upon receiving the subcommand from the master state machine, the pressure plate slave state machine may cause interaction of the actuation mechanism with the solid ejector to move it into an ejection position, and a signal may be sent from the pressure plate slave state machine to the master state machine to indicate that the transition from the first state to the eject state.
If the transition is complete, then the pressure plate slave state machine 800 may transition to the eject state, “PP EJECT”, where a fluid mold in the ejection position is ejected (or loosened) by the solid ejector. In particular, the pressure plate slave state machine may actuate an actuation mechanism to eject the solid in the ejection position. If the transition takes longer than the predetermined amount of time, then pressure slave state machine may receive and execute a subcommand from the master slave state machine to transfer to the unknown sub-state, “PP UNKNOWN.”
If the pressure plate is requested to be in the second state, “UP”, then the pressure plate slave state machine may receive and execute a first command so as to transition to the second state, defined by the pressure plate being arranged in a spaced apart relation from the top surface of the fluid in the fluid mold so as not to urge the fluid mold into interaction with the cooling block. Upon receiving the first command from the master state machine, the pressure plate slave state machine may cause arrangement of the pressure plate into the spaced apart relation from the top surface of the fluid in the fluid mold so as not to urge the fluid mold into interaction with the cooling block, and transition to the eject to up sub-state, “PP EJECT TO UP”. A signal may be sent from the pressure plate slave state machine to the master state machine to indicate that the transition from the eject state to the second state.
In the eject to up sub-state, “PP EJECT TO UP”, the pressure plate slave state machine may receive and execute a command from the master state machine to transition from the eject state to the second state, “PP UP”, if the transition from the eject state to the second state is complete. If the transition from the eject state to the second state times out (i.e., the pressure plate does not transition to the second state within a predetermined period of time), then the pressure plate slave state machine may receive and execute a subcommand from the master state machine to transition to the unknown sub-state, “PP UNKNOWN”.
For example, as shown in
In the door closing at full speed sub-state, “DOOR CLOSING FULL SPEED”, the solid-dispensing mechanism slave state machine 900 can receive and execute a first command to cause arrangement of the solid-dispensing mechanism so as not to cause the solid-dispensing mechanism to dispense the loosened solid, i.e., the motors can control the closing of the track door at the full speed so that the solid-dispensing mechanism slave state machine is in a second state defined by the solid-dispensing mechanism being arranged so as to not dispense the loosened solid. If the transition of the solid-dispensing mechanism slave state machine from the door closing at full speed sub-state to the second state is successful, then the solid-dispensing mechanism slave state machine can clear the timer and transition to the second state, “DOOR CLOSE”. If the transition of the solid-dispensing mechanism slave state machine from the door closing at full speed sub-state to the second state is not successful during the time period (i.e., the timer expires), then the solid-dispensing mechanism slave state machine can receive and execute a subcommand from the master state machine to set the PWM associated therewith to transmit a series of pulses to control the motors at a reduced speed, such as at 60% of the full speed and reset the timer to control the speed of closing the track door at the reduced speed. The solid-dispensing mechanism slave state machine can then transition from the door closing at full speed sub-state, “DOOR CLOSING FULL SPEED”, to the door closing at reduced speed sub-state, “DOOR CLOSING REDUCED SPEED”. In the door closing at reduced speed sub-state, the motors can control the closing of the door at a reduced speed.
In some example implementations, the solid-dispensing mechanism slave state machine 900 can activate a switch mechanism connected to the GPIO that is configured to control closing of the track door by deactivating the switch mechanism so as to cause a low signal or low state to be transmitted to the processor on the GPIO. The solid-dispensing mechanism slave state machine can clear timers and can transition from the door closing at reduced speed sub-state “DOOR CLOSING REDUCED SPEED” to the second state, “DOOR CLOSE”. In another example, the solid-dispensing mechanism slave state machine can clear timers and can transition from the door closing at reduced speed sub-state “DOOR CLOSING REDUCED SPEED” state to the second state, “DOOR CLOSE”, when the switch is activated or the timer is expired. A sensing mechanism located proximate to the track door may be configured to detect whether the track door is successfully closed or not. When the track door is closed, it may indicate that there is no solid to be dispensed at the solid-dispensing position (e.g., P28 in
In some example implementations, when the solid-dispensing mechanism slave state machine 900 is in the second state, “DOOR CLOSE,” the solid-dispensing mechanism slave state machine may receive and execute a second command to cause arrangement of the solid-dispensing mechanism so as to cause the solid-dispensing mechanism to dispense the solid loosened by the solid ejector to the user through the track door to the exit port. In particular, the solid-dispensing mechanism slave state machine may receive and execute the second command from the master state machine to open the track door, and subcommands from the master state machine to set the PWM of the GPIO to control the motors at a full speed and set the timer to control the speed of opening the track door at the full speed. The solid-dispensing mechanism slave state machine can transition from the second state, “DOOR CLOSE”, to a door opening at full speed sub-state, “DOOR OPENING FULL SPEED”.
In the door opening at full speed sub-state, “DOOR OPENING FULL SPEED”, the motors can control the closing of the door at the full speed. In another example, when the timer is expired, the solid-dispensing mechanism slave state machine can receive and execute a subcommand to set PWM to control the motors at a reduced speed, such as at 80% of the full speed, and reset the timer to control the speed of opening the track door at the reduced speed. The solid-dispensing mechanism slave state machine can then transition from the door opening at full speed sub-state, “DOOR OPENING FULL SPEED”, to the door opening at reduced speed sub-state, “DOOR OPENING REDUCED SPEED”, where the motors can control the closing of the door at the reduced speed.
In some example implementations, the solid-dispensing mechanism slave state machine 900 may receive and execute a subcommand from the master state machine to activate another switch connected to the GPIO, which may control opening the track door by opening the switch so as to cause a low signal or low state to be transmitted to the processor on the GPIO. The solid-dispensing mechanism slave state machine can receive and execute another subcommand to clear timers. Further, the solid-dispensing mechanism can receive and execute a second command to cause arrangement of the solid-dispensing mechanism so as to cause the solid-dispensing mechanism to dispense the solid loosened by the solid ejector to the user through the exit port, so that the solid-dispensing mechanism slave state machine can transition from the door opening at reduced speed sub-state, “DOOR OPENING FULL SPEED”, to the first state, “DOOR OPEN”.
In a further example, the solid-dispensing mechanism slave state machine 900 can receive and execute a subcommand from the master state machine to clear timers so as to transition from the door opening at reduced speed sub-state, “DOOR OPENING REDUCED SPEED”, to the first state, “DOOR OPEN”, when the other switch is activated or the timer is expired. A sensing mechanism located proximate to the track door may be configured to detect whether the track door is successfully opened or not. When the solid-dispensing mechanism is arranged to dispense the solid loosened by the solid ejector to the user through the exit port, i.e., track door is open or in the first state, the sensing mechanism may indicate that there is solid to be dispensed at the solid-dispensing position.
In some implementations, when the timer is expired and the other switch controlling opening the track door is activated, the solid-dispensing mechanism slave state machine can transition from the door closing at reduced speed sub-state, “DOOR CLOSING REDUCED SPEED”, to the first state, “DOOR OPEN”. In another example, when the timer is expired and the switch controlling closing of the track door is activated, the solid-dispensing mechanism slave state machine can transition from the door opening at reduced speed sub-state “DOOR OPENING REDUCED SPEED”, to the second state “DOOR CLOSE”.
In some example implementations, when the solid-dispensing mechanism slave state machine 900 is in the first state, “DOOR OPEN,” the solid-dispensing mechanism slave state machine may receive and execute a first command to cause arrangement of the solid-dispensing mechanism so as not to cause the solid-dispensing mechanism to dispense the loosened solid, i.e., close the track door. In particular, for example, the solid-dispensing mechanism slave state machine can set the PWM of the GPIO to control the motors at full speed and set the timer to control the speed of closing the track door at full speed. The solid-dispensing mechanism slave state machine can then transition from the first state, “DOOR OPEN”, to the door closing at full speed sub-state, “DOOR CLOSING FULL SPEED”. For example, after the solid is dispensed to the user at the solid-dispensing position, the solid-dispensing mechanism slave state machine can receive the first command to cause arrangement of the solid-dispensing mechanism so as not to cause the solid-dispensing mechanism to dispense the loosened solid, i.e., close the track door.
In some example implementations, when the solid-dispensing mechanism slave state machine is in the first state, i.e., the track door is open, a user-requested number of solids can be dispensed to the user or consumer through the track door, as described above. After the user-requested number of solids is dispensed to the user, then the solid-dispensing mechanism slave state machine 900 may receive and execute a first command to cause arrangement of the solid-dispensing mechanism so as not to cause the solid-dispensing mechanism to dispense the loosened solid, i.e., close the track door. In some example implementations, when the track is still moving and not ready for the solid to be dispensed, the GPIOs of the two switches associated with the solid-dispensing mechanism slave state machine may be “HIGH”. When the GPIOs are “HIGH”, no solid may be dispensed to the user.
The processor 1002 is generally any piece of computer hardware that is capable of processing information such as, for example, data, computer-readable program code, instructions or the like (at times generally referred to as “computer programs,” e.g., software, firmware, etc.), and/or other suitable electronic information. The processor is composed of a collection of electronic circuits some of which may be packaged as an integrated circuit or multiple interconnected integrated circuits (an integrated circuit at times more commonly referred to as a “chip”). The processor may be configured to execute computer programs, which may be stored onboard the processor or otherwise stored in the memory 1004 (of the same or another apparatus). In other examples, the processor may be embodied as or otherwise include one or more application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs) or the like. Thus, although the processor may be capable of executing a computer program to perform one or more functions, the processor of various examples may be capable of performing one or more functions without the aid of a computer program.
The memory 1004 is generally any piece of computer hardware that is capable of storing information such as, for example, data, computer programs (e.g., computer-readable program code 1006) and/or other suitable information either on a temporary basis and/or a permanent basis. The memory may include volatile and/or non-volatile memory, and may be fixed or removable. Examples of suitable memory include random access memory (RAM), read-only memory (ROM), a hard drive, a flash memory, a thumb drive or the like. In various instances, the memory may be referred to as a computer-readable storage medium. The computer-readable storage medium is a non-transitory device capable of storing information, and is distinguishable from computer-readable transmission media such as electronic transitory signals capable of carrying information from one location to another. Computer-readable medium as described herein may generally refer to a computer-readable storage medium or computer-readable transmission medium.
In addition to the memory 1004, the processor 1002 may also be connected to a real-time clock (RTC) 1008 configured to keep be set to and keep the current standard time. In addition, the processor may be connected to one or more interfaces for displaying, transmitting and/or receiving information. The interfaces may include a communications interface 1010 and/or one or more user interfaces. In some examples, particularly in instances in which the apparatus 1000 is configured to implement a network interface unit (NIU), the apparatus may not include a separate user interface, and may instead interact with one provided by the appliance. The communications interface may be configured to transmit and/or receive information, such as to and/or from other apparatus(es), network(s) or the like. The communications interface may be configured to transmit and/or receive information by physical (wired) and/or wireless communications links. Examples of suitable communication interfaces include a network interface controller (NIC), wireless NIC (WNIC) or the like.
The user interfaces may include a display 1012 and/or one or more user input interfaces 1014. The display may be configured to present or otherwise display information to a user, suitable examples of which include a liquid crystal display (LCD), light-emitting diode display (LED), plasma display panel (PDP) or the like. The user input interfaces may be wired or wireless, and may be configured to receive information from a user into the apparatus, such as for processing, storage and/or display. Suitable examples of user input interfaces include a microphone, image or video capture device, keyboard or keypad, mouse, joystick, touch-sensitive surface (e.g., touchpad, touchscreen), biometric sensor or the like.
As indicated above, program code instructions may be stored in memory, and executed by a processor, to implement functions described herein. As will be appreciated, any suitable program code instructions may be loaded onto a computer or other programmable apparatus from a computer-readable storage medium to produce a particular machine, such that the particular machine becomes a means for implementing the functions specified herein. These program code instructions may also be stored in a computer-readable storage medium that can direct a computer, a processor or other programmable apparatus to function in a particular manner to thereby generate a particular machine or particular article of manufacture. The instructions stored in the computer-readable storage medium may produce an article of manufacture, where the article of manufacture becomes a means for implementing functions described herein. The program code instructions may be retrieved from a computer-readable storage medium and loaded into a computer, processor or other programmable apparatus to configure the computer, processor or other programmable apparatus to execute operations to be performed on or by the computer, processor or other programmable apparatus.
Retrieval, loading and execution of the program code instructions may be performed sequentially such that one instruction is retrieved, loaded and executed at a time. In some example implementations, retrieval, loading and/or execution may be performed in parallel such that multiple instructions are retrieved, loaded, and/or executed together. Execution of the program code instructions may produce a computer-implemented process such that the instructions executed by the computer, processor or other programmable apparatus provide operations for implementing functions described herein.
Execution of instructions by a processor, or storage of instructions in a computer-readable storage medium, supports combinations of operations for performing the specified functions. In this manner, an apparatus 1000 may include a processor 1002 and a computer-readable storage medium or memory 1004 coupled to the processor, where the processor is configured to execute computer-readable program code 1006 stored in the memory. It will also be understood that one or more functions, and combinations of functions, may be implemented by special purpose hardware-based computer systems and/or processors which perform the specified functions, or combinations of special purpose hardware and program code instructions.
In some example implementations, the fluid-dispensing mechanism 1100 includes a dispensing apparatus 1101 configured to dispense a quantity of fluid, such as water, individually into the fluid molds M0-M29 indexed into the fluid-dispensing position. The dispensing apparatus may comprise a dispensing nozzle configured to direct the quantity of fluid into the fluid molds, as well as sealing components, valve mechanisms, and the like. A length of tubing 1102 may be coupled to the dispensing apparatus to transmit the quantity of fluid thereto. An inlet 1103 of the length of tubing may receive the quantity of fluid from a reservoir, fluid pipes, or the like.
In some other example implementations, the fluid-dispensing mechanism 1100 may further comprise a pressure regulator 1104. The pressure regulator may be disposed in-line with the length of tubing 1102 or may be provided upstream and externally to the length of tubing. The pressure regulator may be configured to measure a fluid pressure of the fluid flowing through the length of tubing and control the fluid pressure. With lower fluid pressure, the flow rate of the fluid flow may be lower. As such, it may be desirable to control the fluid pressure using the pressure regulator to maintain the fluid pressure at a substantially lower fluid pressure than what is typically used in residential homes so as to prevent splash of the dispensed fluid at the dispensing apparatus 1101.
For example, water flowing through the length of tubing may have a water pressure of 12 pounds per square inch (psi), which is substantially lower than current operating pressures (30-100 psi) of typical residential water pressure. The dispensing apparatus 1101 may also incorporate a tube fitting that maintains an opening to the atmosphere, so as to prevent the dispensing fluid from exiting the tubing prior to dispensing into the desired fluid mold. In this way, the dispensing apparatus 1101 can facilitate a break in the fluid vacuum built up in the tubing from a dispense operation at a location above the freezing point, in order to prevent ice formation and blockage in the tube.
In some example implementations, it may be desirable to provide the fluid regulator 1104 at the inlet 1103. The fluid regulator can be configured to regulate the fluid pressure at the inlet to have a value (e.g., 12 psi) that is below current operating pressures (30-100 psi) of typical residential water pressure. In this way, the fluid-dispensing mechanism 1100 may not need to use a flow meter to monitor or measure variable flow rates and can precisely regulate fluid dispense based on time alone. For example, the fluid-dispensing mechanism can be configured to control the time of fluid dispense to achieve accurate dispensing of fluid to each of the fluid molds. Software logic, such as that described in
The fluid-dispensing mechanism 1100 may further include, in some example implementations, one or more valves to control flow of the fluid in the system. For example, and as illustrated in
A cooling block as contemplated by the present disclosure, is, for example, arranged to interact with one or more fluid molds to reduce a first temperature of a fluid dispensed in each of the one or more fluid molds to a second temperature, the second temperature being lower than the first temperature, to solidify the fluid in each of the one or more fluid molds. In such example implementations, the cooling block has a thermal mass operable to absorb and store thermal energy transferred by the fluid in each of the one or more fluid molds so as to reduce the first temperature of the fluid to the second temperature. In some example implementations, a material of the thermal mass may be aluminum, or another material having similar thermal characteristics to aluminum. In some other example implementations, a material of the thermal mass may be iron, or another material having similar characteristics to iron. In some still further example implementations, a material of the thermal mass may be one having thermal characteristics that enable the cooling block to absorb and store thermal energy as efficiently as a thermal mass having a material of aluminum, iron, and the like.
In order to increase a rate of solidification or decrease a solidification time of the fluid molds in a cooling region of the cooling block, in some example implementations, a pressure plate may be arranged to urge the one or more fluid molds into interaction with the cooling block. More particularly, the pressure plate may be arrangeable in an initial position adjacent to the top surface of the fluid in each of the one or more fluid molds so as to urge the one or more fluid molds into interaction with the cooling block in order to reduce the first temperature of the fluid in each of the one or more fluid molds to the second temperature, and may be arrangeable in a second position in spaced apart relation from the top surface of the fluid in each of the one or more fluid molds so as not to urge the one or more fluid molds into interaction with the cooling block. This is described in more detail in
In some still further example implementations, one or more actuation mechanisms may be arrangeable to bias the pressure plate into the initial position adjacent to the top surface of the fluid in each of the one or more fluid molds, and arrangeable to bias the pressure plate into the second position in spaced apart relation from the top surface of the fluid in each of the one or more fluid molds. The one or more actuation mechanisms may comprise a biasing member arranged adjacent to a top surface of the pressure plate to exert a normal force on the top surface of the pressure plate so as to bias the pressure plate into the initial position adjacent to the top surface of the fluid in each of the one or more fluid molds. The one or more actuation mechanisms may further comprise a sliding member, wherein the sliding member is slidingly engaged with the pressure plate and is movable in a reverse machine direction to exert an opposing normal force against the normal force exerted on the top surface of the pressure plate by the biasing member, the opposing normal force being greater than the normal force exerted by the biasing member, so as to bias the pressure plate into the second position in spaced apart relation from the top surface of the fluid in each of the one or more fluid molds.
Further, the one or more actuation mechanisms may further comprise a motor and a reciprocating shaft engaged with the sliding member, wherein actuation of the motor drives the reciprocating shaft to reciprocatingly move the sliding member in a machine direction and the reverse machine direction. The motor may be actuated by a control mechanism, which may comprise a hardware processor and at least one memory. The control mechanism may interface with and be operable to actuate the motor. In some example implementations, the control mechanism may comprise a pressure plate slave state machine (e.g., 204 in
In some example implementations, a conveying mechanism may be arranged to convey one or more fluid molds in a machine direction through a solid-production system (e.g., 100 in
In some still further example implementations, a fluid-dispensing mechanism may be arranged adjacent to the one or more fluid molds to dispense the fluid at the first temperature into each of the one or more fluid molds when the fluid molds are in a fluid-dispensing position relative to the fluid-dispensing mechanism.
In some example implementations, the cooling block may comprise a monolithic mass of a material, such as for example, a monolithic mass of aluminum. However, in other example implementations, the cooling block may also comprise multiple parts, such as, for example, two or more blocks of a material (e.g., aluminum), which may be coupled together to form the cooling block. The total volume of the cooling block, whether as a monolithic mass or as a coupling of multiple blocks, may be between about 100 inches cubed (in3) and about 120 in3; and in some example implementations, the volume of the cooling block may be about 110.5 in3, with dimensions of about 4.25 inches by about 2 inches by about 13 inches. However, these dimensions, and volume, may vary.
Regardless, a cooling block having a thermal mass of a material so sized, shaped, and/or dimensioned may be advantageous as it forms a larger heat sink for absorbing and storing the thermal energy transferred by the fluids in each of the one or more fluid molds when the fluid molds are in the cooling region of the cooling block. As such, the thermal mass is able to more efficiently solidify fluid in more fluid molds on more tracks than conventional solidification methods using conduction or blowing air on the fluid.
In some still further example implementations, a cooling block may comprise defined channels throughout the cooling block, which are arranged to have a cooling material flowed therethrough. In some still other example implementations, a cooling block may comprise at least one tube, extending laterally between a top surface and a bottom surface of the cooling block in a pattern, and arranged to have a cooling material flowed therethrough. The at least one tube may comprise an evaporator tube and the cooling material may comprise refrigerant. However, other cooling materials are also contemplated herein, such as, for example, but not limited to carbon dioxide, ammonia, water or brine. Depending on the cooling material used, the cooling material may be provided to the at least one tube in different manners. For example, the cooling material may be transmitted to the at least one tube from a heat exchanger where the cooling material is a refrigerant used in a compressor. However, the cooling material may be another material depending on the application of the solid-production system. The evaporator tube may be inserted or embedded into extruded parts of the cooling block and may receive the cooling material. In some examples, where the cooling block comprises two or more blocks, the at least one tube may be inserted or embedded between the two or more blocks.
The cooling material flowing through the at least one tube can be configured to reduce the temperature of the fluid in the fluid molds from the first temperature to the second temperature. For example, where refrigerant is flowed through the at least one tube in the cooling block, the cooling block is able to absorb and store the thermal energy transferred by the fluid in each of fluid molds from a first temperature to a second, refrigerant temperature (about −22 degrees (° F.)).
Notably, an energy density or amount of energy stored in the cooling block may be variable based on the material of the thermal mass. For example, the energy density of aluminum is about 83.8 mega joule per liter (MJ/L), which may allow the cooling block to exchange more energy with the fluid in the fluid molds than the compressor only (over a certain period of time) due to the material density, specific heat, and thermal conductivity properties. For example, the cooling block may exchange between about 420 kilowatts (kW) and about 450 kW with the fluid molds in order to reduce a temperature of the fluid in the fluid molds to the second temperature. The thermal mass of the cooling block is sized, shaped, and/or dimensioned so that the thermal mass of the cooling block is greater than an energy density of cooling material (e.g., refrigerant) flowing through the at least one tube.
Thus, it is advantageous to provide the thermal mass having the at least one tube embedded or otherwise inserted in the thermal mass, so that the thermal mass is positioned between the at least one tube and a top surface of the fluid in the fluid molds so as to allow for the cooling block to deliver more cooling power (i.e., decrease the solidification time) to the fluid, then would be typical of a compressor/refrigerant alone, such that the first temperature of the fluid in the fluid molds is reduced to the second temperature faster than using a compressor/refrigerant alone. In addition, the cooling block can advantageously reduce the temperature of the fluid in the fluid mold from the first temperature to the second temperature only through conduction using the thermal mass of the cooling block without the need of using blown air or convection, such that solidification of the fluid in the fluid molds is more cost efficient and quicker than conventional solidification modalities.
For example,
In another example,
In some example implementations, the thermal mass of the cooling block may be optimized or made most effective. More particularly, the thermal mass of the cooling block may comprise a material and be sized, shaped, and/or dimensioned to optimize performance of the cooling block based on desired functionality of a solid-production system. For example, where the desired functionality of a solid-production system is to optimize performance to produce a solid as quickly as possible, while keeping a size of the solid-production system small, then the thermal mass of the cooling block may be optimized to achieve this functionality.
A computer generated model may be utilized for optimizing a design of the thermal mass of the cooling block. The computer generated model may be a computational fluid dynamics (CFD) model, or the like, created using any software currently available so as to run a simulation to determine the dynamics of different elements in a solid-production system and may then be refined in order to optimize a design of the elements, e.g., the cooling block. For example, the computer-generated model may simulate the thermal mass of the cooling block based on one or more parameters of the solid-production system, where the parameters may be independent, dependent or semi-independent in the simulation. The one or more parameters may include at least, for example, but are not limited to, full three-dimensional (3D) geometries, unsteady states, phase changes from fluid to solid. The one or more parameters may also include, but are not limited to material property changes, full conjugate heat transfer (CHT), compressor performance considerations, fully parameterized geometries, and the like.
The full CHT may further include parameters such as, but not limited to, conformal meshes, radiation, convection, and conduction, and material properties including density, specific heat, thermal conductivity, surface emissivity, and surface transmissivity. The fully parameterized geometry may further include parameters such as, but not limited to, thermal mass sizes, shapes, and/or dimensions, material of the thermal mass, thermal mass cost, solid dimensions, track dimensions, number of tracks, track spacing, radius of the at least one tube, location of the at least one tube, number of bends of the at least one tube, bending radius of the at least one tube, liner thickness, liner material, and insulation thickness.
In some example implementations, simulating the design of the thermal mass of the cooling block may have objectives such as, for example, to minimize time to solidify the fluid and minimize fluid mold material cost. The simulation may have multiple constraints. For example, the constraints may include that the time to solidify should be less than 600 seconds, the maximum solid temperature should be less or equal than −0.2° C., the mass for the fluid molds should be less or equal than 5 kilograms (kg) and the total mass of solid in the solid-production system should be more or equal than 600 grams (g).
In one example implementation, the parameters input into the software for creating the computer-generated model may include, but are not limited to:
Further, as illustrated in
Also as shown in
The solid-detection mechanism 1800 can be configured to use a sensor 1801 to detect whether a solid, such as ice, has been formed in the fluid mold. In some example implementations, the sensor can include a non-contact temperature sensor to measure a surface temperature of the fluid or solid in the fluid mold, which can be, for example, any one of the fluid molds M0-M29 in the solid-detection position P11. In other example implementations, a contact temperature sensor configured to contact a fluid in the fluid mold or a capacitive sensor can be utilized. Other types of sensors are also contemplated herein.
Where the sensor 1801 is a non-contact temperature sensor, the solid-detection mechanism can be configured to determine whether the solid, such as ice, has been formed in the fluid mold based on the measured surface temperature of the fluid in the fluid mold. For example, the non-contact temperature sensor can be configured to detect whether or not an entirety or a substantial entirety of a volume of water in the fluid mold has been cooled to a temperature at which ice has been formed. For example, the temperature sensor can be a non-contact thermopile temperature sensor such as a thermopile infrared temperature sensor.
In some example implementations, the solid-detection mechanism 1800 can include a thermopile board 1802. The thermopile board may be placed on a pressure plate 1803. The thermopile board may define a hole on the board to enable the sensor to measure thermal energy from the fluid or a solid in a fluid mold 1804, where the sensor and the hole may be on a side of the thermopile board shown in
Using a non-contact temperature sensor to measure the surface temperature of the fluid or solid in a fluid mold may be advantageous as compared to solutions requiring a temperature sensor being submerged in the fluid or adjacent to the fluid mold. More particularly, a temperature sensor submerged in the fluid may have a build-up of a solid (e.g., ice) on the temperature sensor. Thus, the temperature sensor submerged in the fluid may have to be heated to remove the build-up. Heating the temperature sensor to remove the build-up may inhibit solid creation in the fluid mold and slow the rotation speed of the fluid molds through the solid-production system. Further, a temperature sensor positioned adjacent to the fluid mold may only be able to measure the sides of the fluid mold, where a solid (e.g., ice) forms first based on geometry and heat transfer of the fluid mold. Thus, a temperature sensor adjacent to the fluid mold may have no knowledge of whether or not the entire volume of the solid in the fluid mold has formed a solid and may require a secondary timer to compensate. Using a sensor, such as but not limited to, a non-contact temperature sensor 1801 as described herein to measure the surface temperature of the fluid or solid in the fluid mold can thus avoid the above problems.
The temperature measurement area can be calculated based on a performance specification of a thermopile temperature sensor of the solid-detection mechanism 2000. The performance specification may define one or more variables relating to detection of a temperature of the fluid or solid formed in the fluid mold. Such variables may include, but are not limited to: a field of view of the thermopile temperature sensor, a size of an aperture through which the thermopile temperature sensor can measure the temperature, a distance between the thermopile temperature sensor and a surface of the fluid mold or a top surface of the fluid or solid formed in the fluid mold, and fluid mold geometry. In some example implementations, modification of the temperature measurement area may require a change to the aperture and/or distance between the thermopile temperature sensor and a surface of the fluid mold or a top surface of the fluid or solid formed in the fluid mold.
Where the fluid is water, for example, the changes may be a manifestation of a phase change phenomenon where ice crystals start forming during the characteristic plateau and grow (as dictated by latent energy transfer) until the water becomes ice completely and transitions to sensible cooling. The temperature sensor may be configured to transmit a signal to the software logic of the solid-production system, indicating that ice has formed in a fluid mold when the fluid mold is in a solid-detection position.
For example, the fluid mold 2200 in
In another example, a fluid mold 2201 in
In some examples, the designs of the fluid mold 2200 and the fluid mold 2201 may be combined to provide blended designs that balance thermal capacity and efficiency, contact between the fluid mold and the cooling block, and ease of ejection of a formed solid in the fluid mold. Fluid molds 2202, 2203 and 2204 illustrate a blend of the designs of the fluid molds 2200 and 2201, which consider multiple factors as described above.
For example, the fluid mold 2202 may comprise a draft angle of 7°, a bottom of 3 mm and a side of 1 mm. The fluid mold 2203 may comprise draft angle of 5°, a bottom of 4 mm and sides of 1 mm. The fluid mold 2204 may comprise draft angle of 9°, a bottom of 3 mm and sides of 1 mm. The bottom of 3 mm (or 4 mm) and the sides of 1 mm may refer to the radius of the fillet on either the bottom of the mold or the vertical sides/corners. In one example, the fluid molds 2202, 2203, and 2204 may provide an improved ability of ejection of a formed solid from the fluid mold as compared to conventional fluid mold designs. In one example, the fluid molds M0-M29 in the solid-production system 100 in
In one example implementation, the fluid mold 2300 may comprise one or more gripping surfaces 2301 arranged on diagonal corners of the fluid mold, with the gripping surfaces being deformable in response to the pressure exerted by a solid ejector in the first position so as to loosen the solid within the fluid mold. The solid ejector may be located proximate to the ejection position (e.g., P11 in
As described above, when a fluid mold arrives at a solid-dispensing position (e.g., P28 in
In one example implementation, the sensing mechanism 2401 may comprise an optical interrupt that can operate by utilizing an emitter/receiver pair that sends a constant optical beam of infrared radiation (IR). When a fluid mold arrives at the solid-dispensing position, one or more track doors may open or already be opened to allow the solid in the fluid mold to be dispensed to the user upon request from the user. The sensor may be installed proximate to the track doors or may be installed at other locations along a solid dispense path. When the solid such as an ice piece passes the path of the optical beam and breaks the optical beam, software logic of the solid-production system 100 may detect a presence of the ice piece that has been dispensed from the fluid mold to the user or consumer. If the optical beam is not broken, then the software logic (e.g., a solid-dispense mechanism slave state machine 205 in
As illustrated in
By comparison,
In other examples, instead of installing one or more sensors 2501 on the chute adapter, the one or more optical interrupts can be installed on the exit port or the track door of the solid-dispensing mechanism, or can be installed at other locations along a solid dispense path that may not be a part of the solid-production system 100.
In some example implementations of the solid-production system 2600 illustrated in
In some further example implementations, one or more actuation mechanisms may be arranged to urge the solid ejector 2601 into contact with and to apply pressure to the at least one of the side surfaces of the fluid mold 2602. For example, the one or more actuation mechanisms may comprise a sliding member 2604 arranged to engage the solid ejector. The sliding member may engage a pressure plate 2605 via a cam 2606 arranged about an outside edge of the sliding member, which can slidingly engage with a slot 2607 defined on the pressure plate. The cam may have a profile comprising two parts. The first part of the cam profile may be an incline and the second part of the cam profile may be a horizontal portion. When the cam profile is received within the slot and the sliding member moves the cam within the slot, the different parts of the cam profile may urge the pressure plate into different positions relative to the top surface of fluid in the fluid molds. The sliding member may be reciprocatingly movable so that movement of the sliding member in a machine direction impacts both arrangement of the pressure plate relative to a top surface of the fluid molds and arrangement of the solid ejector relative to the fluid molds.
As a result, in some example implementations, the sliding member 2604 may be movable in a reverse machine direction to urge the solid ejector 2601 into a first position in contact with and to apply pressure to the at least one of the side surfaces of the fluid mold 2602 indexed into the ejection position. The sliding member may also be movable in a machine direction to urge the solid ejector into a second position out of contact with the at least one of the side surfaces of the fluid mold indexed into the ejection position. By moving in a reverse machine direction, the sliding member can urge the pressure plate 2605 into a spaced apart arrangement relative to a top surface of the fluid in the fluid molds (i.e., into the up position or the ejection position) by exerting a normal force against a bottom surface of the pressure plate, against an opposing normal force exerted on a top surface of the pressure plate by a biasing mechanism 2608. Conversely, by moving in a machine direction, the pressure plate can be arranged into an initial position adjacent to a top surface of the fluid in the fluid molds, which can allow the biasing mechanism to exert the normal force on the top surface of the pressure plate without any opposing normal force exerted by the sliding mechanism.
In this manner, when the solid ejector 2601 is in the first position, a pressure plate 2605 may be arranged in an ejection position, where the pressure plate is arranged in a spaced apart relation relative to a top surface of fluid in the fluid molds. When the solid ejector is in the second position, the pressure plate may be arranged in an initial position, where the pressure plate is arranged adjacent to the top surface of the fluid in the fluid molds.
In some example implementations, the solid ejector 2601 may be movable between the first and second positions via a pivoting movement. For example, and as illustrated in
The one or more actuation mechanisms may further comprise a motor 2612 and a reciprocating shaft 2613 engaged with the sliding member 2604, wherein actuation of the motor drives the reciprocating shaft to reciprocatingly move the sliding member in the reverse machine direction, to urge the solid ejector 2601 into the first position, and in the machine direction, to urge the solid ejector into the second position. The motor may interface with and be operably by a control mechanism, which may comprise a hardware processor and at least one memory. In some example implementations, the control mechanism may comprise a pressure plate slave state machine (e.g., 204 in
In position A, a sliding member 2702 may be moved in a machine direction so that a protrusion 2703 extending from the solid ejector 2700 is into contact with a second end of a slotted opening 2704 defined by the sliding member. In this manner, the solid ejector is pivoted into the second position or out of contact with the at least one of the side surfaces of the fluid mold indexed into the ejection position. Likewise, the pressure plate is biased into an initial position or arranged adjacent to a top surface of a fluid in fluid molds 2705. When the pressure plate is in the initial position, a biasing member 2706 is able to exert a normal force on a top surface of the pressure plate without an opposing force being exerted onto the pressure plate by the sliding member.
In position B, the sliding member 2702 may be moved in a reverse machine direction so that the protrusion 2703 extending from the solid ejector 2700 is arranged between the second end and an opposing first end of the slotted opening 2704 defined by the sliding member. In this manner, the solid ejector is pivoted into a third position, which is between second position and the first position, and remains out of contact with the at least one of the side surfaces of the fluid mold indexed into the ejection position. The pressure plate 2701 is biased into a second position, or arranged in spaced apart relation relative to a top surface of a fluid in fluid molds 2705. When the pressure plate is in the second position, a cam 2707, arranged about an outside edge of the sliding member and engaged with a slot 2708 defined on the pressure plate 2701, exerts an opposing normal force on a bottom surface of the pressure plate which is greater than the normal force exerted by the biasing member 2706 on the top surface of the pressure plate so as to bias the pressure plate into spaced apart relation from a top surface of the fluid in the fluid molds.
In position C, the sliding member 2702 may continue being moved in a reverse machine direction so that the protrusion 2703 extending from the solid ejector 2700 is arranged in contact with the opposing first end of the slotted opening 2704 defined by the sliding member. In this manner, the solid ejector is pivoted into a first position, and is contact with the at least one of the side surfaces of the fluid mold indexed into the ejection position. In this way, the solid ejector can eject or loosen the solid in the fluid mold in the ejection position. The pressure plate 2701 is biased into an ejection position, or arranged in spaced apart relation relative to a top surface of a fluid in fluid molds 2705, at a greater spaced apart relation relative to the top surface of the fluid molds as compared to the pressure plate in the second position. When the pressure plate is in the ejection position, the cam 2707, arranged about an outside edge of the sliding member and engaged with the slot 2708 defined on the pressure plate, exerts an opposing normal force on a bottom surface of the pressure plate which is greater than the normal force exerted by the biasing member 2706 on the top surface of the pressure plate so as to bias the pressure plate into the spaced apart relation from a top surface of the fluid in the fluid molds.
Many modifications and other implementations of the disclosure set forth herein will come to mind to one skilled in the art to which these disclosure pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the disclosure are not to be limited to the specific implementations disclosed and that modifications and other implementations are intended to be included within the scope of the appended claims. Moreover, although the foregoing descriptions and the associated drawings describe example implementations in the context of certain example combinations of elements and/or functions, it should be appreciated that different combinations of elements and/or functions may be provided by alternative implementations without departing from the scope of the appended claims. In this regard, for example, different combinations of elements and/or functions than those explicitly described above are also contemplated as may be set forth in some of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
This application claims priority to U.S. Provisional Application No. 62/738,143, filed Sep. 28, 2018 and entitled, “Utilizing Thermal Mass in a Solid-Production System”, U.S. Provisional Application No. 62/738,277, filed Sep. 28, 2018 and entitled “Design of Fluid Molds in a Solid-Production System”, U.S. Provisional Application No. 62/738,207, filed Sep. 28, 2018 and entitled “Fluid Dispense System for a Solid-Production System”, U.S. Provisional Application No. 62/738,283, filed Sep. 28, 2018 and entitled “Software Logic in a Solid-Production System”, and U.S. Provisional Application No. 62/738,231, filed Sep. 28, 2018 and entitled, “Solid Detection System for a Solid-Production System”, each of these applications being incorporated by reference herein.
Number | Name | Date | Kind |
---|---|---|---|
2385539 | Pownall | Sep 1945 | A |
2432597 | Toulmin, Jr. | Dec 1947 | A |
2460341 | Erickson et al. | Feb 1949 | A |
2510400 | Hurley | Jun 1950 | A |
3192726 | Newton | Jul 1965 | A |
3199309 | Brubuker | Aug 1965 | A |
3253425 | McKissick | May 1966 | A |
3299656 | Linstromberg et al. | Jan 1967 | A |
3580007 | Bauerlein | May 1971 | A |
3664149 | Garland et al. | May 1972 | A |
3779032 | Nichols | Dec 1973 | A |
3969909 | Barto et al. | Jul 1976 | A |
4206614 | Allbritton | Jun 1980 | A |
4274263 | Goushaw | Jun 1981 | A |
4614088 | Brooks | Sep 1986 | A |
5014553 | Hori et al. | May 1991 | A |
5140831 | Kohl et al. | Aug 1992 | A |
5163300 | Kato et al. | Nov 1992 | A |
5690849 | DeVilbiss et al. | Nov 1997 | A |
5761919 | Wilson et al. | Jun 1998 | A |
5941091 | Broadbent | Aug 1999 | A |
6012293 | Andersson | Jan 2000 | A |
6067806 | Park | May 2000 | A |
6092374 | Kang et al. | Jul 2000 | A |
6311503 | Shapiro et al. | Nov 2001 | B1 |
6339930 | Horey | Jan 2002 | B2 |
6349550 | Shapiro et al. | Feb 2002 | B1 |
6357720 | Shapiro | Mar 2002 | B1 |
6401467 | Horey et al. | Jun 2002 | B1 |
6414301 | Borg, Jr. et al. | Jul 2002 | B1 |
6581391 | Horey et al. | Jun 2003 | B2 |
6581392 | Gist et al. | Jun 2003 | B1 |
6820433 | Hwang | Nov 2004 | B2 |
7082782 | Schlosser et al. | Aug 2006 | B2 |
7129490 | Olson et al. | Oct 2006 | B2 |
7216491 | Cole et al. | May 2007 | B2 |
7426838 | Shapiro et al. | Sep 2008 | B1 |
7475555 | Janardhanam et al. | Jan 2009 | B2 |
7533682 | Gheorghe et al. | May 2009 | B2 |
7841198 | Bippus et al. | Nov 2010 | B2 |
8353171 | Feinauer et al. | Jan 2013 | B2 |
8820100 | Culley et al. | Sep 2014 | B2 |
8904816 | Bergqvist et al. | Dec 2014 | B2 |
9568228 | Joung et al. | Feb 2017 | B2 |
9733004 | Mitchell et al. | Aug 2017 | B2 |
9803908 | Estrada Amo | Oct 2017 | B2 |
9841217 | Lee et al. | Dec 2017 | B2 |
20080072610 | Venkatakrishnan et al. | Mar 2008 | A1 |
20080250796 | Clugston et al. | Oct 2008 | A1 |
20090255279 | Kim et al. | Oct 2009 | A1 |
20090308085 | DeVos | Dec 2009 | A1 |
20100089075 | Park | Apr 2010 | A1 |
20110296863 | Bergqvist | Dec 2011 | A1 |
Number | Date | Country |
---|---|---|
106440596 | Feb 2017 | CN |
2437590 | Apr 1980 | FR |
2002-295931 | Oct 2002 | JP |
2004-271046 | Sep 2004 | JP |
2006-308504 | Nov 2006 | JP |
WO 0127544 | Apr 2001 | WO |
WO 2017071071 | May 2017 | WO |
WO 2017194660 | Nov 2017 | WO |
Number | Date | Country | |
---|---|---|---|
20200103157 A1 | Apr 2020 | US |
Number | Date | Country | |
---|---|---|---|
62738143 | Sep 2018 | US | |
62738277 | Sep 2018 | US | |
62738207 | Sep 2018 | US | |
62738283 | Sep 2018 | US | |
62738231 | Sep 2018 | US |