04-06-2012, 10:12 PM
|
#2
|
Đệ tử 1 túi
Tham gia ngày: Feb 2012
Bài gửi: 13
:
|
Trích:
Nguyên văn bởi JackSanji
Chào các anh chị. Em đang làm bài tập lớn đề tài điều khiển quạt, có chút thắc mắc muốn nhờ mọi người giúp đỡ đó là :
em muốn điều khiển động cơ phụ thuộc vào nhiệt độ t đọc đc từ LM35.nhiêt độ hiển thị trên led 7 đoạn, và thời gian thực hiển thị trên LCD. Nếu t>40 thì bắt đầu quay, tốc độ tăng dần khi nhiệt độ tăng và động cơ đạt tốc độ max khi t>=60 độ.
Code:
t=(float)read_adc(); //update nhiet do
t=t*100/204;
if((t>0)&&(t<40)) {duty=0;};
if((t>=60)&&(t<=99)) {duty=624;};
if((t>=40)&&(t<60)) {duty=((t-40)*15+312);};
vấn đề của em là khi mô phỏng bằng proteus thì khi tăng lm35 lên >=60 độ thì mạch ok, còn khi dưới 60 độ thì thời gian thực trên LCD chạy không đúng nữa, có khi phải đến 3 hay 4s thì mới nhảy đc lên 1s. em nghĩ cái này có thể xung đột với thời gian update từ DS1307 lên LCD, nhưng chưa biết lỗi ở đâu.
em gửi sơ đồ mô phỏng Proteus để mọi người xem giúp e với ạ.
thanks mọi người nhiều!
|
đã giải quyết đc vấn đề.
__________________
Tất cả vì tương lai con em chúng ta!
|
|
|