Table of Contents

Research Log

2017


Fall 2017

10 Nov 2017

Wow it's been a while. What little work I've been able to do was either getting cartridges printed or getting the AO paper submitted. It's accepted, by the way! So, after talking to Drew about the Near Eye, I decided I would take on the project of a new laser diode driver so we can generate shorter pulses. The goal is to get to around 5ns or so. As I understand it, by “gain switching” the laser, we should be able to generate high power (which we don't need/want), extremely short (possibly as low as a few picoseconds) pulses by pumping strong, short current pulses through the laser. I ran into a DC driver design that Scott had put together (on the J drive, under 'Falstad Circuit Simulations'), which I think I can modify to be able to run at relatively high frequencies (to keep up with the graphics card output that we're using to trigger it). I believe that an LT1396 OpAmp and this FET from Toshiba should do the trick so I'll order a pair and get a board milled to test it out.


19 Oct 2017

Over the last few days, I experimented with printing a cartridge using a traditional FDM 3D Printer, the point being that each cartridge printed on a FormLabs printer is costing us on the order of $20 of resin. Comparatively, $20 could buy us a kilogram of filament for an FDM printer (which we could then use on the ME department's printers in the Clyde Building basement), which could become a respectable number of cartridges. Due to some trouble with the specific printer I used, the current print may not be able to take a laser diode. In the future, I'll plan to run these prints using an SD card so the printer won't have to stop if/when its USB connection is disrupted. Removing supports from an FDM printed cartridge is irritating, if only because every overhang has to have dense enough supports to adhere the first few layers to. Using the one dual extruding printer, we could print the supports in PVA (Poly Vinyl Alcohol - which is a water soluble plastic) or another readily soluble plastic and then simply dissolve them off, but that does then increase cost since we'd also have to buy the soluble filament. These are just thoughts, but if we can print a cartridge for a few dollars instead of $20 that seems like a good idea. Waiting on Parker now to see if he can align a device in that housing. Also, I've started making edits to the AO monitor paper. Still a fair amount to do, and we're going to have to make tradeoffs again to slim down the paper back to 11 pages.


7 Sep 2017

Having settled on a license for the monitor designs (GNU GPL v3), Drew and I have started adding License and Readme files to the repositories that will become public, and license notices in as many of the source files as possible. The ElectronicsSupplements repository brought a hiccup: we can neither assert copyright nor license CAD models that we downloaded for reference. To settle this, I separated the files in question into a BorrowedElectronics repository which :!: must NOT be made public :!:. ElectronicsSupplements now has a list of the missing files in its readme, and can be shared publicly (once the License notices are in place). For use within the lab, the new repository can be cloned and used as before, just not shared because we don't have redistribution rights.


Spring/Summer 2017: IMMERSE

1 Aug 2017: Completed Timer Sync

This one's for documentation's sake. Here's a link to a good dual NAND package. After testing the timer reset circuit in-situ (breaking out the signals from the Scanner Shield), we've determined that it is usable within the Scanner Shield. Here we have the ‾reset pulse (CH2) and DSYNC*2 pulse (CH1), compared with HSYNC and VSYNC:
This scope image is VSYNC (CH1) and the reset pulse (CH2) compared for timing. The width of the reset pulse is shown (~1.6 us), as is the delay (too small to be visible at 2us/div resolution).
Finally, here's the schematic:

The NAND gate on the right is acting as an inverter (as opposed to a discrete inverter for simplicity's sake), with the second switching to generate the reset pulse. The values for R1 and C1 are determined experimentally. At the moment, C1 = 60nF and R1=5.6Ω for the breadboarded circuit. I expect they'll change for an actual PCB.


31 Jul 2017

With the pulse generator working, the rest of this timer foolishness works! Here's the setup:
And the results:


27 Jul 2017

This doesn't help much for the current revision, but in evaluating the HUGE number of open pins on the Arduino Mega, I'd just like to write down for future reference that pin 28 (Port A6) looks pretty convenient to be the VSYNC triggered preset pin, since it's right next to the divide-by-N pins near said pin. Adding that connection should just be a function of adding one more trace to the board in future revisions. For testing, I'll use a more accessible pin.

As an alternative to letting the Arduino reset the timer, since Drew is dissatisfied with the timing of the Arduino interrupts, we've made another edge triggered pulse generator out of some NAND gates and a low pass filter (see here). I'll give that a try in hardware.


26 Jul 2017

I attempted to design a pulse shortener to reset the timer directly from VSYNC. If the pulse is too long, the timer effectively doesn't run while the reset pin is pulled low. With a little help from Drew to solve an issue with pulling negative voltage on an inverter, I've put this circuit together in Falstad. It works to shorten relatively long pulses (several ms) down to a few ms, shorter pulses cause instability in the inverter. After giving it some thought, I'm going to attempt to use the Arduino's interrupts instead of a hardware pulse shortener.


25 Jul 2017

Borrowing Drew's “Analog Discovery”, I did some tests with the divide-by-N counter chip. Running some tests with pulses on the Clear, Synchronous and Asynchronous Preset pins. Clear made bad things happen, but both Presets accomplished what we want. The problem is the exact behavior. Asynchronous effectively stops the timer until the pulse ends, and then the timer counts as normal from the rising edge of that pin (extending the high time of the output by the offset). Synchronous seems more reliable to me, but produces a “double pulse” if the two signals are almost but not quite synchronized. This could be mitigated with a diode (or two if we also have to isolate pins from being driven by one another), but Drew is not quite convinced. I'm also concerned about timing between driving this reset from the Arduino vs. connecting it directly to VSYNC. Still come investigation to do there…


18 Jul 2017

I investigated a bit about the divide-by-N counter in the Scanner Shield. Assuming I'm understanding right, in order to reset on each VSYNC (to make sure the DSYNC frame starts with the HSYNC frame, not somewhere in the middle), we have to pull down the “~Preset Enable” pin (the same pin that's triggered on each overflow).The only downside is, that will involve diodes to avoid driving the overflow output at the same time.


17 Jul 2017

Now that the paper is done, I can actually keep track of what I'm doing again… Today, I was working on cartridge revisions to adjust for some issues in the input mirrors (I added a glue channel and widened some of them). I also made configurations for the Z stage (the diode holder) to allow for different sized housings.


28 Jun 2017

I've ordered blue and green laser diodes and finished printing the full set of new cartridges. Also, in addition to some writing on the paper, I've been taking time when I can to work on the figures, and produced a new electrical block diagram for the Mark V monitor:


24 Jun 2017

The fully assembled monitor system is done in SolidWorks. I've started making the exploded view but I'm having to do it in manual steps so that's still in progress.


23 Jun 2017

After some failed prints, I'm preparing to reprint the cartridges using a revised design in which the mirrors are all at 45° angles, and none of the posts are removable (which I can do using this design). The input beam does cross itself now, but in midair so there should be no interference issues everywhere else. I'll be printing those later next week.


20 Jun 2017

I've finished playing with the cartridge for now. On Mark's suggestion, we'll use a 100mm lens and the cartridge is now set up for an 85-90mm focal length. For whatever reason, that actually works significantly more efficiently than having the focal point at the grating. So, those are ready to be printed.

I also re-derived the equation for the pre-correction angle on the samples. In order to use the new exit mirror design, the exit edge of the sample has to be polished at at an angle to change the position of the sweep. Scott and I had done all the math a couple of weeks ago when we first made those mirrors. I'm not absolutely certain if I've got it right since this is MUCH simpler than what we had figured out. I had Erich look it over and he didn't see any mistakes either, so for the time being, I'll assume this works. If not, feel free to correct me:

UPDATE: Scott corrected me on using the small angle equivalence. Using the real version of Snell's Law, the equation is not universally solvable, but an be solved by finding the intersection point between the two sides of the equation. We've written up a MATLAB script and saved it in the cartridge repository.


19 Jun 2017

This weekend I put a ton of time into filler text and sketched figures for the paper. I've got at least something to represent each of the figures we expect to have. Also, today, based on Mark's findings so far, I modified the “BounceMirror” cartridge to make even longer focal lengths work. My current design is very comfortable at about 100mm, and could be lengthened to around 110mm without adding a fourth mirror. In theory, if we just need the longest lens possible (assuming we have enough throw distance), we could just zig-zag back and forth in the cartridge to add more length. Once I get a more certain length to aim for from Mark and Parker, I'll go ahead and print one of these new cartridges so we can try them.

16 Jun 2017

I've modified the cartridge design files a bunch so that now (in the “BounceMirror” branch in git) we can fit a 60mm lens. I did this by mirroring the back half of the housing, then redirecting the input laser using a mirror. The gained distance with just a pair of mirrors can get us up to about a 75mm focal length (though that would give us very little leeway). Taking some of the distance out gives us a very comfortable 60mm distance.


9 Jun 2017

Today I was editing the RF board design files to include more soldermask around the pads (the current revisions tend to be VERY easy to make jumps to ground on, causing some of the problems we've been having in the RF chain). The VCO and Splitter didn't seem to need any help, but the rest have been updated to make them (hopefully) easier to solder/harder to mess up.


8 Jun 2017

I'm at the point where I would rather make a new GVA-84 board from scratch, but unfortunately we have no blanks left (Drew doesn't want to order more until we have the next revision ready). My latest efforts were: after having desoldered and resoldered EVERYTHING on the old board trying to find the problem, I gave up on it. I had another GVA-84 board made, and it had no problems. However, after attatching it to the rest of the chain, it developed the SAME strange artifact. And even after separating it again, the artifact persists. I'm not sure what to do at this point.

I got some bad news from Scott this week. The word has come down that if we want to keep using Solidworks for funded research we'll have to purchase research licenses (>$1000 each, and we're pretty sure that's per year). Since Autodesk allows its Education licenses to be used for research purposes (see their definition of “Educational Purposes” here), I investigated what converting our CAD files to Autodesk Inventor format would be like. The conversion works, but what you get is a single, solid body. Inventor does seem to be better equipped for editing solid bodies directly, but it's still much less efficient than having everything defined by sketches. Also, assemblies will import all in one step (as individual parts), but the mates will have to be manually recreated. In short, it's definitely doable and would still save us a fair bit of money (the Educational licenses are free to students and educators, including graduate students) compared to paying for Solidworks. It would just be a time sink during the conversion.


6 Jun 2017

So, an update. The RIGHT chain now is the one that doesn't work, because we;re getting some weird impedance mismatch effects in the GVA-84 board. As far as I can tell, the problem is either in the chip itself, or has something to do with the DC-only section (the filtering caps or the LED. I don't really see how the latter could cause such a problem, but I still don't fully get RF, so I'll take a look tomorrow).

I also worked with Scott, and we now have a complete working model of the optics deck created in SolidWorks, including all three color cartridges aligned as need be. We had to make a fair number of changes to the sample sled and the optics alignment plate, but now it should work, and we've got the wiggle room to account for other input angles as well.


26 May 2017

The middle chain works! FINALLY! The problem is, the filter we were using attenuates about 4 or 5 dB in the pass band, and that's just a little too much. We had another filter board assembled and lying around (the one for the other monitor. We've been stealing a lot of parts from it…), so I swapped it in and we're good! I also got the HELA-10 boards attached. I can't test those until I make a new heat sink for the HELA-10 (the current one is spaced too far apart). I'll get to that next week!


24 May 2017

I spent some time on the laser cutter this morning. I made a test cut of another support wall for the RF chain, but it needs some tolerances adjusted. In investigating the possibility of laser cutting a polygon mirror (depositing aluminum afterwards to create the mirrored surface). My original thought had been to overheat the material during cutting to see if we could get a polished edge straight off the laser cutter. In practice, though, overheating it actually made the surface more uneven. It looks like in order to do this we'd have to sand and then flame polish the edge before depositing the aluminum. I also took another shot at making a soldering stencil for the Scanner Shield. Trying to vector cut it always over heats the transparency film, melting the edge (which makes the holes expand and some of them combine with each other). I found a trick, though: fill in the blocks where holes are needed, and then raster engrave instead. It takes longer (~4.5 min compared to ~40 s), but produced a beautiful stencil. Now we know we can make them much more easily!

19 May 2017

After much testing and resoldering, two of the combo boards are working (Left and Right on the heat sink. I've been identifying them as L, M and R). The middle board is VERY close. It's peak is around +17dBm, but it rolls off quickly to around +14dBm. Even after the HELA-10, that may or may not be enough to drive the modulator, so I've got to see what's eating the signal and correct it.

I spent a bit of time poking around the AutoLock realm. It seems like some of the problems with tuning the PID arose from having it's function decimated (that was necessary when we were manually controlling the motor, but the PID loop has a settable sample time). With that, I can try adjusting the timing and tuning. It's getting closer!


18 May 2017

The Preamp and Mixer/Filter Boards are attached. Only one works, and I just knocked an inductor off of it… (the screwdriver slipped). The middle one just has this tiny peak at around -16dBm as shown below. It also doesn't have the indicator LED working on the PHA-101 (I'd swear that worked before attaching the boards)
The Left side board is like this: It's got a couple of odd peaks, but otherwise looks fine, but right at around -4 dBm.


15 May 2017

Some good news: the preamp boards are ALL working now. YEAH! I've started getting them slapped together. Also, in other news, my request for access to the laser cutter is in, so I should have access Wednesday or Thursday.

12 May 2017

I've rescued the ailing PHA-101 boards (two of which required new amplifier chips), and all but 2 of the GVA-84 boards (they probably need new chips). In addition, after talking with Drew and Parker I've designed a support wall to be installed in the monitor and hold up the RF chain (so its weight is taken by a structural piece instead of the SMA connectors or the nest of wires in the box). I couldn't demo cut one, though, because both Drew and I have lost access to the laser cutter. We'll work on getting that back next week.

UPDATE: After talking with Drew and Parker, we decided we needed a means of supporting the RF chain within the chassis. I've designed a wall that we can attach to the floor, and which we can snap the combined monolith board to.


11 May 2017

Between Drew and I, we got that monitor aligned to demo it, then disassembled it so Parker could start it from scratch. I did some basic planning for getting the Monitor paper written.


10 May 2017

In preparation for having visitors tomorrow, Drew and I decided it would be nice to have a working monitor to show them. Unfortunately, today seems to be the day of rogue amplifiers. All of the extra amplifier boards that Ryan made for making a full-color monitor have some sort of problem (ranging from a bad indicator LED to being shorted out). In addition, some of the already tested boards started exhibiting problems (today was NOT my day for amplifiers). With some scrounging around, the monochrome RF chain is reassembled. The optics deck for that monitor is another story. The focusing lens had popped out of its holder, and the chunk of glass for lowering the beam isn't attached to anything, so it had been sliding around in the box. Looks like it's probably going to have to be realigned from scratch.


Finishing the Fall Semester Monitor

26 Apr 2017

Status update: My top riser mirror is attached, but bad things happened in the process, so only the center of it actually has a decent mirror. The bottom one slid while drying so…now I'll have to get it off and try again.


17 Apr 2017

I installed the RF chain and Galvo boards today, so the lower level of the Fall Monitor is done.


3 Apr 2017

My RF chain so far is doing wonderfully. The PHA-101 and GVA-84 boards are slabbed together, as are the Mixer and Filter boards. At the moment, peak output is around 22.14 dBm, so I'll aim for a 3dB attenuator (to stay under the HELA-10's max of 20dBm)


23 Mar 2017

Today was all plastics: We've made a permanent change to the Power Deck layout (two fans) and I cut those today - we'll test them to see if more vent holes are needed. Also, I'm in the process of 3D printing a pair of the new Riser Mirror mounts (one for each monitor currently in progress).


14 Mar 2017

I discussed some changes to the mirror mounts for the monitor with Scott today. I'm going to add vertical translation to the riser mirror mount and make slots for horizontal translation of the polygon/galvo mount and parabolic mirror (if we ever start using the printed mount). I'll also standardize the screw holes for those: 4-40 chassis screws for the parabolic mirror and galvo mount, and 8/32 hex set screws for the vertical and tilt axes on the riser mirror.

In the AutoLocking realm, it actually sort of works. At the moment, the PID won't lock it, but once it gets close, if you turn off the PID it locks, and then turning the PID back on doesn't really do much (Be careful, it might kick it out of lock afterwards). I guess I'll try a third stage: no PID and keep an eye on it.


13 Mar 2017

After talking with Drew this week, I'm bouncing between tasks a bit more. I've picked up the Fall Semester monitor again, because the best way for me to understand it is to build it.

On AutoLocking the Polygon motor, I've implemented the code with a PID library to sync the mirror's speed to the DSYNC pulse (then letting the PLL chip handle phase lock on its own). The problem is, the tuning parameters are still a mystery to me. I've been experimenting, but so far it tends to either hit a stable place just above or just below the synced speed. For now, I've turned off I and D, and I'm trying to find the point where P overshoots and oscillates. The ideal setting for P should be just below that point, and then I can adjust the I and D parameters to even out the signal. Also, the wierd problem with the DSYNC measurements was just a hardware eccentricity (it's not a problem, just where we're measuring that signal from). I've accounted for it in the software now.


22 Feb 2017

with some experimentation, I've learned the following:

UPDATE: With the extension cable that we'll have to use in the actual monitor in place, both Scanner Shields work, using just the normal jumper blocks. #1 is a little more finicky on locking (kinda like the MIT monitor was), but still locks and holds it!

YET ANOTHER: Weird thing happening when I try to have the Arduino measuring the period of PTACH: the count is coming out at double what it should be. I could just bitshift the count to compensate, but the period SHOULD be right as long as we're triggering on every rising edge. Right now, it seems to be triggering on every other edge, but consistently so.


21 Feb 2017

Drew fixed the disappearing Tach Pulse on Scanner Shield #2, and we found that it, too, needs the wire loop to lock. Tried measuring the loop's inductance, and it's looking to be around 950 nH. The closest I could get was a 1.2 uH Power Inductor from the shop. So far, it's not quite doing the trick. We still get the speed drop, plus this inductor's resistance is dropping the voltage to the motor as well (decreasing the max speed). We still have variables to work through…


17 Feb 2017

Scanner Shiled #1 is locking like a champ! I ran the motor's input through an ammeter and it suddenly worked! Taking the ammeter out but leaving the wires still lets it lock, so I'm at the moment suspecting that the small inductance added by the wires is decreasing the noise in the motor's input signal and allowing it to lock. I'll try to implement something that works without needing this massive wire sticking out here.
Trying #2 is still somewhat futile since the TACH signal is still disappearing at high frequencies (roughly 1/3rd of the way through motor spinup).


Early Semester Randomness

15 Feb 2017

At the moment, I'm finding decent ways to get rid of most of the camera noise (I'm trying to avoid intensive image denoising algorithms since we have at least 100 or so frames to work with even in the shorter videos), but at the moment, it's also eliminating the moving dot. I looked at one of the non-denoised videos, and the dot is jumping several pixels between each frame, since we have the framerate so low. We're going to try taking another video with the framerate up to 30fps and the dot sweeping slower.


8 Feb 2017

I had an idea on Scanner Shield #1: I want to investigate the average voltage going to the polygon motor. During startup, it's around 17V, right where it should be. I need to check near the locking point, but the Tachometer signal is now gone on this board. Something seems to be pulling it down, but I'm not sure what.

By the way, Drew and the Senior Project Guys found that our DVI cable had a bad HSYNC wire, so that explains the weird DSYNC problems.


2 Feb 2017

I took just a couple of minutes to check out the newer Scanner Shield. There was some soldering problems with the anti-ringing filter, but now something weird is happening with DSYNC (the signal is staying high, which should only happen if the counter is ALWAYS rolling over). Still needs poking at.


17 Jan 2017

The assembly is done on the new (new new?) Scanner Shield. I've tested it for shorts already, now it's time to start giving it power and testing it. I gave it power, but of course what can go wrong will go wrong so while there are no power issues, at the moment the signal for the tachometer gets lost at high frequency. Drew gave me a couple of ideas: on this one the lost signal could have something to do with the anti-ringing filter. I'll look into it more when I get the time.


13 Jan 2017

For the past week, with Drew gone, I've been working on the second Scanner Shield. It's now nearly soldered (just waiting for the Power Transistor itself). I also did some housekeeping today getting the monitor parts organized and together.