Mạch nguồn 12V3A, bảo vệ quá dòng, áp

19 4.1K 14
Mạch nguồn 12V3A, bảo vệ quá dòng, á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

Nội dụng báo cáo bao gồm: Mạch nguồn 12V bảo vệ quá dòng 3A, quá áp.Sơ đồ nguyên lý, giải thích hoạt động của mạch cũng như chức năng, đo kiểm tra các linh kiện trong mạch và kiểm tra linh kiện trước khi lắp vào mạch, quá trình thi công mạch.

Khoa điên tử viễn thông Đại học Bách Khoa Đà Nẵng 4-2016 Báo cáo cá nhân THỰC TẬP CÔNG NHÂN I Đề tài - Đề tài nhóm: Lò vi sinh - Nhiệm vụ cá nhân: Làm mạch: mạch nguồn Lập trình: giao tiếp máy tính II Làm mạch Nhiệm vụ: Mạch nguồn: yêu cầu điện áp cung cấp chiều 12V, có bảo vệ áp 12.5V bảo vệ dòng 2A Nguồn cung cấp lấy từ nguồn điện xoay chiều 220V Sơ đồ khối Khối tạo điện áp chiều 12V cấp cho LM358 Khối tạo điện áp chiều 24V từ nguồn 220V Khối tạo điện áp chiều 12V cấp cho IC Khối bảo vệ áp Khối tạo điện áp chiều 12V cấp cho động Khối bảo vệ dòng Nhiệm vụ khối lựa chon linh kiện sử dụng a Khối tạo điện áp chiều 24V - Nhằm tạo điện áp chiều để cung cấp cho khối sau mạch nguồn - Khối sử dụng biến áp 220-18V chịu dòng >2A để tạo điện áp 18V xoay chiều Sử dụng cầu diode tụ 10000u để lọc phẳng tín hiệu xoay chiều thành tín hiệu chiều Chọn cầu diode chịu 5A Tụ chịu điện áp >30V ( chọn tụ chịu 63V) b Khối tạo điện áp 12V cấp cho LM358 - Nhiệm vụ tạo điện áp cung cấp cho LM358 mạch bảo vệ dòng bảo vệ áp cung cấp điện áp vào so sánh cho LM358 - Khối sử dụng LM7812 tụ điện ngõ vào, Chọn tụ ngõ vào tụ ngõ Một tụ phân cực 100u tụ gốm 100n c Khối tạo điện áp 12V cấp cho IC -Nhiệm vụ khối tạo điện áp 12V để cung cấp cho khối ổn áp IC mạch - Khối sử dụng LM317T để tạo điện áp điện trở, biến trở, tụ lọc BJT để gánh dòng Chọn biến trở 5k, điện trở 220 ôm tụ 0.1u 1u BJT chọn loại chịu dòng lớn (chọn TIP41C chịu 6A) d Khối tạo điện áp 12V cung cấp cho động - Khối có nhiệm vụ tạo điện áp ổn định 12V cung cấp cho động ( quạt, đèn, phun sương) Khối cần phải bảo vệ dòng áp để đảm bảo an toàn cho tải - Khối sử dụng LM317T để tạo điện áp điện trở, biến trở, tụ lọc BJT để gánh dòng Chọn biến trở 5k, điện trở 220 ôm tụ 0.1u 1u BJT chọn loại chịu dòng lớn (chọn TIP41C chịu 6A) e Khối bảo vệ áp - Khối có nhiệm vụ ngắt mạch điện áp vượt mức cho phép (13V) đảm bảo an toàn cho tải có cố xảy - Khối sử dụng LM358 để so sánh điện áp với mức ngưỡng, điện trở để phân cực, BJT C1815 để kích ngắt role role để ngắt mạch điện áp vượt 13V f Khối bảo vệ dòng - Nhiệm vụ khối bảo vệ tải dòng điện qua tải vượt mức quy định ( 2A) đảm bảo an toàn cho tải - Sử dụng LM358 để khuếch đại để so sánh, thyristor để kích dẫn role, role để ngắt mạch dòng vượt ngưỡng (2A), trở để phân cực cho LM358 4 Nguyên lí hoạt động mạch Sơ đồ mạch tổng thể - - Điện áp xoay chiều qua khối chỉnh lưu gồm cầu diode với tụ lọc nguồn tạo điện áp chiều cung cấp cho IC ổn áp Sau qua IC LM7812, LM3177 tạo điện áp ổn đình 12V ( điện áp khối LM317 điều chỉnh ) Để nâng dòng ra, ta dung BJT TIP41C để gánh dòng BJT chịu dòng 6A Khối bảo vệ áp : Khi áp lớn 13V, điện áp đưa vào opamp :V(+) >V(-) ( điện áp chuẩn để so sánh) Vout opamp mức kích BJT ( thiết kế hoạt chế độ khóa ) dẫn, nên kích rơ le bảo vệ mạch Khối bảo vệ dòng :Khi dòng lớn 2A, điện áp visai đưa vào opamp tăng lên, qua mạch khếch đại khếch đại điện áp vi sai đưa vào opamp để so sánh : Điện áp vi sai khếch đại V+ lớn điện áp so sánh V-, Vout so sánh mức kích SCR, nên kích rơ le, bảo vệ mạch 5 Điều kiện làm việc linh kiện mạch - LM7812 : điện áp cung cấp chiều 15-27V, cho dòng 12V - LM317: điện áp cung cấp 24-37V Cho điện áp có giá trị thay đổi khoảng từ 2-30V Đo kiểm tra linh kiện rời a Kiểm tra thyristor 2P4M: Đặt động hồ thang x1, đặt que đen vào Anot, que đỏ vào Katot ban đầu kim không lên , dùng Tovit chập chân A vào chân G => thấy đồng hồ lên kim , sau bỏ Tovit => đồng hồ lên kim => Thyristor tốt b Kiểm tra TIP41C Kiểm tra Transistor ngược NPN tương tự kiểm tra hai Diode đấu chung cực Anôt, đặt thang đo x1, đo từ B sang C B sang E ( que đen vào B ) tương đương đo hai diode thuận chiều => kim lên , tất trường hợp đo khác kim không lên c Kiểm tra BJT C1815 - Đặt thang đo x1, đo từ B sang C B sang E ( que đen vào B ) tương đương đo hai diode thuận chiều => kim lên , tất trường hợp đo khác kim không lên d Kiểm tra diode Đặt thang đo vị trí x1 Đặt que đen vào cực âm, que đỏ vào cực âm kim lên, ngược lại kim không lên e Kiểm tra tụ điện phân cực Đặt thang đo vị trí x1k, đặt que đen cực âm, que đỏ cực dương Ta thấy kim lên sau xuống lại từ từ Mạch in Phần mền thực layout: proteus III Lập trình Nhiệm vụ Lập trình giao tiếp máy tính qua cổng COM Một chương trình vi điều khiển dùng để truyền liệu lên máy tính nhận liệu gửi xuống từ máy tính sau điều khiển thiết bị ( quạt, đèn, phun sương) Một chương trình máy tính dùng để nhận tín hiệu từ vi điều khiển sau xử lí truyền tín hiệu điều khiển xuống vi điều khiển 8051 Sơ đồ khối a Nhận – gửi liệu máy tính Start Mở cổng Nhận liệu từ VĐK Hiển thị liệu Gửi liệu trở lại cho VĐK End b Khối giao tiếp nhận – gửi liệu vi điều khiển Start Khởi tạo Gửi liệu cho máy tính Nhận liệu từ máy tính, xử lí End Các chương trình a Chương trình khởi tạo void khoitao() // ham khoi tao { TMOD=0x20; //Chon timer che TH1=0xFD; //toc baud la 9600 SCON=0x50; //0101 0000: chon che TR1=1; } Nhiệm vụ : khởi tạo thông số cho vi điều khiển b Chương trình gửi liệu lên cho máy tính void guidulieu(int n) // dinh nghia ham gui du lieu { unsigned char a[5]; //mang chua cac ki tu cua du lieu int i; //bien dem for(i=0;iascii) //loai bo chu so hang don vi } for(i=2;i>=0;i ) //vong lap gui cac ki tu len pc { SBUF=a[i]; //Ghi byte du lieu vào ghi SBUF while(TI==0){} //doi du lieu duoc gui xong TI=0; //xoa co truyen } } Kiểm tra chương trình : gán hai giá trị cố định cho nhiệt độ độ ẩm giá trị tùy ý để gửi lên máy tính c Chương trình nhận xử lí liệu void nhanxuli() //ham nhan va xu li du lieu gui xuong tu may tinh { char d; //bien luu ki tu nhan duoc tu may tinh while(RI==0) ; //doi den co tin hieu gui xuong tu may tinh { d=SBUF; //nhan ki tu vua gui xuong RI=0; // xoa co nhan } switch(d) //xet ki tu vua nhan duoc { case 'q': //neu la q thi bat quat P1_2=1; break; //thoat khoi lenh switch case 'd': //neu la d thi bat den P1_1=1; break; //thoat khoi lenh switch case 'p': P1_0=1; break; case '1': //thoat khoi lenh switch P1_2=0; break; //thoat khoi lenh switch case '2': P1_1=0; break; //thoat khoi lenh switch case '3': P1_0=0; break; //thoat khoi lenh switch default: // neu khac thi bat het P1=0xFF; break; //thoat khoi lenh switch } } Kiểm tra chương trình : nạp chương trình vào vi điều khiển sau chạy mô Tiến hành bật tắt thiết bị cách nhấn nút bật tắt form điều khiển máy tính Quan sát tín hiệu ngõ chân điều khiển vi điều khiển proteus Kết : tất chân điều khiển hoạt động ý đồ lập trình Chương trình vi điều khiển #include //Khai báo thu vien cho 89x51 #include //Khai báo thu vien xu li chuoi int nhietdo=29; //gia lap nhiet int doam=33; //gia lap am void khoitao() // ham khoi tao { TMOD=0x20; //Chon timer che TH1=0xFD; //toc baud la 9600 SCON=0x50; //0101 0000: chon che TR1=1; } void guidulieu( int n); //ham gui so nguyen void nhanxuli(); //ham nhan du lieu va xu li void main() //chuong trinh chinh { khoitao(); //goi ham khoi tao guidulieu(nhietdo); //goi ham gui nhiet guidulieu(doam); // gui am nhanxuli(); // nhan va xu li xu lieu } void guidulieu(int n) // dinh nghia ham gui du lieu { unsigned char a[5]; //mang chua cac ki tu cua du lieu int i; //bien dem for(i=0;iascii) //loai bo chu so hang don vi } for(i=2;i>=0;i ) { //vong lap gui cac ki tu len pc SBUF=a[i]; //Ghi byte du lieu vào ghi SBUF while(TI==0){} //doi du lieu duoc gui xong TI=0; //xoa co truyen } } void nhanxuli() //ham nhan va xu li du lieu gui xuong tu may tinh { char d; //bien luu ki tu nhan duoc tu may tinh while(RI==0) ; //doi den co tin hieu gui xuong tu may tinh { d=SBUF; //nhan ki tu vua gui xuong RI=0; // xoa co nhan } switch(d) //xet ki tu vua nhan duoc { case 'q': //neu la q thi bat quat P2_2=1; break; //thoat khoi lenh switch case 'd': //neu la d thi bat den P2_1=1; break; //thoat khoi lenh switch case 'p': P2_0=1; break; //thoat khoi lenh switch case '1': P2_2=0; break; //thoat khoi lenh switch case '2': P2_1=0; break; //thoat khoi lenh switch case '3': P2_0=0; break; default: //thoat khoi lenh switch // neu khac thi bat het P2=0xFF; break; } } Chương trình máy tính using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO.Ports; namespace choncongCOM { public partial class Form1 : Form { public Form1() { InitializeComponent(); } //thoat khoi lenh switch private void Form1_Load(object sender, EventArgs e) { string[] comlist = SerialPort.GetPortNames(); int[] comnumberlist = new int[comlist.Length]; for (int i = 0; i < comlist.Length; i++) { comnumberlist[i] = int.Parse(comlist[i].Substring(3)); } Array.Sort(comnumberlist); foreach (int comnumber in comnumberlist) { comboBox1.Items.Add("COM" + comnumber.ToString()); } } private void button1_Click(object sender, EventArgs e) { if (comboBox1.Text == "") { MessageBox.Show("vui long chọn cổng COM", "thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (serialPort1.IsOpen) { serialPort1.Close(); button1.Text = "Kết Nối"; comboBox1.Enabled = true; groupBox3.Enabled = false; } else { try { serialPort1.Open(); button1.Text = "Ngắt Kết Nối"; comboBox1.Enabled = false; groupBox3.Enabled = true; } catch { MessageBox.Show("khong the mo cong " + comboBox1.Text, "loi", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } private void groupBox1_Enter(object sender, EventArgs e) { } private void groupBox2_Enter(object sender, EventArgs e) { } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { if (serialPort1.IsOpen) { serialPort1.Close(); } } private void textBox1_TextChanged(object sender, EventArgs e) { } private void button2_Click(object sender, EventArgs e) { serialPort1.Write(textBox1.Text); } private void label1_Click(object sender, EventArgs e) { } private void label2_Click(object sender, EventArgs e) { } Action serialPort1ReceiverAction; private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) { serialPort1ReceiverAction = serialPortReceiver; try { this.BeginInvoke(serialPort1ReceiverAction, serialPort1.ReadExisting()); } catch { } } private void serialPortReceiver(string input) { if(input.Length==6) { textBox2.Text += "\r\nNhiệt độ (độ C): "; textBox2.Text += input.Substring(0,3); textBox2.Text += "\r\nĐộ ẩm (%): "; textBox2.Text += input.Substring(3); } } private void textBox2_TextChanged(object sender, EventArgs e) { } private void label5_Click(object sender, EventArgs e) { } private void button3_Click(object sender, EventArgs e) { if (button3.Text == "Bật") { { serialPort1.Write("q"); button3.Text = "Tắt"; } } else { try { serialPort1.Write("1"); button3.Text = "Bật"; } catch { MessageBox.Show("không thể tắt quạt", "loi", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } private void button4_Click(object sender, EventArgs e) { if (button4.Text == "Bật") { try { serialPort1.Write("d"); button4.Text = "Tắt"; } catch { MessageBox.Show("không thể bật đèn", "loi", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { try { serialPort1.Write("2"); button4.Text = "Bật"; } catch { MessageBox.Show("không thể tắt đèn", "loi", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } private void button5_Click(object sender, EventArgs e) { if (button5.Text == "Bật") { try { serialPort1.Write("p"); button5.Text = "Tắt"; } catch { MessageBox.Show("không thể bật phun sương", "loi", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { try { serialPort1.Write("3"); button5.Text = "Bật"; } catch { MessageBox.Show("không thể tắt phun sương", "loi", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } private void groupBox3_Enter(object sender, EventArgs e) { } private void groupBox2_Enter_1(object sender, EventArgs e) { } } }

Ngày đăng: 03/07/2016, 11:49

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan