Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 12 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
12
Dung lượng
1,15 MB
Nội dung
Năm học 2012 - 2013 ỨNG DỤNG VI ĐIỀU KHIỂN PIC 16F877A TRONG THÍ NGHIỆM VẬT LÍ PHỔ THÔNG Nguyễn Huỳnh Duy Khang (Sinh viên năm 4, Khoa Vật lí) GVHD: HVCH Trần Đặng Bảo Ân, TS Nguyễn Lâm Duy TÓM TẮT Đề tài nêu ứng dụng vi điều khiển nhằm thiết kế thí nghiệm đo đạc thời gian xử lí liệu dùng khảo sát thí nghiệm học thuộc chương trình vật lí trung học phổ thông Không dùng để đo thời gian đến bậc sai số 6.6 10 6 s cách xử lí tín hiệu từ cổng hồng ngoại nam châm điện; thí nghiệm tương tác với người dùng ma trận bàn phím máy tính cá nhân Từ thí nghiệm trở nên động đo đạc tự động xử lí kết nhằm phục vụ cho thí nghiệm kiểm chứng lớp học Từ khóa: vi điều khiển, thí nghiệm học, thí nghiệm kiểm chứng ABSTRACT This project indicates an application of the microcontroller in order to design a set of experiments for time measurement and data processing It is used to study mechanical experiments in the high school physics syllabus The set of experiments is used not only to measure the time to high accuracy of 6.6 10 6 s through signal processing from infrared gate and electromagnet but also to interact with the users through keyboard matrix or personal computer From that point, the set of experiments becomes more mobile in measurement and automatic result processing to serve the experimental vertication in the classroom Keywords: microcontroller, mechanical experiment, experimental vertication Mở đầu Thí nghiệm dạy học vật lí trường phổ thông phương tiện quan trọng có tác dụng to lớn việc giúp học sinh chiếm lĩnh tri thức kĩ Tuy nhiên, điều kiện sở vật chất thiếu thốn, việc lồng ghép thí nghiệm vật lí khó khăn Những thực hành lớp phải theo phân phối chương trình thực tế lại tổ chức thực hành qua loa chuyển sang luyện tập, ôn thi [3] Và vấn đề đặt ra: Làm tự tay tạo thiết bị phục vụ cho việc dạy học tốt hơn, hiệu Nói đến phát triển kĩ thuật đại, đa số hình dung tăng tốc thần kì lĩnh vực điện tử vi tính Mới ngày nào, kết cấu mạch điện cồng kềnh, tất tích hợp thành mảng chuyên dụng mang nhiều chức ngày thông minh, độc đáo [1] Vi điều khiển nằm số đó, từ họ vi điều khiển truyền thống 8051 phát triển thành với 69 Kỉ yếu Hội nghị sinh viên NCKH họ vi điều khiển bit [4], 16 bit [5], [6] hay chí 24 bit [6] với họ vi điều khiển xử lí tốc độ cao Với tính ngày mở rộng, vi điều khiển ngày ứng dụng rộng rãi từ thiết bị cầm tay thiết bị công nghiệp dây chuyền sản xuất tự động, hệ thống đo lường, giám sát, nơi thấy có mặt vi điều khiển Trong báo này, ứng dụng mođun vi điều khiển PIC 16F877A nhằm tạo dụng cụ dùng đo đạc thời gian xử liệu phục vụ cho thí nghiệm chứng minh lớp học Dụng cụ đo xử lí thời gian sử dụng PIC 16F877A Để tạo dụng cụ này, đòi hỏi phải xây dựng bước thành phần điện - điện tử khác kiểm tra hoạt động chúng Proteus, testboard, xây dựng chương trình cho vi điều khiển PIC 16F877A Đây bước quan trọng định đến độ ổn định, tính khả thi thí nghiệm Sau thử nghiệm testboard mô Proteus, sơ đồ mạch Orcard chương trình giao tiếp cho PIC 16F877A với máy tính thiết kế Mạch in gia công, linh kiện hàn kiểm tra hoạt động phận Hình Quá trình thực 2.1 Sơ đồ khối Hình Sơ đồ khối dụng cụ đo xử lí thời gian Sơ đồ khối dụng cụ đo xử lí thời gian thể hình Dụng cụ bao gồm khối chính, vi điều khiến PIC 16F877A khối xử lí trung tâm, khối 70 Năm học 2012 - 2013 lại đóng vai trò phận ngoại vi truyền tín hiệu thông qua điều khiển PIC 16F877A 2.2 Khối xử lí trung tâm Hình Lưu đồ chương trình Đây khối đóng vai trò định cho máy đo xử lí thời gian Khối xử lí trung tâm hay PIC 16F877A có nhiệm vụ nhận thông tin từ thiết bị ngoại vi điều khiển chúng 71 Kỉ yếu Hội nghị sinh viên NCKH Hoạt động PIC 16F877A chịu điều khiển người lập trình qua chương trình viết sẵn nạp cho PIC 16F877A (Code_for_pic_16f877a.ccs) Lưu đồ thuật toán PIC 16F877A thể hình Trong chương trình code_for_pic_16f877a.ccs, PIC 16F877A khởi tạo chế độ I/O cho chân, thiết lập hiển thị LCD giao tiếp RS232 qua cổng COM cho vi điều khiển Sau đó, PIC 16F877A hiển thị thí nghiệm chương trình vật lí trung học phổ thông Tùy vào mục đích sử dụng, người dùng lựa chọn thí nghiệm ứng với thí nghiệm có chương trình tương ứng (con_lac_đơn, roi_tu_do, he_so_ma_sat, cd_thang_deu) 2.3 Bộ định thời Xung đếm tạo nhờ thạch anh điện tử có tần số 20MHz Thạch anh tần số 20MHz tạo cho vi điều khiển chu kì lệnh có tần số 5MHz (1 chu kì lệnh lần chu kì dao động) Sử dụng TIMER chế độ định thời 16 bit, xung đếm 5MHz đưa đến Prescaler (chia 8) cho xung có tần số 0.625MHz Hai ghi TMR1H: TMR1L ghi nhận giá trị xung 0.625MHz sau cạnh xuống giá trị TMR1H:TMR1L tiếp tục tăng sau cạnh lên xung ngõ vào Thanh ghi TMR1H:TMR1L có độ dài 16 bit cho phép đếm tối đa đến giá trị 65535 Nếu vượt giá trị này, TMR1H:TMR1L trả Bằng cách ghi nhận thời điểm xảy tràn số đếm thông qua ngắt tràn Timer1 lưu tổng số lần tràn qua biến m ta thể xác định thời gian t: t ( m 65536 TMR1H : TMR1L) s 0.625 106 Hình Bộ định thời cho PIC 16F877A Như vậy, sử dụng thạch anh điện tử, chức TIMER ngắt báo tràn TIMER1 ta tạo định thời cho PIC 16F877A 2.4 Giao tiếp máy tính Giao tiếp vi điều khiển với máy tính đóng vai trò quan trọng việc thực tương tác người dùng PIC 16F877A Công việc thực nhờ hỗ trợ IC Max – 232 thông qua chuẩn RS232 72 Năm học 2012 - 2013 Hình Giao tiếp RS232 qua IC Mac – 232 Hình giao diện giao tiếp vi điều khiển máy tính viết Visual basic Ngoài chức nhập thông tin bên (1), (2) thay cho ma trận bàn phím, kết thu sau sau tính toán đo đạc (3) lưu dạng file word (4) Hình Giao diện giao tiếp Hình Thí nghiệm lắc đơn với máy tính cho Pic 16F877A dùng giao tiếp máy tính Giao tiếp vi điều khiển máy tính qua chuẩn RS232 không đòi hỏi phức tạp công việc Ngược lại, nhờ hỗ trợ giao tiếp mà người dùng giải nhiều việc công cụ trực quan sinh động cho thí nghiệm vật lí minh họa lớp (hình 7) Đánh giá sai số 73 Kỉ yếu Hội nghị sinh viên NCKH Trong trình xử lí tín hiệu có liên quan đến định thời, vi điều khiển hoạt động mắc sai số Các sai số bao gồm sai số nhớ liệu sai số hệ thống 3.1 Sai số nhớ liệu Trong trình xử lí, vi điều khiển lưu biến thời gian t dạng số thực, kiểu số thực có độ dài liệu 32 bits Cấu trúc kiểu số thực (hình 8) gồm có bits cao lưu giá trị số mũ, bit lưu dấu liệu 23 bits thấp lưu phần định trị Với số mũ 20= 1, giá trị nhỏ phần định trị Như vậy, với giá trị thời gian đo đạc 1s sai số nhớ liệu Trong thí nghiệm học thuộc chương trình vật lí trung học phổ thông thời gian đo không vượt 100 s, sai số nhớ liệu có giá trị lớn Exponent Sign Mantissa eeee eeee s mmm mmmm mmmm mmmm mmmm mmmm bits bit 23 bit Hình Cấu trúc liệu kiểu số thực 32 bits 3.2 Sai số hệ thống 3.2.1 Sai số code lập trình Khi có tín hiệu đưa đến vi điều khiển, PIC 16F877A kích ngắt để lấy giá trị biến m biến xảy số lần tràn biến TMR1H:TMR1L xác định giá trị đếm Timer1 Hai giá trị phục vụ cho công việc xác định thời gian cần đo đạc Như sai số xuất khoảng thời gian từ kích ngắt thời gian PIC 16F877A lấy giá trị hai biến m TMR1H:TMR1L Hình Sai số code lập trình 3.2.2 Sai số tín hiệu hồng ngoại ngắt nam châm điện Hình 10 Đánh giá sai số lí thuyết 74 Hình 11 Kiểm tra sai số Năm học 2012 - 2013 Khi có tín hiệu từ cảm biến hồng ngoại hay ngắt nam châm điện, định thời bắt đầu hoạt động cách tăng giá trị TMR1H: TMR1L sau lần có cạnh tác động xảy Sai số mắc phải tín hiệu đưa đến cạnh tác động cho TMR1H: TMR1L chưa đồng bộ: tín hiệu đến không thời điểm mà xung đếm cạnh lên (hình 10) Sai số hệ thống gây cho vi điều khiển độ trễ làm việcvà độ trễ không thay đổi đo giá trị thời gian khác Bằng cách sử dụng máy phát dao động cấp cho vi điều khiển PIC 16F877A, sai số hệ thống xác định vào khoảng 6.6 10 6 s Trong thí nghiệm vật lí phổ thông, sai số yêu cầu 10 -3s Như vậy, định thời chấp nhận 3.3 Sai số máy đo thời gian số MC – 964 So sánh kết với máy đo thời gian gian số MC – 964, sử dụng tạo xung tần số Hz từ máy phát dao động đưa vào máy MC – 964 chế độ đo chu kì (hình 12) Hình 12 Đồ thị so sánh sai số tỉ đối máy đo thời gian số MC – 964 máy đo xử lí thời gian sử dụngPIC 16F877A Bảng Kết đo tần số 2Hz MC –964 Chu kì chuẩn T = 1s STT Số chu kì t (s) T(s) T(s) (n) 1 0,99 0,990 0,010 7,98 0,998 0,002 16 15,97 0,998 0,002 24 23,96 0,998 0,002 32 31,95 0,998 0,002 Chu kì đo: T = 0,9964 0,0036 s Sai số tỉ đối: = 0,36% 75 Kỉ yếu Hội nghị sinh viên NCKH Máy đo thời gian số MC - 964 mắc sai số lớn (1%) với số chu kì đo nhỏ (n[...]... Từ những kiến thức cơ bản về điện – điện tử và vi điều khiển, chúng tôi đã thiết kế được dụng cụ đo và xử lí thời gian dùng vi điểu khiển PIC 16F877A có độ chính xác cao hơn so với đồng hồ đếm thời gian hiện số MC – 964 đang đuợc sử dụng tại các phòng thí nghiệm vật lí phổ thông Dụng cụ đo và xử lí thời gian dùng PIC 16F877A có khả năng làm vi c và xử lí kết quả thu được dựa vào nguồn code nạp sẵn... tăng tính tự động cho thiết bị Đây là dụng cụ giúp tối ưu hóa các bài thí nghiệm minh họa trên lớp Ngoài ra, dụng cụ đo và xử lí thời gian dùng PIC 16F877A có khả năng loại nhiễu tốt nhờ vào hệ thống code bẫy lỗi, tạo độ tin cậy cao trong quá trình đo đạc và tính toán Dụng cụ đo và xử lí thời gian dùng vi điểu khiển PIC 16F877A chỉ dừng lại trong đo đạc các bài thí nghiệm cơ học đơn giản dùng đến cổng... triển theo hướng mở rộng cho các thí nghiệm quang học, điện học cùng nhiều thí nghiệm khác trong chương trình vật lí trung học phổ thông 79 Kỉ yếu Hội nghị sinh vi n NCKH TÀI LIỆU THAM KHẢO 1 Đỗ Thanh Hải, Ngô Thanh Hải (2003), Nguyên lí căn bản và ứng dụng mạch điện tử, Nxb Thanh niên 2 Trần Đặng Bảo Ân (2011), Xây dựng bộ thí nghiệm khảo sát chuyển động của vật dưới tác dụng của trọng trường, luận văn... đề sử dụng thiết bị thí nghiệm vật lí trong trường phổ thông thực trạng và giải pháp”, Tạp chí thiết bị giáo dục, số 61 4 Martin P.Bates (2007), “Programming 8-Bit PIC Microcontroller in C with interactive Hardware Simulation”, Newnes, UK 5 Lucio Di Jasio (2007), Programming 16-Bit PIC Microcontroller in C Learning to Fly the PIC2 4, Elsevier, USA 6 Microchip Technology (2003), “Microchip PIC1 6F877A... đo thời gian hiện số MC – 964 và máy đo và xử lí thời gian sử dụng PIC 16F877A Nhận xét: Do máy MC - 964 mắc sai số lớn khi đo thời gian ngắn (thời gian vi n chắn cổng quang điện) và độ chính xác càng cao khi đo thời gian càng lớn nên giá trị vận tốc tức thời đo được ở hai máy có sự chênh lệch khá rõ ở đồ thị hình 15a Trong khi đó, do đo vận tốc trung bình trong thời gian tương đối lớn nên kết quả hai