Automated Green House Temperature Control

조회 수: 7 (최근 30일)
Daniel Mersha
Daniel Mersha 2011년 11월 24일
How to write a program which will read and monitor the green house temperature from a temperature sensor and compare it with the threshold temperature 290C.If the temperature in the green house goes up switch the fan on for cooling and if it goes down switch the heater on for heating
  댓글 수: 2
Jan
Jan 2011년 11월 24일
Well, I assume the "green" house will get brown very fast near to 290C.
A simple temperature siwtcher should be able to do this without using a program or even Matlab.
bym
bym 2011년 11월 24일
perhaps 290K is more reasonable

댓글을 달려면 로그인하십시오.

채택된 답변

Walter Roberson
Walter Roberson 2011년 11월 24일
That sounds like a use for a PID Controller, or perhaps just some Fuzzy Logic.
I suspect you would not want the continually switching on and off, where the fan starts, the temperature almost immediately decreases, the fan switches on, the non-longer cooled area warms to a fraction over 290, the fan switches on, the fan switches off, the fan motor burns out...
  댓글 수: 2
Jan
Jan 2011년 11월 24일
A bi-metal switch circuit breaker with a weak magnet for a hysteresis will solve the problem. Daniel, if you implement this for a real application, be sure to check out: http://www.mathworks.com/matlabcentral/answers/9073-what-is-your-unusual-use-of-matlab
Walter Roberson
Walter Roberson 2011년 11월 25일
Bah, those engineers, always wanting to throw hardware at problems!!
:-)

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Prasad Kalane
Prasad Kalane 2013년 7월 19일
>> I had a code for plotting data from sensor.(tested on LM35,ARM-LPC2148,MATLAB 2010) >> Pls edit in that code as well as in controller program.
% *************************************************************************
s1 = serial('COM4'); %define serial port
s1.BaudRate=9600; %define baud rate
fopen(s1); %open serial port
clear data; % data must be in a Coloumn vector (do this setting from controller by using delay & next %line ) e.g. [1;2;3;6;7;8;9]
for i= 1 :10 %acquisition of 100 points
data(i)=(str2double(fscanf((s1)))); %read sensor
disp(sprintf('Temperature= %3.2f oC' ,data(i)))
end
fclose(s1);
i=(1:10); plot(i,data,'--rs','LineWidth',1,... 'MarkerEdgeColor','k',... 'MarkerFaceColor','m',... 'MarkerSize',5)
xlabel('Time')
ylabel('Temparature(celcious)')
title('Plot of Temparature Vs Time')
% then use codition of If...end

카테고리

Help CenterFile Exchange에서 Data Acquisition Toolbox Supported Hardware에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by