Lego Egglift

The black-and-white wheel light sensor is an original idea from Benjamin ... To obtain a reliable cooking system, it is relatively important the lower (and less.
1MB taille 3 téléchargements 336 vues
Lego® Egglift © 2004-2005 by Christophe Caron chrisdigo at gmail dot com

LEGO® is a trademark of The LEGO Group. This document is not endorsed, sponsored, or authorized by The LEGO Group in any way.

Lego® Egglift

© 2005 Christophe Caron

Acknowledgment: • • •

The original Egglift idea is from famous French inventor Roland Moreno The black-and-white wheel light sensor is an original idea from Benjamin Erwin in his excellent book “Creative Projects with Lego® MindstormsTM”. Thanks to Richard “Vauban” for his help and advices.

Lego® Egglift

© 2005 Christophe Caron

Introduction: The Egglift is an appliance to cook boiled eggs. Description: The Egglift is mainly composed of four elements: 1. A metallic perforated non-Lego® basket where you lay the eggs. The basket, made of metallic wires, is fairly small and can contain 2 eggs maximum. 2. A winch that contain a motor to pull up or down the basket through a string and also a light sensor to detect the position of the basket. (in red) 3. A Lego® RCX to pilot the basket through the winch and a 180 seconds temporization (adjustable). (in yellow-grey) 4. Finally, a Lego® structure where the three above elements are graft. (in blue)

4

2 1 3

Lego® Egglift

© 2005 Christophe Caron

Instructions of operation: • • • • •

Fill up a pan with water, and place over a cook top. Place the Egglift (with its basket in up position) above the pan, in a way that when the basket is in down position, it fully goes in the pan. Place one or two eggs into the basket. Turn on the cook top. Push the button “Run” of the RCX.

That’s all for the human operations: the Egglift will automatically detect when the water reached its boiling point. The basket will then automatically drop down until it is fully submerged in the boiling water. After three minutes, the basket is automatically pulled up and an alarm rings, warning you the boiled eggs are ready. Just pick them up and enjoy! Detecting the position of the basket: To obtain a reliable cooking system, it is relatively important the lower (and less importantly the upper) position of the basket remains constant and precise: the eggs have to be fully submerged in the boiling water for a safe cooking. The choice of a temporization in the program (turn on the winch for 5 seconds before turning it off) would have not been well suited for this application. Because of inaccuracies in the motor, in the gear train and the weight variation of the eggs, to basket would have not returned to the same place every time. The position of the basket can be detected with a light sensor aimed at the black-and-white circle on the left stuck to a 40-tooth wheel. This wheel has 24 divisions, alternatively black-and-white. When the motor that control the basket is on, the light sensor counts how many divisions had passed by, thus letting know the RCX a fairly accurate representation of the position of the basket. Black-and-white wheel if printed will fit over a 40-tooth wheel

This method is not too accurate, but it is accurate enough for this type of application.

Lego® Egglift

© 2005 Christophe Caron

Detecting when the water reached its boiling point: A Lego® temperature sensor (ref# 9755) is connected to the RCX. The drawback of this sensor is its range: it only works at temperatures between -20°C and 70°C (-4°F to 158°F). That’s a long way from the water boiling point 100°C. Thus, the Lego® temperature sensor had to be relocated to a spot where it reach its maximum range (approximately 70°C) when at the same time, the water reach 100°C. Typically, it is approximately one Inch (35mm) above the water level. The use of a DCP Microdevelopments® ProTemp sensor (ref# D10047) dipped inside the pan would most likely get round this major drawback. Cooking time selection: Even if Egglift’s primary function is to cook boiled eggs, it can also cook softboiled and hard-boiled eggs! Actually, a cooking time selection button is conveniently placed next to the RCX. Each press on the button selects cooking times.

3 minutes

6 minutes

9 minutes

Lego® Egglift

( ( (

© 2005 Christophe Caron

Estimated cost: If the Egglift had to be mass product (I’m still looking forward any potential investors who might be interested for a joint venture), its production costs would be roughly $ 190.00 USD. (This is only including raw materials and not including assembly costs). This is very competitive compared to other Steam Egg Cooker on the market whish retail for around $ 25.00 USD. The Egglift is more aimed at wealthy “connoisseur” customers who want to cook their boiled eggs “à l’ancienne” but with a touch of modernity.

Advantage of the Egglift: The Egglift features countless advantages over other competitor steam egg cooker: • • • • • • •

It is cheap. It is compact. It is convenient. It can be conveniently stored. It can cook eggs in large quantity (two at a time) for large family. It is dishwasher safe (after removal of the RCX, the motor and the sensors). It will not break up the look of most “gourmet” kitchen.



Lego® Egglift

© 2005 Christophe Caron

/* Egglift Program (c) November 2004 by Chris Caron chrisdigo at sbcglobal dot net Special thanks to Richard "Vauban53" Olivero for his precious help: I wasn't able to finish this program if it wasn't for him. He can be reached at: r.olivero at wanadoo dot fr */ #define #define #define #define #define

COOKING_TIME BOILING_TEMP BASKET_HEIGHT BLACK_STRIP WHITE_STRIP

18000 699 14 42 43

int COOK_TIME; int COOK_TYPE; int counter;

// // // // //

Define Define Define Define Define

cooking time for the eggs boiling temperature to 70 o C travelling height of the basket the black strips from 0 to 41 the white strips from 42 to 100

// Variable Cooking Time // Variable Cooking Type // Variable Compteur

task main () { SetSensor (SENSOR_1, SENSOR_CELSIUS); SetSensor (SENSOR_2, SENSOR_LIGHT); SetSensor (SENSOR_3, SENSOR_TOUCH); SetPower (OUT_A,4); counter = 0; COOK_TYPE = 1; while (SENSOR_1 =< BOILING_TEMP) { if (SENSOR_3 == 1) { SetUserDisplay(COOK_TYPE, 0); COOK_TYPE += 1; if (COOK_TYPE > 3) { COOK_TYPE = 1; } }

// // // // //

Sensor 1 is a temperature sensor Sensor 2 is a light sensor Sensor 3 is a touch sensor Set speed of Output A at 4 Set the counter at 0

// While Sensor1 reached boiling time // If sensor1 is pressed // Display value of variable COOK_TYPE // Add 1 to the variable COOK_TYPE

switch(COOK_TIME) {

} }

case 1: if (COOK_TYPE == 1) { COOK_TIME == 18000; } break; case 2: if (COOK_TYPE == 2) { COOK_TIME == 36000; } break; default: if (COOK_TYPE == 3) { COOK_TIME == 54000; } break;

OnRev (OUT_A); start counting; while (counter < BASKET_HEIGHT) { Wait (1); Lego(r) Egglift

// Boiled Egg at 3 minutes

// Soft-Boiled Egg at 6 minutes

// Hard-Boiled Egg at 9 minutes

// Lower the basket // Start the task "counting" // Wait until basket is in lower position // Just to add a command (c) 2005 Christophe Caron

} Off (OUT_A); counter = 0 ; Wait (COOKING_TIME); SetPower (OUT_A,OUT_FULL); OnFwd (OUT_A);

}

// // // // //

Stop the descent of the basket Set the counter at 0 Wait until the eggs are cooked Set power of OutputA ar full Rise back the basket

while (counter < BASKET_HEIGHT) { Wait (10); }

// Wait until basket is in upper position

Off (OUT_A); PlaySound (4); counter = 0 ; StopAllTasks ();

// // // //

task counting() { while(true) { if (SENSOR_2 > BLACK_STRIP) { counter += 1; while(SENSOR_2 > BLACK_STRIP) { } } else { counter +=1; while(SENSOR_2 < WHITE_STRIP) { } } } }

Lego(r) Egglift

// Just to add a command Stop the basket Play an alarm Set the counter at 0 Stop all running tasks

// Task "counting"

// Add 1 to the counter... // ...while Sensor2 detect black strip

// Add 1 to the counter... // ...while Sensor2 detect white strip

(c) 2005 Christophe Caron

Lego(r) Egglift Parts Estimated Cost

Winch, RCX and Superstructure: Nb.

Color

Ref #

2 10 3 6 1 4 1 1 1 1 1 11 4 4 1 2 8 1 6 2 4 1 2 2 7 1 9 1 2 1 4 1 2 4 1 1 1 8 5 2 4 2 2 4 2 8 7 5 1 2 2 1 4 4 1 6 28 3 1 1 1 2 1 1 222

Black Black Black Black Black Black Blue Yellow Light-Gray Black Light-Gray Light-Gray Light-Gray Light-Gray Black Light-Gray Light-Gray Black Light-Gray Light-Gray Light-Gray Light-Gray Light-Gray Black Light-Gray Black Light-Gray Black Black Black Black Black Black Black Black Black Light-Gray Light-Gray Black Black Black Black Red Black Black Black Light-Gray Light-Gray Light-Gray Light-Gray Light-Gray Yellow Black Dark-Gray Black Black Black Light-Gray Light-Gray Light-Gray Black Light-Gray Black Yellow

3956.DAT 3004.DAT 3010.DAT 3002.DAT 3001.DAT 5306.DAT 2982C01.DAT 9755 9757.DAT 884.DAT 71427C01.DAT 3023.DAT 32028.DAT 3710.DAT 3710.DAT 3666.DAT 3460.DAT 3460.DAT 4477.DAT 3022.DAT 2420.DAT 2817.DAT 3021.DAT 3020.DAT 3795.DAT 3034.DAT 3832.DAT 2445.DAT 3035.DAT 3747.DAT 3040B.DAT 3039.DAT 3684.DAT 3705.DAT 3706.DAT 3707.DAT 6538A.DAT 3749.DAT 3700.DAT 32000.DAT 3894.DAT 3702.DAT 3702.DAT 2730.DAT 3895.DAT 3703.DAT 3713.DAT 4265C.DAT 3647.DAT 3648.DAT 3649.DAT 6588.DAT 6629.DAT 32002.DAT 6558.DAT 4459.DAT 2780.DAT 3709B.DAT 32001.DAT 3738.DAT 4716.DAT 2432.DAT 2431.DAT 6580.DAT

Description

Bracket 2 x 2 - 2 x 2 Brick 1 x 2 Brick 1 x 4 Brick 2 x 3 Brick 2 x 4 Electric Brick 2 x 2 x 2/3 with Wire End Electric Light Sensor Temperature Sensor Touch Sensor Electric Mindstorms RCX Electric Technic Mini-Motor 9v Plate 1 x 2 Plate 1 x 2 with Door Rail Plate 1 x 4 Plate 1 x 4 Plate 1 x 6 Plate 1 x 8 Plate 1 x 8 Plate 1 x 10 Plate 2 x 2 Plate 2 x 2 Corner Plate 2 x 2 with Holes Plate 2 x 3 Plate 2 x 4 Plate 2 x 6 Plate 2 x 8 Plate 2 x 10 Plate 2 x 12 Plate 4 x 8 Slope Brick 33 3 x 2 Inverted Slope Brick 45 2 x 1 Slope Brick 45 2 x 2 Slope Brick 75 2 x 2 x 3 Technic Axle 4 Technic Axle 6 Technic Axle 8 Technic Axle Joiner Technic Axle Pin Technic Brick 1 x 2 with Hole Technic Brick 1 x 2 with Holes Technic Brick 1 x 6 with Holes Technic Brick 1 x 8 with Holes Technic Brick 1 x 8 with Holes Technic Brick 1 x 10 with Holes Technic Brick 1 x 12 with Holes Technic Brick 1 x 16 with Holes Technic Bush Technic Bush 1/2 Smooth Technic Gear 8 Tooth Technic Gear 24 Tooth Technic Gear 40 Tooth Technic Gearbox 2 x 4 x 3 & 1/3 Technic Liftarm 1 x 9 Bent Technic Pin 3/4 Technic Pin Long with Friction Technic Pin with Friction Technic Pin with Friction and Slots Technic Plate 2 x 4 with Holes Technic Plate 2 x 6 with Holes Technic Plate 2 x 8 with Holes Technic Worm Screw Tile 1 x 2 with Handle Tile 1 x 4 Wheel 43.2 x 28 Balloon Small

Unit Cost

Total Cost

$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $

$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $

0.06 0.02 0.02 0.02 0.04 7.00 20.00 20.00 10.00 90.00 20.00 0.02 0.02 0.02 0.02 0.03 0.03 0.03 0.06 0.01 0.02 0.02 0.02 0.02 0.02 0.04 0.04 0.05 0.12 0.03 0.03 0.03 0.03 0.04 0.04 0.04 0.02 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.02 0.02 0.02 0.02 0.20 0.20 0.20 0.60 0.05 0.01 0.01 0.01 0.01 0.05 0.05 0.05 0.25 0.03 0.06 0.10

0.12 0.20 0.06 0.12 0.04 28.00 20.00 20.00 10.00 90.00 20.00 0.22 0.08 0.08 0.02 0.06 0.24 0.03 0.36 0.02 0.08 0.02 0.04 0.04 0.14 0.04 0.36 0.05 0.24 0.03 0.12 0.03 0.06 0.16 0.04 0.04 0.02 0.08 0.05 0.02 0.04 0.02 0.02 0.04 0.04 0.16 0.14 0.10 0.20 0.40 0.40 0.60 0.20 0.04 0.01 0.06 0.28 0.15 0.05 0.05 0.25 0.06 0.06 0.10 194.78

Basket: Nb.

Color

1 N/A 1 N/A 1

Ref #

N/A N/A

Description

Metalic perforated basket Mini metalic chain

Unit Cost

Total Cost

$ $

$ $ $

2.00 1.00

2.00 1.00 3.00

Remote Control (optional): Nb.

Color

1 Black 1

Lego(r) Egglift

Ref #

9738

Description

RCX Remote Control Unit

Unit Cost

Total Cost

$ 15.00

$ 15.00 $ 15.00

(c) 2005 Christophe Caron chrisdigo at gmail dot com