MATLAB: PID controller
-
Moku:Go
Moku:Go Arbitrary Waveform Generator Moku:Go Data Logger Moku:Go Frequency Response Analyzer Moku:Go Logic Analyzer & Pattern Generator Moku:Go Oscilloscope & Voltmeter Moku:Go PID Controller Moku:Go Spectrum Analyzer Moku:Go Waveform Generator Moku:Go Power Supplies Moku:Go Digital Filter Box Moku:Go FIR Filter Builder Moku:Go Lock-in Amplifier Moku:Go General Moku:Go Logic Analyzer/Pattern Generator Moku:Go Time & Frequency Analyzer Moku:Go Laser Lock Box Moku:Go Phasemeter
-
Moku:Lab
Moku:Lab General Moku:Lab Arbitrary Waveform Generator Moku:Lab Data Logger Moku:Lab Digital Filter Box Moku:Lab FIR Filter Builder Moku:Lab Frequency Response Analyzer Moku:Lab Laser Lock Box Moku:Lab Lock-in Amplifier Moku:Lab Oscilloscope Moku:Lab Phasemeter Moku:Lab PID Controller Moku:Lab Spectrum Analyzer Moku:Lab Waveform Generator Moku:Lab Time & Frequency Analyzer Moku:Lab Logic Analyzer/Pattern Generator
-
Moku:Pro
Moku:Pro Arbitrary Waveform Generator Moku:Pro Data Logger Moku:Pro Frequency Response Analyzer Moku:Pro Oscilloscope Moku:Pro PID Controller Moku:Pro Spectrum Analyzer Moku:Pro Waveform Generator Moku:Pro Lock-in Amplifier Moku:Pro Digital Filter Box Moku:Pro FIR Filter Builder Moku:Pro Phasemeter Moku:Pro Multi-instrument Mode Moku:Pro General Moku:Pro Logic Analyzer/Pattern Generator Moku:Pro Time & Frequency Analyzer
- Python API
- MATLAB API
- Arbitrary Waveform Generator
- Data Logger
- Digital Filter Box
- FIR Filter Builder
- Frequency Response Analyzer
- Laser Lock Box
- Lock-in Amplifier
- Oscilloscope
- Phasemeter
- PID Controller
- Spectrum Analyzer
- Time & Frequency Analyzer
- Waveform Generator
- Logic Analyzer & Pattern Generator
- Multi Instrument Mode
- Moku Cloud Compile
- Moku general
- LabVIEW
Example MATLAB script to implement the PID Controller (plotting)
%% Plotting PID Controller Example % This script demonstrates how to configure a single PID Controller in the % PID Controller instrument by specifying its frequency response % characteristics. The input and output and output signal of this PID are % also plotted in real time. % % (c) 2018 Liquid Instruments Pty. Ltd. % %% Connect to your Moku ip = input('Please enter your Moku:Lab IP address: ', 's'); % Connect to your Moku and deploy the desired instrument m = MokuPIDController(ip); %% Configure the instrument % Set the Channel 1 PID using frequency response characteristics kp_dB = 10^(-10/20); % P = -10dB i_xover = 100; % I Crossover = 100Hz si_dB = 10^(10/20); % I Saturation = 10dB d_xover = 10000; % D Crossover = 10kHz sd_dB = 10^(10/20); % D Saturation = 10dB m.set_by_frequency(1, 'kp', kp_dB,'i_xover',i_xover,'d_xover',d_xover, ... 'si',si_dB,'sd',sd_dB); % Set the embedded Oscilloscope timebase to +-1ms m.set_timebase(-1e-3,1e-3); % Set the monitored signals to PID 1 Input/Output m.set_monitor('a', 'in1'); m.set_monitor('b', 'out1'); %% Set up plots % Get initial data to set up plots data = m.get_realtime_data(); % Set up the plots figure monitor_plot = subplot(1,1,1); ms = plot(monitor_plot, data.time, data.ch1, data.time, data.ch2); xlabel(monitor_plot,'Time (s)'); ylabel(monitor_plot,'Amplitude (V)'); ylim([-1,1]); %% Receive and plot new data frames while 1 data = m.get_realtime_data(); set(ms(1),'XData',data.time,'YData',data.ch1); set(ms(2),'XData',data.time,'YData',data.ch2); pause(0.1) end