1. Trang chủ
  2. » Luận Văn - Báo Cáo

ĐIỀU KHIỂN ổn ĐỊNH NHIỆT độ lò ấp TRỨNG

50 843 13

Đ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 50
Dung lượng 3,34 MB

Nội dung

Nhu cầu sử dụng các sản phẩm điện tử thông minh vào đời sống tăng cao. Điều khiển tự động đã trở thành một nhu cầu không thể thiếu được trong hệ thống công nghiệp. Một trong các yếu tố điều khiển nhiều trong hệ thống công nghiệp đó là nhiệt độ. Nhiệt độ được đo, điều khiển theo nhu cầu sử dụng ví dụ như trong các hệ thống nhiệt của nồi hơi, các lò ấp, lò sấy,…. Các hệ thống đo và điều khiển hiện nay xuất hiện nhiều trên thị trường với nhiều phương pháp đo và điều khiển khác nhau. Mỗi phương pháp đều có ưu và nhược điểm riêng. Để giải quyết các vấn đề đó, với những kiến thức đã học về kĩ thuật điện, điện tử, đo lường và cảm biến cùng sự tìm hiểu thêm về kĩ thuật vi điều khiển, chúng em đã tính toán và đưa ra giải pháp điều khiển nhiệt độ ứng dụng vi xử lí với mạch thiết kế đơn giản, dễ dàng thiết kế và nâng cấp.

Trang 2

2019 MỤC LỤC

MỤC LỤC ………1

DANH MỤC CÁC HÌNH ẢNH 4

LỜI NÓI ĐẦU .5

CHƯƠNG 1 TỔNG QUAN VI ĐIỀU KHIỂN STM32 6

1.1 Lịch sử hình thành và phát triển………6

1.1.1 Giới thiệu………6

1.1.2 Cortex là gì? ……… …7

1.2 Đặc điểm của ARM STM32……… 8

1.2.1 Các giai đoạn phát triển của STM32……… 8

1.2.2 Tính tinh vi……….….9

1.2.3 Sự an toàn ……….…9

1.2.4 Tính bảo mật………

… 10

1.2.5 Phát triển phần mềm………

10 1.2.6 Dòng performance và Access của STM32……… 10

1.3 Tổng quan về ARM Cortex M3 STM32F103……….11

1.3.1 Các phiên bản cấu trúc ARM………12

1.3.2 Bộ xử lý và đơn vị xử lý trung tâm Cortex……… 12

1.3.3 Đơn vị xử lý trung tâm Cortex……… …………12

1.3.4 Bộ xử lý Cortex……….………16

1.3.5 Các chế độ năng lượng.……….17

1.3.6 Kiểu đóng gói chip và kiểu chân linh kiện………17

1.3.7 Nguồn cung câp điện……….………18

1.3.8 Mạch reset……….………19

1.4 Kiến trúc hệ thống……… ……….19

1.5 Các ngoại vi……….………21

1.5.1 Các cổng I/O đa dụng……….……… 21

Trang 3

1.5.2 Ngắt ngoại (EXTI) ……… 21

1.5.3 ADC……… …21

CHƯƠNG 2 KHẢO SÁT, PHÂN TÍCH BÀI TOÁN ĐIỀU KHIỂN NHIỆT ĐỘ LÒ ẤP TRỨNG SỬ DỤNG STM32 23

2.1 Giới thiệu chung……… ……….23

2.1.1 Phân tích công nghệ lò ấp trứng……… ……… 23

2.1.2 Cấu tạo của lò ấp trứng……… … 24

2.2 Yêu cầu hệ thống……… ……… 25

2.3 Phân tích các khối chức năng của hệ thống……… ……… …26

2.3.1 Cảm biến nhiệt độ DS18B20……….………… 26

2.3.1.1 Đặc điểm của DS18B20………

……… 27

2.3.1.2 Lấy nhiệt độ với ds18b2……….………

27 2.3.2 Modul khối nguồn……….31

2.3.3 Khối hiển thị LCD HD44780 - 16×2……….… 31

2.3.4 Khối xử lý trung tâm KIT STM32F103c8t6……….………34

2.3.5 Khối chấp hành……… 35

CHƯƠNG 3 THIẾT KẾ, XÂY DỰNG HỆ THỐNG VÀ KẾT QUẢ THỰC NGHIỆM 36

3.1 Lưu đồ thuật toán………36

3.2 Sơ đồ nguyên lý hệ thống……… ….37

3.3 Lập trình cho KIT STM32 sử dụng phần mềm Keil C5 – ARM………38

3.4 Kết quả hệ thống……… ……44

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 46

TÀI LIỆU THAM KHẢO 47

Trang 4

DANH MỤC CÁC HÌNH ẢNH

Hình 1.1 Chip ARM thế hệ thứ M1 6

Hình 1.2 Kiến trúc vi xử lý ARM Cortex- M3 8

Hình 1.3 Biểu đồ các giai đoạn phát triển của STM32 9

Hình 1.4 Đặc điểm cuả bốn nhánh trong họ STM32 11

Hình 1.5 Các phiên bản cấu trúc của lõi ARM 12

Hình 1.6 Kiến trúc đường ống của ARM Cortex M3 13

Hình 1.7 Kiến trúc Load và store của ARM Cortex M3 13

Hình 1.8 Bản đồ bộ nhớ tuyến tính 4Gbyte của bộ xử lý Cortex M3 15

Hình 1.9 Các miền năng lượng bên trong STM32 18

Hình 1.10 Cách bố trí tụ chống nhiễu cho STM32 18

Hình 1.11 Đặc tính của mạch reset bên trong STM32 19

Hình 1.12 Cấu trúc Bus 20

Hình 1.13 Vùng nhớ Flash trên STM32 20

Hình 1.14 Bộ ADC STM32 22

Hình 2.1 Sơ đồ tổng quát hệ thống 26

Hình 2.2 Hình dạng DS18B20 26

Hình 2.3 Sơ đồ bộ nhớ của DS18b20 29

Hình 2.4 Sơ đồ kết nối của ds18b20 30

Hình 2.5 Mạch ổn áp nguồn LM2576 31

Hình 2.6 Hình ảnh LCD 32

Hình 2.7 Chức năng các chân của LCD 33

Hình 2.8 Kết nối LCD với vi điều khiển 33

Hình 2.9 Mạch mô phỏng LCD trên phần mềm proteus 34

Hình 2.10 Sơ đồ chân của KIT STM32F103C8T6 34

Hình 2.11 Thông số kỹ thuật của KIT STM32 35

Hình 2.12 Mạch điều khiển bóng đèn và Motor 35

Hình 3.1 Lưu đồ thuật toán 36

Hình 3.2 Sơ đồ nguyên lý hệ thống 37

Hình 3.3 KIT phát triển thực tế 45

Trang 5

LỜI NÓI ĐẦU

Ngày nay, nền kinh tế của nước ta đang trên đà phát triển mạnh mẽ, đời sốngcủa người dân ngày càng nâng cao Nhu cầu sử dụng các sản phẩm điện tử thông minhvào đời sống tăng cao Điều khiển tự động đã trở thành một nhu cầu không thể thiếuđược trong hệ thống công nghiệp Một trong các yếu tố điều khiển nhiều trong hệthống công nghiệp đó là nhiệt độ Nhiệt độ được đo, điều khiển theo nhu cầu sử dụng

ví dụ như trong các hệ thống nhiệt của nồi hơi, các lò ấp, lò sấy,… Các hệ thống đo vàđiều khiển hiện nay xuất hiện nhiều trên thị trường với nhiều phương pháp đo và điềukhiển khác nhau Mỗi phương pháp đều có ưu và nhược điểm riêng Để giải quyết cácvấn đề đó, với những kiến thức đã học về kĩ thuật điện, điện tử, đo lường và cảm biếncùng sự tìm hiểu thêm về kĩ thuật vi điều khiển, chúng em đã tính toán và đưa ra giảipháp điều khiển nhiệt độ ứng dụng vi xử lí với mạch thiết kế đơn giản, dễ dàng thiết kế

và nâng cấp

Vì thế em đã lựa chọn đề tài “điều khiển ổn định nhiệt độ lò ấp trứng”.

Do thời gian thực hiện và kiến thức còn hạn chế nên còn nhiều sai sót trong quá trìnhthực hiện đề tài, chúng em rất mong nhận được sự chỉ bảo,góp ý của các thầy cô vàcác bạn

Trang 6

CHƯƠNG 1 TỔNG QUAN VI ĐIỀU KHIỂN

1.1 Lịch sử hình thành và phát triển

1.1.1 Giới thiệu

ARM (Acorn RISC Machine) là một loại cấu trúc vi xử lý 32-bit kiểu RISC(Reduced Instructions Set Computer - Máy tính với tập lệnh tối giản) được sử dụngrộng rãi trong các hệ thống nhúng Do có đặc điểm tiết kiệm năng lượng nên các bộ vi

xử lí ARM ngày càng chiếm ưu thế trong các sản phẩm thiết bị điện tử di động

Chip ARM bắt đầu được thiết kế từ năm 1983 trong một dự án phát triển củacông ty máy tính Acorn Nhóm thiết kế dẫn đầu bởi Roger Wilson và Steve Furber vànăm 1985 nhóm đã cho ra đời mẫu chip ARM thế hệ đầu tiên có tên là ARM1

Hình CHƯƠNG 1 TỔNG QUAN VI ĐIỀU KHIỂN 1 Chip ARM thế hệ thứ M1Năm 1986 nhóm đã hoàn thành sản phẩm thực được gọi tên là ARM2, ARM2 cóđường truyền dữ liệu 32-bit, không gian địa chỉ 26-bit cho phép quản lý đến 64 Mbyteđịa chỉ và 16 thanh ghi 32-bit Một trong những thanh ghi này đóng vai trò là bộ đếmchương trình với 6 bit cao nhất và 2 bit thấp nhất lưu giữ các cờ trạng thái của bộ vi xử

lý Có thể nói ARM2 là bộ vi xử lý 32-bit khả dụng đơn giản nhất trên thế giới, chỉgồm 30.000 transistor Sự đơn giản như vậy có được nhờ ARM không có vi chươngtrình và cũng giống như hầu hết các CPU vào thời đó, không hề chứa cache Vì có cấutrúc đơn giản nên ARM có đặc điểm tiêu thụ công suất thấp đồng thời vẫn đảm bảo

Trang 7

tính năng vượt trội so với các dòng vi xử lí khác Thế tiếp theo là ARM3, ARM3 đượctạo ra với 4KB cache và có chức năng được cải thiện tốt hơn các thế hệ trước đó.Vào những năm cuối thập niên 80, hãng máy tính Apple Computer bắt đầu hợptác với Acorn để phát triển các thế hệ lõi ARM mới và kết quả của sự hợp tác này là sự

ra đời của thế hệ ARM6

Hiện tại thì ARM vẫn tiếp tục phát triển, cập nhật kiến trúc này một cách toàndiện hơn Hiện nay phiên bản được sử dụng phổ biến đó là phiên bản ARM7 và đã vàđang phát triển phiên bản ARM8 sử dụng điện toán xử lý 64 bít

Trong vài năm trở lại đây, một trong những xu hướng chủ yếu của các thiết kếvới vi điều khiển là sử dụng các chip ARM7 và ARM9 như một vi điều khiển đa dụng.Ngày nay các nhà sản xuất IC đưa ra thị trường hơn 240 dòng vi điều khiển sử dụnglõi ARM Tập đoàn ST Microelectronic vừa cho ra mắt dòng STM32, vi điều khiểnđầu tiên dựa trên nền lõi ARM Cortex-M3 thế hệ mới do hãng ARM thiết kế, lõi ARMCortex-M3 là sự cải tiến của lõi ARM7 truyền thống Dòng STM32 thiết lập các tiêuchuẩn mới về hiệu suất, chi phí, cũng như khả năng đáp ứng của ứng dụng tiêu thụnăng lượng thấp và tính điều khiển thời gian thực khắt khe

1.1.2 Cortex là gì?

Dòng ARM Cortex là một bộ xử lí thế hệ mới đưa ra một kiến trúc chuẩn chonhu cầu đa dạng về công nghệ Không giống như các chip ARM khác, dòng Cortex làmột lõi xử lí hoàn thiện, đưa ra một chuẩn CPU và kiến trúc hệ thống chung DòngCortex gồm 3 phân nhánh chính: dòng A dùng cho các ứng dụng cao cấp, dòng R dùngcho các ứng dụng thời gian thực như các đầu đọc và dòng M dùng cho các ứng dụng viđiều khiển và chi phí thấp STM32 đươc thiết kế dựa trên dòng Cortex-M3, dòngCortex-M3 được thiết kế đặc biệt để nâng cao hiệu suất hệ thống, kết hợp với tiêu thụnăng lượng thấp Cortex-M3 được thiết kế dựa trên nền kiến trúc mới do đó chi phí sảnxuất thấp để cạnh tranh với các dòng vi điều khiển 8 bit và 16 bit truyền thống

Cortex-M3 được thiết kế như một lõi chi phí thấp nhưng nó vẫn là một CPU 32bit với hai chế độ hoạt động: Thread và Handler, mỗi chế độ có thể được cấu hình vớimỗi vùng stack riêng biệt của nó, điều này cho phép thiết kế các phần mềm phức tạp

và hỗ trợ các hệ điều hành thời gian thực Lõi Cortex có hỗ trợ một timer 24 bit tựđộng nạp lại giá trị, nó sẽ cung cấp một ngắt timer đều đặn cho một nhận RTOS ( readtime operating system) Các chíp ARM7 và ARM9 có 2 tập lệnh ( tập lệnh ARM 32 bit

Trang 8

và tập lệnh Thumb 16 bit ) trong khi đó dòng Cortex được thiết kế hỗ trợ tập lệnhARM Thumb-2, tập lệnh này được pha trộn giữa tập lênh 32 bit và tập lệnh 16 bit Tậplệnh Thumb-2 được thiết kế đặc biệt dành cho chương trình C/C++, tức là các ứngdụng dựa trên nền Cortex hoàn toàn có thể được viết bằng ngôn ngữ C mà không cầnđến chương trình khởi động viết bang Assembler như ARM7 và ARM9.

Hình CHƯƠNG 1 TỔNG QUAN VI ĐIỀU KHIỂN 2 Kiến trúc vi xử lý ARM

Cortex- M3

1.2 Đặc điểm của ARM STM32

1.2.1 Các giai đoạn phát triển của STM32

Hiện nay STM32 đã chải qua 3 giai đoạn:

- Cortex-M0: Đây là thế hệ đầu tiên của STM32 bao gồm các chip STM32F0

- Cortex-M3: Đây là thế hệ thứ 2 của STM32 bao gồm các chip STM32L1,STM32F1, STM32F2

- Cortex-M4: Đây là thế hệ thứ 3 của STM32 bao gồm các chip STM32F3,STM32F4

Trang 9

Hình CHƯƠNG 1 TỔNG QUAN VI ĐIỀU KHIỂN 3 Biểu đồ các giai đoạn phát

triển của STM32

1.2.2 Tính tinh vi

Thoạt nhìn thì các ngoại vi của STM32 cũng giống như những vi điều khiểnkhác, như hai bộ chuyển đổi ADC, timer, I2C, SPI, CAN, USB và RTC Tuy nhiênmỗi ngoại vi trên đều có rất nhiều đặc điểm thú vị Ví dụ như bộ ADC 12-bit có tíchhợp một cảm biến nhiệt độ để tự động hiệu chỉnh khi nhiệt độ thay đổi và hỗ trợ nhiềumode chuyển đổi Mỗi bộ timer có 4 khối capture compare, mỗi khối timer có thể liênkết với các khối timer khác để tạo ra một mảng các timer tinh vi

1.2.3 Sự an toàn

Ngày nay các ứng dụng hiện đại thường phải hoạt động trong môi trường khắtkhe, đòi hỏi tính an toàn cao, cũng như đòi hỏi sức mạnh xử lí và càng nhiều thiết bịngoại vi tinh vi Để đáp ứng các yêu cầu khắt khe đó STM32 cung cấp một số tínhnăng phần cứng hỗ trợ các tính năng tốt nhất Chúng bao gồm một bộ phát hiện điện

áp thấp, một hệ thống bảo vệ xung clock và hai bộ watchdogs Bộ đầu tiên làwatchdog cửa sổ Watchdog này phải được làm tươi trong một khung thời gian xácđịnh Nếu nhấn nó quá sớm hoặc quá muộn thì nó sẽ bị kích hoạt Bộ thứ hai là mộtWatchdog độc lập,có bộ dao động bên ngoài tách biệt với xung nhịp hệ thống chính

Hệ thống bảo vệ xung nhịp có thể phát hiện lỗi của dao động chính bên ngoài (thường

là thạch anh) và chuyển sang dùng bộ dao động nội RC 8Mhz

Trang 10

1.2.4 Tính bảo mật

Một trong những yêu cầu khắt khe khác của thiết kế hiện đại là nhu cầu bảo mật

mã chương trình để ngăn chặn sao chép trái phép phần mềm Bộ nhớ FLASH củaSTM32 có thể được khóa để chống truy cập đọc Flash thông qua cổng debug Khi tínhnăng bảo vệ được kích hoạt, bộ nhớ Flash cũng được bảo vệ chống ghi để ngăn chặn

mã không tin cậy được chèn vào bảng vecto ngắt Hơn nữa bảo vệ ghi có thể được chophép trong phần còn lại của bộ nhờ Flash STM32 cũng có một đồng hồ thời gian thực

và một khu vực nhỏ dữ liệu trên SRAM được nuôi nhờ nguồn pin Khu vực này cómột đầu vào chống giả mạo, có thể kích hoạt một sự kiện ngắt khi có sự thay đổi trạngthái ở đầu vào này

Ngoài ra một sự kiện chống giả mạo sẽ tự động xóa dữ liệu được lưu trên SRAM đượcnuôi bằng nguồn pin

1.2.5 Phát triển phần mềm

Nếu bạn đã sử dụng một vi điều khiển dựa trên lõi ARM, các công cụ phát triển

đã được hỗ trợ tập lệnh Thumb-2 và dòng Cortex Ngoài ra ST cũng cung cấp một thưviện điều khiển thiết bị ngoại vị, một thư viện phát triển USB như một thư viện ANSI

C và mã nguồn đó là tương thích với các thư viện trước đó được công bố cho vi điềukhiển ARM7 và ARM9 Có rất nhiều RTOS mã nguồn mở và thương mại vàmiddleware (TCP/IP, hệ thống tập tin,.v.v ) hỗ trợ cho họ Cortex Dòng Cortex-M3cũng đi kèm một hệ thống gỡ lối hoàn toàn mới gọi là CodeSight Truy cập vào hệthống CodeSight thông qua cổng Debug (Debug Access Port ), cổng này hỗ trợ kết nốichuẩn JTAG hoặc giao diện 2 dây (serial wire -2 Pin), cũng như cung cấp trình điềukhiển chạy gỡ lối, hệ thống CodeSight trên STM32 cung cấp một data watchpoint vàmột công cụ theo dõi(instrucmentation trace) Công cụ này có thể gửi thông tin về ứngdụng được lựa chọn đến công cụ gỡ lối Điều này có thể cung cấp thêm các thông tin

gỡ lối và cũng có thể sử dung trong quá trình thử nghiệm phần mềm

1.2.6 Dòng performance và Access của STM32

Họ STM32 có hai nhánh đầu tiên riêng biệt : dòng Performance dòng Access.Dòng Performance tập hợp đầy đủ các thiết bị ngoại vi và chạy với xung nhịp tối đa72Mhz Họ STM32 có hai nhánh đầu tiên riêng biệt: dòng Performance và dòng

Trang 11

Access Dòng Performance tập hợp đầy đủ các thiết bị ngoại vi và chạy với xung nhịptối đa 72Mhz Dòng Access có các thiết bị ngoại vi ít hơn và chạy với tốc độ xungnhịp là 32Mhz Quan trọng hơn là cách bố trí chân (pins layout) và các kiểu đóng góichíp (package type) là như nhau giữa dòng Access avf dòng Performance Điều nàycho phép các phiên bản của STM32 được hoán vi mà không cần sửa đổi hay sắp xếplại footprint (mô hình chân của chip trong công cụ layout bo mạch) Trên PCB(Printed Circuit Board ).

Ngoài 2 dòng performance và Access đầu tiên thì hiện nay ST đã đưa ra thịtrường thêm 2 dòng USB Access và Connectivity như hình bên dưới

Hình CHƯƠNG 1 TỔNG QUAN VI ĐIỀU KHIỂN 4 Đặc điểm cuả bốn nhánh trong

họ STM32

1.3 Tổng quan về ARM Cortex M3 STM32F103

Như đã thấy trong phần giới thiệu, bộ xử lý Cortex là thế hệ lõi nhúng kế tiếp từARM Cortex thừa kế các ưu điểm từ các bộ xử lí ARM trước đó, nó là một lõi xử lýhoàn chỉnh, bao gồm bộ xử lí trung tâm Cortex và một hệ thống các thiết bị ngoại vixung quanh, Cortex cung cấp phần xử lí trung tâm của một hệ thống nhúng Để đápứng yêu cầu khắc khe và đa dạng của các hệ thống nhúng, bộ xử lý Cortex gồm có 3nhánh, được biểu hiện bằng các ký tự sau tên Cortex như sau:

Cortex-A : bộ vi xử lý dành cho hệ điều hành và các ứng dụng của người dùng phức tạp Hỗ trợ các tập lệnh ARM, Thumb và Thumb-2

Cortex-R : bộ xử lí dành cho các hệ thống đòi hỏi khắc khe về tính thời gianthực Hỗ trợ các tập lệnh ARM, Thumb, và Thumb-2

Trang 12

Cortex-M : bộ xử lí dành cho dòng vi điều khiển, được tối ưu hóa cho các ứngdụng nhạy cảm về chi phí Chỉ hỗ trợ tập lệnh Thumb-2.

Con số nằm cuối tên Cortex cho biết mức độ hiệu suất tương đối, với 1 là thấp nhất và 8 làcao nhất Hiện nay dòng Cortex-M có mức hiệu suất cao nhất là mức 3 STM32 dựatrên bộ xử lý Cortex-M3

1.3.1 Các phiên bản cấu trúc ARM

Tính đến thời điểm hiện tại thì phiên bản kiến trúc mới nhất của lõi ARM là ARMv7 (Trước đó có ARMv4, ARMv5, ARMv6) Bộ xử lý Cortex-M3 dựa trên kiến trúc ARMv7 M và có khả năng thực hiện tập lệnh Thumb-2

Hình CHƯƠNG 1 TỔNG QUAN VI ĐIỀU KHIỂN 5 Các phiên bản cấu trúc của lõi

ARM

1.3.2 Bộ xử lý và đơn vị xử lý trung tâm Cortex

Trong suốt phần còn lại của tài liệu này, các thuật ngữ bộ xử lí Cortex (Cortexprocessor) và đơn vị xử lí trung tâm Cortex (Cortex CPU) sẽ được sử dụng để phânbiệt giữa nhúng lõi Cortex hoàn chỉnh và bộ xử lí trung tâm RISC nội (internal RISCCPU) Trong phần tiếp theo ta sẽ xem xét các đặc điểm chính của đơn vị xử lí trungtâm Cortex, tiếp theo là hệ thống thiết bị ngoại vi bên trong bộ xử lý Cortex

1.3.3 Đơn vị xử lý trung tâm Cortex

Trung tâm của bộ xử lý Cortex là một CPU RISC 32-bit CPU này có một phiên

Trang 13

bản được đơn giản hóa từ mô hình lập trình (programmer’s model) của ARM7/9 ,nhưng có một tập lệnh phong phú hơn với sự hỗ trợ tốt cho các phép toán số nguyên,khả năng thao tác với bit tốt hơn và khả năng đáp ứng thời gian thực tốt hơn.

a) Kiến trúc đường ống

CPU Cortex có thể thực thi hầu hết các lệnh trong một chu kì đơn Giống nhưCPU của ARM7 và ARM9, việc thực thi này đạt được với một đường ống ba tầng Tuynhiên Cortex-M3 khả năng dự đoán việc rẽ nhánh để giảm thiểu số lần làm rỗng

(flush) đường ống

Hình CHƯƠNG 1 TỔNG QUAN VI ĐIỀU KHIỂN 6 Kiến trúc đường ống của

ARM Cortex M3Trong khi một lệnh đang được thực thi, thì lệnh tiếp theo sẽ được giải mã và lệnhtiếp theo nữa sẽ được lấy về từ bộ nhớ Phương thức hoạt động này sẽ phát huy hiệuquả tối đa cho mã tuyến tính (linear code), nhưng khi gặp phải một rẽ nhánh (ví dụ cấutrúc lệnh if else) thì các đường ống phải được làm rỗng (flush) và làm đầy (refill)trước khi mã có thể tiếp tục thực thi

b) Mô hình lập trình

CPU Cortex là bộ xử lý dựa trên kiến trúc RISC, do đó hỗ trợ kiến trúc nạp vàlưu trữ (load and store architecture) Để thực hiện lệnh xử lý dữ liệu, các toán hạngphải được nạp vào một tập thanh ghi trung tâm, các phép tính dữ liệu phải được thựchiện trên các thanh ghi này và kết quả sau đó được lưu lại trong bộ nhớ

Trang 14

Hình CHƯƠNG 1 TỔNG QUAN VI ĐIỀU KHIỂN 7 Kiến trúc Load và store của

ARM Cortex M3c) Các chế độ hoạt động

Bộ vi xử lý Cortex được thiết kế với mục tiêu giảm số bóng bán dẫn, nhanhchóng và dễ sử dụng lõi vi điều khiển, nó có được thiết kế để hỗ trợ việc sử dụng hệđiều hành thực hành thời gian Bộ xử lý Cortex có hai chế độ hoạt động: chế độThread và chế độ Handler CPU sẽ chạy ở chế độ Thread trong khi nó đang thực thi ởchế độ nền không có ngắt xảy ra và sẽ chuyển sang chế độ Handler khi nó đang thựcthi các ngắt đặc biệt (exceptions) Ngoài ra, CPU Cortex có thể thực thi mã trong chế

độ đặc quyền hoặc không đặc quyền (privileged or non-privileged mode)

Trang 15

Hình CHƯƠNG 1 TỔNG QUAN VI ĐIỀU KHIỂN 8 Bản đồ bộ nhớ tuyến tính

4Gbyte của bộ xử lý Cortex M3e) Truy cập bộ nhớ không xếp hàng

Bộ xử lí Cortex-M3 có thể truy cập bộ nhớ không xếp hàng, việc đó đảm bảo

Trang 16

rằng SRAM được sử dụng một cách hiệu quả.

CPU Cortex có các chế độ định địa chỉ cho word, half word và byte, nhưng cóthể truy cập bộ nhớ không xếp hàng (unaligned memory) Điều này cho phép trình liênkết của trình biên dịch tự do sắp xếp dữ liệu chương trình trong bộ nhớ Việc bổ sung

hỗ trợ tính năng dải bit (bit banding) vào CPU Cortex cho phép các cờ chương trìnhđược đóng gói vào một biến word hoặc half-word hơn là sử dụng một byte cho mỗicờ

b) Ma trận bus

Bus hệ thống và bus dữ liệu được kết nối với vi điều khiển bên ngoài thông quamột tập các bus tốc độ cao được sắp xếp như một ma trận bus Nó cho phép một sốđường dẫn song song giữa bus Cortex và các bus chủ (bus master) khác bên ngoài nhưDMA đến các nguồn tài nguyên trên chip như SRAM và các thiết bị ngoại vi Nếu haibus chủ (ví dụ CPU Cortex và một kênh DMA) cố gắng truy cập vào cùng một thiết bịngoại vi, một bộ phân xử nội sẽ giải quyết xung đột và cho truy cập bus vào ngoại vi

có mức ưu tiên cao nhất

c) Timer hệ thống

Lõi Cortex có một bộ đếm xuống 24-bit, với tính năng tự động nạp lại (autoreload) giá trị bộ đếm và tạo sự kiện ngắt khi đếm xuống zero Nó được tạo ra vớidụng ý cung cấp một bộ đếm thời gian chuẩn cho tất cả vi điều khiển dựa trên Cortex.Đồng hồ SysTick được sử dụng để cung cấp một nhịp đập hệ thống cho một RTOS,hoặc để tạo ra một ngắt có tính chu kì để phục vụ cho các tác vụ được lập lịch Thanh

Trang 17

ghi trạng thái và điều khiển của SysTick trong đơn vị không gian điều khiển hệ thốngCortex-M3 cho phép chọn các nguồn xung clock cho SysTick.

d) Xử lý ngắt

Một trong những cải tiến quan trọng của lõi Cortex so với các CPU ARM trước đó làcấu trúc ngắt của nó và xử lý các ngắt ngoại lệ (exception handling) CPU ARM7 vàARM9 có hai đường ngắt: ngắt nhanh (fast interrupt-FIQ) và ngắt đa dụng (generalpurpose interrupt hay còn gọi là interrupt request-RIQ) Hai đường tín hiệu ngắt nàyphục vụ tất cả các nguồn ngắt bên trong một vi điều khiển, trong khi kỹ thuật được sửdụng là như nhau, nhưng việc thực hiện lại khác biệt giữa các nhà sản xuất chip

1.3.5 Các chế độ năng lượng

Cách đi vào chế độ năng lượng thấp của CPU Cortex: Lõi Cortex có thể được đặtvào chế độ sleep bằng cách thực hiện lệnh WFI (Wait For Interrupt) hoặc WFE (WaitFor Sự kiện) Trong trường hợp thực thi lệnh WFI, lõi Cortex sẽ tiếp tục thực hiện vàphục vụ ngắt đang chờ xử lý Khi trình phục vụ ngắt-ISR kết thúc, sẽ có hai khả năngxảy ra Trước tiên, CPU Cortex có thể trở về từ ISR này và tiếp tục thực hiện chươngtrình ứng dụng nền như bình thường Bằng cách đặt bit SLEEPON EXIT trong thanhghi điều khiển hệ thống, lõi Cortex sẽ tự động đi vào chế độ ngủ một khi ISR này kếtthúc Ngắt WFE cho phép lõi Cortex tiếp tục thực hiện chương trình từ điểm mà nóđược đặt vào chế độ sleep Nó sẽ không nhảy đến và thực thi một trình phục vụ nào.Một sự kiện đánh thức (wake-up) chỉ đơn giản đến từ một thiết bị ngoại vi dù cho nókhông được kích hoạt như là một ngắt bên trong NVIC

1.3.6 Kiểu đóng gói chip và kiểu chân linh kiện

Các biến thể của dòng Access, USB, Performance và Connectivity của STM32được thiết kế để phù hợp với nhiều kiểu đóng gói, để cho phép nâng cấp phần cứngmột dễ dàng mà không cần phải thiết kế lại PCB (Printed Circuit Board) Tất cả các viđiều khiển STM32 đều có sẵn dạng đóng gói LQFP, từ 48 chân đến 144 chân

Trang 18

1.3.7 Nguồn cung câp điện

Hình CHƯƠNG 1 TỔNG QUAN VI ĐIỀU KHIỂN 9 Các miền năng lượng bên

trong STM32Tùy chọn cung cấp năng lượng thứ hai được sử dụng để cung cấp cho ADC NếuADC được sử dụng, nguồn điện chính VDD được giới hạn trong phạm vi 2.4V đến3.6V Đối với chip đóng gói 100 chân, khối ADC có thêm chân điện áp tham khảoVREF+ và VREF- Chân VREF- phải được kết nối với VDDA và VREF+ có thể thayđổi từ 2,4V đến VDDA Tất cả các kiểu đóng gói chíp còn lại thì điện áp tham khảođược kết nối bên trong với các chân cung cấp điện áp ADC Mỗi nguồn cung cấpnăng lượng cần một tụ chống nhiễu đi kèm

Trang 19

Hình CHƯƠNG 1 TỔNG QUAN VI ĐIỀU KHIỂN 10 Cách bố trí tụ chống nhiễu

1.4 Kiến trúc hệ thống

STM32 gồm nhân Cortex kết nối với bộ nhớ FLASH thông qua đường bus lệnhchuyên biệt Các bus dữ liệu(Cortex Data busses) và hệ thống(Cortex System busses)được kết nối tới ma trận busses tốc độ cao( ARM Advanced High Speed Busses-

Trang 20

Hình CHƯƠNG 1 TỔNG QUAN VI ĐIỀU KHIỂN 12 Cấu trúc Bus

Cấu trúc bus nội cung cấp đường truyền chuyên biệt dành cho tập lệnh thực thi và ma trận bus đường dữ liệu cho nhân Cortex and bộ điều khiển DMA truy cập tài nguyên trên vi xử lý

Cấu trúc bộ nhớ

Trang 21

Hình CHƯƠNG 1 TỔNG QUAN VI ĐIỀU KHIỂN 13 Vùng nhớ Flash trên STM32Vùng nhớ dành cho flash được chia nhỏ thành 3 vùng Vùng thứ nhất gọi là UserFlash bắt đầu từ địa chỉ 0x00000000 Kế tiếp là System Memory hay còn gọi là vùngnhớ lớn Vùng này có độ lớn 4Kbytes thông thường sẽ được nhà sản xuất cài đặtbootloader Cuối cùng là vùng nhớ nhỏ bắt đầu từ địa chỉ 0x1FFFFF80 chứa thông tincấu hình dành cho STM32 Bootloader thường được dùng để tải chương trình thôngqua USART1 và chứa ở vùng User Flash.

1.5 Các ngoại vi

1.5.1 Các cổng I/O đa dụng

STM32 có 5 cổng I/O đa dụng với 80 chân điều khiển

Các cổng I/O được đánh số từ A->E và mức áp tiêu thụ ở 5V Nhiều chân ngoại có thểđược cấu hình như là Input/Output tương tác với các thiết bị ngoại vi riêng của ngườidùng như USART hay I2C Thêm nữa có thể cấu hình các chân này như là nguồn ngắtngoại kết hợp với cổng GPIO khác

Mỗi cổng GPIO đều có 2 thanh ghi 32-bit điều khiển Như vậy ta có 64-bit để cấu hình

16 chân của một cổng GPIO Như vậy mỗi chân của cổng GPIO sẽ có 4 bit để điều khiển: 2 bit sẽ quy định hướng ra vào dữ liệu: input hay output, 2 bit còn lại sẽ quy định đặc tính dữ liệu Sau khi cổng được cấu hình, ta có thể bảo vệ các thông số cấu hình bằng cách kích hoạt thanh ghi bảo vệ Trong thanh ghi này, mỗi chân trong cổng đều có một bit bảo vệ tương ứng để tránh các thay đổi vô ý ở các 4 bit cấu hình Để kích hoạt chế độ bảo vệ, ta ghi lần lượt giá trị 1,0,1 vào bit 16

Trang 22

1.5.3 ADC

STM32 có thể có 2 bộ chuyển đổi tín hiệu tương tự sang tín hiệu số tùy vào cácphiên bản Bộ ADC có thể được cung cấp nguồn riêng từ 2.4V đến 3.6V Nguồn cungcấp cho bộ ADC có thể được kết nối trực tiếp hoặc thông qua các chân chuyên biệt BộADC có độ phân giải 12-bit và tần suất lấy mẫu là 12Mhz Với 18 bộ ghép kênh, trong

đó 16 kênh dành cho các tín hiệu ngoại, 2 kênh còn lại dành cho cảm biến nhiệt và vôn

kế nội

Hình CHƯƠNG 1 TỔNG QUAN VI ĐIỀU KHIỂN 14 Bộ ADC STM32

Trang 23

CHƯƠNG 2 KHẢO SÁT, PHÂN TÍCH BÀI TOÁN ĐIỀU KHIỂN NHIỆT ĐỘ LÒ ẤP TRỨNG SỬ DỤNG STM32

2.1 Giới thiệu chung

Lò ấp trứng về cơ bản là một tổ hợp các thiết bị dùng để thay thế chức năng củagia cầm mái trong việc ấp nở các quả trứng Các lò ấp trứng được chế tạo để giảm thờigian con mái phải “ nằm ổ “, ấp trứng số lượng nhiều trong khoảng thời gian cố định,

tỉ lệ trứng nở cao, hiệu quả kinh tế cao.Về thông thường các lò ấp trứng được dùng để

ấp trứng các loại gia cầm thông dụng với số ngày nở khác nhau:gà khoảng 3 tuần (21ngày ), vịt khoảng 4 tuần ( 28 ngày), ngan 5 tuần ( khoảng 35 ngày ) Hệ thống đượcthiết kế thực hiện được nhiệm vụ chính là đo nhiệt độ lò ấp trứng và điều chỉnh nhiệt

độ trong lò

2.1.1 Phân tích công nghệ lò ấp trứng

Phương pháp dùng cảm biến nhiệt độ kết hợp với vi xử lý

- Dùng dây meso hoặc bóng đèn cung cấp nhiệt

- Điều khiển và ổn định nhiệt độ bằng vi xử lí

- Nguyên lý làm việc: cảm biến đo nhiệt độ ở các ngăn ấp rồi truyền tín hiệu đến

vi xử lý điều khiển nhiệt độ thông qua việc lập trình cho hệ thống

- Ưu điểm: Đo và điều khiển nhiệt độ chính xác, các máy ấp trứng công nghiệpchủ yếu sử dụng phương pháp này

- Nhược điểm: Cần kiến thức sâu và rộng về điện tử, đo lường cảm biến, cũngnhư vi xử lí và lập trình

Tóm lại: trong các lò ấp trứng gia cầm, yêu cầu cần phải cung cấp lượng nhiệtđầy đủ và liên tục thì năng suất và độ chính xác cao của lò mới cao Nếu trong quátrình ấp trứng mà mất nhiệt thì trứng dễ hỏng Yêu cầu của ấp trứng gia cầm là sai lệchnhiệt độ ấp(tùy từng thời kì) không quá 0,1 – 0,2 độ C( tất nhiên còn nhiều yêu cầukhác nữa như độ ẩm, độ thông thoáng….) Mục tiêu là nâng cao tỷ lệ nở và tỷ lệ chínhphẩm Do vậy cần phải có hệ thống kiểm soát, quản lí xem lò có được cung cấp nhiệtđầy đủ hay không và có thể tự động đảo trứng tăng tỉ lệ phát triển của phôi

Trang 24

2.1.2 Cấu tạo của lò ấp trứng

Cấu tạo của lò ấp trứng gồm các bộ phận chính như sau:

- Vỏ máy được làm bằng hợp kim nhôm nhựa, không thấm nước, chịu nhiệt độ,chống cong vênh, biến dạng Giữa được lót lớp xốp cách nhiệt dày 5cm, trongcùng là lớp tôn kẽm dùng để tạo nhiệt đều, tránh nóng cục bộ, tránh bụi bẩn bềmặt, giảm thiểu vi khuẩn gây bệnh

- Khung máy được làm bằng sắt hộp hoắc sắt V

- Cửa máy có kính 2 lớp để theo dõi hoạt động và thông số kỹ thuật khi kiểm tra

mà không cần mở máy

b, Bộ tạo nhiệt và bộ điều nhiệt

- Là hệ thống cảm biến nhiệt và các linh kiện được cài đặt 2 chiều theo ý muốn

trong 1 thời gian ấn định

- Bộ vi điều khiển là hệ thống cảm biến kết hợp với bán dẫn để giám sát, nhận và

xử lý các thông số kỹ thuật khi bộ cảm biến báo về.

c, Bộ tạo ẩm và bộ điều ẩm

Vung nước qua cánh quạt trong máy, nước từ bình chứa đặt cao hay từ mạng

Trang 25

ống cung cấp chung của trại, qua van nước, ống dẫn vào bầu, để rồi theo ống dẫnhàn dọc các cánh quạt gió mà vung ra xung quanh, xuyên qua các lỗ nhỏ củavành lưới thép bao xung quanh, sẽ tạo thành lớp sương mù gây ẩm trong máy.

- Bộ điều ẩm thường gồm một bộ cảm biến ẩm đặt trong máy để tác động vào bộphận ngắt van nước để đóng ngắt dòng chảy vào máy, khi độ ẩm thấp hay caoquá mức qui định

d, Hệ thống thông gió và bộ điều gió

Bộ thô thông gió ở các máy ấp trứng đều là quạt hướng trục, lắp ở giữa thànhsau bên trong máy Cửa hút gió được bố trí gần trục quạt có nắp điều gió, điềuchỉnh độ mở bằng tay Cửa thoát gió thường bố trí trên nóc máy hay ở thànhtrước máy, có nắp điều gió

e, Hệ thống đảo trứng

Động cơ điện quay: dùng cho mọi kiểu giàn trứng, thường gồm động cơ điện, bộ giảm tốc, bộ truyền động và cụm tiếp điểm cuối

f, Bộ điều khiển và báo hiệu

Thường bao gồm: những bộ khởi động từ, những cụm tiếp điểm tổng, những rơleđiện từ, cầu chì, nút bấm, cụm đầu nối điện, chuông đèn báo hiệu

g, Bộ phận phụ trợ

Máy ấp trứng còn có những bộ phận phụ trợ như: giàn chuyển trứng, bộ bánh xechuyển giàn trứng, bàn chuyển trứng, thang, dụng cụ soi trứng,

2.2 Yêu cầu hệ thống

- Giá thành và chi phí thiết kế hệ thống thấp

- Ngôn ngữ lập trình đơn giản dễ hiểu và có khả năng mở rộng cao

Ngày đăng: 18/03/2019, 20:35

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w