Nghiên cứu thiết kế chế tạo bộ đo chi phí nhiên liệu điều khiển điện tử cho phòng thí nghiệm Bộ môn Động lực

Chương 1: Khái quát chung về đo chi phí nhiên liệu trong thực nghiệm động cơ đốt trong (Từ 15/09/2009 đến 5/10/2009) Chương 2: Lựa chọn các phương án đo chi phí nhiên liệu (Từ 06/10/2009 đến 15/11/2009) Chương 3: Thiết kế chế tạo ( Từ16/11/2009 đến 10/12/2009 ) Chương 4: Kết luận và đề xuất ý kiến (Từ 11/10/2009 đến 18/12/2009 )

doc86 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2736 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Nghiên cứu thiết kế chế tạo bộ đo chi phí nhiên liệu điều khiển điện tử cho phòng thí nghiệm Bộ môn Động lực, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
t thí nghiệm (6). Theo cách 2: theo cách này, van ba ngã (5) được đưa về vị trí 2 (VT2) nhiên liệu được cung cấp từ két thí nghiệm (6) vào động cơ. Sau khi nhiên liệu đi vào động cơ lượng nhiên liệu hồi sẽ được đưa trở lại két thí nghiệm theo đường dầu hồi (10). Dựa vào mức nhiên liệu trong két thí nghiệm hiển thị trên cân (7) mà ta có thể xác lập lượng nhiên liệu tiêu thụ của động cơ khi kết hợp với đồng hồ bấm giây. Ưu nhược điểm: Ưu điểm: Đơn giản dễ vận hành. Lắp đặt thuận tiện. Nhược điểm: Việc vận hành và đo đạc các thông số đòi hỏi người vận hành phải có mặt trực tiếp trong phòng động cơ. Không thể tự động hóa các giai đoạn được. Phụ thuộc rất nhiều vào độ chính xác của cân đo và người đọc thông số. Vẫn phải sử dụng đồng hồ và đo thời gian bằng phương pháp thủ công dẫn đến nhiều sai lệch. Để đơn giản trong điều khiển người ta lấy thêm các thiết bị điều khiển từ xa là van điều khiển điện từ: Sơ đồ nguyên lý: H.2-2: Sơ đồ nguyên lý đo mức tiêu hao nhiên liệu theo khối lượng van điều khiển điện từ Trong đó: 1: két dự trữ nhiên liệu 6: két thí nghiệm 2: đường cấp nhiên liệu 7: cân đo nhiên liệu 3: két nhiên liệu hằng ngày 8: đường cấp nhiên liệu cho máy 4: van khóa 9: động cơ 5: van ba ngã điều khiển điện từ 10: đường dầu hồi Nguyên lý hoạt động: Nhiên liệu được bơm cấp lên két trực nhật (3) theo đường dẫn (2). Tại đây nhiên liệu đi vào động cơ(9) theo hai cách sau (van khóa đã mở) : Theo cách 1: theo cách này, van ba ngã (5) được cấp điện nhiên liệu vừa cung cấp cho động cơ (9) vừa cung cấp cho két thí nghiệm (6). Theo cách 2: theo cách này, van ba ngã (5) không nhận được điện nhiên liệu được cấp từ két thí nghiệm (6) vào động cơ. Sau khi nhiên liệu đi vào động cơ lượng nhiên liệu hồi sẽ được đưa trở lại két thí nghiệm theo đường dầu hồi (10). Dựa vào mức nhiên liệu trong két thí nghiệm hiển thị trên cân (7) mà ta có thể xác lập lượng nhiên liệu tiêu thụ của động cơ khi kết hợp với đồng hồ bấm giây. Ưu nhược điểm: Ưu điểm: Đơn giản dễ vận hành. Lắp đặt thuận tiện. Có thể tự động hóa được một số khâu. Giảm được thời gian có mặt trong phòng máy. Nhược điểm: Phải thiết kế lắp đặt hệ thống điện sao cho hợp lý. Phụ thuộc rất nhiều vào độ chính xác của cân đo và người đọc thông số. 2.1.2. Phương án đo mức tiêu hao nhiên liệu theo thể tích. a) Phương án đo mức tiêu hao nhiên liệu của trường Học Viện Hải Quân : Sơ đồ nguyên lý: H. 2-3: Sơ đồ nguyên lý đo mức tiêu hao nhiên liệu của trường Học Viện Hải Quân. Trong đó : 1 : két nhiên liệu 5: đường cấp dầu 2, 4 : van khóa 6: động cơ 3 : ống thủy 7: đường dầu hồi Nguyên lý hoạt động: Trước khi khởi động máy và tiến hành đo đạc ta đổ nhiên liệu vào két (1) và mở các van khóa ( 2, 4) sao cho mức nhiên liệu chỉ vạch cao nhất (hoặc vạch dễ nhận biết nhất) trong ống thủy (3). Khi khởi động và tiến hành đo đạc ta quan sát mức nhiên liệu trong ống thủy kết hợp với đồng hồ bấm giây ta được mức tiêu hao nhiên liệu. Ưu nhược điểm : Ưu điểm : Đơn giản , dễ lắp đặt. Giá thành không cao. Vận hành đơn giản. Nhược điểm : Đòi hỏi phải có người trực tiếp vận hành máy và đo đạc các thông số ngay trong buồng máy. Các thông số đo được thiếu chính xác. Không có sự khắc phục hiện tượng giãn nở vì nhiệt của nhiên liệu sau khi đã qua động cơ. Việc bố trí két nhiên liệu như vậy sẽ làm tổn hao nhiều công sức trong công tác chuẩn bị. Vẫn phải sử dụng đồng hồ và đo thời gian bằng phương pháp thủ công dẫn đến nhiều sai lệch. b) Phương án đo mức tiêu hao nhiên liệu theo thể tích: Sơ đồ nguyên lý: H.2-4: Sơ đồ nguyên lý đo mức tiêu hao nhiên liệu theo thể tích Trong đó: 1: két dự trữ nhiên liệu 6: két thí nghiệm kiểu thể tích 2: đường cấp nhiên liệu 7: bình làm mát dầu hồi 3: két nhiên liệu hằng ngày 8: đường cấp nhiên liệu cho máy 4: van khóa 9: động cơ 5: van ba ngã điều khiển tay 10: đường dầu hồi Nguyên lý hoạt động: Nhiên liệu được bơm cấp lên két trực nhật (3) theo đường dẫn (2). Tại đây nhiên liệu đi vào động cơ (9) theo hai cách sau (van khóa đã mở) : Theo cách 1: theo cách này, van ba ngã (5) được đưa về vị trí 1 (VT1) nhiên liệu vừa cung cấp cho động cơ (9) vừa cung cấp cho két thí nghiệm (6). Theo cách 2: theo cách này, van ba ngã (5) được đưa về vị trí 2 (VT2) nhiên liệu được cung cấp từ két thí nghiệm (6) vào động cơ. Sau khi nhiên liệu đi vào động cơ lượng nhiên liệu hồi sẽ được đưa trở lại két thí nghiệm theo đường dầu hồi (10). Để khắc phục tình trạng giãn nở vì nhiệt của nhiên liệu sau khi qua động cơ ta bố trí trên đường dầu hồi một bộ phận làm mát nhiên liệu trước khi về két thí nghiệm. Dựa vào mức nhiên liệu trong két thí nghiệm (6) mà ta có thể xác lập lượng nhiên liệu tiêu thụ của động cơ khi kết hợp với đồng hồ bấm giây. Nguyên lý của bộ báo mức nhiên liệu theo thể tích được thể hiện như sơ đồ sau: H.2-5: Sơ đồ nguyên lý hệ thống hiển thị mức nhiên liệu trong két thí nghiệm. Trong đó: 1, 2: nam châm điện 7: biến trở 3: tấm sắt (được gắn với kim hiển thị) 8: phao 4: kim hiển thị 5, 6, 10, 11: các đầu mối Nguyên lý hoạt động: Khi mức nhiên liệu trong két đầy phao nổi (8) đến vị trí cao nhất , do được gắn với kim của biến trở (7) nên điện trở sẽ chỉ vị trí có điện trở bằng “0” khi đó cường độ dòng điện qua hai nam châm điện bằng nhau dẫn tới điện từ tác dụng lên lá sắt bằng nhau và kim chỉ số “0”. Khi mức nhiên liêu trong bình giảm đi biến trở sẽ dịch chuyển lần lên phía trên khi ấy điện trở của biến trở tăng, cường độ dòng điện qua nam châm điện số (2) giảm đi và có sự chênh lệch cường độ dòng điện giữa hai nam châm , do vậy kim sẽ lệch về phía nam châm (1). Dựa vào số chỉ của kim hiển thị mà ta biết được mức tiêu thụ nhiên liệu theo thể tích của động cơ. Ưu nhược điểm: Ưu điểm: Đơn giản dễ vận hành. Lắp đặt thuận tiện. Thông số đo được có tính chính xác cao. Nhược điểm: Việc vận hành và đo đạc các thông số đòi hỏi người vận hành phải có mặt trực tiếp trong phòng động cơ. Không thể tự động hóa các giai đoạn được . Cần phải tính toán thiết kế lắp đặt hệ thống làm mát dầu hồi. Vẫn phải sử dụng đồng hồ và đo thời gian bằng phương pháp thủ công dẫn đến nhiều sai lệch. Để đơn giản trong điều khiển người ta lấy thêm các thiết bị điều khiển từ xa là van điều khiển điện từ: Sơ đồ nguyên lý: H.2-6: Sơ đồ nguyên lý đo mức tiêu hao nhiên liệu theo thể tích van điều khiển điện từ Trong đó: 1: két dự trữ nhiên liệu 6: két thí nghiệm kiểu thể tích 2: đường cấp nhiên liệu 7: bình làm mát dầu hồi 3: két nhiên liệu hằng ngày 8: đường cấp nhiên liệu cho máy 4: van khóa 9: động cơ 5: van ba ngã điều khiển điện từ 10: đường dầu hồi Nguyên lý hoạt động: Nhiên liệu được bơm cấp lên két trực nhật (3) theo đường dẫn (2). Tại đây nhiên liệu đi vào động cơ (9) theo hai cách sau (van khóa đã mở) : Theo cách 1: theo cách này, van ba ngã (5) được cấp điện nhiên liệu vừa cung cấp cho động cơ (9) vừa cung cấp cho két thí nghiệm (6). Theo cách 2: theo cách này, van ba ngã (5) không nhận được điện nhiên liệu được cấp từ két thí nghiệm (6) vào động cơ. Sau khi nhiên liệu đi vào động cơ lượng nhiên liệu hồi sẽ được đưa trở lại két thí nghiệm theo đường dầu hồi (10) qua bộ làm mát dầu (7). Dựa vào mức nhiên liệu trong két thí nghiệm(6) mà ta có thể xác lập lượng nhiên liệu tiêu thụ của động cơ khi kết hợp với đồng hồ bấm giây. Ưu nhược điểm: Ưu điểm: Đơn giản dễ vận hành. Lắp đặt thuận tiện. Thông số đo được có tính chính xác cao. Có thể tự động hóa được một số khâu. Có thể cách ly với phòng máy trong thời gian vận hành đo đạc. Nhược điểm: Phải thiết kế lắp đặt hệ thống điện sao cho hợp lý. Cần phải tính toán thiết kế lắp đặt hệ thống làm mát dầu hồi. Vẫn phải sử dụng đồng hồ và đo thời gian bằng phương pháp thủ công dẫn đến nhiều sai lệch. Đối với phương pháp đo chi phí nhiên liệu theo kiểu này thì giá trị của bộ đo phụ thuộc rất nhiều giá trị của biến trở R (7). Không có gì chắc chắn rằng giá trị đo không sai sót trong quá trình làm việc do: Áp lực thay đổi khi phao dịch chuyển làm khả năng tiếp xúc kém đi. Do mật độ tiếp xúc của biến trở bị bụi bẩn bám vào. Thông thường để đảm bảo độ tin cậy của thiết bị đo người ta tráng lên bề mặt tiếp xúc của biến trở một lớp kim loại quý, có điện trở tiếp xúc rất bé (vàng). Vì vậy, biến trở này rất khó chế tạo trong thực tế, nếu chế tạo được thì giá thành cũng rất cao. Do đó không phù hợp để bố trí trong phòng thí nghiệm. 2.1.3. Phương án đo mức tiêu hao nhiên liệu phối hợp giữa kiểu đo thể tích với đo khối lượng : Sơ đồ nguyên lý: H.2-7: Sơ đồ nguyên lý đo mức tiêu hao nhiên liệu phối hợp giữa kiểu đo thể tích với đo khối lượng Trong đó : 1: két dự trữ nhiên liệu 7: đường cấp nhiên liệu cho máy 2: đường cấp nhiên liệu 8: động cơ 3: két nhiên liệu hằng ngày 9: đường dầu hồi 4: van khóa 10: đòn gánh 5: van ba ngã điều khiển điện từ 11: đối trọng vỏ bình 6: két thí nghiệm 12: đối trọng thủy lực Nguyên lý hoạt động: Nhiên liệu được bơm cấp lên két hằng ngày (3) theo đường cấp (2). Từ két hằng ngày (3) nhiên liệu được cung cấp vào két thí nghiệm (6) và động cơ (8) (khi van điện từ nhận được tín hiệu điện ) và ngừng cấp nhiên liệu khi van điện từ không nhân được tín hiệu điện.Nhờ hệ thống đòn bẩy mà ta có thể xác định được lượng tiêu thụ nhiên liệu của động cơ. Sau khi nhiên liệu qua động cơ lượng dầu hồi sẽ trở về ngay két thí nghiệm mà không qua thiết bị nào. Sơ đồ nguyên lý của thiết bị đo H.2-8: Sơ đồ nguyên lý bộ đo mức tiêu hao nhiên liệu Khi mức nhiên liệu trong két thí nghiệm (Measuring vessel) đầy, piston của đối trọng kiểu thủy lực (Hydraulic damping device) đi lên phía trên, lượng chất lỏng đi vào đối trọng khối lượng , đối trọng tăng lên tác dụng lên đòn gánh (Measuring beam) trở lại trạng thái cân bằng. Trạng thái cân bằng được xác định bằng đầu cảm biến (Capacitive sensor) khi nó chỉ vạch số “0”. Đồng thời lúc ấy người ta xác định mức chất lỏng của bình chứa cấp cho đối trọng. Khi vận hành động cơ và tiến hành đo đạc mức nhiên liệu trong két thí nghiệm giảm xuống, đồng thời để cân bằng đòn gánh thì mức chất lỏng trong đối trọng cũng giảm theo. Lượng chất lỏng giảm đi ấy được trở về bình chứa. Tùy thuộc vào mức chất lỏng của bình chứa và đồng hồ bấm giây ta xác định được mức tiêu hao nhiên liệu. thông qua thể tích chất lỏng của đối trọng dư ra sau khi thí nghiệm ở chế độ tương ứng. Do chất lỏng cấp cho đối trọng có tính ổn định vì không tham gia trao đổi nhiệt nên không chịu tác động của nhiệt độ , đồng thời đã biết khối lượng riêng của nó nên ta hoàn toàn xác định được khối lượng nhiên liệu tiêu thụ. Ưu nhược điểm : Ưu điểm: Độ chính xác cao hơn các phương pháp trước đó. Khả năng tự động hóa cao. Nhược điểm: Khó chế tạo do kết cấu của thiết bị có nhiều chi tiết phức tạp, do đó nếu mua thì giá thành thiết bị cao. Do độ chính xác cao nên đòi hỏi quá trình đo đạc phải cẩn thận. Vẫn phải sử dụng đồng hồ và đo thời gian bằng phương pháp thủ công dẫn đến nhiều sai lệch. 2.2. Phân tích lựa chọn phương án: Việc tính toán lựa chọn phương án là một khâu quan trọng trong toàn bộ quá trình thiết kế. Trong lựa chọn, thông thường người ta lựa chọn theo những tiêu chí sau: Chỉ tiêu kinh tế: theo tiêu chí này việc phân tích lựa chọn phải ưu tiên giá thành thiết bị làm mục tiêu đề tài. Chỉ tiêu thẩm mỹ: với chỉ tiêu này trong quá trình tính toán thiết kế ta phải có sự phối hợp giữa lắp đặt thiết bị, tổng thể không gian chứa thiết bị, không gian vận hành và sửa chữa thiết bị. Chỉ tiêu sử dụng: việc tính toán thiết kế, lựa chọn phương án phải đảm bảo tính sử dụng lâu dài, vận hành, đo đạc dễ dàng. Phương án phải áp dụng được sự phát triển của công nghệ, kỹ thuật. Ngoài ra, còn có thể khắc phục, sửa chữa thiết bị khi gặp sự cố bất trắc. Ưu – nhược điểm phương án trên: Ưu điểm: Vận hành đơn giản. Kết cấu nhỏ gọn. Nhược điểm: Giá thành thiết bị tương đối cao. chính xác không cao, sai số còn lớn Khả năng tự động thấp Áp dụng sự phát triển của công nghệ và kỹ thuật chưa cao Qua một số chỉ tiêu nói trên và ưu nhược điểm của các phương án đã nêu tôi đề xuất phương án : Xây dựng bộ đo chi phí nhiên liệu theo phương pháp đo mức điều khiển bằng thiết bị điện tử. Ưu – nhược điểm so với phương án khác. Ưu điểm: So với phương án khác phương án này có độ chính xác rất cao. Khả năng tự động hóa cao. Vận hành đơn giản. Kết cấu nhỏ gọn. Áp dụng được sự phát triển của công nghệ và kỹ thuật. Nhược điểm: Giá thành thiết bị tương đối cao. So với một số trang thiết bị hiện đại thì phương án này vẫn còn sai số. CHƯƠNG 3 THIẾT KẾ CHẾ TẠO BỘ ĐO CHI PHÍ NHIÊN LIỆU 3.1. Yêu cầu kỹ thuật và nhiệm vụ của bộ đo chi phí nhiên liệu Yêu cầu kỹ thuật Thiết bị phải hoạt động ổn định, không mắc những sai sót trong quá trình sử dụng. Thiết bị phải đơn giản, gọn nhẹ, tháo lắp dễ dàng. Tốc độ xử lý nhanh, chính xác. Dễ sử dụng. Có khả năng kết nối với máy tính để thu thập dữ liệu Thông số hiển thị bao gồm : Lượng tiêu thụ nhiên liệu. Thời gian bắt đầu và kết thúc hoạt động của động cơ. Có khả năng chống nhiễu trong quá trình hoạt động. Nhiệm vụ của thiết bị. Nhiệm vụ của bộ đo chi phí nhiên liệu là kiểm tra, theo dõi lượng tiêu hao nhiên liệu của động cơ Nội dung : Thiết kế hệ thống chung. Thiết kế chế tạo cơ cấu đo theo phương pháp đo mức. Thiết kế chế tạo mạch điều khiển điều khiển điện tử cho hệ thống. 3.2. Sơ đồ nguyên lý hệ thống đo chi phí nhiên liệu điều khiển bằng điện tử. H.3-1: Phương án đo mức tiêu hao nhiên liệu bằng thiết bị điện tử. Trong đó : 1: két dự trữ nhiên liệu 7: két thí nghiệm 2: đường cấp nhiên liệu 8: đường cấp nhiên liệu cho máy 3, 4, 5: van điều khiển điện từ 9: đường dầu hồi 6: đường cấp nhiên liệu cho két thí nghiệm 10: đường dầu hồi 11: van ba ngã điều khiển điện từ Nguyên lý hoạt động: Nhiên liệu từ két hằng ngày (1) theo đường dẫn(2) vào két thí nghiệm theo đường dẫn (6) ( khi van điều khiển từ 3, 4 mở ; van từ 5 đóng). Và nhiên liệu đi vào động cơ(9) theo đường dẫn (8) ( khi van từ 4, 5 mở ; van từ 3 đóng). Và khi không cần đo mức tiêu hao nhiên liệu thì nhiên liệu từ két hằng ngày sẽ đưa xuống động cơ (9) qua van từ 3, 5. Sau khi nhiên liệu đi vào động cơ lượng nhiên liệu hồi sẽ được đưa trở lại két thí nghiệm theo đường dầu hồi(10) qua van ba ngã điều khiển điện từ (11) . Dựa vào mức nhiên liệu trong két thí nghiệm(6) mà ta có thể xác lập lượng nhiên liệu tiêu thụ của động cơ. 3.3. Thiết kế chế tạo cơ cấu đo cho bộ đo chi phí nhiên liệu. Để xác định quãng đường dịch chuyển của chất lỏng trong két chứa ta có thể sử dụng các phương pháp sau: Dùng cảm biến khoảng cách. Sử dụng encoder. Đối với việc sử dụng cảm biến khoảng cách thì yêu cầu mặt phản xạ phải phản quang tốt. Tuy nhiên mặt chất lỏng ở đây có sự dao động làm tín hiệu về bị sai lệch. Hơn nữa, bảm biến khoảng cách rất khó tìm trên thị trường và nếu tìm được thì giá thành cũng rất cao nên phương án này không được sử dụng. Còn đối với phương án sử dụng encoder thì encoder là cảm biến đo góc khá phổ biến trên thị trường, giá thành cũng không cao và đo cũng chính xác. Trong việc xây dựng bộ đo chi phí nhiên liệu, từ góc quay đo được ta dễ dàng tính được khoảng dịch chuyển của chất lỏng trong két chứa theo công thức sau: Trong đó: α : là góc quay đo được R : là bán kính Puli Vì vậy, tôi chọn phương án sử dụng encoder. Sơ đồ nguyên lý của thiết bị đo H.3-2: Sơ đồ nguyên lý hệ thống hiển thị mức nhiên liệu trong két thí nghiệm. Trong đó : 1: cảm biến đo góc (encoder) 4: bộ điều khiển trung tâm ECU 2: phao 5: thiết bị hiển thị LCD 3: Puli Khi vận hành động cơ mức nhiên liệu trong két thí nghiệm giảm xuống, phao trong két thí nghiệm chuyển động xuống làm quay encoder. Tín hiệu encoder nhận được chuyển về khối điều khiển trung tâm ECU. Qua xử lý, lượng tiêu hao nhiên liệu và thời gian vận hành động cơ sẽ được xuất ra thiết bị hiển thị LCD. Nhìn vào thiết bị hiển thị LCD ta biết được tiêu hao nhiên liệu. Chọn Encoder. Do yêu cầu về lượng nhiên liệu tiêu thụ tại phòng thí nghiệm, số xung của encoder đang có trên thị trường và giá thành của nó. Hơn nữa trong phạm vi nghiên cứu chế tạo bộ đo chi phí nhiên liệu cho phòng thí nghiệm nhằm phục vụ nhu cầu giảng dạy của giảng viên và sinh viên nên tôi chọn Encoder với số xung là 300 xung. Tính chọn két thí nghiệm Dựa vào số xung của encoder và yêu cầu của bài toán là tính toán két thí nghiệm sao cho cung cấp đủ lượng nhiên liệu tối thiểu trong thời gian vận hành ở chế độ tối đa là 2 phút. Ta lấy thể tích két thí nghiệm là 4 lít với kích thước bao là: L x B x H = 0,1x 0,1x 0,4 (m). H.3-3: Két thí nghiệm. Tính đường kính Puli, đường kính phao. Dựa vào số xung của encoder, thùng chứa nhiên liệu và lực ma sát sinh ra tại các rồng rọc ta chọn đường kính puli là 1,2 cm và đường kính phao 5,4 cm Nếu chọn đường kính puli lớn sẽ giảm được lực ma sát tại các rồng rọc và lúc đó cũng phải chọn encoder có số xung lớn hơn rất nhiều. Nếu chọn đường kính puli nhỏ quá thì lực ma sát tại các puli sẽ lớn làm giảm khả năng dịch chuyển của phao. Nhằm giảm sự dao động nhiên liệu trong két chứa, tôi đã lắp với đường kính là 6 cm. Với ống tròn này sẽ cho phao dịch chuyển trong ống. H.3-4: Cơ cấu đo của bộ đo chi phí nhiên liệu. Trong đó: 1 : phao. 2 : ống tròn giảm dao động. 3 : chì để giảm trọng tâm phao 4 : puli. 3.4. Thiết kế chế tạo mạch điều khiển điện tử. 3.4.1. Sơ đồ khối của thiết bị đo chi phí nhiên liệu. Encoder Bộ phím nhấn Công tắt hành trình Khối điều khiển trung tâm ECU Điều khiển Rơle Van từ Thiết bị hiển thị LCD H.3-5:Sơ đồ khối của thiết bị đo chi phí nhiên liệu. 3.4.2. Nguyên lý làm việc của từng khối. a) Khối encoder. Encoder mục đích dùng để quản lý vị trí góc của một đĩa quay, đĩa quay có thể là bánh xe, trục động cơ, hoặc bất kỳ thiết bị quay nào cần xác định vị trí góc. Khi lượng nhiên liệu trong két giảm làm phao dịch chuyển và làm quay encoder. Encoder quay tạo ra tín hiệu và truyền về vi xử lý. H.3-6: Sơ đồ nguyên lý hoạt động của encoder. Nguyên lý cơ bản của encoder, đó là một đĩa tròn xoay, quay quanh trục. Trên đĩa có các lỗ (rãnh). Người ta dùng một đèn led để chiếu lên mặt đĩa. Khi đĩa quay, chỗ không có lỗ (rãnh), đèn led không chiếu xuyên qua được, chỗ có lỗ (rãnh), đèn led sẽ chiếu xuyên qua. Khi đó, phía mặt bên kia của đĩa, người ta đặt một con mắt thu. Với các tín hiệu có, hoặc không có ánh sáng chiếu qua, người ta ghi nhận được đèn led có chiếu qua lỗ hay không.Khi trục quay, giả sử trên đĩa chỉ có một lỗ duy nhất, cứ mỗi lần con mắt thu nhận được tín hiệu đèn led, thì có nghĩa là đĩa đã quay được một vòng. Ở bộ đo chi phí nhiên liêu này tôi sử dụng encoder MG-SV02 do Nhật sản xuất: H.3-7: Encoder MG-SV02 H.3-8: Sơ đồ mạch encoder. b) Bộ phím nhấn. H.3-8: Bộ phím nhấn. Bộ phím nhấn là nơi nhận lệnh trực tiếp từ người điều khiển và truyền về vi xử lý. Reset : thiết lập lại trạng thái ban đầu trước khi đo. Measure : là nút nhấn khi cần đo lượng tiêu hao nhiên liệu. Run: khi chạy động cơ mà không cần đo lượng tiêu hao nhiên liệu. Fill: là nút nhấn khi cần nạp nhiên liệu vào két thí nghiệm. H. 3-9. Sơ đồ mạch phím nhấn. c) Công tắc hành trình. H.3-9: Công tắc ánh sáng Khi nhiên liệu trong két thí nghiệm đầy, công tắc ánh sáng sẽ tạo ra xung và truyền về vi xử lý, lúc này các van từ sẽ đóng lại, do đó nhiên liệu nạp vào két thí nghiệm sẽ được ngắt. d) Thiết bị hiển thị LCD. Sau khi nhận tín hiệu từ encoder, qua xử lý kết quả sẽ được xuất ra thiết bị hiển thị LCD. H.3-10: Sơ đồ mạch LCD. e) Khối điều khiển rơle. Khi được nhận tín hiệu từ vi điều khiển thì khối điều khiển rơle sẽ đóng hoặc mở các tiếp điểm làm đóng hoặc mở các van từ. H.3-10: Khối điều khiển role. H.3-11: Sơ đồ mạch khối rơle. 3.2.2. Vi điều khiển. Vi điều khiển là 1 lĩnh vực khá lý thú đối với chuyên ngành Điện tử-Viễn thông. Cùng với sự phát triển của ngành điện tử thì nhiều họ vi điều khiển lần lượt được các hãng sản xuất chip cho ra đời như: Z80 của Zilog, AT89 của Atmel, PIC của Microchip,AVR của Atmel... 3.2.2.1. Vi điều khiển AVR. AVR là tên của một loạt các bộ vi điều khiển do công ty Atmel sant xuất. Được giới thiệu lần đầu vào năm 1996, vi điều khiển AVR đã thể hiện nhiều ưu điểm và nhanh chóng chiếm lĩnh thị trường. Họ vi điều khiển AVR RISC (RISC (reduced intruction Computer) là một kiến trúc phổ biến của các bộ xử lý hiện đại) của Atmel có những đặc tính sau đây hơn hẳn các vi xử lý trước đó: Kiến trúc RISC với hầu hết các lệnh có chiều dài cố định, truy nhập bộ nhớ nạp, lưu trữ (load-store), và 32 thanh ghi đa năng. Kiến trúc đường ống lệnh kiểu hai tầng (two-stage instruction pipeline) cho phép làm tăng tốc độ thực thi lệnh. Có chứa nhiều bộ phận ngoại vi ngay trên chip, bao gồm cổng I/O số, bộ biến đổi ADC, bộ nhớ EEPROM, bộ định thời, UART, bộ định thời RTC, bộ điều chế rộng xung PWM,… Đặc điểm này được xem là nổi bậc so với nhiều vi điều khiển khác vì trong khi nhiều bộ xử lý khác phải tạo bộ truyền nhận UART hoặc giao diện SPI bằng phần mền hay máy ảo thì trên vi điều khiển AVR lại được thực hiện bằng phần cứng. Trên các AVR đã được tích hợp sẵn: Đến 48 đường dẫn vào /ra (I/O) lập trình được. Đến 2 bộ truyền nhận UART lập trình được. Một giao diện SPI đồng bộ. Một giao diện TWI đồng bộ tương thích với I2C. Đến 3 bộ Timer/ Counter 8 bit. Một bộ Timer/ Counter 16 bit với chức năng so sánh và bắt mẫu. Đến 4 lối ra điều biến độ rộng xung(PWM). Một đồng hồ thời gian thực (RTC-Timer). Một bộ biến đổi ADC 10 bit có đến 8 kênh lối vào. Một bộ phát hiện trạng thái sụt điện áp nguồn nuôi. Một bộ so sánh analog. Tất nhiên là số lượng cụ thể của các bộ phận ngoại vi khác nhau giữa các vi diều khiển cụ thể. Hầu hết các lệnh, chỉ trừ lệnh nhảy và nạp/ lưu trữ đều được thực hiện trong một chu kỳ xung nhịp. Hoạt động với tốc độ đồng hồ đến 12MHz. So với các vi điều khiển khác thì vi điều khiển trong họ Atmel có tần số xung nhịp cho phép tương đối cao, cụ thể là trong khoảng 6 đến 12 MHz tùy theo từng loại cụ thể. Xung nhịp do bộ dao động tạo ra cũng chính là xung nhịp của hệ thống, không hề phải cho qua bộ chia tần như trong trường hợp các vi điều khiển ra đời trước đó, nên kéo theo tốc độ xử lý lệnh tương đối cao, kết hợp với khả năng thực hiện lệnh trong một chu kỳ xung nhịp, vi điều khiển AVR có khả năng đạt đến tốc độ xử lý 12MPIS (triệu lệnh trong một giây). Các vi điều khiển thuộc họ SX (sản phẩm của công ty Scenix) cũng có tần số xung nhịp cao, thậm chí còn cao hơn các AVR, nhưng lại có dòng tiêu thụ tương đối lớn, ngoài ra lại không có bộ phận ngoại vi trên chip như ở các vi điều khiển AVR. Chính các bộ phận ngoại vi trên chip lại góp phần làm tăng tốc độ xử lý lệnh tính chung trên hệ thống. Bộ nhớ chương trình và dữ liệu được tích hợp ngay trên chip. Trên chip vi điều khiển AVR có tới 3 công nghệ bộ nhớ khác nhau : Bộ nhớ EEPROM xóa được kiểu flash (luôn luôn lập trình mới được) dùng cho mã chương trình mà người dùng có thể lập được. Bộ nhớ EEPROM hay PROM xóa được dữ liệu bằng điện, nhưng nội dung bộ nhớ vẫn giữ nguyên sau khi tắt điện áp nguồn. Chương trình người dùng có thể được lập trình trong thời gian thực khi hệ thống đang hoạt động. Bộ nhớ RAM tĩnh (SRAM) dùng cho các biến, nội dung của bộ nhớ sẽ mất đi khi tắt điện áp nguồn. Ngoài ra vi điều khiển AVR có tới 32 thanh ghi làm việc, tất cả đều được nối trực tiếp với khối ALU(đơn vị số học logic) và được trao đổi trực tiếp trên vùng địa chỉ bộ nhớ, cụ thể là 32 ô đầu tiên của bộ nhớ (0x0 đến 0xFF) tương ứng với các thanh ghi làm việc R0 đến R31. Khả năng lập trình được trong hệ thống. Do cách thiết kế và công nghệ bộ nhớ được sử dụng mà các vi điều khiển có thể được lập trình ngay khi đang được cấp nguồn trên bản mạch, không cần phải nhấc ra khỏi bản mạch như nhiều vi điều khiển của các họ khác. Các cổng giao tiếp RS-232 và SPI cho phép dễ dàng thực hiện các thao tác dễ dàng trên hệ thống. Được đóng trong vỏ với 8 chân đến 64 chân để thích ứng với nhiều loại ứng dụng khác nhau. Từ các ứng dụng có chi phí thấp với các vi điều khiển TINY 8 chân (loại DIP hoặc SOIC) đến những loại thông dụng với 20 hoặc 44 chân và cuối cùng là loại MEGA-AVR với 40 chân 2 hàng (DIP) hoặc 64 chân kiểu vỏ vuông (TQFP). Loại có vỏ 64 chân là bước đột phá chưa có đối thủ cạnh tranh về khả năng xử lý (với 16 bit) và giá thành. Có tốc độ xử lý lớn hơn 12 lần so với các vi điều khiển CISC thông thường. Hỗ trợ cho việc lập trình bằng ngôn ngữ bậc cao, chẳng hạn C. Có tốc độ xử lý lớn hơn 12 lần so với các vi điều khiển CISC thông thường. Tất cả các vi điều khiển AVR hiện đang lưu hành trên thị trường đều được chế tạo bằng công nghệ CMOS 0,6 . Công ty Atmel đã lập kế hoạch chuyển sang công nghệ 0,35 , nhằm đạt đến tốc độ xung nhịp cao hơn 50% so với hiện nay (2003), còn dòng điện tiêu thụ sẽ giảm đi 1/3. Đây cũng là những biện pháp để hội nhập với xu hướng phát triển chung của kỹ thuật vi điều khiển. Phương pháp EMV cũng đang được áp dụng để thiết kế lại và hoàn thiện các vi điều khiển đang lưu hành. Điện áp làm việc được phép thay đổi trong khoảng rộng, từ 2,7V đến 6,0V, nên cho phép thể hiện ưu điểm rõ rệt trong các thiết bị xách tay, sử dụng pin. Với các thiết bị sử dụng pin thì một chỉ tiêu quan trọng khi thiết kế là giảm dòng điện tiêu thụ. Thường thì tần số xung giữ nhịp của hệ thống càng lớn thì dòng điện tiêu thụ càng lớn, vì vậy muốn giảm dòng điện tiêu thụ thì nên lựa chọn tần số xung giữ nhịp thấp như có thể. Ngoài ra, việc hạ thấp điện áp nguồn nuôi cũng cho phép làm giảm dòng điện tiêu thụ hay kéo dài thời gian làm việc của pin. Có chế độ hoạt động Sleep(ngủ) và Power Down (nghỉ hay giảm dòng tiêu thụ khi không cần thiết). Đặc điểm này cho phép tiết kiệm năng lượng khi bộ xử lý không có công việc cần xử lý, đặc biệt có ý nghĩa đối với các thiết bị cầm tay dùng pin. Có mạch đặt lại trạng thái môi khi cấp lại điện nguồn cho hệ thống (Power on Reset). Một kiến trúc đơn giản và hượp lý sẽ giúp cho người dùng giảm thiểu được thời gian cần thiết để làm quen và tiến tới làm chủ được các vi điều khiển AVR. Tập lệnh của AVR có đến 133 lệnh cho phép lập trình một cách dễ dàng và đơn giản bằng hợp ngữ, nhưng cấu trúc của bộ xử lý Atmel còn cho phép lập trình bằng ngôn ngữ C. 3.2.2.2. Vi điều khiển ATMEGA8. H.3-3: vi điều khiển ATMEGA8. ATmega là bộ vi điều khiển CMOS 8 bit tiêu thụ điện năng thấp dựa trên kiến trúc RISC (Reduced Instruction Set Computer). Vào ra Analog – digital và ngược lại. Với công nghệ này cho phép các lệnh thực thi chỉ trong một chu kì xung nhịp, vì thế tốc độ xử lý dữ liệu có thể đạt đến 1 triệu lệnh trên giây ở tần số 1Mhz. Vi điều khiển này cho phép người thiết kế có thể tối ưu hoá chế độ tiêu thụ năng lượng mà vẫn đảm bảo tốc độ xử lý. I. Các đặc điểm của ATMEGA8. Bộ nhớ: Flash 8KB. EEPROM 512Byte. SRAM 1KB. Ngoại vi: 2 Timer 8-bit. 1 Timer 16-bit. RTC. 3 kênh điều chế độ rộng xung (PWM). 8-bit ADC. 2 chân giao tiếp nối tiếp hướng đến byte. USART (cổng nối tiếp). SPI interface. Watchdog Timer (bộ timer). Bộ so sánh tín hiệu tương tự (Analog comparator). Tính năng: Tập lệnh gồm 130 lệnh, hầu hết chỉ thực thi trong 1 chu kỳ máy. 32 thanh ghi 8-bit đa dụng. Xử lý 16 triệu lệnh ở 16MHz. Đầy đủ các toán tử tĩnh. Ngắt trong và ngắt ngoài. 5 sleep mode. 23 chân I/O. II. Sơ đồ khối của ATMEGA8. H.3-4: Sơ đồ khối của ATMEGA8. III. Sơ đồ chân của ATMEGA8. H.3-5: Sơ đồ chân của ATMEGA8. Các chân của ATMEGA8: ATMEGA8 có 23 trong số 28 chân có công dụng xuất nhập. 23 chân này chia thành 3 port-8 bit. Port B: (các chân 9, 10, 14, 15, 16, 17, 18, 19) có 2 công dụng hoặc làm nhiệm vụ xuất / nhập hoặc làm nhiệm vụ cho các thiết kế có trong bộ nhớ chương trình. Port C: (các chân 23 đến 28 và chân số 1) chỉ có công dụng là xuất / nhập được dùng để giao tiếp với thiết bị ngoại vi khi có yêu cầu. Chân RESET (chân 1) dùng để thiết lập lại trạng thái ban đầu cho hệ thống hay gọi tắt là reset hệ thống. Port D: (các chân 2, 3, 4, 5, 6, 11, 12, 13) có 2 công dụng. Khi không hoạt động xuất / nhập các chân của port D có những chức năng riêng: Tên Bit Chức năng PD0 0 (RXD) Chân nhận dữ liệu của port nối tiếp. PD1 1 (RTD)Chân phát dữ liệu của port nối tiếp. PD2 2 (INT0) Ngõ vào ngắt ngoài 0 PD3 3 (INT1) Ngõ vào ngắt ngoài 1 PD4 4 (XCK) chỉ dùng trong chế độ truyền động. (T0) Ngõ vào của timer/counter0 PD5 5 (T1) Ngõ vào của timer/counter1 PD6 6 (AIN0) Thước so sánh tương tự nhập vào bản dương. PD7 7 (AIN) Thước so sánh tương tự nhập vào bản âm. III. Cấu trúc tổng quát. CPU của AVR có chức năng bảo đảm sự hoạt động chính xác của các chương trình. Do đó nó phải có khả năng truy cập bộ nhớ, thực hiện các quá tr.nh tính toán, điều khiển các thiết bị ngoại vi và quản lý ngắt. H.3-5: Sơ đồ cấu trúc CPU của Atmega8 AVR sử dụng cấu trúc Harvard, tách riêng bộ nhớ và các bus cho chương trình và dữ liệu. Các lệnh được thực hiện chỉ trong một chu kỳ xung clock. Bộ nhớ chương trình được lưu trong bộ nhớ Flash. IV. Hoạt động timer của ATMEGA8        Timer/Counter là các module độc lập với CPU. Chức năng chính của các bộ Timer/Counter, như tên gọi của chúng, là định thì (tạo ra một khoảng thời gian, đếm thời gian…) và đếm sự kiện.  Trên các chip AVR, các bộ Timer/Counter còn có thêm chức năng tạo ra các xung điều rộng PWM (Pulse Width Modulation), ở một số dòng AVR, một số Timer/Counter còn được dùng như các bộ canh chỉnh thời gian (calibration) trong các ứng dụng thời gian thực. Các bộ Timer/Counter được chia theo độ rộng thanh ghi chứa giá trị định thời hay giá trị đếm của chúng, cụ thể trên chip Atmega8 có 2 bộ Timer 8 bit (Timer/Counter0 và Timer/Counter2) và 1 bộ 16 bit (Timer/Counter1). Chế độ hoạt động và phương pháp điều khiển của từng Timer/Counter cũng không hoàn toàn giống nhau: Timer/Counter0: là một bộ định thời, đếm đơn giản với 8 bit. Gọi là đơn giản vì bộ này chỉ có 1 chế độ hoạt động (mode) so với 5 chế độ của bộ Timer/Counter1. Chế độ hoat động của Timer/Counter0 thực chất có thể coi như 2 chế độ nhỏ (và cũng là 2 chức năng cơ bản) đó là tạo ra một khoảng thời gian và đếm sự kiện. Chú ý là trên các chip AVR dòng mega sau này như Atmega16,32,64…chức năng của Timer/Counter0 được nâng lên như các bộ Timer/Counter1…        Timer/Counter1: là bộ định thời, đếm đa năng 16 bit. Bộ Timer/Counter này có 5 chế độ hoạt động chính. Ngoài các chức năng thông thường, Timer/Counter1 còn được dùng để tạo ra xung điều rộng PWM dùng cho các mục đích điều khiển. Có thể tạo 2 tín hiệu PWM  độc lập trên các chân OC1A (chân 15) và OC1B (chân 16) bằng Timer/Counter1. Các bộ Timer/Counter kiểu này được tích hợp thêm khá nhiều trong các chip AVR sau này, ví dụ Atmega128 có 2 bộ, Atmega2561 có 4 bộ…        Timer/Counter2: tuy là một module 8 bit như Timer/Counter0 nhưng Timer/Counter2 có đến 4 chế độ hoạt động như Timer/Counter1, ngoài ra nó nó còn được sử dụng như một module canh chỉnh thời gian cho các ứng dụng thời gian thực (chế độ asynchronous). a)Timer/Counter0:        Thanh ghi: có 4 thanh ghi được thiết kế riêng cho hoạt động và điều khiển T/C0, đó là: TCNT0 (Timer/Counter Register): là 1 thanh ghi 8 bit chứa giá trị vận hành của T/C0. Thanh ghi này cho phép bạn đọc và ghi giá trị một cách trực tiếp. TCCR0 (Timer/Counter Control Register): là thanh ghi điều khiển hoạt động của T/C0. Tuy là thanh ghi 8 bit nhưng thực chất chỉ có 3 bit có tác dụng đó là CS00, CS01 và CS02.        Các bit CS00, CS01 và CS02 gọi là các chip chọn nguồn xung nhịp cho T/C0 (Clock Select). Chức năng các bit này được mô tả trong bảng 3-6. Bảng 3-1: chức năng các bit CS0X TIMSK (Timer/Counter Interrupt Mask Register): là thanh ghi mặt nạ cho ngắt của tất cả các T/C trong Atmega8, trong đó chỉ có bit TOIE0 tức bit số 0 (bit đầu tiên) trong thanh ghi này là liên quan đến T/C0, bit này có tên là bit cho phép ngắt khi có tràn ở T/C0. Tràn (Overflow) là hiện tượng xảy ra khi bộ giá trị trong thanh ghi TCNT0 đã đạt đến MAX (255) và lại đếm thêm 1 lần nữa. Khi bit TOIE0=1, và bit I trong thanh ghi trạng thái được set (xem lại bài 3 về điều khiển ngắt), nếu một “tràn” xảy ra sẽ dẫn đến ngắt tràn. TIFR (Timer/Counter Interrupt Flag Register): là thanh ghi cờ nhớ cho tất cả các bộ T/C. Trong thanh ghi này bit số 0, TOV0 là cờ chỉ thị ngắt tràn của T/C0. Khi có ngắt tràn xảy ra, bit này tự động được set lên 1. Thông thường trong điều khiển các T/C vai trò của thanh ghi TIFR không quá quan trọng. *Hoạt động: T/C0 hoạt động rất đơn giản, hoạt động của T/C được “kích” bởi một tín hiệu (signal), cứ mỗi lần xuất hiện tín hiệu “kích” giá trị của thanh ghi TCNT0 lại tăng thêm 1 đơn vị, thanh ghi này tăng cho đến khi nó đạt mức MAX là 255, tín hiệu kích tiếp theo sẽ làm thanh ghi TCNT0 trở về 0 (tràn), lúc này bit cờ tràn TOV0 sẽ tự động được set bằng 1. Với cách thức hoạt động như thế có vẻ T/C0 “vô dụng” vì cứ tăng từ 0 đến 255 rồi lại quay về không và quá trình lặp lại. Tuy nhiên, yếu tố tạo sự khác biệt chính là “tính hiệu kích” và ngắt tràn, kết hợp 2 yếu tố này chúng ta có thể tạo ra 1 bộ định thời gian hoặc 1 bộ đếm sự kiện. Ở bảng 1 về các bit chọn xung nhịp cho T/C0. Xung nhịp cho T/C0 chính là tín hiệu kích cho T/C0, xung nhịp này có thể tạo bằng nguồn tạo dao động của chip (thạch anh, dao động nội trong chip…). Bằng cách đặt giá trị cho các bit CS00, CS01 và CS02 của thanh ghi điều khiển TCCR0 chúng ta sẽ quyết định “bao lâu” thì sẽ kích T/C0 một lần. Quan sát 2 dòng cuối cùng trong bảng 1 sẽ thấy rằng tín hiệu kích cho T/C0 có thể lấy từ bên ngoài (External clock source), đây chính là ý tưởng cho hoạt động của chức năng đếm sự kiện trên T/C0. Bằng cách thay đổi trạng thái chân T0 (chân 6 trên chip Atmega8) chúng ta sẽ làm tăng giá trị thanh ghi TCNT0 hay nói cách khác T/C0 có thể dùng để đếm sự kiện xảy ra trên chân T0. b) Timer/Counter1:        Timer/Counter1 là bộ T/C 16 bits, đa chức năng. Đây là bộ T/C rất lý tưởng cho lập trình đo lường và điều khiển vì có độ phân giải cao (16 bits) và có khả năng tạo xung điều rộng PWM (Pulse Width Modulation – thường dùng để điều khiển động cơ).        Thanh ghi: có khá nhiều thanh ghi liên quan đến T/C1. Vì là T/C 16 bits trong khi độ rộng bộ nhớ dữ liệu của AVR là 8 bit nên đôi khi cần dùng những cặp thanh ghi 8 bit tạo thành 1 thanh ghi 16 bit, 2 thanh ghi 8 bit sẽ có tên kết thúc bằng các ký tự L và H trong đó L là thanh ghi chứa 8 bits thấp (LOW) và H là thanh ghi chứa 8 bits cao (High) của giá trị 16 bits mà chúng tạo thành. + TCNT1H và TCNT1L (Timer/Counter Register): là 2 thanh ghi 8 bit tạo thành thanh ghi 16 bits (TCNT1) chứa giá trị vận hành của T/C1. Cả 2 thanh ghi này cho phép bạn đọc và ghi giá trị một cách trực tiếp, 2 thanh ghi được kết hợp như sau: + TCCR1A và TCCR1B (Timer/Counter Control Register): là 2 thanh ghi điều khiển hoạt động của T/C1. Tất cả các mode hoạt động của T/C1 đều được xác định thông qua các bit trong 2 thanh ghi này. Tuy nhiên, đây không phải là 2 byte cao và thấp của một thanh ghi mà là 2 thanh ghi hoàn toàn độc lập. Các bit trong 2 thanh ghi này bao gồm các bit chọn mode hay chọn dạng sóng (Waveform Generating Mode – WGM), các bit quy định dạng ngõ ra (Compare Output Match – COM), các bit chọn giá trị chia prescaler cho xung nhịp (Clock Select – CS)…Cấu trúc của 2 thanh ghi được trình bày như bên dưới.        Nhìn chung để “thuộc” hết cách phối hợp các bit trong 2 thanh ghi TCCR1A và TCCR1B là tương đối phức tạp vì T/C1 có rất nhiều mode hoạt động, chúng ta sẽ khảo sát chúng trong phần các chế độ hoạt động của T/C1 bên dưới. Ở đây, trong thanh ghi TCCR1B có 3 bit khá quen thuộc là CS10, CS11 và CS12. Đây là các bit chọn xung nhịp cho  T/C1 như truong T/C0. Bảng 3-2 sẽ tóm tắt các chế độ xung nhịp trong T/C1. Bảng 3-2: chức năng các bit CS12, CS11 và CS10. Trong lúc T/C1 hoạt động, giá trị thanh ghi TCNT1 tăng, giá trị này được liên tục so sánh với các thanh ghi OCR1A và OCR1B(Ouput Compare Register A và B): (so sánh độc lập với từng thanh ghi), việc so sánh này trên AVR gọi là gọi là Ouput Compare. Khi giá trị so sánh bằng nhau thì 1 “Match” xảy ra, khi đó một ngắt hoặc 1 sự thay đổi trên chân OC1A (hoặc/và chân OC1B) xảy ra (đây là cách tạo PWM bởi T/C1). A và B đại diện cho 2 kênh (channel)  và do đó mà chúng ta có thể tạo 2 kênh PWM bằng T/C1. Tóm  lại, cơ bản 2 thanh ghi này chứa các giá trị để so sánh. + ICR1 (InputCapture Register 1): là Input Capture. Khi có 1 sự kiện trên chân ICP1 (chân 14 trên Atmega8), thanh ghi ICR1sẽ “capture” giá trị của thanh ghi đếm TCNT1. Một ngắt có thể xảy ra trong trường hợp này, vì thế Input Capture có thể được dùng để cập nhật giá trị “TOP” của T/C1. + TIMSK (Timer/Counter Interrupt Mask Register): các bộ T/C trên AVR dùng chung thanh ghi mặt nạ ngắt, vì thế TIMSK cũng được dùng để quy định ngắt cho T/C1. Có điều lúc này chúng ta chỉ quan tâm đến các bit từ 2 đến 5 của TIMSK. Có tất cả 4 loại ngắt trên T/C1 so với T/C0 chỉ có 1 loại ngắt tràn. Bit 2 trong TIMSK là TOIE1, bit quy định ngắt tràn cho thanh T/C1. Bit 3, OCIE1B là bit cho phép ngắt khi có 1 “Match” xảy ra trong việc so sánh TCNT1 với OCR1B. Bit 4, OCIE1A là bit cho phép ngắt khi có 1 “Match” xảy ra trong việc so sánh TCNT1 với OCR1A.. Bit 5, TICIE1 là bit cho phép ngắt trong trường hợp Input Capture được dùng. Cùng với việc set các bit trên, bit I trong thanh ghi trạng thái phải được set nếu muốn sử dụng ngắt. + TIFR (Timer/Counter Interrupt Flag Register): là thanh ghi cờ nhớ cho tất cả các bộ T/C. Các bit từ 2 đến 5 trong thanh ghi này là các cờ trạng thái của T/C1.        Các mode hoạt động: có tất cả 5 chế độ hoạt động chính trên T/C1. Các chế độ hoạt động cơ bản được quy định bởi 4 bit Waveform Generation Mode (WGM13, WGM12, WGM11 WGM10) và một số bit phụ khác. 4 bit Waveform Generation Mode lại được bố trí nằm trong 2 thanh ghi TCCR1A và TCCR1B (WGM13 là bit 4, WGM12 là bit 3 trong TCCR1B trong khi WGM11 là bit 1 và WGM10 là bit 0 trong thanh ghi TCCR1A) vì thế cần phối hợp 2 thanh ghi TCCR1 trong lúc điều khiển T/C1. V. Bộ truyền nhận tín hiệu USART. Universal asynchronous receiver/transmitter (UART), tạm dịch là Bộ thu/phát không đồng bộ đa năng, thực hiện việc truyền dữ liệu song song và nối tiếp. UARTs thường dùng kết hợp với các chuẩn giao tiếp (communication standard) khác như EIARS-232. DUART (Double UART) tích hợp hai bộ UART trên một chíp đơn. USART là UART có khả năng giao tiếp cả đồng bộ và không đồng bộ. Bộ truyền nhận USART có các chức năng chính như sau: Hoạt động ở chế độ đồng bộ và không đồng bộ. Chế độ hoạt động kép (truyền / nhận) tốc độ cao. Hỗ trợ khung 5, 6, 7, 8 hoặc 9 data bits và 1 hoặc 2 stop bits. Ba ngắt riêng phục vụ khi truyền xong dữ liệu, nhận xong dữ liệu và thanh ghi dữ liệu rỗng. Kiểm tra chẵn lẻ. Bộ tạo tốc độ có độ chính xác cao. Chế độ truyền thông đa vi xử lý. Lọc nhiễu, bao gồm phát hiện bit start lỗi và bộ lọc thông thấp số. Phát hiện tràn dữ liệu. Phát hiện lỗi khung. Sơ đồ khối: H.3-6: sơ đồ khối USART XCK – Transfer Clock: chỉ dùng trong chế độ truyền động. TxD – Transfer Data: chân truyền dữ liệu. Trong chế độ truyền, chân này được cấu hình là một chân output bất kể DDRD1. RxD – Receive Data: nhận dữ liệu. Trong chế độ nhận, chân này được cấu hình là một chân input bất kể DDRD0, tuy nhiên pull-up vẫn phụ thuộc PORTD0. Các thanh ghi + UDR – UASRT I/O Data Register TXB - USART Transmit Data Buffer Register RXB - USART Receive Data Buffer Registers Hai thanh ghi TXB và RXB chia sẽ chung một địa chỉ I/O, cùng tham Khảo đến UDR. Khi ghi vào UDR, dữ liệu sẽ được chứa trong TXB. Khi đọc UDR, sẽ trả về giá trị trong RXB. + UCSRA – USART Control and Status Register A Bit 7 – RXC: USART Receive Complete Bit 6 – TXC: USART Transmit Complete Bit 5 – UDRE: USART Data Register Empty Bit 4 – FE: Frame Error Bit 3 – DOR: Data OverRun Bit 2 – PE: Parity Error Bit 1 – U2X: Double the USART transmission speed Bit 0 – MPCM: Multi-processor Communication Mode + UCSRB – USART Control and Status Register B Bit 7 – RXCIE: RX Complete Interrup Enable Bit 6 – TXCIE: TX Complete Interrupt Enable Bit 5 – UDRIE: USART Data Register Empty Interrupt Enable Bit 4 – RXEN: Receiver Enable Bit 3 – TXEN: Transmitter Enable Bit 2 – UCSZ2: Character Size Bit 1 – RXB8: Receive Data Bit 8 Bit 0 – TXB8: Transmit Data Bit 8 + UCSRC – USART Control and Status Register C Bit 7 – URSEL: Register Select Bit 6 – UMSEL: USART Mode Select Bit 5:4 – UPM1:0: Parity Mode Bit 3 – USBS: Stop Bit Select Bit 2:1 – UCSZ1:0: Character Size Bit 0 – UCPOL: Clock Polarity + USART Baud Rate Registers Bit 15 – URSEL: Register Select Bit 14:12 – Reserved Bits Bit 11:0 – UBRR11:0: USART Baud Rate Register VI. Ngắt ngoài trên ATMEGA8 : Interrupts, thường được gọi là ngắt, là một “tín hiệu khẩn cấp” gởi đến bộ xử lí, yêu cầu bộ xử lí tạm ngừng tức khắc các hoạt động hiện tại để “nhảy” đến một nơi khác thực hiện một nhiệm vụ “khẩn cấp” nào đó, nhiệm vụ này gọi là trình phục vụ ngắt – isr (interrupt service routine ). Sau khi kết thúc nhiệm vụ trong isr, bộ đếm chương trình sẽ được trả về giá trị trước đó để bộ xử lí quay về thực hiện tiếp các nhiệm vụ còn dang dở. Như vậy, ngắt có mức độ ưu tiên xử lí cao nhất, ngắt thường được dùng để xử lí các sự kiện bất ngờ nhưng không tốn quá nhiều thời gian. Các tín hiệu dẫn đến ngắt có thể xuất phát từ các thiết bị bên trong chip (ngắt báo bộ đếm timer/counter tràn, ngắt báo quá trình gởi dữ liệu bằng RS232 kết thúc…) hay do các tác nhân bên ngoài (ngắt báo có 1 button được nhấn, ngắt báo có 1 gói dữ liệu đã được nhận…). Ngắt ngoài là cách rất hiệu quả để thực hiện giao tiếp giữa người dùng và chip, trên chip atmega8 có 2 ngắt ngoài có tên tương ứng là INT0 và INT1 tương ứng 2 chân số 4 (PD2) và số 5 (PD3). Khi làm việc với các thiết bị ngoại vi của AVR, hầu như chúng ta chỉ thao tác trên các thanh ghi chức năng đặc biệt - SFR (Special Function Registers) trên vùng nhớ IO, mỗi thiết bị bao gồm một tập hợp các thanh ghi điều khiển, trạng thái, ngắt…khác nhau, điều này đồng nghĩa chúng ta phải nhớ tất cả các thanh ghi của AVR. H.3-7: minh họa cách tổ chức ngắt thông thường trong các chip AVR. Vector ngắt ngoài 0 (external interrupt 0) của chip atmega8 có địa chỉ là 0x009 (theo datasheet từ Atmel). Trong lúc chương trình chính đang thực thi, nếu có một sự thay đổi dẫn đến ngắt xảy ra ở chân INT0 (chân 4), bộ đếm chương trình (Program Counter) nhảy đến địa chỉ 0x009, giả sử ngay tại địa chỉ 0x009 chúng ta có đặt 1 lệnh RJMP đến một trình phục vụ ngắt (IRS1 chẳng hạn), một lần nữa bộ đếm chương trình nhảy đến IRS1 để thực thi trình phục vụ ngắt, kết thúc ISR1, bộ đếm chương trình lại quay về vị trí trước đó trong chương trình chính, quá trình ngắt kết thúc. Bảng 3-3: các vector ngắt và Reset trên chip Atmega8. Ngắt ngoài là cách rất hiệu quả để thực hiện giao tiếp giữa người dùng và chip, trên chip atmega8 có 2 ngắt ngoài có tên tương ứng là INT0 và INT1 tương ứng 2 chân số 4 (PD2) và số 5 (PD3). Với ngắt ngoài, có 3 thanh ghi liên quan đến ngắt ngoài đó là MCUCR, GICR và GIFR. Cụ thể các thanh ghi được trình bày bên dưới.       Thanh ghi điều khiển MCU – MCUCR (MCU Control Register) là thanh ghi xác lập chế độ ngắt cho ngắt ngoài. H.3-8. Kết nối ngắt ngoài cho atmega8.       Giả sử chúng ta kết nối các ngắt ngoài trên ATmega8 như H.3-8, các button dùng tạo ra các ngắt, có 4 khả năng (tạm gọi là các MODE) có thể xảy ra khi chúng ta nhấn và thả các button. Nếu không nhấn, trạng thái các chân INT là HIGH do điện trở kéo lên, khi vừa nhấn 1 button, sẽ có chuyển trạng thái từ HIGH sang LOW, chúng ta gọi là cạnh xuống - Falling Edge, khi button được nhấn và giữ, trạng thái các chân INT được xác định là LOW và cuối cùng khi thả các button, trạng thái chuyển từ LOW sang HIGH, gọi là cạnh lên – Rising Edge.  Trong những trường hợp cụ thể, 1 trong 4 MODEs trên đều hữu ích. Trong ứng dụng đếm xung (đếm encoder của servo motor chẳng hạn) thì 2 MODE “cạnh” phải được dùng. Thanh ghi MCUCR chứa các bits cho phép chúng ta chọn 1 trong 4 MODE trên cho các ngắt ngoài. Dưới đây là cấu trúc thanh ghi MCUCR của chip atmega8.       MCUCR là một thanh ghi 8 bit nhưng đối với hoạt động ngắt ngoài, chúng ta chỉ quan tâm đến 4 bit thấp của thanh ghi này (4 bit cao dùng cho Power manager và Sleep Mode), 4 bit thấp là các bit Interrupt Sense Control (ISC), 2 bit ISC11, ISC10 dùng cho INT1 và ISC01, ISC00 dùng cho INT0.. Bảng 3-4: INT1 Sense Control       Thanh ghi điều khiển ngắt chung – GICR (General Interrupt Control Register) (trên các chip AVR cũ, như các chip AT90Sxxxx, thanh ghi này có tên là thanh ghi mặt nạ ngắt thông thường GIMSK,. GICR cũng là 1 thanh ghi 8 bit nhưng chỉ có 2 bit cao (bit 6 và bit 7) là được sử dụng cho điều khiển ngắt, cấu trúc thanh ghi như bên dưới       Bit 7 – INT1 gọi là bit cho phép ngắt 1(Interrupt Enable), set bit này bằng 1 nghĩa bạn cho phép ngắt INT1 hoạt động, tương tự, bit INT0 điều khiển ngắt INT0.       Thanh ghi cờ ngắt chung – GIFR (General Interrupt Flag Register) có 2 bit INTF1 và INTF0 là các bit trạng thái (hay bit cờ - Flag) của 2 ngắt INT1 và INT0, nếu có 1 sự kiện ngắt phù hợp xảy ra trên chân INT1, bit INTF1 được tự động set bằng 1 (tương tự cho trường hợp của INTF0), chúng ta có thể sử dụng các bit này để nhận ra các ngắt, tuy nhiên điều này là không cần thiết nếu chúng ta cho phép ngắt tự động, vì vậy thanh ghi này thường không được quan tâm khi lập trình ngắt ngoài. Cấu trúc thanh ghi GIFR được trình bày trong hình ngay bên dưới. VII. Bộ biến đổi ADC. Vi điều khiển Atmega8 có một bộ biến đổi ADC tích hợp trong chip với các đặc điểm: Độ phân giải 10 bit. Sai số tuyến tính: 0.5LSB. Độ chính xác +/-2LSB. Thời gian chuyển đổi:13 đến 260μs. 8 Kênh đầu vào có thể được lựa chọn. Có hai chế độ chuyển đổi free running và single conversion. Có nguồn báo ngắt khi hoàn thành chuyển đổi. Loại bỏ nhiễu trong chế độ ngủ. Điện áp tham chiếu là 2,56V. H.3-9: sơ đồ bộ biến đổi ADC. VIII. Bộ nạp cho ATMEGA8. AVR 910 USB Programmer Cable là loại mạch nạp sử dụng cho các chip AVR của hãngATMEL. Với phần cứng đã được tối ưu hóa, sử dụng hoàn toàn các linh kiện SMD nên kích thước cực kì nhỏ gọn, toàn bộ được đóng gói nằm gọn trong vỏ hộp cổng COM tạo nên sự thuận tiện và bền chắc trong quá trình sử dụng. H.3-9: bộ bạp AVR 910 USB 3.3. Thiết kế mạch đo chi phí nhiên liệu: 3.3.2. Lưu đồ thuật toán. RESET Khởi tạo các khối chức năng phần cứng Vòng lặp vô tận Khëi t¹o c¸c biÕn chính: T- thời gian máy làm việc (ph) V- lượng nhiên liệu tiêu hao (lit) Cập nhật dữ liệu V Xuất dữ liệu ra LCD Gọi chương trình kiểm tra bàn phím Chương trình chính lưu đồ giải thuật chương trình kiểm tra phím nhấn Nhấn RESET Kiểm tra phím nhấn True False True V = V+1 T = T+1 False Máy đang hoạt động Dừng bộ định thời Dừng máy False Nhấn RUN V = V T = T True False True Nhấn MEASURE V = 0 T = 0 T < 60 return Van 3, 4 mở Van 5 đóng Nạp nhiên liệu cho két thí nghiệm True Nhấn FILL False T = 0 Timer 0 T = T -1 True False Dừng máy Dừng bộ định thời Return Chương trình ngắt Timer 0 Cập nhật dữ liệu cho V True Bắt đầu chuyển đổi Hoàn tất chuyển đổi False Đọc kết quả chuyển đổi AD cho V Và chuyển đổi dữ liệu Lưu vào SRAM Return Thủ tục cập nhật dữ liệu V 3.3.3. Sơ đồ mạch của thiết bị đo chi phí nhiên liệu. a) Sơ đồ mạch nguồn. H.3-11: Sơ đồ mạch nguồn. b) Sơ đồ mạch của thiết bị đo. H.3-12: Sơ đồ mạch của thiết bị đo. c). Sơ đồ mạch tổng quát. H.3-13: Sơ đồ mạch tổng quát. H.3-14: mạch của thiết bị đo chi phí nhiên liệu 3.3.5. Thiết kế cơ cấu đo chi phí nhiên liệu. H.3-16: cơ cấu đo chi phí nhiên liệu. 3.4. Phương pháp đo. 3.4.1. Chế độ khởi động, không đo lượng tiêu hao nhiên liệu. Ứng với chế độ này ta nhấn nút Run khi đó các cuộn dây của Rơle điện từ 4, 5, 11 nhận tín hiệu điện nó sẽ đóng các tiếp điểm thường mở của nó giúp duy trì dòng điện chạy trong mạch và mở các van 4, 5. Khi ấy nhiên liệu sẽ đi qua các van 4, 5 vào động cơ và lượng dầu hồi sẽ đi ra qua van 11 trở về thí nghiệm. Ở chế độ này nếu két thí nghiệm đầy nhiên liệu Rơle phao sẽ ngắt ngắt dòng điện vào Rơle điện từ 3 dẫn đến van 3 đóng. Nếu mức nhiên liệu trong két thí nghiệm chưa đầy thì van 3 vẫn tiếp tục mở nhiên liệu đi từ két trực nhật cấp cho két thí nghiệm. 3.4.2. Chế độ đo mức tiêu hao nhiên liệu. Sau khi đã khởi động động cơ và chạy tới mức ổn định, ta nhấn nút Reset sau đó nhấn nút Run. Khi đó các cuộn dây của Rơle 4, 5 nhận tín hiệu sẽ đóng các tiếp điểm thường mở của nó dẫn đến van 4, 5 mở. Nhiên liệu khi đó sẽ đi từ két thí nghiệm qua van 4, 5 vào động cơ và lượng dầu hồi về qua van 11 trở về két thí nghiệm. Ở chế độ này các van đi vào, đi ra từ động cơ vẫn được giữ nguyên như khi khởi động. Khi lượng nhiên liệu trong két thí nghiệm giảm làm phao dịch chuyển và làm quay encoder. Lượng nhiên liệu tiêu hao sẽ được tính theo công thức : (lit) Trong đó : i- số xung mà encoder đếm được. B- chiều rộng của két thí nghiệm. L- chiều dài của két thí nghiệm. Kết quả đo được và thời gian chạy máy sẽ xuất ra màng hình LCD. Để thực hiện lần đo tiếp theo ta lại lặp lại thao tác ban đầu. Khi muốn dừng hệ thống ta chỉ cần ngắt hệ thống khỏi nguồn điện, các van sẽ trở lại trạng thái đóng. CHƯƠNG 4: KẾT LUẬN VÀ ĐỀ XUẤT Ý KIẾN 1. Kết luận chung 2. Đề xuất ý kiến III. KẾ HOẠCH THỰC HIỆN 1. Đi thực tế 2. Kế hoạch hoàn thành bản thuyết minh Chương 1: Khái quát chung về đo chi phí nhiên liệu trong thực nghiệm động cơ đốt trong (Từ 15/09/2009 đến 5/10/2009) Chương 2: Lựa chọn các phương án đo chi phí nhiên liệu (Từ 06/10/2009 đến 15/11/2009) Chương 3: Thiết kế chế tạo ( Từ16/11/2009 đến 10/12/2009 ) Chương 4: Kết luận và đề xuất ý kiến (Từ 11/10/2009 đến 18/12/2009 ) Nha Trang, Ngày 29 tháng 09 năm 2009 TRƯỞNG BM CHUYÊN NGÀNH CÁN BỘ BƯỚNG DẪN SINH VIÊN (Ký và ghi rõ họ tên) (Ký và ghi rõ họ tên) Thiết bị đo không liên tục. Khi nhiên liệu trong két giảm với lượng nhỏ thì trọng lượng phao không thắng nỗi lực ma sát tại các rồng rọc nên không dịch chuyển dẫn đến encoder không có tín hiệu.

Các file đính kèm theo tài liệu này:

  • docNghiên cứu thiết kế chế tạo bộ đo chi phí nhiên liệu điều khiển điện tử cho phòng thí nghiệm Bộ môn Động lực.doc