1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo đồ án 2 mạch dùng nguồn dc 5v 2a

17 2 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 832,21 KB

Nội dung

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

Hà Nội, 6-2022

Nhóm Sinh viên thực hiện Lớp MSSV

Nguyễn Đình Hùng Điện tử 11 20182555

Phi Quang Huy

Nguyễn Anh Đức

Trần Anh Quân

Điện tử 11 Điện tử 11 Điện tử 11

2018xxx 2018xxx 2018xxx

Trang 3

MỤ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 ĐẦU

LỜ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ệ đòi hỏ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 để

điều chỉnh nhiệt lò ấp trứng”.

Mục tiêu của đề tài là khai thác chức năng của ATmega16, cảm biến nhiệt

LM305 để điều chỉnh nhiệt độ của lò ấp trứng Khi cảm biến nhiệt

đo được nhiệt độ

4

Trang 5

trong 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ào Vă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ông trá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 6

DANH MỤC HÌNH VẼ

5

Trang 7

DANH MỤC BẢNG BIỂU

Trang 8

TÓM TẮT ĐỒ ÁN

7

Trang 9

CHƯƠ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ều

khiể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ển

tiếp nhận giá trị analog từ cảm biến nhiệt độ LM35 rồi biến đổi

ADC kênh ADC0 Sau khi quá trình biến đổi ADC kết thúc, kết

quả được lưu vào thanh ghi ADCW Chúng ta tiến hành in kết

quả 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 10

3 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)

{

ADMUX=adc_input | ADC_VREF_TYPE;

// Delay needed for the stabilization of the ADC input voltage delay_us(10);

// Start the AD conversion

ADCSRA|=(1<<ADSC);

// Wait for the AD conversion to complete

while ((ADCSRA & (1<<ADIF))==0);

ADCSRA|=(1<<ADIF);

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 12

if(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 13

DDRA=(0<<DDA7) | (0<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3)

| (0<<DDA2) | (0<<DDA1) | (0<<DDA0);

PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0);

DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3)

| (0<<DDB2) | (0<<DDB1) | (0<<DDB0);

PORTB=(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 used

ADMUX=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 15

lcd_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 16

3.2 Kết quả

Hình Chọn ngưỡng nhiệt độ để điều khiển công tắc

- Chọn ngưỡng mức cài đặt nhiệt độ là 35°C

- Nhiệt độ cài đặt là 35°C, nhiệt độ đo được là 27°C nên đèn được bật để giữ ấm, nếu nhiệt độ đo được vượt ngưỡng cài đặt là 35°C thì quạt sẽ được tự động bật để giảm nhiệt độ

15

Trang 17

4 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ến nhiệt LM35.

Ngày đăng: 30/05/2024, 14:55

TỪ KHÓA LIÊN QUAN

w