Hi guys,
We are going to use RP for experiments in quantum optics, in particular, we want to stabilize lasers and interferometers with RP. However, after a couple of weeks of playing with RP and compiling PS and PL codes, I realized that I need an advice from those having experience with RP or Zynq in general.
The idea of the stabilization system is to sample an input error signal, do some processing inside RP and output the control signal. As for the first step, I want to continuously sample a test signal, do some small math manipulation (scale, inverse) and output the resulting signal. The sampling frequency varies between kHz and MHz ranges
So, the main question is how to start doing this? What should be done on the PS and PL sides?
Advice Needed -- RedPitaya for Laser Stabilization
-
- Posts: 15
- Joined: Thu Feb 04, 2016 10:42 am
-
- Posts: 1441
- Joined: Sat Jun 07, 2014 12:49 pm
- Location: Königswinter
Re: Advice Needed -- RedPitaya for Laser Stabilization
Have you taken a look at the PID controllers in the Red Pitaya ?
They do basically what you are describing. Even if for some reason they are not usable for your purposes, they will show you how to approach the problem.
They do basically what you are describing. Even if for some reason they are not usable for your purposes, they will show you how to approach the problem.
-
- Posts: 15
- Joined: Thu Feb 04, 2016 10:42 am
Re: Advice Needed -- RedPitaya for Laser Stabilization
Thank you, Nils! I completely forgot about the PID source code ...
-
- Posts: 3
- Joined: Sun Nov 08, 2015 10:52 am
Re: Advice Needed -- RedPitaya for Laser Stabilization
Hi,
I also want to use the RP for pulsed laser stabilization (repetition rate & offset repetition rate to a second laser) and tried this today with the PID app which comes with the RP. I was quite amazed by the performance. We usually use an analog PI filter and doing the lock with the RP is much more convenient.
I think I will also try to set up custom code to do the PID is a customized app/remote control application so I would be interested how you solve this in your application.
I also want to use the RP for pulsed laser stabilization (repetition rate & offset repetition rate to a second laser) and tried this today with the PID app which comes with the RP. I was quite amazed by the performance. We usually use an analog PI filter and doing the lock with the RP is much more convenient.
I think I will also try to set up custom code to do the PID is a customized app/remote control application so I would be interested how you solve this in your application.
-
- Posts: 1
- Joined: Sun Jul 05, 2015 6:28 pm
Re: Advice Needed -- RedPitaya for Laser Stabilization
Hi,
The PID block in the PL is definitely a good starting point. However the actual controller architecture depends a lot on the kind of lock you're trying to design and on the actuators of your setup (laser current, piezo, external modulator, ...). An important point to consider is the capture range of your lock: if it is infinite such as for a noise eater or a temperature stabilization then using the PID block in the PL is straightforward, however if the capture range is more limited (for example when locking on a spectroscopic line or on a cavity using a Pound-Drever-Hall) then you might need some adjustments on the controller. Also adding a feedforward might prove useful if you require fast changes of the setpoint.
Overall, I think the controller itself should be implemented in the PL to benefit from the hard real-time of the FPGA. The PS might however prove very useful to tune the gains and the setpoints. For example you might use it to perform some auto-tuning by characterizing the dynamical behaviour of your system in combination of a criteria (for example Ziegler–Nichols). It might also be used to automatically bring the laser into the capture range of the lock.
The PID block in the PL is definitely a good starting point. However the actual controller architecture depends a lot on the kind of lock you're trying to design and on the actuators of your setup (laser current, piezo, external modulator, ...). An important point to consider is the capture range of your lock: if it is infinite such as for a noise eater or a temperature stabilization then using the PID block in the PL is straightforward, however if the capture range is more limited (for example when locking on a spectroscopic line or on a cavity using a Pound-Drever-Hall) then you might need some adjustments on the controller. Also adding a feedforward might prove useful if you require fast changes of the setpoint.
Overall, I think the controller itself should be implemented in the PL to benefit from the hard real-time of the FPGA. The PS might however prove very useful to tune the gains and the setpoints. For example you might use it to perform some auto-tuning by characterizing the dynamical behaviour of your system in combination of a criteria (for example Ziegler–Nichols). It might also be used to automatically bring the laser into the capture range of the lock.
-
- Posts: 33
- Joined: Tue Aug 25, 2015 12:17 pm
- Contact:
Re: Advice Needed -- RedPitaya for Laser Stabilization
Hi Ubix,
If you're not comfortable with Verilog, you can try to build your PID module graphically using Xilinx building blocks :
![Image](https://cloud.githubusercontent.com/assets/1735094/13381834/0ca5b012-de66-11e5-880a-7a1f83032f41.png)
If you're not comfortable with Verilog, you can try to build your PID module graphically using Xilinx building blocks :
![Image](https://cloud.githubusercontent.com/assets/1735094/13381834/0ca5b012-de66-11e5-880a-7a1f83032f41.png)
-
- Posts: 15
- Joined: Thu Feb 04, 2016 10:42 am
Re: Advice Needed -- RedPitaya for Laser Stabilization
HI jeanminet,
Thank you for the advice. However, I am planning to use Verilog as it will make all the things easier.
Thank you for the advice. However, I am planning to use Verilog as it will make all the things easier.
jadalnie klasyczne ekskluzywne meble wypoczynkowe do salonu ekskluzywne meble tapicerowane ekskluzywne meble do sypialni ekskluzywne meble włoskie
Who is online
Users browsing this forum: No registered users and 84 guests