As we all probably know, the motors in the Sony TFM-C770W are just not good. They continually fail and mine was no different. I had picked up one these Sony's at a flea market for $5 not knowing their problems at the time. Opening up the interior showed, as always, a dead motor. It also however showed tons of empty space inside of the case. That led to the start of this project, taking a modern compact stepper motor and adapting it to function as the mechanism motor. This involved three induvial problems to solve, power, drive and control.
First up was power. The original motor in this clock is a AC synchronous motor. Any Stepper motor that replaces it, as well as the controller would need a low voltage DC power supply. For this i used one of the many bare low voltage ac rectifying power supplies off amazon. In this a case a 5VDC 2A model. The Clock actually has both a 4.76 and 4.99V Rail but these are AC and of a unknown power rating. It was placed in the empty space behind the back left of the mechanism. The AC input was wired directly into the old clock motor power connections

Next up was drive. I bought many small stepper motors for this project. However I settled on the common 28byj-5v+uln2003a motor and driver combos found all over amazon. The uln2003a driver was secured down right between the radio and the clock mech. Pushed up right to the front as to avoid blocking the ventilation slots. Also the leds on the driver boards were blocked out with electrical tape. They leak a lot of red light which is not desirable. The motor shaft of the 28byj-5v needed to be adapted down to the original gear. It was simply filed down and gear carefully press fit on. For reference the original gear has a shaft diameter of around 3.5mm. The stepper motor was simply hot glued in place of the old one.

For control, I went with a Arduino pro micro to drive the stepper motor. Specifically a 5V 16mhz model as this allows for better clock accuracy. it simply was the easiest thing for me to use. There are better controllers for the same price out there, such as a esp32 based board, this was just the most similar. The controller is connected to pins 8,9,10,14 and everything is driven in raw calls. This isn't the best way to do this likely but is close to the most predicable run time wise. I am intentionally doing noting else on port B of the Arduino and made sure I'm not interfering with anything else. So far this is netting me a gain of about 3 seconds per day and i may be able to improve that further. Current code as follows
I do have more plans for this clock. The alarm light is out and i may replace that with a green led as well, as the working radio light. My black light still works but i can see it being replaced with led backlight strips. I may also take neutral orange strontium aluminate paint (dries clear glows orange in uv) and paint over the clock digits. This is to get a much brighter face without introducing more visible light into the room. Any ways that's all. I'll happily answer questions if anyone has any.
First up was power. The original motor in this clock is a AC synchronous motor. Any Stepper motor that replaces it, as well as the controller would need a low voltage DC power supply. For this i used one of the many bare low voltage ac rectifying power supplies off amazon. In this a case a 5VDC 2A model. The Clock actually has both a 4.76 and 4.99V Rail but these are AC and of a unknown power rating. It was placed in the empty space behind the back left of the mechanism. The AC input was wired directly into the old clock motor power connections
Next up was drive. I bought many small stepper motors for this project. However I settled on the common 28byj-5v+uln2003a motor and driver combos found all over amazon. The uln2003a driver was secured down right between the radio and the clock mech. Pushed up right to the front as to avoid blocking the ventilation slots. Also the leds on the driver boards were blocked out with electrical tape. They leak a lot of red light which is not desirable. The motor shaft of the 28byj-5v needed to be adapted down to the original gear. It was simply filed down and gear carefully press fit on. For reference the original gear has a shaft diameter of around 3.5mm. The stepper motor was simply hot glued in place of the old one.
For control, I went with a Arduino pro micro to drive the stepper motor. Specifically a 5V 16mhz model as this allows for better clock accuracy. it simply was the easiest thing for me to use. There are better controllers for the same price out there, such as a esp32 based board, this was just the most similar. The controller is connected to pins 8,9,10,14 and everything is driven in raw calls. This isn't the best way to do this likely but is close to the most predicable run time wise. I am intentionally doing noting else on port B of the Arduino and made sure I'm not interfering with anything else. So far this is netting me a gain of about 3 seconds per day and i may be able to improve that further. Current code as follows
Code:
#include <util/delay.h> void setup() { DDRB = B11111111; } void loop() { PORTB=B00000011; _delay_us(4023); PORTB=B00001100; _delay_us(4023); PORTB=B00010000; _delay_us(4024); PORTB=B1000000; _delay_us(4024); }
Comment