Ngày nay các bộ vi điều khiểnđang có ứng dụng ngày càng rộng rãi trong các lĩnh vực kỹ thuật và đời sống xãhội, đặc biệt là trong kỹ thuật tự động hóa và điều khiển từ xa.Trong hoạt động
Trang 1ĐẠI HỌC BÁCH KHOA HÀ NỘI
TRƯỜNG ĐIỆN – ĐIỆN TỬ
BÁO CÁO ĐỒ ÁN 2
ĐỀ TÀI: Giảng viên hướng dẫn: Vũ Hồng Vinh
6-Nhóm Sinh viên thực hiện Lớp MSSV Nguyễn Đình Hùng Điện tử 11 20182555Phi Quang Huy
Nguyễn Anh ĐứcTrần Anh Quân
Điện tử 11Điện tử 11Điện tử 11
2018xxx2018xxx2018xxx
Trang 3MỤC LỤC
MỤC LỤC 2 LỜI NÓI ĐẦU - 4 -DANH MỤC HÌNH VẼ - 5 -
Trang 4-LỜI NÓI ĐẦULỜI NÓI ĐẦU
Thế kỷ 21 mở ra một thời đại mới, thời đại khoa học công nghệ đòihỏi con
người luôn luôn không ngừng tìm tòi học tập để tiến bộ Thiết bị vàcông nghệ luôn
được đổi mới tiên tiến hiện đại để góp phần nâng cao chất lượng cũng như các máy
móc, thiết bị hoạt động có hiệu quả, an toàn ổn định Ngày nay các bộ vi điều khiển
đang có ứng dụng ngày càng rộng rãi trong các lĩnh vực kỹ thuật và đời sống xã
hội, đặc biệt là trong kỹ thuật tự động hóa và điều khiển từ xa.Trong hoạt động sản xuất nông nghiệp hiện nay, việc tự động hoá khâu sản
suất là rất quan trọng Nhiều năm trở lại đây, có rất nhiều ứng dụng của vi điều
khiển vào hoạt động chăn nuôi, Một trong những yếu tố của ngành nông nghiệp là
chăn nuôi gia cầm có một khâu quan trọng là ổn định trong khâu sản xuất con
giống, cụ thể là việc ấp nở con giống từ trứng ra cầm Từ thực tế thấy được tầm
quan trọng của việc ấp nở con giống từ trứng gia cầm và đặc biệt là việc ổn định
nhiệt lò ấp trứng Vì vậy, em đã lựa chọn đề tài “Thiết kế mạch cảm ứng nhiệt để
Trang 5trong lò cao hơn nhiệt độ đã cài đặt thì ATmega16 điều khiển quạt làm giảm nhiệt
độ của lò xuống Ngược lại khi nhiệt độ trong lò thấp hơn nhiệt độ đã cài đặt thì
ATmega16 điều khiển đèn bật lên để tăng nhiệt độ của lò lên.Để tiện theo dõi em xin trình bày đề tài theo ba phần:- Phần 1: Cơ sở lý thuyết
- Phần 2: Thiết kế
- Phần 3: Mô phỏng và trình bày kết quả
Trước khi trình bày, em xin gửi lời cảm ơn chân thành đến thầy TàoVăn
Cường đã trực tiếp hướng dẫn, định hướng, góp ý để em có thể hoàn thành đề tài
này Do trình độ và kinh nghiệm thực tế còn hữu hạn, đề tài khôngtránh khỏi
những thiếu sót, em rất mong nhận được những ý kiến đóng góp, giúp đỡ chân tình,
quý báu của quý thầy cô cùng các bạn sinh viên.
Trang 6DANH MỤC HÌNH VẼ
5
Trang 7DANH MỤC BẢNG BIỂU
Trang 8TÓM TẮT ĐỒ ÁN
7
Trang 9CHƯƠNG 3 THIẾT KẾ, MÔ PHỎNG VÀ KẾT QUẢ THỰC TẾ
1 Thiết kế mạch
- Mạch đo và hiển thị đúng nhiệt độ đo được
- Mạch sẽ cho người dùng cài đặt một nhiệt độ cố định mà người dùng muốn.
- Khi nhiệt độ mà cảm biến đo được lớn hơn nhiệt độ cài đặt thìtự động quạt được bật để làm mát, còn ngược lại nếu nhiệt độ nhỏ hơn nhiệt độ người dùng cài đặt thì tự động đèn sưởi được bật để tăng nhiệt độ.
- Ứng dụng thực tế của mạch : mạch này có thể áp dụng vào một số công việc như : làm ổn định nhiệt độ trong phòng, làm lò sấy, ấp trứng, ủ hạt giống ,v v…
2 Mạch nguyên lý
Mạch dùng nguồn DC 5V-2A ,đèn và quạt được nối ngoài , điềukhiển từ Atmega 16 qua Relay 5V Nhiệt độ người dùng cài đặtđược lưu vào EEPROM tránh trường hợp mất điện Vi điều khiểntiếp nhận giá trị analog từ cảm biến nhiệt độ LM35 rồi biến đổiADC kênh ADC0 Sau khi quá trình biến đổi ADC kết thúc, kếtquả được lưu vào thanh ghi ADCW Chúng ta tiến hành in kếtquả nhiệt độ ra màn hình LCD1602 và xét điều kiện nếu ADCW> Nhiệt độ cài đặt thì quạt được tự động bật làm giảm nhiệt vàngược lại thì đèn sưởi được bật để tăng nhiệt đến khi bằng nhiệtđộ cài đặt.
Trang 103 Mô phỏng mạch
3.1 Code
#include <mega16.h>#include <delay.h>#include <stdio.h>#include <stdlib.h>#include <alcd.h>
unsigned char i;unsigned char m = 35;unsigned char n = 0;char chuoi[50];
// Voltage Reference: Int., cap on AREF
#define ADC_VREF_TYPE ((1<<REFS1) | (1<<REFS0) | (1<<ADLAR))
// Read the 8 most significant bits
9
Trang 11// of the AD conversion result
unsigned char read_adc(unsigned char adc_input){
return ADCH;}
void ktnd(){ do{
lcd_gotoxy(5, 0); lcd_puts("CAI DAT"); lcd_gotoxy(3, 1);
lcd_puts("DC ND"); lcd_puts(": "); itoa(m, chuoi);
lcd_puts(chuoi);
lcd_putchar(223); lcd_puts("C");
Trang 12if(PINB.1==0) {
m ; if(m==0)m=99; while(PINB.1==0); }
if(PINB.3==0) {
n++;
while(PINB.3==0); lcd_clear(); }
}
while(n % 2 == 0);}
void mode(){
if (PINB.2 == 0) { lcd_clear(); ktnd(); n++; } }
void main(void)
11
Trang 13PORTB=(1<<PORTB7) | (1<<PORTB6) | (1<<PORTB5) | (1<<PORTB4) |(1<<PORTB3) | (1<<PORTB2) | (1<<PORTB1) | (1<<PORTB0);
DDRC=(1<<DDC7) | (1<<DDC6) | (1<<DDC5) | (1<<DDC4) | (1<<DDC3)| (1<<DDC2) | (1<<DDC1) | (1<<DDC0);
PORTC=(0<<PORTC7) | (0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) |(0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0);
DDRD=(1<<DDD7) | (1<<DDD6) | (1<<DDD5) | (1<<DDD4) | (1<<DDD3)| (1<<DDD2) | (1<<DDD1) | (1<<DDD0);
PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) |(0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);
Trang 14// The Analog Comparator's negative input is// connected to the AIN1 pin
ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) |(0<<ACIC) | (0<<ACIS1) | (0<<ACIS0);
// ADC initialization
// ADC Clock frequency: 1000,000 kHz// ADC Voltage Reference: Int., cap on AREF// ADC Auto Trigger Source: Free Running// Only the 8 most significant bits of// the AD conversion result are usedADMUX=ADC_VREF_TYPE;
ADCSRA=(1<<ADEN) | (0<<ADSC) | (1<<ADATE) | (0<<ADIF) |(0<<ADIE) | (0<<ADPS2) | (1<<ADPS1) | (0<<ADPS0);
SFIOR=(0<<ADTS2) | (0<<ADTS1) | (0<<ADTS0);
lcd_init(20);lcd_gotoxy(3, 0);lcd_puts("DANG TAI ");delay_ms(300);lcd_clear();
while (1) {
i=read_adc(7); lcd_gotoxy(0, 0); if (i > m) {
13
Trang 15lcd_puts("QUAT:BAT"); lcd_puts(" DEN:TAT"); PORTC.0 = 1; PORTC.1 = 0; PORTD = 0xff; }
else {
lcd_puts("QUAT:TAT"); lcd_puts(" DEN:BAT"); PORTC.1 = 1; PORTC.0 = 0; PORTD = 0x00; }
lcd_gotoxy(0, 1); lcd_puts("Nhiet Do: "); lcd_putchar(0x30+i/10); lcd_putchar(0x30+i%10); lcd_putchar(223); lcd_puts("C"); mode();
delay_ms(60); }
}
Trang 1615
Trang 174 Chạy mạch thực tế
Chiều mai chụp ảnh chạy sau.5 Kết luận
- Mạch chạy mô phỏng đúng yêu cầu đề ra
- Đề tài khai thác được chức năng của Atmega 16 và cảm biếnnhiệt LM35.