Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 68 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
68
Dung lượng
2,16 MB
Nội dung
KHÓA LUẬN TỐT NGHIỆP ĐỀ TÀI: THIẾT KẾ VÀ THI CƠNG BẢNG QUANG BÁO GIAO TIẾP MÁY TÍNH Chương GIỚI THIỆU BẢNG QUANG BÁO Có nhiều cách để thiết kế bảng quang báo hiển thị thông tin dùng IC rời, dùng EEPROM, VĐK… Với tiến khoa học ứng dụng vi điều khiển ngày phổ biến Các ứng dụng đơn giản mang tính ứng dụng vừa nhỏ vi điều khiển lựa chọn với ưu điểm sau: - Chi phí rẽ, bán nhiều thị trường dể tìm kiếm thị trường - Dễ lập trình với phần mềm ứng dụng có sẵn - Nhỏ gọn Tuy nhiên với số truờng hợp đặc biệt mang tính cơng nghệ, cần tốc độ sử lý cao vi điều khiển khó thực với số mặt hạn chế Một số truờng hợp cần giao diện điều khiển, tạo đơn giản cho người dùng, phục vụ sản xuất lưu trũ liệu máy tính cá nhân Biết truớc đuợc nhu cầu tất yếu này, hầu hết nhà sản xuất chip tích hợp chức truyền phát liệu với máy tính sản phẩm họ thông qua cổng truyền nối tiếp RS232 với phần mền giao tiếp Visual Basic 6.0 Để tiện lợi truyền dẫn ta ứng dụng công nghệ không dây để truyền liệu, loại bỏ phức tạp dây dẫn, dễ kiểm soát GVHD: THS.ĐỒNG SĨ THIÊN CHÂU SVTH: CAO MINH VƯƠNG KHÓA LUẬN TỐT NGHIỆP ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO GIAO TIẾP MÁY TÍNH Chương PHƯƠNG ÁN THIẾT KẾ VÀ LỰA CHỌN THIẾT BỊ 2.1 Phương án thiết kế M ẠCH CÔNG SU ẤT PANEL LED BỘ CHỌN K ÊNH BỘ Đ ỆM DỮ LIỆU BỘ Đ ỆM CO NTRO L MI CRO UN IT RXD BỘ D ỊCH DỮ LIỆU T XD COMPUTER H1.0 Lưu đồ giải thuật thiết kế GVHD: THS.ĐỒNG SĨ THIÊN CHÂU SVTH: CAO MINH VƯƠNG KHÓA LUẬN TỐT NGHIỆP ĐỀ TÀI: THIẾT KẾ VÀ THI CƠNG BẢNG QUANG BÁO GIAO TIẾP MÁY TÍNH 2.2 Chức khối - Khối Computer: dùng để truyền liệu cần hiển thị đến VĐK - Khối điều khiển trung tâm: xuất tín hiệu điều khiển cho Led để tạo hiệu ứng mong muốn - Bộ đệm: cách ly tải khuếch đại dòng để đảm bảo đủ dòng cung cấp cho mạch - Bộ chọn kênh: tạo địa chỉ, đưa tín hiệu cho phép hàng sáng Tại thời điểm cho phép hàng sáng - Bộ công suất: khuếch đại dòng đảm bảo cung cấp dủng dòng, đảm bảo đủ công suất cho mạch hoạt động - Bộ dịch liệu: nhận liệu từ ngõ vào sau dịch liệu xuất - Bộ đệm liệu: đảm bảo cho cho liệu ngõ tốt 2.3 Lựa chọn thiết bị - Với mục đích điều khiển ứng dụng vừa nhỏ đồ đồ án tốt nghiệp việt sử dụng sử dụng vi điều khiển AVR ATmega16 lựa trọn tối ưu đơn giản mặt lập trình, tốc độ xử lý cao, giá thành rẽ, nhiều tính năng, dễ tìm kiếm, khả giao tiếp với thiếp bị khác rộng… Với tích hợp ADC ATmega16 (PORTA.0-PORTA.7) nên khơng cần sử dụng chíp số ADC 0809 Đây thuận lợi vi điều khiển đại nay, giúp làm đơn giản mạch điện - Ta cần hiển thị nhiệt độ thời gian bảng Led cần IC cảm biến nhiệt để đo nhiệt độ IC thời gian thực để cập nhật thời gian + Về IC cảm biến nhiệt độ ta dùng DS18B20 tiện ích: sử dụng giao tiếp dây nên cần chân để truyền thơng, độ xác cao, IC nhiệt độ số nên không cần mạch cân chỉnh phức tạp, hiệu chỉnh phần mềm đưa số liệu biểu thị nhiệt độ dạng bit mã nhị phân, thích hợp cho việc đo lường đa điểm, giá thành rẽ + Về IC thời gian thực ta dùng DS1307 cung cấp đầy đủ số liệu thời gian giờ, phút, giây, ngày, tháng, năm nên việc cập nhật thời gian dễ dàng Việc cập nhật thời gian lưu giữ xác thời gian dài trường hợp bị ngắt nguồn nhờ nguồn pin nuôi nhỏ Tiết kiệm năn lượng mang lại hiệu cao - Trong trường hợp cần đảm bảo cho cho tín hiệu truyền tốt ta cần đệm để đệm cho tín hiệu không bị suy yếu Ta dùng 74LS245 làm đệm IC đệm hai chiều dễ sử dụng hiệu suất cao GVHD: THS.ĐỒNG SĨ THIÊN CHÂU SVTH: CAO MINH VƯƠNG KHÓA LUẬN TỐT NGHIỆP ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO GIAO TIẾP MÁY TÍNH - 74LS138 IC giải mã sang 8, thời điểm ngõ có ngõ chọn Trong thiết kế bảng Led này, quét hàng thời điểm ta cần hàng chọn ta chọn 74LS138 vừa đáp ứng yêu cầu thiết kế, vừa tiết kiệm chân Vi Điều Khiển - Dùng 74HC595 để dịch liệu tạo hiệu ứng chạy chữ Ta dùng 74HC595 IC ghi dịch, liệu vào nối tiếp song song nối tiếp tiết kiệm chân liệu, tốc độ nhanh Rất thuận lợi cho tạo hiệu ứng chạy chữ, giá thành rẽ, hiệu suất cao - Để đảm công suất cho mạch chạy ổn định, ta nên dùng TIP41C có dịng cung cấp lên đến 6A, mà công suất mạch ta cần thiết dòng cỡ 3A nên dư sức cung cấp cho mạch, công suất lớn mà giá thành rẽ so với linh kiện tương tự chọn TIP41C tối ưu - Dùng A1015 ghép darlington với tiếp để khuếch đại dịng phù hợp, A1015 transistor công suất nhỏ, loại PNP nên ghép nối với IC có cực thu hở, có ngõ tích cực mức thấp mà TIP41C làm Sự lựa chọn linh kiện cho thiết kế bảng quang báo phù hợp, đảm bảo yêu cầu kỹ thuật thiết kế, giá thành thấp - Để giao tiếp với máy tính ta có hai phương án lựa trọn dùng dây dẫn, hai truyền không dây Nếu truyền có dây trường hợp đặt bảng quang báo xa thật bất tiện tốn Chẳng hạn ta muốn đặt bảng quang báo trời để quảng cáo sản phẩm bảng cách xa tòa nhà trung tâm ta 1Km Ta phải dùng dây dẫn nối từ trung tâm tới trạm để điều khiển, đặt trạm máy tính để điều khiển, cần điều khiển ta mang máy tính tới trạm để kết nối vào điều khiển, điều bất tiện Nhưng dùng phương án truyền khơng dây điều thật tiện lợi ngồi trung tâm mà ta điều khiển trạm này, đỡ thời gian chi phí lại mà hiệu lại cao Trong đề tài phương án sử dụng truyền không dây dụng, sử dụng truyền sóng RF JZ861vì hiệu truyền xa tốt, khả chống nhiễu tốt giá thành không cao so với hiệu mang lại Trong đề tài ta khơng tìm hiểu sâu cấu tạo RF, ứng dụng vào truyền khơng dây mà thôi, để hiểu rõ thêm cấu tạo cần tìm hiệu riêng GVHD: THS.ĐỒNG SĨ THIÊN CHÂU SVTH: CAO MINH VƯƠNG KHÓA LUẬN TỐT NGHIỆP ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO GIAO TIẾP MÁY TÍNH - Có hai cách để ma trận Led: rắp ráp Led rời lại với mua ma trận Led tích hợp sẵn vào vỏ Khi ráp Led rời lại với thành ma trận giá thành rẽ lại không thẩm mỹ cho lắm: độ sáng khơng đồng nhìn góc độ khác nhau, độ sáng led không giống không đạt tiêu chuẩn tối ưu kỹ thuật: mạch điện phức tạp, có nhiều chân đưa Khi sử dụng ma trận Led tích hợp sẵn ta khắc phục tất khuyết điểm thẩm mỹ kỹ thuật ma trận dùng Led rời là: độ sáng đồng cho tất Led ( điều có tính chất tương đối phân biệt khác mắt thường ),các Led sáng góc nhìn, đạt tiêu chuẩn u cầu kỹ thuật tích hợp vào vỏ nên đường mạch bên Led vẽ với độ xác cao, số lượng chân đưa ngồi nhiều so với ma trận dùng Led rời.Và điều quan trọng cần hiển thị nhiều màu (cơ đề tài màu) khó thực Led rời với Led ma trận tích hợp lại có sẵn thị trường, mà giá thành lại rẽ Với ưu điểm vượt trội ma trân Led tích hợp dùng để thay cho ma trận Led rời điều hiển nhiên Trong đề tài ta dùng Led ma trận 2088-DHG màu Với sản phẩm, yêu cầu chức hai nhà sản xuất khác giá thành khác Có nhiều lý khác nhau, xét mặt lựa chọn thiết bị nhà sản suất có lựa chọn thiết bị tốt phù hợp, giá thành thấp sản phẩm làm có giá thành thấp GVHD: THS.ĐỒNG SĨ THIÊN CHÂU SVTH: CAO MINH VƯƠNG KHÓA LUẬN TỐT NGHIỆP ĐỀ TÀI: THIẾT KẾ VÀ THI CƠNG BẢNG QUANG BÁO GIAO TIẾP MÁY TÍNH Chương GIỚI THIỆU CÁC LINH KIỆN SỬ DỤNG TRONG ĐỀ TÀI 3.1 Vi điều khiển AVR ATmega16 3.1.1 Cấu tạo - ATmega16 gồm 40 chân, chia làm Port xuất nhập ( Port điều có điện trở nội kéo lên nguồn ) hình bên H1.1 Sơ đồ chân ATmega16 + PortA: PA0-PA7(chân40-33) + PortB: PB0-PB7( chân1-8) + PortC: PC0-PC7(chân22-29) + PortD: PD0-PD7(chân4l-20) - Chân Reset (chân 9) nối với trở 4k7 kéo lên nguồn - Chân VCC, GND (chân 10,11) nối tới nguồn 5V - Chân XTAL1, XTAL2 (chân 13, 12) chân dao động ngoài, nối với thạch anh 12MHZ tụ gốm 33pF kéo xuống GND - Các chân : MOSI, MISO, SCK, RESET, GND nối đến giắc chân để nạp chương trình cho AVR GVHD: THS.ĐỒNG SĨ THIÊN CHÂU SVTH: CAO MINH VƯƠNG KHÓA LUẬN TỐT NGHIỆP ĐỀ TÀI: THIẾT KẾ VÀ THI CƠNG BẢNG QUANG BÁO GIAO TIẾP MÁY TÍNH - Chân SDA, SCL dùng cho giao tiếp I2C - Chân RXD, TXD dùng để truyền nhận liệu USART 3.1.2 Đặc điểm - Hiệu cao, tiêu thụ lượng - Kiến trúc RISC – Reduce Instruction Set Computer ( có ý nghĩa máy tính -dùng tập lệnh rút gọn, vi xử lý kiểu thực lệnh vi xử lý khác ) - 131 lệnh mạnh, hầu hết lệnh thực chu kỳ - 32 Thanh chi 8-bit đa - Tốc độc thực lên tới 16 triệu lệnh giây với tần số 16MHz - Có nhân, thực thời gian chu kỳ - Các nhớ chương trình liệu cố định - 16 Kb nhớ flash có khả tự lập trình hệ thống - Có thể thực 10.000 lần ghi/xoá - Vùng mã Boot tuỳ chọn với bit khoá độc lập - Lập trình hệ thống chương trình on-chip Boot - Thao tác đọc ghi thực - 512 bytes EEPROM - Có thể thực 100.000 lần ghi /xoá - 1Kb SRAM bên - Lập trình Khố an ninh phần mềm - Giao diện nối tiếp đồng bộ(chuẩn IEEE.std 1149.1) thực trao đội liệu với thiết bị tương thích khung liệu 8bit hai thiết bị truyền đồng ( xung nhịp đồng hồ) - Ít xảy lỗi - Lấp trình nhớ Flash ,EEPROM, ngắt, khố Bit thơng qua giao diện JTAG - định thời/ đếm bit với chế độ tỷ lệ định trước chế độ so sánh - định thời/ đếm 16 bit với chế độ tỷ lệ định trước riêng biệt, chế độ so sánh chế độ bắt giữ - Bộ thời gian thực với tạo dao động riêng biệt - kênh PWM - kênh, ADC 10 bit - Giao điện nối tiếp dây hướng tới byte - Bộ truyền tin nối tiếp USART khả trình - Giao diện SPI chủ / tớ - Watchdog Timer khả trình với tạo dao động bên riêng biệt GVHD: THS.ĐỒNG SĨ THIÊN CHÂU SVTH: CAO MINH VƯƠNG KHÓA LUẬN TỐT NGHIỆP ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO GIAO TIẾP MÁY TÍNH - Máy so mẫu tương tự bên - Power-on Reset dò Brown-out khả trình - Bộ tạo dao động định cỡ bên - Các nguồn ngắt bên bên - chế độ ngủ: Nhàn rỗi, giảm ồn ADC, tiết kiệm lượng, giảm lượng tiêu thụ, chờ, đóng băng trạng thái - 32 đường I/O khả trình - Điện áp hoạt động :2,7 – 5.5V - Nhiệt độ hoạt động: -40oC đến 85oC - Các tốc độ : 0-8 MHz điện áp 2.7 – 5.5V, – 16MHz điện áp 4.5 – 5V - Tiêu thụ lượng MHz, 3V, 25oC Atmega16L - Hoạt động tích cực: 1.1mA - Chế độ ngủ 0.35mA - Chế độ lượng thấp: 0)) //neu co dk ket thuc du lieu then off display goto exit_dis_1; xuly_1(); } exit_dis_1:; } #include unsigned char dem=0; void move_data() { unsigned int count_luu; ena =1; for(count_luu=0;count_luu3)|(rom_code[1]1; data_timer[91]=(temp/10) data_timer[92]=(temp%10) } GVHD: THS.ĐỒNG SĨ THIÊN CHÂU SVTH: CAO MINH VƯƠNG 57 KHÓA LUẬN TỐT NGHIỆP ĐỀ TÀI: THIẾT KẾ VÀ THI CƠNG BẢNG QUANG BÁO GIAO TIẾP MÁY TÍNH void get_data_timer() { rtc_get_time(&gio,&phut,&giay); data_timer[21]=(gio/10) data_timer[22]=(gio%10); data_timer[29]=(phut/10); data_timer[30]=(phut%10); data_timer[38]=(giay/10); data_timer[39]=(giay%10); rtc_get_date(&ngay,&thang,&nam); data_timer[55]=(ngay/10); data_timer[56]=(ngay%10); data_timer[65]=(thang/10); data_timer[66]=(thang%10); data_timer[73]=(nam/10); data_timer[74]=(nam%10); } B Chương trình VB giao tiếp máy tính Public A As Integer Public B As Integer Public vitri As Byte Dim DEM As Integer Dim i As Integer Dim j As Integer Dim k As Integer Dim matruyen As String Dim matruyen1 As String Dim ii As Integer Dim GUI As Integer Dim NHAN As Boolean ‘ - Private Sub END_Click() Close #1 GVHD: THS.ĐỒNG SĨ THIÊN CHÂU SVTH: CAO MINH VƯƠNG 58 KHÓA LUẬN TỐT NGHIỆP ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO GIAO TIẾP MÁY TÍNH Close #2 End End Sub ‘ -Private Sub EXIT_Click() Close #1 Close #2 End DEM = DEM + If (DEM = 1) Then L3.Visible = True L3.ForeColor = H00FFFF Else If (DEM = 2) Then DEM = L3.Visible = False End If End If End Sub ‘ -Private Sub Form_Load() T2.Visible = False T3.Visible = False Form2.Enabled = False Text2.Visible = False T4.Visible = False Dim S As String CommonDialog1.ShowOpen mofile: S = CommonDialog1.FileName On Error GoTo loi Open S For Random As #1 Len = Len(RC) MsgBox "FILE DA MO", vbOKOnly, "THONG BAO" loi: If Err = 75 Then GVHD: THS.ĐỒNG SĨ THIÊN CHÂU SVTH: CAO MINH VƯƠNG 59 KHÓA LUẬN TỐT NGHIỆP ĐỀ TÀI: THIẾT KẾ VÀ THI CƠNG BẢNG QUANG BÁO GIAO TIẾP MÁY TÍNH baoloi: y = MsgBox("Ban Chua Mo File Bang Tra" & Chr(13) & Chr(10) & "Hay Mo File Bang Tra ", vbOKCancel, "THONG BAO") If y = Then GoTo mofile Else GoTo baoloi End If End If i=1 j=1 MS1.Settings = "9600,N,8,1" MS1.CommPort = MS1.RThreshold = MS1.InputLen = MS1.InputMode = comInputModeText MS1.PortOpen = True End Sub ‘ -Private Sub Form_Unload(Cancel As Integer) Close #1 End Sub ‘ -Private Sub MS1_OnComm() Dim INPUT_DATA As String Dim temp As Integer Dim temp1 As String Dim temp2 As Integer Select Case MS1.CommEvent Case comEvReceive INPUT_DATA = MS1.Input If (INPUT_DATA = Chr(231)) Then Timer4.Enabled = True GUI = matruyen1 = T2.Text GVHD: THS.ĐỒNG SĨ THIÊN CHÂU SVTH: CAO MINH VƯƠNG 60 KHÓA LUẬN TỐT NGHIỆP ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO GIAO TIẾP MÁY TÍNH Text3.Text = "da nhan du lieu" End If End Select End Sub ‘ -Private Sub START_Click() If MS1.PortOpen = False Then MS1.PortOpen = True End If End Sub ‘ -Private Sub STOP_Click() If MS1.PortOpen = True Then MS1.PortOpen = False End If End Sub ‘ -Private Sub Timer1_Timer() Dim c As String Dim d As String Dim i As Integer If B = Then e = Mid(Trim(RC.KYTU), 2, 1) If d = Asc(e) Then T2.Text = T2.Text & Trim(RC.MA) & "h" B=B+1 Exit For End If End If ElseIf Trim(RC.KYTU) = c Then If c "#" Then T2.Text = T2.Text & Trim(RC.MA) & "h" Exit For End If If c = "#" Then Select Case Val(Mid(T1.Text, B + 1, 1)) Case temp = 200 Case temp = 201 Case temp = 202 End Select T2.Text = T2.Text & temp & "h" B=B+2 Exit For End If End If End If Next i If i > LOF(1) \ Len(RC) Then T2.Text = T2.Text & Asc(c) & "h" End If Else Text1.Text = T2.Text Timer1.Enabled = False GVHD: THS.ĐỒNG SĨ THIÊN CHÂU SVTH: CAO MINH VƯƠNG 62 KHÓA LUẬN TỐT NGHIỆP ĐỀ TÀI: THIẾT KẾ VÀ THI CƠNG BẢNG QUANG BÁO GIAO TIẾP MÁY TÍNH MS1.Output = Chr(230) End If B=B+1 End Sub Private Sub Timer3_Timer() Dim temp As String Dim temp1 As String Dim temp2 As String Dim temp3 As String temp = Mid(matruyen1, ii, 1) If ii