Sơ đồ khối và nguyên tắc hoạt động của mơ hình

Một phần của tài liệu Thiết kế và chế tạo mô hình điều khiển máy khuấy trộn (Trang 68)

Khi nhấn nút khởi động bơm A sẽ hút chất lỏng ở bình chứa A, mức chất lỏng sẽ được xác định bởi cảm biến mức 61F-GN. Ở đây, hệ thống được thiết kế bao gồm hai cảm biến 61F-GN, cảm biến thứ nhất sẽ dùng để xác định mức chất lỏng mà bơm A hút vào bình chứa, sau đĩ tín hiệu từ cảm biến truyền về vi xử lý để điều khiển hệ thống ngắt bơm A và bắt đầu cho bơm B hoạt động. Tương tự, cảm biến mức thứ hai dùng để xác định mức chất lỏng mà bơm B bơm vào bình khuấy. Kế tiếp hai chất lỏng A và B trong bình sẽ được khuấy và cấp nhiệt cùng lúc, khi đĩ cảm biến nhiệt độMF-904 sẽ hoạt động và báo cho ta biết tình trạng nhiệt độ của hỗn hợp trong bình khuấy. Khi đến nhiệt độ cần thiết hệ thống sẽ tự động ngưng cấp nhiệt và cho bơm C hút hỗn hợp trong bình trộn ra ngồi. Sau đĩ cĩ thể bắt đầu lại từ đầu quá trình hoạt động của hệ thống.

Ở đây, ta cĩ thể thực hiện quá trình định lượng chất lỏng một cách gần đúng mặc dù cảm biến mức 61F-GN chỉ là loại cảm biến đo theo ngưỡng và thực hiện đo bằng phần mềm. Ta đã cĩ thể xác định được ngưỡng của chất lỏng thơng qua cảm biến 61F-GN đồng thời cũng đã biết trước lưu lượng của máy bơm (12 l/ph), do đĩ ta chỉ cần cho chương trình delay một khoảng thời gian thích hợp sau khi cảm biến 61F-GN truyền tín hiệu về để cĩ thể định lượng được chất lỏng muốn đo. Tuy nhiên phương pháp này sẽ cĩ sai số vì gặp một vài khĩ khăn trong phần cứng chẳng hạn như quán tính của máy bơm khi ngừng, sai số về lưu lượng của máy bơm, hoặc như thời gian trể của vi xử lý. Vì vậy, mơ hình chỉ cĩ thể được ứng dụng trong những quá trình địi hỏi độ chính xác khơng cao lắm. Nếu muốn độ chính xác cao hơn ta phải thay đổi phần cứng cho thích hợp.

Power Start Bơm A Cảm biến mức 1 Off On Bơm B Cảm biến mức 2 Off Động cơ

khuấy Rơ-le nhiệt

On Cảm biến nhiệt Off On Bơm Hút Off Cảm biến mức 1+2 On

Hình 8.3 Sơ đồ khối nguyên tắc hoạt động của mơ hình.

Vào năm 1971 tập đồn Intel đã giới thiệu 8080, bộ vi xử lý (micro-processor) thành cơng đầu tiên. Sau đĩ khơng lâu Motorola, RCA, kế đến là MOS Thechnology và Zilog đã giới thiệu bộ vi xử lý tương tự: 6800, 1801, 6502 và Z80ø. Bản thân các vi mạch (IC: integrated circuit) này tuy khơng cĩ nhiều hiệu quả sử dụng nhưng khi là một phần của máy tính đơn board (single-board computer) chúng trở thành phần trung tâm trong các sản phẩm cĩ ích dùng để nghiên cứu và thiết kế. Các máy tính đơn board này, trong đĩ cĩ D2 của Motorola, KIM-1 của MOS Technology và SDK-85 của Intel là đáng nhớ nhất, đã nhanh chĩng xâm nhập vào các phịng thí nghiệm thiết kế của trường trung học, trường đại học và các cơng ty điện tử.

Vào năm 1976 Intel giới thiệu bộ vi điều khiển (microcontroller) 8748, một chip tương tự như bộ vi xử lý và là chip đầu tiên trong họ vi điều khiển MCS-48. 8748 là một vi mạch chứa trên 17000 transistor bao gồm một CPU, 1K byte EPROM, 64 byte RAM, 27 chân xuất nhập và một bộ định thì 8-bit. IC này và các IC khác tiếp theo của họ MCS- 48 đã nhanh chĩng trở thành chuẩn cơng nghiệp trong các ứng dụng hướng điều khiển (control-oriented application). Việc thay thế các thành phần cơ điện trong các sản phẩm như máy giặt và các bộ điều khiển đèn giao thơng là những ứng dụng phổ biến ban đầu. Các sản phẩm khác mà trong đĩ bộ vi điều khiển được tìm thấy bao gồm xe ơ tơ, thiết bị cơng nghiệp, các sản phẩm tiêu dùng và các ngoại vi của máy tính (bàn phím của IBM- PC là một thí dụ sử dụng bộ vi điều khiển trong các thiết kế tối thiểu thành phần).

Độ phức tạp, kích thước và khả năng của bộ vi điều khiển được tăng thêm một bậc quan trọng vào năm 1980 khi Intel cơng bố chip 8051, bộ vi điều khiển đầu tiên của họ vi điều khiển MCS-51. So với 8048, chip 8051 chứa trên 60000 transistor bao gồm 4K byte ROM, 128 byte RAM, 32 đường xuất nhập, một port nối tiếp và 2 bộ định thì 16-bit, một lượng mạch đáng chú ý trong một IC đơn. Các thành viên mới được thêm vào cho họ MCS-51 và các biến thể ngày nay gần như cĩ gấp đơi đặc trưng này. Tập đồn Siemens, nguồn sản xuất thứ hai các bộ vi điều khiển thuộc họ MCS-51 cung cấp chip SAB80515, một cải tiến của 8051 chứa trong một vỏ 68 chân, cĩ 6 port xuất nhập 8-bit, 13 nguồn tạo ra ngắt và một bộ biến đổi A/D 8-bit với 8 kênh ngõ vào. Họ 8051 là một trong những họ điều khiển 8-bi t mạnh và linh hoạt nhất, đã trở thành bộ vi điều khiển hàng đầu trong những năm gần đây.

Ở đề tài này em sử dụng chip vi điều khiển (cĩ thể gọi là chip vi xử lý do ít thĩi quen. Mặt khác, hiện nay ít cĩ sự phân định rõ giữa hai thuật ngữ này) AT 8951, đây cũng thuộc MCS –51. Về cơ bản cấu tạo của AT9851 cũng giống như 8051, nhưng AT9851 là một hệ vi tính 8-bit đơn chip CMOS cĩ hiệu suất cao, cơng suất nguồn tiêu thụ thấp và cĩ 4K byte bộ nhớ ROM Flash xĩa được/lập trình được. Chip này được sản xuất dựa vào cơng nghệ bộ nhớ khơng mất nội dung cĩ độ tích hợp cao của Atmel.

8.2.1 Tĩm tắt phần cứng AT8951

Chip AT 8951 cũng tương thích với tập lệnh và các chân ra của chuẩn cơng nghiệp MCS-51. Flash trên chip này cho phép bộ nhớ chương trình được lập trình lại trên hệ thống hoặc bằng bộ lập trình bộ nhớ khơng mất nội dung quy ước. Bằng cách kết hợp một CPU linh hoạt 8-bit với Flash trên một chip đơn thể, Atmel 89C51 là một hệ vi tính 8-bit đơn chip mạnh cho ta một giải pháp cĩ hiệu quả và rất linh hoạt đối với các ứng dụng điều khiển.

AT8951 cĩ các đặc trưng chuẩn sau:

• 128 byte RAM.

• 32 đường xuất nhập.

• Hai bộ định thời/đếm 16-bit.

• Một cấu trúc ngắt hai mức ưu tiên và 5 nguyên nhân ngắt.

• Một port nối tiếp song cơng.

• Mạch dao động và tạo xung clock trên chip.

Ngồi ra AT8951 được thiết kế với logic tĩnh cho hoạt động cĩ tần số giảm xuống 0 và hỗ trợ hai chế độ tiết kiệm năng lượng được lựa chọn bằng phần mềm. Chế độ nghỉ dừng CPU trong khi vẫn cho phép RAM, các bộ định thời/đếm, port nối tiếp và hệ thống ngắt tiếp tục hoạt động. Chế độ nguồn giảm duy trì nội dung của RAM nhưng khơng cho mạch dao động cung cấp xung clock nhằm vơ hiệu hĩa các hoạt động khác của chip cho đến khi cĩ reset cứng tiếp theo.

8.2.1.1 Cấu hình chân ra:

Vcc chân cung cấp nguồn.

GND chân nối đất (0V).

Port 0

Port 0 là port xuất nhập 8-bit hai chiều cực D hở. Khi làm nhiệm vụ là port xuất, mỗi chân của port cĩ thể hút dịng của 8 ngõ vào TTL. Khi các logic 1 được ghi vào các chân của port 0, các chân này cĩ thể được sử dụng làm các ngõ vào cĩ tổng trở cao.

Port 0 cịn được cấu hình làm bus địa chỉ (byte thấp) và bus dữ liệu đa hợp trong khi truy xuất bộ nhớ dữ liệu ngồi và bộ nhớ chương trình ngồi. Trong chế độ đa hợp này, port 0 cĩ các điện trở kéo lên bên trong.

Port 0 cũng nhận các byte mã trong khi lập trình cho Flash và xuất các byte mã trong khi kiểm tra chương trình. Các điện trở kéo lên bên ngồi được cần đến trong khi kiểm tra chương trình.

Port 1

Port1 là port xuất nhập 8-bit hai chiều cĩ các điện trở kéo lên bên trong. Các bộ đệm xuất của port 1 cĩ thể hút và cấp dịng với 4 ngõ vào TTL. Khi các logic 1 được ghi lên các chân của port1, các chân này được kéo lên mức cao bởi các điện trở kéo lên bên trong và cĩ thể được sử dụng như các ngõ vào. Khi làm nhiệm vụ của port nhập, các chân của port 1 đang được kéo xuống mức thấp do tác động bên ngồi sẽ cấp dịng do cĩ các điện trở kéo lên bên trong.

Port1 cũng nhận byte địa chỉ thấp trong thời gian lập trình cho Flash và kiểm tra chương trình.

Port 2

Port 2 của port xuất nhập 8-bit hai chiều cĩ các điện trở kéo lên bên trong. Các bộ đệm xuất của port 2 cĩ thể hút và cấp dịng cho với 4 ngõ vào TTL. Khi các logic 1 được ghi lên các chân port 2, các chân này được kéo lên mức cao bởi các điện trở kéo lên bên trong và cĩ thể được sử dụng như các ngõ vào. Khi làm nhiệm vụ của port nhập, các chân

của port 2 đang được kéo xuống mức thấp do tác động bên ngồi sẽ cấp dịng do cĩ các điện trở kéo lên bên trong.

Port 2 tạo ra các byte cao của bus địa chỉ trong thời gian tìm nạp lệnh từ bộ nhớ chương trình ngồi và trong thời gian truy xuất bộ nhớ dữ liệu ngồi sử dụng các địa chỉ 16-bit (MOVX @DPTR). Trong ứng dụng này, port 2 sử dụng các điện trở kéo lên bên trong khi phát các bit 1. Trong thời gian truy xuất bộ nhớ dữ liệu ngồi sử dụng các địa chỉ 8-bit (MOVX @Ri), port 2 phát các nội dung của thanh ghi chức năng đặc biệt P2.

Port 2 cũng nhận các bit địa chỉ cao và vài tín hiệu điều khiển trong thời gian lập trình cho Flash và kiểm tra chương trình.

Port 3

Port 3 là port xuất nhập 8-bit hai chiều cĩ các điện trở kéo lên bên trong. Các bộ đệm xuất của port 3 cĩ thể hút và cấp dịng với 4 ngõ vào TTL. Khi các logic 1 được ghi lên các chân port 3, các chân này được kéo lên mức cao bởi các điện trở kéo lên bên trong và cĩ thể được sử dụng như các ngõ vào. Khi làm nhiệm vụ của port nhập, các của port 3 đang được kéo xuống mức thấp do tác động bên ngồi sẽ cấp dịng do cĩ các điện trở kéo lên bên trong.

Port 3 cịn được sử dụng làm các chức năng khác của AT8951 các chức năng này được liệt kê như sau:

Chân của port Chức năng

P3.0 RxD (ngõ vào của port nối tiếp). P3.1 TxD (ngõ ra của port nối tiếp). P3.2 INT0 (ngõ vào ngắt ngồi 0). P3.3 INT1 (ngõ vào ngắt ngồi 1).

P3.4 T0 (ngõ vào bên ngồi của bộ định thời 0). P3.5 T1 (ngõ vào bên ngồi của bộ định thời 1). P3.6 WR (điều khiển ghi bộ nhớ dữ liệu ngồi). P3.7 RD (điều khiển đọc bộ nhớ dữ liệu ngồi).

Port 3 cũng nhận một vài tín hiệu điều khiển cho việc lập trình Flash và kiểm tra chương trình.

RST

Ngõ vào reset. Mức cao trên chân này trong hai chu kỳ máy trong khi bộ dao động đang hoạt động sẽ reset AT8951.

ALE/PROG

Xung của ngõ ra cho phép chốt địa chỉ ALE (address latch enable) cho phép chốt byte thấp của địa chỉ trong thời gian truy xuất bộ nhớ ngồi. Chân này cũng được dùng làm ngõ vào xung lập trình (PROG) trong thời gian lập trình cho Flash.

Khi hoạt động bình thường, xung của ALE luơn cĩ tần số bằng 1/6 tần số của mạch dao động trên chip, cĩ thể được sử dụng cho các mục đích định thời từ bên ngồi và tạo

xung clock. Tuy nhiên cần lưu ý là một xung ALE sẽ bị bỏ qua trong mỗi một chu kỳ truy xuất bộ nhớ dữ liệu ngồi.

Khi cần, hoạt động cho phép chốt byte thấp của địa chỉ sẽ được vơ hiệu hĩa bằng cách set bit 0 của thanh ghi chức năng đặc biệt cĩ địa chỉ byte là 8EH. Khi bit này được set, ALE chỉ tích cực trong thời gian thực thi lệnh MOVX hoặc MOVC. Ngược lại chân này sẽ được kéo lên mức cao. Việc set bit khơng cho phép hoạt động chốt byte thấp của địa chỉ sẽ khơng cĩ tác dụng nếu bộ vi điều khiển đang ở chế độ thực thi chương trình ngồi.

PSEN

Chân cho phép bộ nhớ chương trình PSEN (program store enable) điều khiển truy xuất bộ nhớ chương trình ngồi. Khi AT8951 đang thực thi chương trình trong bộ nhớ chương trình ngồi, PSEN tích cực hai lần cho mỗi chu kỳ máy, ngoại trừ trường hợp tác động của PSEN bị bỏ qua cho mỗi lần truy xuất bộ nhớ dữ liệu ngồi.

EA/Vpp

Chân cho phép truy xuất bộ nhớ ngồi EA (external access enable) phải được nối với GND để cho phép chip vi điều khiển tìm nạp lệnh từ các vị trí nhớ của bộ nhớ chương trình ngồi, bắt đầu từ địa chỉ 0000H cho đến FFFFH. Tuy nhiên cần lưu ý là nếu bit khĩa 1 (lock bit 1) được lập trình, EAsẽ được chốt bên trong khi reset.

EA nên nối với Vcc để thực thi chương trình bên trong chip

Chân EA/Vpp cịn nhận điện áp cho phép lập trình Vpp trong thời gian lập trình cho Flash, điện áp này cấp cho các bộ phân cĩ yêu cầu điện áp 12V.

XTAL1

Ngõ vào đến mạch khuếch đại đảo của mạch dao động và ngõ vào đến mạch tạo xung clock bên trong chip.

XTAL2

Ngõ ra từ mạch khuếch đại đảo của mạch dao động.

8.2.1.2 Các đặc trưng của mạch dao động:

XTAL1 và XTAL2 là ngõ vào và ngõ ra của mạch khuyếch đại đảo được cấu hình để sử dụng làm mạch dao động bên trong chip, như được trình bày ở hình 8.4. Hoặc một tinh thể thạch anh hoặc một mạch cộng hưởng gốm được sử dụng bên ngồi tại các chân này. Để kích chip vi điều khiển từ một nguồn xung clock bên ngồi, XTAL2 được thả nổi (khơng kết nối) trong khi XTAL1 nhận tín hiệu từ mạch dao động bên ngồi như ở hình 8.5. Khơng cĩ yêu cầu nào về chu kỳ nhiệm vụ của tín hiệu xung clock bên ngồi do tín hiệu này phải qua một flipflop chia 2 trước khi đến mạch tạo xung clock bên trong. Tuy nhiên, các chi tiết kỹ thuật về thời gian mức thấp mức cao, điện áp cực tiểu và cực đại cần phải được xem xét.

C2

C1

XTAL2

XTAL1

GND

Hình 8.4 Kết nối của mạch dao động.

EXTERNAL OSCILLATOR SIGNAL XTAL1 GND XTAL2 NC

Hình 8.5 Cấu hình khi nhận xung clock từ bên ngồi. 8.2.1.3 Chế độ nghỉ:

Trong chế độ nghỉ, CPU tự đi vào trạng thái ngủ trong khi tất cả các ngoại vi bên trong chip vẫn tích cực. Chế độ này được điều khiển bởi phần mềm. Nội dung của RAM trên chip và của tất cả các thanh ghi chức năng đặc biệt vẫn khơng đổi trong thời gian tồn tại chế độ này. Chế độ nghỉ cĩ thể được kết thúc bởi một ngắt bất kỳ nào được phép hoặc bằng cách reset cứng.

Ta cần lưu ý rằng khi chế độ nghỉ được kết thúc bởi một reset cứng, chip vi điều khiển sẽ tiếp tục bình thường thực thi chương trình từ nơi chương trình bị tạm dừng trong vịng hai chu kỳ máy trước khi giải thuật reset mềm nắm quyền điều khiển.

Ở chế độ nghỉ, phần cứng trên chip cấm truy xuất RAM nội nhưng cho phép truy xuất các chân của các port. Để tránh khả năng cĩ một thao tác ghi khơng mong muốn đến một chân port khi chế độ nghỉ kết thúc bằng reset, lệnh tiếp theo yêu cầu chế độ nghỉ khơng nên là lệnh ghi đến chân port hoặc đến bộ nhớ ngồi.

Bảng 8.1 Trạng thái các chân trong thời gian tồn tại chế độ nghỉ và chế độ nguồn giảm.

Chế độ

Bộ nhớ chương

trình

Nghỉ Bên trong 1 1 Dữ liệu Dữ liệu Dữ liệu Dữ liệu Nghỉ Bên ngồi 1 1 Thả nổi Dữ liệu Địa chỉ Dữ liệu Nguồn Bên trong 0 0 Dữ liệu Dữ liệu Dữ liệu Dữ liệu Giảm Bên ngồi 0 0 Thả nổi Dữ liệu Dữ liệu Dữ liệu

8.2.1.4 Chế độ nguồn giảm:

Trong chế độ nguồn giảm, mạch dao động ngừng hoạt động và lệnh yêu cầu chế độ nguồn giảm là lệnh sau cùng được thực thi. RAM trên chip và các thanh ghi chức năng đặc biệt vẫn duy trì các giá trị của chúng cho đến khi chế độ nguồn giảm kết thúc. Chỉ cĩ

Một phần của tài liệu Thiết kế và chế tạo mô hình điều khiển máy khuấy trộn (Trang 68)

w