Sandro Wimberger and I wrote a chapter for the latest volume of Advances in Atomic and Molecular Physics which is finally out. It's a review concerning the so called "epsilon-classical" method for atoms in a pulsed lattice of light. Essentially, using an approximation allows us to model matter-waves (quantum physics) using a particle picture (classical physics). The theory, part of which Sandro developed in his PhD thesis, has turned out to be useful in a number of contexts which weren't originally forseen. We've written the review to emphasize the back-and-forward of experiment and theory.
In the same issue, amongst the other great work, there's a paper by Haruka Tanji-Suzuki and co-workers. Tanji-san recently moved back to Japan from MIT/Harvard, and she's now working at NTT at Tetsuya Mukai's lab in the same sub-division of the FIRST program as me.
My paper with Ken'ichi Nakagawa about using a microcontroller and DDS device to control the phase of an optical lattice in response to an external signal has been accepted for publication in Review of Scientific Instruments. We can control the lattice position (phase) in 50nm units at a 30us update rate with good accuracy - not bad using off the shelf equipment.
As far as I know, I can post the material on my personal website, but as the paper is not out yet, for now here is the circuit diagram. RSI now hold the copyright, so you can't repost it, but apart from that I hope it's useful! The link to the code for the micro-controller is here.
Schematic of the interface
NB: We actually ended up reprogramming this device to controll the current on the IPG laser for Sanjay's all-optical BEC experiment! The code can of course be repurposed to controll any rs232 capable device by external trigger.
We had a nice translation stage from Sigma Koki in the lab, and we wanted to use it to move a lens as part of a compression/evaporation sequence during BEC generation in the lab. However, the only controller available - the SHOT602 - is controlled by serial commands over RS232 - not very easy to fit into a time critical experimental sequence!
Sanjay Kumar and I used an Arduino microcontroller/programmer along with a standard level changer to make an externally triggered interface for the translation stage. We still haven't measured the latency yet but it should be of order 30us. (In comparison the evaporation sequence is of order 2s, so even 100us of latency is no problem). We'll make a brief white paper write up later, but for now here's the schematic and the Arduino code if you're interested.
Schematic of the interface
Preliminary code here. Note that most of this example code is just ripped straight from the arduino RS232 tutorial. We have added some small parts, so we'll add our own names to the header when we've finalized the code. This should be enough to get you going if you want to do the same thing though.
Finally have a new CV up. Click on the Bio link above.
Like everyone in Tokyo, we at the institute for laser science were shaken by the 3/11 earthquake, apalled by the destruction of the subsequent tsunami, and are still somewhat worried about radiation from the horrible accident at Fukushima dai-ichi nuclear power plant. Apart from donating money and sending our condolences, the best thing we here in Tokyo can do is just keep living our lives as normally as possible, I suppose, since Tokyo is really the engine of Japan. "Normal life" now involves checking radiation levels everyday, just to reassure ourselves that things aren't getting worse (for Tokyo at least, the levels are steadily declining). The site I like best is at Tsukuba's disaster prevention centre in Siatama (just north of Tokyo). Even if you don't read Japanese, you can appreciate their hourly updates and the more detailed isotope analysis lower down on the page. You can the site here .
I finally summarized the work I did making a control system for my experiment using ATMega chips with Arduino. The link is here .
Traces from the ArudinoMega based sequencer
Publications
One of the advantages of controlling an experiments with shell scripts is that you can control it from almost anywhere. Thanks to the remarkable connectbot ssh client for android, "almost anywhere" now includes my cellphone.
See my link how to turn your arduino Mega (ATMega1280) into an experimental timing sequencer.
If you go into a typical laser cooling lab these days, you are likely to find at least one hulking PC with thick cables snaking out the back, and LabView (TM) installed to control the whole experiment. I have no particular beef with National Instruments, or LabvView, but they're just not for me. Labview diagramming confuses me far more than conventional computer programming.Furthermore, it amazes me that despite USB having been around for so long, I've never seen anyone controlling their experiment with a laptop. PCI controllers are still being used, and the proprietary drivers and software they require to run are still being installed to run experiments, making even a simple OS upgrade a painful prospect.
Lastly, there's the cost - thousands of US$ for LabView software and associated digital and analogue output boards. What to do if you're starting a lab with minimal funding?
One alternative to this which I have used in the past is to use a soft-real time solution such as Real Time Linux along with a basic digital/analogue output board to control the experiment. However, once again, upgrading such a system can be horrifying and you'll still need a normal PC with a PCI board as a solution, since the soft-realtime system won't be able to control the latency of a USB board.Magneto optical trap of Rubidium 87 imaged by an infrared camera.
This year I had the chance to build my own experiment, roughly from scratch (I got one laser and a vacuum chamber thrown in), with Prof. Nakagawa on hand to trouble shoot. When the Magneto-optical trap was built, I couldn't bear to go the labview / desktop PC route, and I turned instead to the wonderful microcontrollers-for-dummies project Arduino .The controller open, showing the Arduino board implementation of the ATMega1280
If you're willing to look "under the hood" of the arduino project, you can build a hard-real time experimental sequencer (that is, one driven by hardware timer interrupts) using the ATMega1280 (handily outfitted with a USB controller, etc, in theArduino MEGA project) with up to 54 output channels (or 38 outputs and 16 analog inputs). Arduino is a great way to ease into microcontrollers. At first you can program your ATMega chip just as though it were a regular computer. Then, because the underlying software is opensource, you can look deeper and learn about timer-interrupts and how to use them create a signal generator with timing accuracy good enough to drive many atom-optics type experiments.Reverse side of custom etched output stage circuit board. Opto-couplers and more provide an output stage for the ATMega1280.
At ILS, there are no technicians, so if you want to make a piece of custom electronics, you mill the circuit board, do the soldering and drill out the project case by yourself. This is pretty fun, even if it can add a month or two to your research schedule. I chose to package the Arduino Mega with a home-built 32 channel output stage, providing 18 digital and 14 smoothed "pulse width modulation" (PWM) pseudo-analog output channels. PWM is a rather poor substitute for real D/A conversion; you have to low-pass filter the output to get a "DC" signal, resulting in a rise-time much longer than that of the digital outputs themselves. Nonetheless, it still works fast enough for the experiments I am planning. I also implemented the output stage with onboard switches for each channel to convert between TTL and LTTL outputs, and, for the analog stage, to allow configurable output impedance and amplification.The sequencer under construction.
When it was all put together, I was able to run my experiment on a Pentium 3 Think Pad I picked up from an Akihabara street sale for $200.The finished sequencer with freshly made BNC cables.
Oscilloscope trace of the sequencer output for a standard experiment.
Although I'd like to claim that my system is great and that you should try it, I was astonished to find this amazing paper (just published this November!) which takes it all a step further. Daniel Steck, whose group published that paper, was an important influence on me when I was doing Quantum Chaos work in Auckland. It seems it's hard to be the first to have a good idea these days. And to be honest, these guys have taken the open source microcontroller idea to another level, compared to what I've shown above!
Still, if you want a simple, cheap, one microprocessor solution to your experimental timing problem, you should consider my ATMega1280 implementation.
The micro-controller peak locking circuit with the lid off.
When you want to laser cool some atoms, your first job is to lock the laser to a saturated-absorption spectrum. The simplest way is just to lock to the side of the desired peak and then use an acousto-optic modulator to shift the laser frequency to the precisely desired value. However, due to laser pointing stability being less than perfect, there is inevitably a shifting offset to the spectrum signal which will lead to the frequency being shifted as the servo tries to counter the shift from the set point. At worst, this can even lead to loss of locking. For this and other reasons, people started using current modulation of laser diodes along with lockin amplifiers to lock to a derivative of the saturated absorption signal so that the spectrum peaks become zeros of the signal which can be locked to even after the DC part of the signal has been filtered away. This is a great method and very popular, but when I looked at the large modulation and lock-in amp modules used in the boxes in our lab, I felt that it was all a bit more complicated than necessary.
So I made my own, simplest possible peak locking circuit using a popular, cheap microcontroller - the ATMega328 - in an easy-to program package called Arduino . It was actually inspired by using the arduino to process audio in real time. I realized that with a few modifications, the same code on the same chip should be fast enough to use as a servo circuit for frequency locking. The microcontroller provides hard real-time (timer interrupt) controlled sampling of the input voltage, current modulation, and error signal output. The input sampling is 8-bit analog, but the current modulation and error-signal are digital (with an appropriate offset added). The microcontroller simply samples the signal at a small voltage increment above and below the current set-point and uses the sign difference between the two samples to decide if it is to the left or to the right of the peak in the spectrum. It then applies an appropriate error signal (either one or zero) to the output port which is offset by -2.5 V and sent to an integrator. The result is that the frequency of the laser is shifted towards the centre of the nearest spectral peak, thus locking it to the spectrum. I've managed to get frequency locking of many hours with this method. easily good enough for typical atom-optics experiments.
Magneto optical trap of Rubidium 87
Lately, you won't get much kudos for building a Magneto-optical trap (MOT), and fair enough. They turn up as experiments in undergrad labs these days, so you can't pretend you're doing something cutting edge anymore when you build one. Nonetheless, if you're building your own MOT, the first moment when you see a bright speck on the TV screen in the middle of the trap, indicating that a cloud of trapped atoms has formed, is still pretty exciting. It seems to me somehow more "magical" (yes, hard science can still feel magical, you cynics!) than the creation of a Bose-Einstein condensate, which can't be seen in real time.
In order to spice things up a bit when I was building the MOT, I used a few non-standard techniques which I'll detail in other posts. For example, the cooling laser is locked by a micro-controller peak locking system I came up with, the repump laser is locked at a constant frequency offset, using a great frequency comparator circuit that Prof. Nakagawa suggested, and finally, I'm building a custom experimental sequencer using a micro-controller. My aim: control the whole experiment from a laptop over USB.
Pseudo-classical scaling function for the resonance ratchet
A theory paper I wrote with Sandro Wimberger of the University of Heidelberg. Sandro has been devloping the epsilon-classical theory of quantum resonances for some time now and I started collaborating with him during my PhD. Essentially, the topic considers how to explain something that behaves like a wave (i.e. quantum mechanical particles) using a theory based on particles. This is useful because a lot of our intuitions are based on how particles move. Because waves are not localized (think of an ocean wave in the deep sea - it is a series of troughs and peaks which may extend for kilometres) their behaviour - especially in quantum mechanics - can be difficult to predict and describe mathematically. On the other hand, particles which occupy one certain position at any given time are much easier to visualize and predict. Here , we discovered a way to describe a quantum mechanical wave phenomenon (called the "quantum resonance ratchet effect") in terms of a particle picture. This is somewhat surprising, as when the resonance ratchet was demonstrated (first at our lab (see below) and then at the lab of Gil Summy not long after) it was assumed that the only way to explain the effect was by quantum mechanical interference. As often happens in science, a referee comment on an unrelated paper got me thinking about the possibility that a quasi-classical (i.e. particle) explanation might also be valid to explain the ratchet. With Sandro's help, I managed to knock out a simple equation to describe the ratchet's behaviour for a wide variety of experimental parameters.