jes notes Index Gallery . 4th axis Blog ideas Micro-machining CNC milling machine Paint colours CNC Router Shaft passers Software ideas Stepper motor clock Toy ideas Watchmaking

2023-11-05

Last modified: 2023-11-22 20:13:15

< 2023-11-04 2023-11-06 >

Stepper motor clock

I found the clock stopped on 9:38, and not running. I nudged the motor and it started up again. It seemed to be caught in the "hook", maybe I need to revert to an ordinary Geneva drive, and put a ratchet near the motor to catch the pin if it goes backwards.

OK, it just happened again, and I happened to be watching. The pin was driving the Geneva-driven wheel in the correct direction. The Geneva-driven wheel then jumped forwards on its own (maybe it passed a tight spot, maybe random), which then left the pin in the hook, and the motor stalled as the pin tried to exit the hook "downwards".

So yeah I think the hook idea just doesn't work. I'll print a normal Geneva-driven wheel, and then look at CAD'ing a ratchet.

There are some definite tight spots in the interaction between first pinion and second wheel, so I'll try to make the first pinion a bit smaller.

The problem is that PrusaSlicer wants to make it like this:

Just one wall and no infill.

I printed it with ironing, just to try it out, it looks pretty good (not visible in pic).

With the pinion reduced to module 1.4 it feels like the tight spots are gone.

Of course it now has the problem that it can run backwards, so I need to make the ratchet.

Something like this?

The pin should be able to bend it down but not up, so it will stall the motor if the motor is running backwards.

I haven't printed this yet because the 3d printer is busy, but I just got back and found the clock running backwards, so it is definitely necessary. I don't know whether the power went off briefly (but not enough to switch the computer off?) or whether the motor stalled for some other reason. But yeah, definitely needs the ratchet, and probably will still lose time anyway if it is randomly stalling.

Travel plan

My best options are:

Advantages of train:

Advantages of motorbike:

SCAMP

I have got SCAMP out and set it up on the desk. Still todo:

And I'd maybe like to design a bank-switching system. If it is simple I might be able to get it installed before Advent of Code starts. I have 25 days. It might be fun to write the kernel code for it within SCAMP/os, and video it.

Well the new microcode, bootrom, and OS all look like they're working, but for some reason the aoc serial protocol thing isn't. I did test this earlier today before I updated everything and it was working then. So has some change broken the aoc proxy? Let's see if it still works in the emulator...

No! It doesn't work in the emulator either. That's exciting. I didn't think I'd touched anything relevant.

And rsh works perfectly fine so I am pretty sure serial I/O is working as intended, so it must be something to do with the weirdo protocol.

I put some debugging prints in sys/lib/serial.sl, and it's not even getting a return from the scanf("%s %d"), that is meant to get "ok 969".

ser_readch is seeing all of these characters, but ser_scanf is not returning.

It's because isdigit() thinks a newline character is a digit.

It's because a ld r0, 0 was changed to a zero r0 which now clobbers flags! I hadn't considered this problem. There may be other instances of the same. Oops.

I looked through the commit that introduced zero/one and found the same bug in bigbit, which means bigint functions are also likely broken. Good to have caught this now!

And now aoc rank 2022 works on real SCAMP. Great success. Let's grab an early problem and solve it.

Solved 2017 day 1 on the first try with no bugs enountered, worked with both slc and slangi. Good.

To look at this evening:

  1. update existing documentation to reflect the current state of the system (particularly CONST.md is out of date).
  2. write some thoughts on how bank-switching could work.

Actually, update:

Watch

So what is the status on the watch project? I have an assembled prototype with escape wheel, balance wheel, and pallet fork. I recall that one of the pallet pins is loose, and I need a spring on the balance wheel. The todo list was:

I will probably want to tidy up the garage again tomorrow so that I can actually work in there. But I can put another drop of Loctite on the pallet pin right now, so I'll do that now.

Well I put a bit on both the front and back of the hole. Time will tell whether this is enough to hold it in place. I would suggest that the design really wants changing to incorporate a boss so that there is more material to hold the pin.

Tomorrow

< 2023-11-04 2023-11-06 >