Mình làm đề tài đo và điều khiện nhiệt độ dùng VĐK ATMega16 giao tiếp với máy tính. Vì không có thời gian nghiên cứu về Atmega nên nhờ mọi người giúp đỡ để mình nộp khóa luận vào cuối tháng này.
*** Dùng cặp nhiệt điện đo đưa tín hiệu analog vào PA0 (ADC0) với hệ số là 25mV/oC, sử dụng chế độ ADC 10 bit, Vref là +5V, khoảng đo là 0 đô (0V) đến 200 độ (5V)
*** Hiển thị giá trị đo ra LED7 đoạn và truyền giá trị này lên máy tính
*** Bàn phím 5 nút nhấn: nút MODE, sang trái, sang phải, tăng, giảm để đặt giá trị điều khiển --> hiện lên led 7 đoạn và truyền lến máy tính
*** Dùng VB6.0 viết giao diện và diều khiển PID cho tải dùng PWM
Mình không biết cách giải quyết và không hiểu ở những điểm sau:
--- Nếu dùng Vref=5V --> độ phần giải là 5V/(2^10-1)=4.88mV~5mV~0.2 độ C
Vin=0V (@0 độ C) --> ADC=0
Vin=5V (@200 độ C) --> ADC=1023
Vậy nếu nhiệt độ hiện tại là 200 đô tức ADC=1023 --> Temp=1023*0.2=204.6 độ --> sai số tới 4 độ. vậy có cách nào để giảm sai số này không. Mình cần một đoạn code sử dụng ICC để lấy giá trị ADC
---- Mình gắn nút nhấn mode (tín hiệu đặt nhiệt độ và LED 7 đoạn đầu tiên sẽ nhấp nháy) vào ngõ vào ngắt INT1 (PD3), còn các nút nhấn còn lại gắn vào các lối vào khác mà không phải lối vào INT2,3 được không? và cách truyền nhiệt độ đặt này lên máy tính như thế nào, có nhất thiết phải ghi giá trị này vào eprom để truyền lên máy tính không?
---- Để dùng VB truyền thông giữa máy tính và VDK thì mình phải khai báo Uart phải không? và cách đưa dữ liệu nhiệt độ đo được và nhiệt độ đặt của bàn phím lên máy tính trên giao diên của VB như thế nào? Có cần phải đồng bộ 2 tín hiệu này không? Cách chọn kênh đưa lên như thế nào?
---- Dùng VB để điều khiển PID cho tải theo PWM thì có phải viết code VB như thế nào?
Rất mong nhận được sự giúp đỡ nhiệt tình của mọi người.
*** Dùng cặp nhiệt điện đo đưa tín hiệu analog vào PA0 (ADC0) với hệ số là 25mV/oC, sử dụng chế độ ADC 10 bit, Vref là +5V, khoảng đo là 0 đô (0V) đến 200 độ (5V)
*** Hiển thị giá trị đo ra LED7 đoạn và truyền giá trị này lên máy tính
*** Bàn phím 5 nút nhấn: nút MODE, sang trái, sang phải, tăng, giảm để đặt giá trị điều khiển --> hiện lên led 7 đoạn và truyền lến máy tính
*** Dùng VB6.0 viết giao diện và diều khiển PID cho tải dùng PWM
Mình không biết cách giải quyết và không hiểu ở những điểm sau:
--- Nếu dùng Vref=5V --> độ phần giải là 5V/(2^10-1)=4.88mV~5mV~0.2 độ C
Vin=0V (@0 độ C) --> ADC=0
Vin=5V (@200 độ C) --> ADC=1023
Vậy nếu nhiệt độ hiện tại là 200 đô tức ADC=1023 --> Temp=1023*0.2=204.6 độ --> sai số tới 4 độ. vậy có cách nào để giảm sai số này không. Mình cần một đoạn code sử dụng ICC để lấy giá trị ADC
---- Mình gắn nút nhấn mode (tín hiệu đặt nhiệt độ và LED 7 đoạn đầu tiên sẽ nhấp nháy) vào ngõ vào ngắt INT1 (PD3), còn các nút nhấn còn lại gắn vào các lối vào khác mà không phải lối vào INT2,3 được không? và cách truyền nhiệt độ đặt này lên máy tính như thế nào, có nhất thiết phải ghi giá trị này vào eprom để truyền lên máy tính không?
---- Để dùng VB truyền thông giữa máy tính và VDK thì mình phải khai báo Uart phải không? và cách đưa dữ liệu nhiệt độ đo được và nhiệt độ đặt của bàn phím lên máy tính trên giao diên của VB như thế nào? Có cần phải đồng bộ 2 tín hiệu này không? Cách chọn kênh đưa lên như thế nào?
---- Dùng VB để điều khiển PID cho tải theo PWM thì có phải viết code VB như thế nào?
Rất mong nhận được sự giúp đỡ nhiệt tình của mọi người.
Comment