Author Topic: Optical Delay Dynamic RAM (ODDRAM!)  (Read 5408 times)

0 Members and 1 Guest are viewing this topic.

Offline wobblyTopic starter

  • Regular Contributor
  • *
  • Posts: 94
  • Country: gb
Optical Delay Dynamic RAM (ODDRAM!)
« on: August 02, 2024, 04:17:12 pm »
A while back I was thinking about delay lines in old vintage electronic devices.  There are many kinds.

For some unknown reason I wanted to make an optical delay line.  These already exist of course and they are used to do things like fractional phase shifts of high frequency signals and often give delays in the region of nanoseconds thereabouts.

That's no good to me, I want a delay of a few seconds!  But rather than buy several hundred thousand kilometres of fibre-optic cable, I decided to do it a different way...

Imagine a plywood disc about 100mm in diameter.  Around the edge we have 40 holes drilled, each one containing a glow-in-the-dark ("GITD") plastic ball ("BB").  This disc can rotate and is driven by a stepper-motor by way of gear teeth around the disc's perimeter.

Attached is a very basic sketch of what it might look like.  I haven't shown the motor or any of the electronics.

Theory of Operation

Each of the 40 BBs represents one binary bit, giving us a generously capacious 5 bytes of RAM.  If a BB is dark then it represents a 0 bit, if it is brightly lit or "charged", then it represents a 1 bit.

The disc will be in constant motion and each BB will need to be periodically "refreshed" by passing through a "read/write head".

Each read/write head will consist of a light sensor and a powerful light source of an appropriate type.  If a 0 bit needs to be refreshed, then no light is applied to the BB because natural decay of the phosphor will reinforce the zero value.  If a 1 bit needs to be refreshed, the powerful light is applied to reinforce the 1 state.

So the RAM is implemented as a 40-bit analog ring buffer ("Ring" henceforth).

To begin with, the ring will contain only 0 bits (all dark).  A microcontroller will control the stepper-motor and thus the disc's motion.  The same micro will control the read/write head(s).  The micro will provide a simple RS-232 interface through which a human user may interact with and control the machine.

The user will be able to write a brief message (up to 5 whole characters!) that will be written to the Ring and held there perpetually or until the machine is switched off.

When the Ring contains a message, that message will be endlessly read and echoed back to the RS-232 terminal from which the user may derive tremendous joy and enrichment.

Expectations

I don't know if this will work.  I think it might work if all the many variables are under control, but I'm not certain.
Ultimately I'm hoping to make a simple and mildly amusing interactive gizmo that demonstrates an idea that we can use obscure physics phenomena to store even small amounts of information for later retrieval.
« Last Edit: August 02, 2024, 04:45:38 pm by wobbly »
 

Offline wobblyTopic starter

  • Regular Contributor
  • *
  • Posts: 94
  • Country: gb
Re: Optical Delay Dynamic RAM (ODDRAM!)
« Reply #1 on: August 02, 2024, 04:19:07 pm »
POST RESERVED FOR REVISION INFO AND UPDATES ETC...
 

Offline pcprogrammer

  • Super Contributor
  • ***
  • Posts: 4248
  • Country: nl
Re: Optical Delay Dynamic RAM (ODDRAM!)
« Reply #2 on: August 02, 2024, 04:33:16 pm »
I read about this in your thread about getting project inspiration and have some remarks.

How can you turn a one back into a zero?

The beads glow some time after exposure and need a refresh to stay one, but when you need it to become zero you basically have to wait for it to die out until the sensor sees it as a zero. Since you are thinking about a slow system it might not be a problem, but be aware of it, and maybe even add an additional sensor on another part of the disc to allow for checking if it really became a zero.

The beads might have different responses time wise and might need a full stop of the disc for extending the "erasure".

Another thing already touched in the other thread is the ambient light. I guess you want to see the data with the naked eye as a visual effect, but with ambient light sources the project might fail miserably. What comes to mind for this is to use a camera and put the disc in a fully closed chamber. Show the camera image on a screen and you have your visual display of the memory.

For the rest it does sounds as a very fun project.  :-+

Offline wobblyTopic starter

  • Regular Contributor
  • *
  • Posts: 94
  • Country: gb
Re: Optical Delay Dynamic RAM (ODDRAM!)
« Reply #3 on: August 02, 2024, 04:56:54 pm »
How can you turn a one back into a zero?

The beads glow some time after exposure and need a refresh to stay one, but when you need it to become zero you basically have to wait for it to die out until the sensor sees it as a zero.

Yes, you're absolutely right.  The only way I can force a zero bit is to wait for the natural glow to decay.  This presents a bit of a paradox... I want the bits to store their state for a long time so that I don't have to refresh them too often.  But I also want the write of a zero bit and the write of a one bit to be equal in duration.

So I think I'm going to need a great deal of control over the many variables in this project.

I might have to deliberately use BBs that are not that good at retaining their brightness for more than a few seconds.  There will be a balancing act between Disc rotation speed and the sensitivity of my light sensors.

I'm planning to use "TSL235R" Light-to-Frequency Converter devices, which are now sadly obsolete, but I have a few left in my parts bin.  They are fantastic devices and I recommend anyone to grab some off Ebay or wherever they can.  They are very fast to respond and are very sensitive.


 

Offline wobblyTopic starter

  • Regular Contributor
  • *
  • Posts: 94
  • Country: gb
Re: Optical Delay Dynamic RAM (ODDRAM!)
« Reply #4 on: August 02, 2024, 05:12:48 pm »
Another thing already touched in the other thread is the ambient light. I guess you want to see the data with the naked eye as a visual effect, but with ambient light sources the project might fail miserably. What comes to mind for this is to use a camera and put the disc in a fully closed chamber. Show the camera image on a screen and you have your visual display of the memory.
Yes, again you're bang-on.  The problem I really have with doing this in a normally lit room is that glow in the dark plastic isn't very "contrasty" to the human eye in my experience.  The effect I'm hoping to demonstrate would simply be basically invisible to onlookers, which is a bummer.

So, I think that in all likelihood, this madcap idea will only have any chance of working when it's running in complete darkness.  But that's fine, all I have to do is make a video of it with suitable camera settings and use that to demonstrate it to people. :)

I'm flying by the seat of my pants here.  I love the input that EEVBlog Forums have been giving me on this project - it's really awesome to have so many keen minds to tap into.  Thanks to all of you.
« Last Edit: August 02, 2024, 05:26:21 pm by wobbly »
 

Offline jpanhalt

  • Super Contributor
  • ***
  • Posts: 3729
  • Country: us
Re: Optical Delay Dynamic RAM (ODDRAM!)
« Reply #5 on: August 02, 2024, 05:53:25 pm »
I had to look up Airsoft tracers and now realize the phosphorescence is fairly short lived (like a second).  Its SDS/MSDS doesn't say what the phosphor is, nor did I find that specifically.  If you are curious, here's a link to something that may apply.  Like the Airsoft pellets, some of the compounds described are UV excited and emit green or other colors: https://pubs.rsc.org/en/content/articlehtml/2021/sc/d1sc00446h

Scroll about 1/3 of the way down to the discussion of IPA (not isopropyl alcohol) and PMA.  The rest is pretty interesting.  I suspect you will not be doing any of the chemistry and will use off the shelf tracer BB's.  Apparently, they do have a limited reuses, and I suspect they cannot be quenched without destroying them.

Once each byte is read, you could just let them fall into a bin and reload with dark ones from the same bin.  They will not self-excite as the absorption and emission wavelengths (Stokes shift) are too far apart.
 

Offline wobblyTopic starter

  • Regular Contributor
  • *
  • Posts: 94
  • Country: gb
Re: Optical Delay Dynamic RAM (ODDRAM!)
« Reply #6 on: August 02, 2024, 06:27:18 pm »
@Jpanhalt

It makes total sense to me now that BB tracer pellets would be cost-optimised to use the cheapest possible chemical mixture.  Because once they are fired they are never going to be seen again!
Perhaps GITD BBs are not a good option.  Perhaps 3D printed GITD filament might be a better option.  Because if someone take the effort to 3D print something, chances are that it'll be something that they want to have around for a few years at least.  Right?  Maybe it would be a better chemical blend that can take a lot more light/dark cycles without deteriorating much?

 

Online ch_scr

  • Frequent Contributor
  • **
  • Posts: 865
  • Country: de
Re: Optical Delay Dynamic RAM (ODDRAM!)
« Reply #7 on: August 02, 2024, 06:29:10 pm »
Looking at 1942 Metascope night vision devices,
they used a phosphor coating (charged by e.g. white light) that would then phosphoresce when hit by infrared radiation.
But that will drain the energy out of the phosphor - shortening it's "non-infrared radiated waste glow" that limits the time it keeps charged.
So after projecting IR onto it, the "inverse picture" is visible - the phosphor get's discharged!
One might try different IR wavelength LED's at different BB's to see if there's -by chance- a combination (phosphor and IR) where such an effect is visible,
which would allow the "controlled discharge" of the afterglow by radiating off it's energy in a much shorter time.
Edit: I would not focus too much on the longevity of the phosphor(they all age anyway), for such a "demonstration item".
        If it's easy to replace it - like in the case of BB's in a chamber(or even just a short bundle of cut pieces of 3dP filament), you can just replace them regularly.
« Last Edit: August 02, 2024, 06:45:28 pm by ch_scr »
 

Online PCB.Wiz

  • Super Contributor
  • ***
  • Posts: 1787
  • Country: au
Re: Optical Delay Dynamic RAM (ODDRAM!)
« Reply #8 on: August 03, 2024, 05:04:32 am »
Yes, you're absolutely right.  The only way I can force a zero bit is to wait for the natural glow to decay.  This presents a bit of a paradox... I want the bits to store their state for a long time so that I don't have to refresh them too often.  But I also want the write of a zero bit and the write of a one bit to be equal in duration.

You could use two storage elements, in differential mode. One for H and one for L, and the difference defines 1 or 0.
That's also a bit more ambient light tolerant.

You always re-pulse/refresh the brighter storage element. 

If you designed a PCB disk with plated holes, with glow backing, you could flash illuminate down the hole, and sense the same way with an opto interrupter.
That allows bits closer together, and gives better light immunity.

I wonder how much side ways creepage the material has ?
 

Offline pcprogrammer

  • Super Contributor
  • ***
  • Posts: 4248
  • Country: nl
Re: Optical Delay Dynamic RAM (ODDRAM!)
« Reply #9 on: August 03, 2024, 05:40:26 am »
I thought up some other options.

If the light is just for the visual effect you could use a capacitor and a small LED. SMD types produce a lot of light without needing much current. Some work already quite well with a couple of 100uA. To charge the capacitor you can use either contacts with a brush mechanism on the back of the plate or use a magnetic field to transfer the energy. A bit like what is used in electric tooth brushes or contactless smart cards.

With the contacts it is not needed to sense the light and clearing back to zero is also simple. With the magnetic option it would be more or less the same as with your GITD BB's.

Another thought is to look into photovoltaics to charge the capacitors. Maybe something possible with a laserdiode to do the charging in such a way that ambient light won't be a problem.

A cheat option can be to use a microcontroller to control the LED's and have it just be a visual effects thing. Couple the data in via a wireless connection.

Offline wobblyTopic starter

  • Regular Contributor
  • *
  • Posts: 94
  • Country: gb
Re: Optical Delay Dynamic RAM (ODDRAM!)
« Reply #10 on: August 03, 2024, 10:36:45 am »
My goal is definitely to have the phosphor itself store the data bits, I really want the physics to be a central part of the workings.
 

Offline wobblyTopic starter

  • Regular Contributor
  • *
  • Posts: 94
  • Country: gb
Re: Optical Delay Dynamic RAM (ODDRAM!)
« Reply #11 on: August 03, 2024, 12:12:21 pm »
I've found some phosphorescent powder that is intended for mixing with water-based paint for art purposes.  If I fill each of the small holes with the powder and then pour in some optically clear 2-part polyurethane resin perhaps this will work better than the BBs.

Meanwhile I'm putting together the light sensor.  I'm using a short section of 6mm brass tube to make the TSL235R sensor sensitive to light only from the front.  By default it's clear plastic package allows light in from all angles which is no good for this project.
So I've mounted it into the end of the tube (see photo attached) and have used clear PU resin to hold it in place.  When the resin has set, I'll pot the whole thing again in opaque black epoxy leaving the tube open.  This will block all light coming from the sides or the back of the sensor.

 

Offline jpanhalt

  • Super Contributor
  • ***
  • Posts: 3729
  • Country: us
Re: Optical Delay Dynamic RAM (ODDRAM!)
« Reply #12 on: August 03, 2024, 12:26:21 pm »
Be sure to paint the inside of the tube dull black.  If the wheel rotates through a slot, effects of ambient light will be minimized.
 

Offline wobblyTopic starter

  • Regular Contributor
  • *
  • Posts: 94
  • Country: gb
Re: Optical Delay Dynamic RAM (ODDRAM!)
« Reply #13 on: August 03, 2024, 03:34:24 pm »
Clear PU potting is complete.  And the sensor still works properly, so I haven't broken it in the process!

The tube is about 16mm long.  The next stage will be to do another potting operation with opaque black epoxy to cover the rear of the sensor.

The photos show a few bubbles in the PU resin - I'm going to deal with that issue by pretending I haven't seen it.
« Last Edit: August 03, 2024, 03:41:38 pm by wobbly »
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14666
  • Country: de
Re: Optical Delay Dynamic RAM (ODDRAM!)
« Reply #14 on: August 04, 2024, 11:34:17 am »
For shielding the light from the back, I would consider some metal. Paint and colored plastics are often not that light tight. Especially NIR light may pass through some block pigments.
 
The following users thanked this post: wobbly

Offline wobblyTopic starter

  • Regular Contributor
  • *
  • Posts: 94
  • Country: gb
Re: Optical Delay Dynamic RAM (ODDRAM!)
« Reply #15 on: August 04, 2024, 12:04:52 pm »
For shielding the light from the back, I would consider some metal. Paint and colored plastics are often not that light tight. Especially NIR light may pass through some block pigments.

Very true.  I used black epoxy to pot the sensor but since it's only a thin layer it's still fairly translucent.  So I've added a layer of self-adhesive copper tape to make certain it's fully light-tight.

Also I've put together the UV light source that will energise the phosphorescent material.  It's a 395 nm ultraviolet LED in another short piece of brass tube.  Does a nice job of tightening up the beam and leaves a nice uniform circle on the tape.

I'm probably going to use some thin self-adhesive phosphorescent tape as the GITD material.  It responds very quickly to the UV LED, glows brightly and decays at a decent rate too.

More pics...
« Last Edit: August 04, 2024, 12:18:13 pm by wobbly »
 
The following users thanked this post: PCB.Wiz

Offline wobblyTopic starter

  • Regular Contributor
  • *
  • Posts: 94
  • Country: gb
Re: Optical Delay Dynamic RAM (ODDRAM!)
« Reply #16 on: August 04, 2024, 02:37:07 pm »
Next thing to do is to make the ring gear and the driving gear.  For this I'm using Matthias Wandel's excellent GearGenerator software (https://woodgears.ca/gear/index.html).



I'm going to export this as a DXF and then print it out 100% scale and use that as a template to cut out gears from plywood on my scrollsaw.  If that fails (more than likely) I'll have to send it of to be laser cut.
 

Offline shakalnokturn

  • Super Contributor
  • ***
  • Posts: 2195
  • Country: fr
Re: Optical Delay Dynamic RAM (ODDRAM!)
« Reply #17 on: August 04, 2024, 11:35:40 pm »
Is the gearing an important part of the project's aesthetics?
I'm sure you could get away with having the disc mounted directly to the stepper's axis.
In a more DIY style, a very basic pulsed motor using regularly spaced ferrous pieces mounted to the disc and 2 or 3 sequenced electromagnets.
In any case you'll need some sort of index pulse to identify the begining of your memory.
 
The following users thanked this post: wobbly

Offline wobblyTopic starter

  • Regular Contributor
  • *
  • Posts: 94
  • Country: gb
Re: Optical Delay Dynamic RAM (ODDRAM!)
« Reply #18 on: August 05, 2024, 06:41:41 pm »
Never made gears on a scroll saw before, came out better than I'd thought.  Pic attached.
The gear teeth are not perfect, so I'll do some tuning up here and there with sandpaper later on to stop them jamming.  I think the proper spacing between gear centres will help too.  Not that it needs to be precise really.  A few degrees here and there doesn't really matter.

The bearing is a 19mm one simply press-fit into a close fitting hole, cut on the saw and brought to tolerance with a half-round file.

I love my scrollsaw, it probably saved me £30 and a week waiting for some laser cutting shop to make these for me!

I might paint the gears black to reduce unwanted reflections - will have to see how it goes.

I think I'll use more plywood to construct the rest of this mechanism - the scrollsaw makes it easy to cut even complex shapes quickly. :)



In any case you'll need some sort of index pulse to identify the begining of your memory.

Yes, I'll probably use a reed switch and a neodymium magnet for this.

« Last Edit: August 05, 2024, 06:47:54 pm by wobbly »
 

Offline jpanhalt

  • Super Contributor
  • ***
  • Posts: 3729
  • Country: us
Re: Optical Delay Dynamic RAM (ODDRAM!)
« Reply #19 on: August 05, 2024, 06:54:21 pm »
OT:  What wood species is the plywood facing?  It looks a little like paulownia.  Is the core something else?

As for start of memory, can't the beginning of each session be arbitrary, then the MCU takes care of the end?  With gears, it is pretty unlikely anything will get out of timing.
« Last Edit: August 05, 2024, 06:57:51 pm by jpanhalt »
 

Offline wobblyTopic starter

  • Regular Contributor
  • *
  • Posts: 94
  • Country: gb
Re: Optical Delay Dynamic RAM (ODDRAM!)
« Reply #20 on: August 05, 2024, 07:23:17 pm »
OT:  What wood species is the plywood facing?  It looks a little like paulownia.  Is the core something else?

The species name is "the cheapest stuff I could find at B&Q 15 years ago and have left to get all gross and warped in the garage ever since" :)
It looks better in the photo than in real life.

As for start of memory, can't the beginning of each session be arbitrary, then the MCU takes care of the end?  With gears, it is pretty unlikely anything will get out of timing.

The only unknowable thing at power-up is the position of the stepper motor shaft.  Chances are it won't be centred on a "bit" position, could be between two bits.  Easiest thing - implementation wise - is to glue a magnet on the large gear and have it trigger a reed switch when the motor has settled on a bit position.

I'll make a short automatic calibration sequence at startup that spins the large gear around quickly until the reed switch gets a reading, and then from that point onwards simply keep a tally of how many stepper motor steps I have made.  These gears are so light and there is a decent gear ratio so I don't expect the stepper to miss any steps.  I'm going to use an EasyDriver (v44) module to drive the motor, this has a decent amount of current capability.  If it can work for an inverted pendulum balancer, this project will be a piece of cake for it!
 

Offline jpanhalt

  • Super Contributor
  • ***
  • Posts: 3729
  • Country: us
Re: Optical Delay Dynamic RAM (ODDRAM!)
« Reply #21 on: August 05, 2024, 07:54:37 pm »
I would use a Hall sensor for the magnet.
 

Online Phil1977

  • Frequent Contributor
  • **
  • Posts: 601
  • Country: de
Re: Optical Delay Dynamic RAM (ODDRAM!)
« Reply #22 on: August 05, 2024, 08:06:20 pm »
Resetting of the bits should be possible if you choose the rpm and the threshold for the photodiode that way that each bb keeps it charge for exactly one rotation.

So the logic could be:

Read:
read 0 --> no recharge
read 1 --> recharge

write:
write 0 --> don't charge
write 1: (re-)charge

If recharging an already set bit makes it significantly brighter than the other bits, then you could reduce the on time of the recharge-LED so that all is leveled. But due to exponential decay of the light intensity I suppose that´s not even necessary, at least slow rpm's.
 
The following users thanked this post: wobbly

Online PCB.Wiz

  • Super Contributor
  • ***
  • Posts: 1787
  • Country: au
Re: Optical Delay Dynamic RAM (ODDRAM!)
« Reply #23 on: August 05, 2024, 08:13:55 pm »
Also I've put together the UV light source that will energise the phosphorescent material.  It's a 395 nm ultraviolet LED in another short piece of brass tube.  Does a nice job of tightening up the beam and leaves a nice uniform circle on the tape.
Nice pics.
How does a Blue LED go at this ? That has the benefit of being visible to users.

I did find some useful looking parts at Everlight, if you wanted to make this in larger numbers.

https://en.everlight.com/sensor/category-ambient_light_sensor/analog_ambient_light_sensor/

They have SMD light to current sensors, some 3 pin, some 2 pin, that are photo diodes + filters + amplifiers.
Response times mostly sub ms, so not super fast, but they are compact and many can reverse mount to look through a hole.
 
The following users thanked this post: wobbly

Offline wobblyTopic starter

  • Regular Contributor
  • *
  • Posts: 94
  • Country: gb
Re: Optical Delay Dynamic RAM (ODDRAM!)
« Reply #24 on: August 05, 2024, 08:34:14 pm »
Nice pics.
Thank you :)

How does a Blue LED go at this ? That has the benefit of being visible to users.

In fact the allegedly UV LEDs I'm using are in fact visible to the naked eye, so clearly it's not a very good UV LED - whatever, it's what I've got in my parts bin, they get the job done!  As soon as the light hits the phosphorescent tape it glow very brightly in pale green.  However due to my own concerns that near UV wavelengths are potentially harmful I'm taking all efforts to reduce the raw emissions from the LED die from escaping directly into the room.

 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf