1. Trang chủ
  2. » Thể loại khác

43515194-bao-cao-đồ-an-đo-lường-2 doc

55 288 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 55
Dung lượng 5,9 MB

Nội dung

LỜI NÓI ĐẦU Ngày nay, khoa học kỹ thuật luôn không ngừng phát triển và đổi mới từng ngày, từng giờ, tác động trực tiếp đến đời sống con người. Các hệ thống điện tử đã tham gia vào công nghiệp làm tăng năng suất lao động, giảm bớt sức lao động của con người. Có thể nói, điện tử là một trong những nghành nghề phát triển mũi nhọn, có những bước tiến vượt bậc về công nghệ cũng như ứng dụng trong cuộc sống. Trong lĩnh vực sản xuất cũng như trong đời sống hàng ngày , việc đo lường các đại lượng vật lý luôn đóng một vai trò quan trọng vì từ đó người sử dụng có thể biết được các thông số mình đang làm việc và từ đó sẽ khống chế và điều khiển chúng cho phù hợp với mụch đích của mình. Hiện là sinh viên năm thứ 4 của trường Đại học Bách Khoa Hà Nội, chúng em đã có những cái nhìn sâu hơn, tổng quát hơn về ngành mình đã lựa chọn từ đó đã có thể thiết kế những bo mạch cụ thể có ứng dụng thực tế hơn trong cuộc sống hàng ngày để sau khi ra trường có thể ứng dụng chúng nhiều hơn vào thực tế. Với mục đích tìm hiểu và thiết kệ một hệ thống đo lường, chúng em đã chọn đề tài: “ Thiết kế một hệ thống đo lường cơ bản gồm đo nhiệt độ sử dụng cảm biến nhiệt Ds18b20 và đo tốc độ động cơ sử dụng motor – encoder” làm đề tài cho đồ án môn học của mình. Mặc dù được sự chỉ dẫn tận tình của giảng viên hướng dẫn , chúng em đã rất cố gắng nhưng khối lượng kiến thức và thời gian có hạn , sẽ không tránh khỏi những thiếu sót mong thầy cô thông cảm. Chúng em mong được đón nhận những ý kiến từ các thầy cô và các bạn để có thể tiếp tục mở rộng hướng nghiên cứu cho đề tài của mình. CHƯƠNG I GIỚI THIỆU CHUNG VỀ BỘ VI ĐIỀU KHIỂN GIỚI THIỆU CHUNG Bộ vi điều khiển viết tắt là Micro – controller, là mạch tích hợp trên một con chip và có thể lập trình được , dùng để điều khiển hoạt động của một hệ thống . Theo các tập lệnh của nhà sản xuất , người sử dụng có thể lập trình để vi điều khiển tiến hành đọc, giải mã, lưu trữ thông tin, xử lý thông tin, và từ đó sẽ thực hiện một công việc của một cơ cấu nào đó. Trong thiết bị điện , điện tử dân dụng , các bộ vi điều khiển điều khiển hoạt động của TV, đầu đọc laser, điện thoại, lò vi song . Trong hệ thống công nghiệp tự động, chúng được sử dụng trong Robot, dây truyền băng tự động. Các hệ thống càng thông minh thì bộ vi điều khiển càng đóng vai trò quan trọng. I. GIỚI THIỆU TỔNG QUAN VỀ VI ĐIỀU KHIỂN ATMEGA 16 ATmega16 là vi điều khiển chuẩn CMOS 8 bit tiết kiệm năng lượng, được chế tạo dựa trên cấu trúc AVR RISC (Reduced Instruction Set Computer), đây là cấu trúc có tốc độ xử lý cao hơn nhiều so với cấu trúc CISC (Complex Instruction Set Computer). Tần số hoạt động của vi điều khiển AVR bằng với tần số của thạch anh, trong khi với họ vi điều khiển theo cấu trúc CISC như họ 8051 thì tần số hoạt động bằng tần số thạch anh chia cho 12. Hầu hết các lệnh được thực thi trong một chu kỳ xung nhịp, do đó ATmega16 có thể đạt được tốc độ xử lý đến một triệu lệnh mỗi giây (với tần số 1MHz). Đặc điểm này cho phép người thiết kế có thể tiết kiệm tối đa mức độ tiêu thụ năng lượng mà vẫn đảm bảo tốc độ xử lý. Sau đây là các đặc tính của ATmega16: - Hiệu năng cao, tiêu thụ ít năng lượng. - Kiến trúc RISC: o 131 lệnh – hầu hết các lệnh thực thi trong một chu kỳ máy. o 32 thanh ghi 8 bit đa năng. o Tốc độ thực hiện lên tới 16 triệu lệnh trong 1 giây (tần số 16MHz). - Các bộ nhớ chương trình và bộ nhớ dữ liệu: o 16Kbyte bộ nhớ Flash có khả năng tự lập trình trong hệ thống. Có thể thực hiện được 1.000 lần ghi xóa. o Vùng mã Boot tùy chọn với những bit khóa độc lập. o Lập trình trong hệ thống bởi chương trình on-chip boot. o Thao tác đọc ghi trong khi nghỉ. o 512 Byte EEPROM. Có thể thực hiện 100.000 lần ghi xóa. o 1Kbyte SRAM nội. o Lập trình khóa an toàn phần mềm. - Ghép nối ngoại vi: o 2 bộ định thời/bộ đếm 8 bit với bộ chia tần số độc lập và chế độ so sánh. o 1 bộ định thời/bộ đếm 16 bit với bộ chia tần số, chế độ so sánh và chế độ bắt mẫu (Capture). o Bộ đếm thời gian thực với bộ dao động độc lập. o Bốn kênh PWM. o Bộ ADC 8 kênh 10 bit. o Bộ truyền dữ liệu đồng bộ/bất đồng bộ USART. o Bộ truyền dữ liệu chuẩn SPI. o Watchdog timer khả trình với bộ dao động nội riêng biệt. o Bộ so sánh Analog. - Các đặc điểm khác: o Power-on Reset và phát hiện Brown-out khả trình. o Bộ tạo dao động nội. o Nguồn ngắt nội và ngoại. o 6 chế độ ngủ: Idle, ADC noise reduction, Power-save, Power- down, Standby và Extended Standby. - Ngõ vào/ra: có 32 ngõ vào ra. - Điện áp hoạt động: o 2.7V – 5.5V đối với ATmega16L. o 4.5V – 5.5V đối với ATmega16. - Tần số hoạt động: o 0 – 8MHz đối với ATmega16L. o 0 – 16MHz đối với ATmega16. 2.2. Cấu trúc bên trong ATmega16: Hình 2.1 – Sơ đồ cấu trúc bên trong Atnega16 Phần lõi AVR kết hợp tập lệnh phong phú với 32 thanh ghi đa dụng. Toàn bộ 32 thanh ghi này đều kết nối trực tiếp với ALU (Arithmetic Logic Unit), cho phép truy cập 2 thanh ghi độc lập với 1 lệnh thực thi trong 1 chu kỳ xung nhịp. Cấu trúc đạt được có tốc độ xử lý nhanh gấp 10 lần so với vi điều khiển CISC thông thường. Với các tính năng đã nêu trên, khi ở chế độ nghỉ (Idle), CPU vẫn cho phép các chức năng khác hoạt động như: USART, giao tiếp 2 dây, chuyển đổi A/D, SRAM, bộ đếm/bộ định thời, cổng SPI và các chế độ ngắt. Chế độ Power-down lưu giữ nội dung các thanh ghi nhưng làm ngừng bộ tạo dao động, thoát khỏi các chức năng của chip cho đến khi có ngắt ngoài hoặc reset phần cứng. Trong chế độ Power-save, đồng hồ đồng bộ tiếp tục chạy cho phép chương trình có thể giữ được sự đồng bộ về thời gian nhưng các thiết bị còn lại ở trong trạng thái ngủ. Chế độ ADC Noise Reduction dừng CPU và tất cả các thiết bị còn lại ngoại trừ đồng hồ đồng bộ và ADC, giảm thiểu nhiễu khi ADC hoạt động. Ở chế độ Standby, bộ tạo dao động chạy trong khi các thiết bị còn lại ở trạng thái ngủ. Những đặc điểm này cho phép bộ vi điều khiển khởi động rất nhanh trong chế độ tiêu thụ công suất thấp. AVR được sản xuất sử dụng công nghệ bộ nhớ cố định mật độ cao của Atmel. Bộ nhớ On-chip ISP Flash cho phép lập trình lại vào hệ thống thông qua giao diện SPI bởi bộ lập trình bộ nhớ cố định truyền thống hoặc bởi chương trình On-chip Boot chạy trên lõi AVR. Chương trình Boot có thể sử dụng bất cứ giao diện nào để download chương trình ứng dụng trong bộ nhớ Flash. Phần mềm trong vùng Boot Flash sẽ tiếp tục chạy trong khi vùng Application Flash được cập nhật, giúp tạo ra thao tác Read-While-Write thực sự. Nhờ việc kết hợp một bộ 8bit RISC CPU với In-System Self- Programmable Flash chỉ trong một chip, ATmega32 là một vi điều khiển mạnh có thể cung cấp những giải pháp có tính linh động cao, giá thành rẻ cho nhiều ứng dụng điều khiển nhúng. ATmega32 được hỗ trợ đầy đủ với các công cụ hỗ trợ phát triển cũng như lập trình, bao gồm: trình biên dịch C, macro assembler, mô phỏng/dò lỗi lập trình, mô phỏng mạch điện và các bộ kit thí nghiệm. 2.3. Sơ đồ chân của ATmega16: Hình 2.2 – Sơ đồ chân của ATmega16 - GND: chân nối mass. - VCC: điện áp nguồn. - Port A (PA0…PA7): ngõ vào/ra Port A. Các chân Port A cũng là ngõ vào analog của bộ chuyển đổi A/D Chân Chức năng PA7 ADC7 (Ngõ vào ADC 7) PA6 ADC6 (Ngõ vào ADC 6) PA5 ADC5 (Ngõ vào ADC 5) PA4 ADC4 (Ngõ vào ADC 4) PA3 ADC3 (Ngõ vào ADC 3) PA2 ADC2 (Ngõ vào ADC 2) PA1 ADC1 (Ngõ vào ADC 1) PA0 ADC0 (Ngõ vào ADC 0) - Port B (PB0…PB7): ngõ vào/ra Port B. Các chức năng khác của Port B: Chân Chức năng PB7 SCK (Chân Clock của SPI) PB6 MISO (Master Input / Slave Output của SPI) PB5 MOSI (Master Output / Slave Input của SPI) PB4 SS (Ngõ vào chọn Slave của SPI) PB3 AIN1 (Ngõ vào Negative của bộ so sánh analog). OC0 (Ngõ ra so sánh của Timer/Counter 0). PB2 AIN0 (Ngõ vào Possitive của bộ so sánh analog). INT2 (Ngõ vào ngắt ngoài 2) PB1 T1 (Ngõ vào của bộ đếm ngoài counter 1) PB0 T0 (Ngõ vào của bộ đếm ngoài counter 0) XCK (Chân I/O Clock của USART) - Port C (PC0…PC7): ngõ vào/ra Port C. Các chức năng khác của Port C: Chân Chức năng PC7 TOSC2 (Chân 2 bộ dao động của Timer) PC6 TOSC1 (Chân 1 bộ dao động của Timer) PC5 TDI (Chân data in Test JTAG) PC4 TDO (Chân data out Test JTAG) PC3 TMS (Chân chọn Mode Test JTAG) PC2 TCK (Chân Clock Test JTAG) PC1 SDA (Chân data I/O của giao thức Two-wire) PC0 SCL (Chân clock của giao thức Two-wire) - Port D (PD0…PD7): ngõ vào/ra Port D. Các chức năng khác của Port D: Chân Chức năng PD7 OC2 (Ngõ ra so sánh của Timer/Counter2) PD6 ICP1 (Chân bắt mẫu của Timer/Counter1) PD5 OC1A (Ngõ ra so sánh A của Timer/Counter1) PD4 OC1B (Ngõ ra so sánh B của Timer/Counter1) PD3 INT1 (Ngõ vào ngắt ngoài 1) PD2 INT0 (Ngõ vào ngắt ngoài 0) PD1 TXD (Ngõ ra USART) PD0 RXD (Ngõ vào USART) - Reset: Chân ngõ vào. Khi đặt vào chân này điện áp mức thấp trong thời gian xác định (xem trong datasheet) thì sẽ reset chương trình. Nếu thời gian ngắn hơn thì việc reset không thành công. - XTAL1: ngõ vào khuếch đại dao động đảo và cũng là ngõ vào mạch tạo xung nội. - XTAL2: ngõ ra của mạch khuếch đại dao động đảo. - AVCC: là chân nguồn cấp cho Port A và bộ chuyển đổi A/D. Nên nối chân này với chân VCC ngay cả khi không sử dụng ADC. Nếu dùng ADC thì nên nối chân này với chân VCC qua 1 tụ lọc thông thấp. - AREF: chân tham chiếu điện áp analog của bộ chuyển đổi A/D. 2.4. Bộ nhớ của Atmega16: 2.4.1. Bộ nhớ chương trình ISP Flash: Vi điều khiển ATmega16 có bộ nhớ Flash tới 16Kbyte để lưu giữ chương trình. Do tất cả các lệnh của AVR đều là 16 hoặc 32 bit nên bộ nhớ Flash được tổ chức theo kiểu 8K x 16. Nhằm đảm bảo phần mềm được an toàn, bộ nhớ chương trình Flash được chia thành 2 phần: phần chương trình Boot (Boot Program Sector) và phần chương trình ứng dụng (Application Program Sector). Bộ nhớ Flash có thể ghi xóa được đến 1.000 lần. Bộ đếm chương trình của ATmega16 có kích thước 13bit để ghi địa chỉ cho bộ nhớ chương trình 8K. Bảng phân chia 2 phần của bộ nhớ: Hình 2.3 – Sơ đồ phân chia bộ nhớ 2.4.2. Bộ nhớ dữ liệu SRAM:

Ngày đăng: 11/08/2014, 00:20

w