Have you ever opened a jar of food, used half of its content and then stored it in the fridge, forgotten for who knows how long? When you finally notice it, you can't remember when you opened it, leaving you with this decision: do I throw it away and increase my food waste bad karma points, or do I eat it and risk food poisoning? This project is about creating a machine that can, at the press of a button, instantly deliver a sticker with the current date on it, which you can then put on any food (or any item) you want to label with the current date.
The Date Counter Mechanism
The first component of the machine is the mechanism that allows a single stepper motor to efficiently control the date, automatically increasing the day, month and year using a single motor input. I did this using Geneva drives. These mechanisms consist of a driver wheel and a client wheel. For a portion of its rotation, the driver wheel engages the client and makes it turn for a fixed angle, depending on the number of teeth of the client wheel. The video below shows this mechanism with client wheels using 3, 4 and 6 branches. Notice that the wheels size is pretty much fixed, so for the 3-branched case the driver wheel must come really close to the client wheel axis. The opposite happens for 6 branches: the client wheel comes really close to the driver wheel axis. I had to take these facts into account for my design (and only used 4 and 6 branches).
Below is the CAD view of the system (without the enclosure), using the same colors as the schematic view. You can find the CAD project here: https://cad.onshape.com/documents/8da97ef1e14d43e048a598f6/w/569efa200560c8d1df3e7b9a/e/2caabaf96e75ae207752d3d8
The next figure shows how the movement is transferred to the different components. The stepper motor (input) turns 1/12 of a turn each day for 9 days and moves the second digit of the days (0 to 9) through a set of two gears with 18 teeth each, and then does 1/4 turn to completely turn the first Geneva drive (in red), which fixed to the second digit of the days (0 to 3). During each month, the days will go from 00 to 39 (we need this because of the months with 30 and 31 days, but the program will continue turning to pass the unused days). The red parts turn 1/4 turn each 10 days, and thanks to a 6-branched drive, makes the (upper) green part move 1/5 turn each month. A set of gears of 12 and 24 teeth respectively make the lower green part turn 1/12 turn each months. The upper part also makes the grey part move 1/4 turn each 3 months, thanks to a driver wheel with two pins instead of one. The grey part then makes the (upper) black one turn 1/6 each 12 months. Finally, this part makes the lower black part turn 1/12 turn each year thanks to a set of gears with 12 and 24 teeth.
My design works because I "hacked" the Geneva drives. Normally, 90 degrees are needed to complete a transfer using 4-branched drives, however I used the output from a 6-branched one, which only gives 60 degrees. The opposite is also used, where the 90 degrees of the 4-branched drive is used to drive a 6-branched one, which requires 120 degrees. This means that during certain period of the year, the month and year wheels will be slightly misplaced, however a 15 degrees advance in the driver wheel of a 4-branched Geneva drive will only make the client wheel advance by less than 3 degrees, which give visually satisfactory results.
Here is a video of the mechanism (with a 3D-printed handle in place of the motor for easier manipulations):
And here is a video of the mechanism with the motor. Notice the 1/4 turn at the end, which triggers changes up to the year wheel.
Ultimately, rubber stamps with digits and months will be placed and will allow label to be stamped.
The next steps
- Rework the current mechanism to a smaller version, using Fusion360 instead of Onshape (much more permissive free license).
- Put the new mechanism into a 3D printed enclosure replicating the label dispenser so as to being able to print and deliver date labels.
- Implement the code that will make the machine run.
- Design a PCB with the needed components (real-time clock, servo driver, cell coin, battery, etc.).
Below is an example of a label gun, which design will be re-implemented and 3D-printed to fit the mechanism inside.