PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 06-03-2011, 11:08 PM   #1
dinhnambkhn
Đệ tử 2 túi
 
Tham gia ngày: Feb 2011
Bài gửi: 45
:
Unhappy đo nhiệt độ điều khiển động cơ

e mới học PIC và đang làm đồ án đề tà:"đo hiển thị nhiệt độ và điều khiển tốc độ quạt làm mát DC dùng thuật toán fuzzy nhưng có gặp 1 số khó khăn sau xin các a giúp đỡ:
e đã làm và hiển thị dc nhiệt độ trên led7seg và LCD,về thuật toán fuzzy thì ok!nhưng khi đưa chế độ PWM vào thì mạch lại không thể chạy dc(e đã mô phỏng trên protues).
xin các a chỉ giáo cho!
dinhnambkhn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-03-2011, 10:43 AM   #2
nhauruou
Nhập môn đệ tử
 
Tham gia ngày: Nov 2010
Bài gửi: 5
:
bạn gữi sơ đồ nguyên lý lên cho mọi người rõ hơn chút xiu đi
nhauruou vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-03-2011, 11:04 AM   #3
ak47
Đệ tử 2 túi
 
Tham gia ngày: Jun 2010
Bài gửi: 29
:
Cool

Trích:
Nguyên văn bởi nhauruou View Post
bạn gữi sơ đồ nguyên lý lên cho mọi người rõ hơn chút xiu đi
Kèm theo file code chương trình nữa chứ nhỉ?
ak47 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-03-2011, 04:47 PM   #4
dinhnambkhn
Đệ tử 2 túi
 
Tham gia ngày: Feb 2011
Bài gửi: 45
:
đây là code của chương trình!
code[

// Mo ta phan cung : Dung PIC16F877A - thach anh 20MHz
// : Led7seg giao tiep voi PORTD
// : Dau ra LM335 dua vao chan AN0
//----------------------------------------------------------------
// Chu thich :
// : dung che do Power On Reset
// : chuong trinh tham khao cua anh linhnc308
//================================================= =======
#include <16F877A.h>
#include <def_877a.h>
#device *=16 adc=10
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT,NOLVP, NOCPD, NOWRT
#use delay(clock=20000000)
#define speak PIN_A1
#use fast_io(d)
#byte portd=0x8
int8 low,high,min,max,i,j,low1,high1;
int1 do_F;
void convert_bcd(int8 x);
const char led7seg[12]={0xC0,0xcf,0xa4,0xb0,0x99,0x92,0x83,0xf8,0x80,0x9 0,0x8e,0xc6};
const char quet[3]={0b00100000,0b01000000,0xb10000000};
#INT_EXT
void test()
{
if (do_F == 1) do_F=0;
else do_F=1;
}
//-----------------------------------------------------------------
void main()
{

float value;
min =15; //nhiet do min
max =35; //nhiet do max
do_F =0 ;
i = 10 ;
set_tris_d(0);
trisa = 0xFF;
trisb = 0x01;
trisc=0x00;
portd=0xff;
output_low(speak);
//==== Khoi tao cho ngat ngoai============================================= ==
enable_interrupts (INT_EXT);
ext_int_edge(H_TO_L);
enable_interrupts (GLOBAL);
//=========== Khoi tao che do cho bo ADC=====================================
setup_adc_ports(AN0);
setup_adc(ADC_CLOCK_INTERNAL);

delay_us(10);// Lay mau nhiet do lan dau tien
value=(float)read_adc();
value = (value - 558.5)/2.048; // For 5V supply
// value = (value - 754.8)/2.048; // For 3.7V Supply
// value = (value - 698.2)/2.048; // For 4V supply
convert_bcd((int8)value); // Tach so tram, chuc, donvi de hien thi len LED 7
delay_ms(500);
while(1)
{
if (i==10)
{
value = read_adc();
value=(value-558.5)/2.048;

if (do_F==1)
value=1.8*value+32;
convert_bcd((int8)value);


if (do_F==0)
{
for(j=0;j<25;j++);
{
PORTD=led7seg[high1];
portc=quet[0];
delay_us(100);
portd=0xff;
delay_us(30);

Portd=led7seg[low1];
portc=quet[1];
delay_us(100);
portd=0xff;
delay_us(30);

portd=led7seg[11];
portc=quet[2];
delay_us(100);
portd=0xff;
delay_us(30);
}
}

if (do_F==1)
{
for(j=0;j<25;j++);
{
PORTD=led7seg[high1];
portc=quet[0];
delay_us(100);
portd=0xff;
delay_us(30);

Portd=led7seg[low1];
portc=quet[1];
delay_us(100);
portd=0xff;
delay_us(30);

portd=led7seg[10];
portc=quet[2];
delay_us(100);
portd=0xff;
delay_us(30);
}
}
i=0;
}
if( ( (int8)value > max ) || ( (int8)value < min) )
{
output_high(speak);
}
i++;
}
}
//The End=============================================== ========================
void convert_bcd(int8 x)
{
low1=x%10; //chia lay phan du, so hang don vi
high1=x/10; //tach hang tram va hang chuc
low = low + 0x30;
high = high + 0x30;
}
]

thay đổi nội dung bởi: dinhnambkhn, 07-03-2011 lúc 04:56 PM. Lý do: nhầm
dinhnambkhn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-03-2011, 04:55 PM   #5
dinhnambkhn
Đệ tử 2 túi
 
Tham gia ngày: Feb 2011
Bài gửi: 45
:
khi m đưa chế độ PWM vào CC1 thì nó hông chạy!
bạn nào có code do nhiệt độ khác chuẩn hơn không!mong các bạn giúp đỡ!
dinhnambkhn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-03-2011, 04:58 PM   #6
dinhnambkhn
Đệ tử 2 túi
 
Tham gia ngày: Feb 2011
Bài gửi: 45
:
đây là sơ đồ của mình
Hình Kèm Theo
File Type: jpg 1.JPG (144.1 KB, 15 lần tải)
dinhnambkhn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-03-2011, 11:48 AM   #7
dientuvienthong
Đệ tử 1 túi
 
Tham gia ngày: Mar 2011
Bài gửi: 17
:
cảm ơn anh em nhiều
dientuvienthong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 31-12-2012, 01:19 AM   #8
dinhnambkhn
Đệ tử 2 túi
 
Tham gia ngày: Feb 2011
Bài gửi: 45
:
Lâu không vao threat nay nhi. Vấn đề về đo 2 cảm biến nhiệt độ và điều chỉnh tốc độ quạt điều hòa or. Điều chỉnh nhiệt độ bình nước theo thuật toán fuzzy đã được minh làm thanh công.
Nếu ai cần nghiên cứu tiếp thì gửi mail co mình dinhnambkhn@gmail.com .đang thất nghiệp nên free time,sẽ giúp a e hết mình.hj! Ai đang ở Vinh or Hà Tĩnh thì a e trao đổi trực tiếp.hj
Thân!
dinhnambkhn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 31-12-2012, 01:20 AM   #9
dinhnambkhn
Đệ tử 2 túi
 
Tham gia ngày: Feb 2011
Bài gửi: 45
:
Ah!code đã hoàn thiện và thuật toán đươc cải tiến hơn nhiều!
Thân
dinhnambkhn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 31-12-2012, 01:22 AM   #10
dinhnambkhn
Đệ tử 2 túi
 
Tham gia ngày: Feb 2011
Bài gửi: 45
:
Ah!code đã hoàn thiện và thuật toán đươc cải tiến hơn nhiều!
Thân
dinhnambkhn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 10:55 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam