PID in ThingSpeak code
3 次查看(过去 30 天)
显示 更早的评论
I tried to write pid code in thingspeak app matlab analysis, but I faced some problem. Can anyone help?
sensed_output = thingSpeakRead(readChannelID), control_signal;
setpoint=23;
Kp = 1;
Ki = 1;
Kd = 1;
T= 5000;
double total_error, last_error;
int max_control=100;
int min_control=0
double error = setpoint - sensed_output;
total_error += error;
if total_error >= max_control
total_error = max_control;
elseif total_error <= min_control
total_error = min_control;
else
total_error = total_error;
end
double delta_error = error - last _error;
control_signal = Kp*error + (Ki*T)*total_error + (Kd/T)*delta_error;
if control_signal >= max_control
control_signal = max_control;
elseif control_signal <= min_control
control_signal = min_control;
else
control_signal = control_signal;
end
last_error = error;
analyzedData = control_signal;00
%% Write Data %%
thingSpeakWrite(writeChannelID, analyzedData, 'WriteKey', writeAPIKey);
1 个评论
回答(1 个)
Christopher Stapels
2021-1-25
I'd suggest you have a look at the MATLAB onramp. Its a two hour introduction to MATLAB fundamentals, I think you would find it really helpful. Once you have that down, I think writing the PID code will be much easier.
0 个评论
社区
更多回答在 ThingSpeak Community
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 MATLAB Support Package for Raspberry Pi Hardware 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!