The first functional UART-enabled firmware and GUI is ready.
You can now run the Otterly CCD GUI directly on your computer without the need for that annoying little rpi. Downside is the speed. UART is app. 150x slower than SPI.
So why bother with an even older and simpler communication protocol than SPI?
Well for now there’s no good reason except you save yourself the trouble of having to connect the rpi and nucleo. The real reason to go with UART is that without a master, the MCU can now decide when to transmit. This may not seem like a big deal – and it probably isn’t – but I haven’t been able to reliably do timed reads of the CCD using SPI. This will change (someday soon).
For downloads and slightly more info goto: tcd1304.wordpress.com
While it was “fun” to destroy a quartz cuvette and bring it back to life, it was also a complete waste time.
The point of the whole operation was to bring the focal point of the microscope objective inside the sample volume by reducing the wall thickness of the cuvette from 1.25 mm to 0.75 mm.
The microscope objective has a working distance (WD) of 1.0 mm in air, which means that the WD is >1.0 mm in any medium with a refractive index >1.
I’ve tried to photograph the focal point:
The images show fluorescein’s emission by excitation with a 532 nm laser. The spectroscopic cell has a wall thickness of 1.25 mm. The difference in the illumination angle is due to a difference in the diameter of the collimated laser light entering the microscope objective.
If you really want you can sort of persuade yourself to see that the light is focused just inside the spectroscopic cell. If you’re more of a sceptical kind of person you’ll need more pictures:
This is tetraphenylporphyrin’s emission by excitation with the same laser. The image on the right is just a crop. Here it’s clear that the light is focused somewhere inside the sample liquid.
In SPI two or more devices communicate and the transmission rate is dictated by the master’s SCLK. Because the SCLK is shared between all devices it’s reliable even at very high speed – the STM32F401RE’s fastest SPI peripheral is good up to 42 MHz.
In UART two devices communicate with agreed-upon speed, character length, parity bit and number of stop bits. To transmit a byte one typically needs to send 10 bits: 1 start bit, 8 data bits and one stop bit. The two devices don’t share a clock – this is the asynchronous part – so if the actual speed of your two UARTs are not the same, you’ll run into trouble at high baud-rates, and that’s exactly what I did.
The remainder of this post is about the exploration of some of the Nucleo board’s various clocks. To spare you from high expectations, the conclusion is that I’ve not reached a higher baud-rate than 230.4 kBps for USART.
This isn’t the first post about focus. In the previous post focus it became very clear – to me at least – how important proper focus is for the throughput of the optical system. The previous post was only about the planoconvex lens and the optical fiber. This will be about the microscope objective and the sample.
In the very beginning of my Raman shopping spree I aquired something that looks a lot like a Nikon CFI Plan Apo VC 20X. And you know what they say: If it quacks like a duck..
The microscope objective is very suitable for (this) Raman application because of the very large numerical aperture¹ (0.75) and the large diameter of the exit pupil (app. 14mm):
Front of the Nikon CFI VC
The catch is that the working distance is 1 mm. It’s on the low side of what you’d expect for 20x microscope objective, but I guess it’s the trade-off for the high NA. So what’s the problem with that then?
Even if I’ve not published a lot this year, this blog has become bigger than I ever thought it would be, so much so, that even I have a difficult time finding whatever information I know is here somewhere.
I’ll keep posting here, but I will also create sister-pages (they’ll be here on wordpress.com, but they won’t exactly be blogs) where the information is presented in a more organised fashion.
So I present: http://tcd1304.wordpress.com
You guessed it. It’s all about the tcd1304 and how to play with it.
More better organised pages to follow ..once I figure out what is worth organizing.
Summer brought a revision of the STM32F401RE TCD1304 driver.
In the firmware for the nucleo board the data collected by the ADC is stored in memory using DMA. Until now the ADC+DMA was turned on by an interrupt created by the timer controlling the ICG-pulses (remember that the ICG pulse moves the pixels to the shift registers on the TCD1304). The ADC and DMA are turned off again by an interrupt created by the DMA-controller once the write-buffer is full.
Enabling the DMA from a timer interrupt is painless, but disabling it using an interrupt triggered by the same DMA-stream that you want to turn off is not. The reason is that disabling the DMA-stream creates a new interrupt – the same interrupt in fact – so you can easily get stuck in the interrupt routine.
Spring didn’t leave much time to work on the project, but hopefully I will get a little somewhere before we start travelling.
A few posts ago I posted this picture of the first laser light to hit the diffraction grating:
Unfiltered 532 nm laser light, collimated and directed at a 1200 l/mm holographic diffraction grating.
I always had the feeling that this was not really representative of the actual output of the laser, I just couldn’t manage getting the light properly focused on the aperture of the fiber. But today I did:
Of course this is not the light I’m interested in at all, but it does give you an idea of how critical proper alignment is. At this point I don’t think I’ve been able to achieve this with the microscope lens in the setup.
I’ll probably have to rethink the Raman setup to allow for (somewhat) precise movement of the microscope objective and the lens tube with the spherical lens and optical fiber. Unfortunately the 3D-printer is also on school holiday.