For a strontium narrow line MOT we want to intensity stabilize our laser with the SUServo module. At the same time we need to modulate a comb onto the laser by ramping the frequency of the AOM by 5MHz at a rate of a few kHz. Can this be implemented into the SUServo? And do you have any tips how to get started with this?

    choelzl Hey I am also working on a Strontium narrow line MOT as well, where do you work? I am part of the Strontium Group in the Quantum Hub at the University of Birmingham. I am working on a similar problem. The SUServo allows for amplitude modulation not frequency. You can search for the discussion between myself and the admin regarding this issue on this forum and also the other m-labs chat forum.

    It depends what you mean by "modulation"; SU-Servo does allow you to change the frequency.

    Square FM with "a few kHz" should be doable by switching between profiles. It would give you a very nice comb. But note that su-servo wasn't designed for any type of modulation. Modulation can probably be implemented (depends a lot on what is actually needed) into su-servo but it doesn't look like an afternoon's job.

    5 months later

    We bypassed the issue for a while by using an external device but now it came up again due to incapabilities of this device. I put in some more hours and experimented with the ram mode of the underlying dds board do set it in a frequency ramp mode, however it seems that this does not work on the SUServo at all. When running for example the ram_convert_frequency() function from this test https://github.com/m-labs/artiq/blob/master/artiq/test/coredevice/test_ad9910.py it does not go into RAM mode but instead stays in the discrete frequency mode. Is this as expected? Can it be implemented to use RAM mode in the SUServo?

      That is expected. SUServo won't work with any other features that conflict with the way SUServo accesses the DDS (continuously set profile 0 data and io_update). It's a very invasive mode.

      Can you give me a hint where this is done in the code? Maybe we can inject it somehow. Does one would need to modify the FPGA code to have any chance implementing this?

        As I indicated above, it's not really clear enough to me what the requirements are and how one would implement it. So I can't point you to where one would implement it. Likely it'll affect a lot of code in coredevice/suservo.py, gateware/suservo, gateware/rtio/phy/servo.py. As I said, not an afternoon job.
        One possible implementation may be to decouple the tasks and just mix two DDS channels from different Urukuls.

        choelzl I was in the same position as yourself, and made the decision not to go with the SUservo for laser intensity modulation, specifically for the reason that I cannot run the DDS RAM alongside SUServo but also because I have made changes to the Sampler driver (ADC). I have instead used the Stabilizer (general purpose PID controller). Do you have one in your crate? It has a sufficient large loop bandwidth and comes with ready made PID scripts. You will however need to set up the MQTT broker to communicate between the stabiliser and your computer. I have a manual document I can share with you on google docs or otherwise you can contact me r.singh.6@bham.ac.uk, if you are interested.

          sb10q ok I will send you the document once I have finished editing it. In which format should I send it and how do you propose to host it?

          13 days later

          @choelzl If you arrive at a conclusion or make progress, it would be great if you could share your results with everyone.

          a month later

          choelzl Have you made any progress? Did you end up using the SUServo or the stabilizer.

          a year later

          Sorry for the late reply, no we did not find any good solution. I wasn't able to put much time in it and we now use a rather complicated setup where we use a mixer to generate the difference frequency between the suservo which is used for intensity stabilization and an extra AWG used for modulating the frequency.