THE MACHTRONICS TIẾNG VIỆT 3 GIAO DIỆN VÀ HỆ THỐNG ĐIỀU KHIỂN CƠ ĐIỆN TỬCơ điện tử là một giai đoạn tự nhiên trong quá trình phát triển mạnh mẽ của kỹ thuật thiết kế hiệnđại. Sự phát triển của máy tính, tiếp theo là máy vi tính, máy tính nhúng,cùng với sự phát triển củacông nghệ thông tin và công nghệ phần mềm đã khiến cho Cơ điện tử trở thành một yêu cầu cấp thiếttrong nửa cuối thế kỷ 20. Sang thế kỷ 21, với những tiến bộ đã được dự báo trong các hệ cơđiệnsinhhọc, máy tính lượng tử, hệ pico và nano cùng những phát triển khác, tương lai của Cơ điện tử sẽ đầytiềm năng và triển vọng.
Trang 13 Giao diện hệ thống, thiết bị
và hệ thống điều khiển
Rick Homkes
Purdue University
3.1 Giới thiệu 3-1 3.2 Các tín hiệu đầu vào của hệ cơ điện tử 3-3 3.3 Các tín hiệu đầu ra của hệ cơ điện tử 3-5 3.4 Xử lý tín hiệu 3-7 3.5 Điều khiển dùng vi xử lý 3-8 3.6 Điều khiển số dùng vi xử lý 3-9 3.7 Điều khiển vào-ra của bộ vi xử lý 3-10 3.8 Điều khiển bằng phần mềm 3-12 3.9 Kiểm thử và thiết bị 3-14 3.10 Tóm tắt 3-15
3.1 Giới thiệu
Mục đích của chương này là nhằm giới thiệu một số vấn đề liên quan đến một hệ cơ điện tử Mở đầu là tổng quan về các hệ cơ điện tử và các tín hiệu đầu vào và đầu ra của một hệ cơ điện tử Tiếp theo sẽ giới thiệu về các đặc trưng đầu vào và ra của bộ vi xử lý Phần mềm, thường ít được chú ý tới trong hệ cơ điện tử, sẽ được trình bày ngắn gọn bằng việc nhấn mạnh các khái niệm kỹ thuật phần mềm Chương này cũng bao gồm một phần nhỏ về kiểm thử và thiết bị kiểm thử
Hệ cơ điện tử
Hình 3.1 chỉ ra một hệ cơ điện tử điển hình với các thành phần cơ khí, điện và máy tính Quá trình thu thập dữ liệu hệ thống bắt đầu với việc đo một đại lượng vật lý bằng một cảm biến Cảm biến có khả năng tạo ra một số dạng tín hiệu, thường là một tín hiệu tương tự dưới dạng mức điện áp hoặc dạng sóng Tín hiệu tương tự này được truyền đến bộ biến đổi tương tự-số (ADC) Thông thường, bằng việc sử dụng xấp xỉ liên tiếp, ADC sẽ ánh xạ tín hiệu đầu vào tương tự sang tín hiệu đầu ra số Giá trị số này bao gồm một tập các giá trị nhị phân gọi là bit (thường được biểu diễn bằng các số 0 và 1) Tập các bit biểu diễn số cơ số 10 hoặc cơ số 16 có thể được dùng cho bộ vi điều khiển Bộ vi điều khiển bao gồm một bộ vi xử lý cộng thêm bộ nhớ và các thiết bị phụ trợ khác Chương trình trong bộ
vi xử lý sử dụng giá trị số này cùng với các đầu vào khác và giá trị được tải trước được gọi là giá trị chuẩn để xác định các lệnh đầu ra Giống như đầu vào của bộ vi xử lý, những đầu ra này có dạng số và
có thể được biểu diễn bằng một tập các bit Sau đó bộ biến đổi số-tương tự (DAC) thường được sử dụng để chuyển đổi giá trị số thành một tín hiệu tương tự Tín hiệu tương tự dùng cho một cơ cấu chấp hành để điều khiển một thiết bị vật lý hoặc tác động lên môi trường vật lý Sau đó, bộ cảm biến sẽ thực hiện các phép đo mới và quy trình được lặp lại, như vậy một vòng lặp điều khiển phản hồi đã được
Trang 23-2
hoàn thành Thời gian cho toàn bộ quá trình vận hành này được đồng bộ hoá bằng việc sử dụng xung đồng hồ
Ví dụ về thiết bị dân dụng/văn phòng
Một ví dụ về hệ cơ điện tử là hệ thống sưởi ấm hoặc làm lạnh thông thường ở các gia đình hoặc công sở Những hệ thống đơn giản sử dụng một bộ điều chỉnh nhiệt lưỡng kim với các tiếp điểm điều khiển một chuyển mạch thuỷ ngân dùng để bật, tắt lò sưởi hoặc máy điều hoà Hệ thống điều hòa hiện đại cũng sử dụng những thành phần cơ bản này cùng với các thành phần khác và điều khiển bằng chương trình máy tính Bộ cảm biến nhiệt độ sẽ theo dõi môi trường vật lý và đưa ra mức điện áp như thể hiện ở hình 3.2 (mặc dù nói chung trên thực tế nó không hoàn toàn là một chức năng đơn giản như vậy)
HÌNH 3.1 Hệ thống điều khiển vi xử lý
HÌNH 3.2 Mức điện áp
Sau khi ADC thực hiện bước biến đổi, bộ vi điều khiển dùng các dữ liệu nhiệt độ được số hoá cùng với một bộ tạo xung đồng hồ 24 giờ và mức nhiệt độ người sử dụng yêu cầu để phát ra các tín hiệu
Trang 33-3
điều khiển số Tín hiệu này sẽ điều khiển cơ cấu chấp hành, thường là một bộ ngắt điện đơn giản trong
ví dụ này
Tiếp theo, bộ ngắt điện sẽ điều khiển động cơ để bật tắt thiết bị sưởi ấm hoặc làm lạnh Các phép đo mới được thực hiện và chu trình được lặp lại Mặc dù không phải là một sản phẩm cơ điện tử tầm cỡ như một máy ghi, nhưng nó là một hệ thống cơ điện tử bởi nó có sự kết hợp giữa các thành phần cơ khí, điện và máy tính Hệ thống này cũng có thể kết hợp thêm một số đặc tính Nếu nhiệt độ đo được rất cao, ví dụ 80oC, thì hoả hoạn rất có thể xảy ra Vì thế không phải là một ý kiến hay nếu bật quạt gió hoặc đổ thêm ôxi vào lửa Thay vào đó, hệ thống cần đặt chuông báo động hoặc sử dụng thiết bị truyền thông dữ liệu để cảnh báo hoả hoạn Nhờ có điều khiển bằng máy tính này mà hệ thống được coi là
“thông minh” ít nhất là so với những hệ thống được điều khiển dựa trên bộ ngắt mạch bằng thuỷ ngân kiểu cũ
Ví dụ về ô tô
Ví dụ thứ hai là hệ thống phanh chống bó (ABS) ở nhiều phương tiện Mục đích của loại hệ thống này là nhằm ngăn chặn việc khóa cứng một bánh xe, và như vậy sẽ tránh cho lái xe mất khả năng điều khiển hướng lái do bị trượt Trong trường hợp này, các cảm biến được gắn với mỗi bánh xe để xác định vận tốc góc của các bánh Các dữ liệu này, có thể là dạng sóng hoặc điện áp biến đổi theo thời gian, được truyền tới bộ vi điều khiển cùng với dữ liệu từ các cảm biến báo cáo về các đầu vào như vị trí phanh bàn đạp, tốc độ xe và độ lệch hướng Sau quá trình biến đổi của ADC hoặc chương trình lưu giữ đầu vào thành một giá trị số, chương trình của bộ vi xử lý sẽ xác định hành động cần thiết Đây chính là điểm khiến cho hướng phát triển giao diện người-máy tính (HCI) hoặc giao diện người-máy (HMI) trở thành hiện thực bằng việc tính đến “cảm nhận” của hệ thống đối với người sử dụng Việc hiệu chuẩn hệ thống có thể điều chỉnh những phản ứng của người lái trong khi cho xe dừng lại bằng cách điều khiển phanh thông qua cơ cấu chấp hành Có hai điều quan trọng cần lưu ý trong ví dụ này Thứ nhất, cuối cùng xe cũng sẽ bị dừng lại do thuỷ lực tác động lên má phanh để giữ trống tang và roto – một chức năng hoàn toàn cơ học Thứ hai, mặc dù ABS là một “sản phẩm thông minh”nhưng không phải là một thiết bị độc lập Nó là một phần của hệ thống lớn hơn với nhiều bộ vi điều khiển hoạt động
cùng nhau thông qua mạng dữ liệu
3.2 Các tín hiệu đầu vào của hệ cơ điện tử
Đầu vào bộ chuyển đổi/bộ cảm biến
Tất cả các đầu vào của hệ cơ điện tử đều bắt nguồn từ một vài dạng thiết bị cảm biến hoặc truyền thông từ các hệ thống khác Các cảm biến được giới thiệu ở phần trước và sẽ được trình bày chi tiết hơn ở chương 19 Bộ chuyển đổi, những thiết bị biến đổi năng lượng từ dạng này sang dạng khác, thường được đồng nhất với các cảm biến Các bộ chuyển đổi và các tính chất của chúng sẽ được mô tả đầy đủ ở chương 45 Cảm biến có thể được phân thành hai nhóm tổng quát, chủ động và thụ động Cảm biến chủ động phát ra tín hiệu để ước tính thuộc tính của môi trường và thiết bị được đo, còn cảm biến thụ động thì không Ví dụ về vũ khí trong quân sự cho thấy sự khác biệt này là máy bay chiến đấu
“vẽ” mục tiêu hoặc bằng radar laser chủ động (LADAR) hoặc bằng cảm biến hồng ngoại tìm kiếm
phía trước thụ động (FLIR)
Như đã nêu ở phần giới thiệu, đầu vào của bộ cảm biến thường là một tín hiệu tương tự Dạng đơn giản nhất của tín hiệu tương tự là mức điện áp (không nhất thiết tuyến tính) có mối liên hệ trực tiếp với điều kiện đầu vào Dạng thứ hai là tín hiệu điều chế độ rộng xung (PWM), sẽ được giải thích cụ thể hơn ở phần sau của chương này khi bàn về đầu ra của bộ vi điều khiển Dạng thứ ba là sóng như thấy ở hình 3.3 Dạng tín hiệu này được điều chế về mặt biên độ (hình 3.4) hoặc tần số (hình 3.5) hoặc trong một số trường hợp cả biên độ lẫn tần số Những thay đổi này phản ánh sự biến đổi của trạng thái được
theo dõi
Có những cảm biến không phát ra tín hiệu tương tự Một số cảm biến thuộc loại này phát ra sóng hình vuông như thấy ở hình 3.6 Loại sóng này được đưa vào bộ vi điều khiển thông qua tiêu chuẩn
Trang 43-4
truyền thông EIA 232 Sóng hình vuông thể hiện giá trị nhị phân của 0 và 1 Trong trường hợp này, ADC có lẽ được gắn liền bộ cảm biến, làm tăng giá trị cho bộ cảm biến Một số bộ cảm biến/máy ghi
âm thậm chí có thể tạo thư hoặc gói TCP/IP giống như đầu vào Ví dụ về loại thiết bị này là MobileCorder MV của tập đoàn Yokogawa Hoa kỳ
HÌNH 3.3 Sóng hình sin
HÌNH 3.4 Điều chế biên độ
Trang 53-5
HÌNH 3.5 Điều chế tần số
HÌNH 3.6 Sóng vuông
Bộ biến đổi tương tự-số
Các bộ biến đổi tương tự-số (ADC – Analog-to-Digital Converter) cơ bản có thể được phân loại theo hai thông số: dải tín hiệu đầu vào tương tự và dải tín hiệu đầu ra số Chẳng hạn, xét ADC biến đổi mức điện áp trong khoảng từ 0 – 12 V thành một byte đơn 8 bit Trong ví dụ này, mỗi số gia nhị phân phản ánh một lượng tăng điện áp tương tự bằng 1/256 của điện áp lớn nhất là 12V Tuy nhiên, có một
sự chênh bất thường trong biến đổi này Do giá trị 0 tương ứng với 0 V, giá trị 128 tương ứng với một nửa giá trị lớn nhất trong ví dụ này là 6 V nên giá trị thập phân lớn nhất 255 chỉ tương ứng với 255/256 giá trị điện áp tối đa hoặc 11,953125 V Xem bảng các giá trị tương ứng dưới đây:
ADC được dùng trong bộ vi điều khiển Motorola HC12 sinh ra 10 bit Mặc dù không hoàn toàn tương thích với một byte dữ liệu, nhưng ADC 10 bit này đã góp phần làm tăng độ phân giải Với đầu vào từ 0 đến 5 V, độ phân giải thập phân trên mỗi bit với trọng số thấp nhất là 4.88 mV Nếu ADC có đầu vào 8 bit, thì độ phân giải trên mỗi bit này là 19.5 mV, khác biệt tới 4 lần Điện áp lớn hơn chẳng hạn từ 0 đến 12 V có thể được cân chỉnh bằng một bộ chia điện áp sao cho phù hợp với dải từ 0 đến 5
V Điện áp nhỏ hơn có thể được khuyếch đại sao cho phù hợp với toàn bộ biên độ Một quy trình được gọi là xấp xỉ liên tiếp (sử dụng bộ ghi xấp xỉ liên tiếp (SAR – Succesive Approximation Register) trong con chíp Motorola) được dùng để xác định giá trị số chính xác
3.3 Các tín hiệu đầu ra của hệ cơ điện tử
Bộ biến đổi số-tương tự
Lệnh đầu ra của bộ vi điều khiển là một giá trị nhị phân dưới dạng bit, byte (8 bit) hoặc từ (16 bit) Tín hiệu số được biến đổi thành tín hiệu tương tự bằng cách dùng bộ biến đổi số-tương tự (DCA – Digital-to-Analog Converter) Chúng ta hãy xem xét việc biến đổi một giá trị 8 bit thành mức điện áp trong khoảng từ 0 đến 12 V Bit có trọng số cao nhất của giá trị nhị phân được biến đổi (số thập phân 128) sẽ tạo ra giá trị tương tự bằng một nửa giá trị đầu vào lớn nhất là 6 V Số tiếp theo sinh ra thêm ¼ tương đương với 3 V, kế đó là thêm 1/8, v.v Tổng tất cả các giá trị đầu ra đã được cân chỉnh này
Trang 63-6
tương ứng với điện áp tương tự thích hợp Như đã nêu ở phần trước, giá trị điện áp tối đa của dải là không thể đạt được bởi vì giá trị lớn nhất được sinh ra là 255/256 của
HÌNH 3.7 Đầu ra bước của DAC
HÌNH 3.8 Điều biến độ rộng xung
12V tương đương với 11.953125 V Độ mịn của tín hiệu phụ thuộc vào số lượng bit DAC chấp nhận
và dải đầu ra yêu cầu Hình 3.7 minh họa hàm bước đã được đơn giản hoá bằng cách dùng đầu vào nhị phân một byte và đầu ra tương tự 12 V
Đầu ra cơ cấu chấp hành
Giống như bộ cảm biến, cơ cấu chấp hành đã được giới thiệu lần đầu ở phần trước và sẽ được mô tả chi tiết trong chương tiếp theo của cuốn sách này Ba cơ cấu chấp hành thông thường được xem xét ở phần này là bộ ngắt mạch, nam châm điện có lõi dài, và động cơ Bộ ngắt mạch là thiết bị trạng thái đơn giản để điều khiển một hoạt động nào đó như bật, tắt lò sưởi Các loại ngắt mạch bao gồm các
rơ-le và các thiết bị ngắt liền khối như đi-ốt, thryisto, tranzito lưỡng cực, tranzito trường (FET và MOSFET) Bộ ngắt mạch có thể được kết hợp với bộ cảm biến, giúp bật, tắt toàn bộ hoặc một chức năng của bộ cảm biến
Trang 73-7
Nam châm điện có lõi dài là thiết bị bao gồm lõi sắt chuyển động được Lõi sắt này được kích hoạt bởi một dòng điện Sự chuyển động của nó giúp điều khiển dòng thuỷ lực hoặc khí nén Thiết bị này được ứng dụng rất nhiều trong các hệ thống phanh, trong công nghiệp chất lỏng Chương sau sẽ giới thiệu cụ thể hơn về cơ cấu chấp hành loại nam châm điện có lõi dài Động cơ là loại cơ cấu chấp hành cuối cùng sẽ được tóm tắt ở phần này Dạng cơ cấu chấp hành này có ba loại chính: dòng điện một chiều (DC), dòng điện xoay chiều (AC), và động cơ bước Động cơ DC có thể được điều khiển bởi điện áp DC cố định hoặc bởi tín hiệu điều chế độ rộng xung (PWM) Trong tín hiệu điều chế độ rộng xung như thấy ở hình 3.8, điện áp lần lượt được bật, tắt khi thay đổi (điều chế) độ rộng của tín hiệu thời gian bật hoặc chu kỳ làm việc Nhìn chung động cơ AC rẻ hơn động cơ DC nhưng đòi hỏi điều khiển tần số để điều khiển tốc độ quay Động cơ bước chuyển động bằng cách quay một số độ nhất định để đáp ứng một xung đầu vào
3.4 Xử lý tín hiệu
Xử lý tín hiệu là việc thay đổi một tín hiệu để nó có ích hơn đối với một hệ thống Tất nhiên, hai dạng sửa đổi tín hiệu quan trọng là sự biến đổi giữa tín hiệu tương tự và số, như mô tả ở hai phần trước Các dạng sửa đổi tín hiệu khác được nêu ngắn gọn dưới đây, và sẽ được giới thiệu cụ thể hơn ở các chương 46 và 47
Tốc độ lấy mẫu
Tốc độ để các mẫu dữ liệu nhận được rõ ràng là tốc độ mà hệ cơ điện tử có thể phát hiện ra một sự thay đổi trạng thái Tuy nhiên, có một vài vấn đề cần lưu ý Ví dụ, đáp ứng của bộ cảm biến có thể bị hạn chế về mặt thời gian hoặc phạm vi Ngoài ra cũng phải có thời gian cần thiết để chuyển đổi tín hiệu thành dạng có thể dùng được bởi bộ vi xử lý, gọi là thời gian chuyển đổi từ A sang D Một vấn đề đáng lưu ý nữa là tần số của tín hiệu được lấy mẫu Đối với việc số hoá giọng nói, tốc độ lấy mẫu thường dùng là 8000 mẫu trên một giây Đây là kết quả của định lý Nyquist Định lý này cho rằng muốn chính xác thì tốc độ lấy mẫu ít nhất phải gấp hai lần tần số lớn nhất được đo Vì vậy tốc độ 8000 mẫu trên giây sẽ là tốt nhất để biến đổi giọng nói người trên hệ thống điện thoại tương tự có tần số cao nhất xấp xỉ 3400 Hz Một điều cuối cùng nữa là tốc độ đồng hồ của bộ vi xử lý cũng phải được cân nhắc đến Nếu ADC và DCA cùng nằm trên một bo mạch như bộ vi xử lý thì chúng thường dùng chung một chiếc đồng hồ Tuy nhiên, đồng hồ của bộ vi xử lý có thể lại quá nhanh đối với ADC và DCA Trong trường hợp này, bộ cân chỉnh lại được dùng để chia tần số đồng hồ thành mức có thể sử dụng được cho ADC và DAC
HÌNH 3.9 Bộ lọc thông thấp Lọc
Trang 83-8
Lọc là làm suy giảm (giảm bớt) tần số nào đó của tín hiệu Quá trình này có thể loại bỏ nhiễu khỏi tín hiệu và xử lý đường truyền để giúp chuyển tải dữ liệu tốt hơn Bộ lọc có thể được phân chia thành
bộ lọc tương tự và số Bộ lọc tương tự lại được chia nhỏ thành dạng chủ động và dạng thụ động Trong khi bộ lọc tương tự thụ động sử dụng điện trở, tụ điện và điện cảm thì bộ lọc tương tự chủ động dùng
bộ khuyếch đại thuật toán với phần điện cảm và tụ điện Bộ lọc số có thể được thực hiện bằng phần cứng và/hoặc phần mềm Phần mềm sẽ tạo cho các bộ lọc số có tính năng dễ dàng thay đổi hơn Chương 29 sẽ giải thích đầy đủ hơn về bộ lọc số
Các bộ lọc cũng có thể được phân biệt dựa trên các loại tần số bị ảnh hưởng
1 Bộ lọc thông thấp cho phép tập hợp các tần số thấp hơn đi qua, còn những tần số cao sẽ bị làm suy giảm Xem ví dụ đơn giản về bộ lọc này ở hình 3.9
2 Ngược lại với bộ lọc thông thấp là bộ lọc thông cao lọc dải tần số thấp hơn trong khi cho phép tần số cao hơn đi qua
3 Bộ lọc thông dải cho phép một dải tần số nhất định đi qua còn tất cả những dải khác sẽ bị làm suy giảm
4 Bộ lọc ngăn dải chỉ chặn một dải tần số nhất định trong khi vẫn cho phép tất cả các dải tần số khác đi qua
Bộ lọc có rất nhiều loại và được ứng dụng trong nhiều trường hợp khác nhau Ví dụ, William
Ribbens trong ấn phẩm Understanding Automotive Electronics (Newnes 1998) của mình đã mô tả bộ
lọc thông thấp dùng phần mềm (đôi khi còn gọi là bộ lọc trễ) để lấy trung bình 60 mẫu mức dầu cuối cùng trong thùng trong khoảng 1 giây Các dữ liệu được lọc sau đó được hiển thị thay cho sự nhiều loạn của đồng hồ đo trên xe Dạng lọc này làm giảm sự dao động lớn và nhanh trong đồng hồ đo lượng nhiên liệu do sự dập dềnh của bề mặt nhiên liệu và vì vậy sẽ cho giá trị chính xác hơn
Bo mạch thu thập dữ liệu
Có một kiểu bo mạch đặc biệt để cắm vào một khe trong máy tính cá nhân để bàn để có thể sử dụng cho nhiều nhiệm vụ kể trên Nó được gọi là bo mạch thu thập dữ liệu (bo mạch DAQ) Kiểu bo mạch này có thể tạo ra các tín hiệu đầu vào tương tự và đa thành phần đa đầu vào trên một bus đơn để truyền đến máy tính Nó cũng có thể được dùng kèm với phần cứng/phần mềm xử lý tín hiệu và ADC Một số thiết bị có thể truy cập trực tiếp bộ nhớ (DMA), cho phép thiết bị ghi dữ liệu trực tiếp vào bộ nhớ máy tính mà không cần dùng đến bộ vi xử lý Trong khi máy tính cá nhân để bàn không được coi là một bộ phận của hệ cơ điện tử thì bo mạch DAQ lại rất hữu ích cho việc đo đạc
3.5 Điều khiển dùng vi xử lý
Điều khiển PID
Hệ thống điều khiển vòng kín là hệ thống sẽ xác định sai khác giữa trạng thái mong muốn và trạng thái thực (sai số) và tạo ra lệnh điều khiển để loại bỏ sai số Điều khiển PID thực hiện ba cách phát hiện và hiệu chỉnh sai số này Cách thứ nhất là P (proprotional – tỷ lệ) trong PID Thuật ngữ này cho biết hoạt động điều khiển của bộ vi điều khiển tỷ lệ với sai số Nói cách khác, sai số càng lớn thì sự hiệu chỉnh sai số càng cao Cách thứ hai là I (integral – tích phân) trong PID, để tích phân lỗi theo thời gian, có nghĩa là hiệu chỉnh sai số có tính đến thời gian xảy ra sai số Nói cách khác, sai số xảy ra trong thời gian càng dài thì sự hiệu chỉnh lỗi càng cao Cuối cùng là D (derivative – đạo hàm) trong PID, có nghĩa là việc hiệu chỉnh sai số có liên quan đến đạo hàm hoặc thay đổi sai số đối với thời gian Nói cách khác, sai số thay đổi càng nhanh thì hiệu chỉnh sai số càng lớn Hệ thống điều khiển có thể sử dụng P, PI, PD, hoặc PID để hiệu chỉnh sai số Nhìn chung, vấn đề ở đây là “hiệu chỉnh” hệ thống bằng cách lựa chọn những giá trị thích hợp trong ba cách nêu trên Xem chương 31 để biết thêm thông tin về thiết kế bộ điều khiển
Bộ điều khiển logic khả trình
Bất kỳ một bàn luận nào về các hệ thống điều khiển và điều khiển dùng vi xử lý cũng đều bắt đầu từ dạng điều khiển “cơ điện tử” đầu tiên là bộ điều khiển logic khả trình (PLC – Programmable Logic
Trang 93-9
Controllers) PLC là một bộ điều khiển đơn giản nhưng linh hoạt hơn được thiết kế dùng trong các môi trường như nhà máy, xí nghiệp Đầu vào thường từ các chuyển mạch như các nút ấn được điều khiển bởi người vận hành máy hoặc các bộ cảm biến vị trí Các bộ định thời cũng có thể được lập trình trong PLC để vận hành một quy trình nhất định trong các khoảng thời gian định trước Các đầu ra bao gồm đèn, van solenoit, và động cơ với các giao diện đầu vào-đầu ra được thực hiện bên trong bộ điều khiển Một ngôn ngữ lập trình đơn giản được sử dụng với PLC được gọi là logic hình thang hoặc ngôn ngữ lập trình hình thang Logic hình thang là ngôn ngữ trực quan cho biết logic là sự liên kết các khối nối tiếp (AND) và song song (OR) Để biết thêm thông tin, hãy xem Chương 43 và ấn phẩm
Programmable Logic Controllers của W Bolton (Newnes 1996)
Bộ vi xử lý
Giải thích đầy đủ về bộ vi xử lý có thể tìm thấy ở mục 5.8 Ở mục này, chúng ta chỉ cần biết chút ít
về các bộ phận cấu thành trong cấu trúc máy tính RAM (random access memory-bộ nhớ truy cập ngẫu nhiên) là tập hợp các vị trí bộ nhớ, máy tính sử dụng để lưu dữ liệu tạm thời một cách tức thì Các kênh phát thanh định sẵn do lái xe (hoặc hành khách) lựa chọn trong radio của xe ôtô được lưu ở RAM Một dòng điện nhỏ có chức năng duy trì những tần số phát sóng được lưu lại này cho nên nếu radio hết pin thì các dữ liệu sẽ bị mất hết ROM (read only memory - bộ nhớ chỉ đọc) là bộ nhớ tĩnh chứa chương trình để chạy bộ vi điều khiển Do đó, chương trình lưu trong radio sẽ không bị mất đi khi hết pin Một số loại ROM bao gồm bộ nhớ ROM xoá và lập trình được (EPROM – erasable programmable ROM), bộ nhớ ROM xoá và lập trình được bằng điện (EEPROM – electrically erasable programmable ROM) và bộ nhớ flash (một dạng mới hơn cả EEPROM) Tất cả những bộ nhớ này sẽ được trình bày ở phần sau của cuốn sách Ngoài ra còn có một số nơi lưu trữ dữ liệu đặc biệt trong bộ
vi xử lý gọi là thanh ghi Các thanh ghi là nơi lưu dữ liệu nhanh Chúng sẽ tạm thời lưu địa chỉ lệnh chương trình đang hoạt động, các giá trị tức thời cần thiết để hoàn thành việc tính toán, các dữ liệu cần cho việc so sánh và các dữ liệu đầu ra, đầu vào Địa chỉ và các dữ liệu được chuyển từ vị trí này sang
vị trí khác trong RAM, ROM, thanh ghi bằng cách sử dụng bus, và một tập hợp các đường truyền đồng thời đa bit
3.6 Điều khiển số dùng vi xử lý
Toán học dấu phẩy tĩnh
Nhìn chung, các bộ vi xử lý trong một bộ điều khiển nhúng thường rất nhỏ so với một máy tính cá nhân hoặc một trạm máy tính Việc thêm vào chức năng xử lý dưới dạng bộ xử lý dấu phẩy động và RAM hoặc ROM bổ sung không phải lúc nào cũng là sự lựa chọn đúng đắn Điều này có nghĩa là đôi khi các chức năng toán học phức tạp cần thiết cho hệ thống điều khiển không phải lúc nào cũng sẵn có Tuy nhiên, các giá trị sẽ được đo và được tính, mặc dù là các số thực, đôi khi cũng thuộc một miền giá trị hợp logic Vì vậy, tồn tại của một dạng số học đặc biệt, nhờ đó bộ vi điều khiển có thể sử dụng các
số nguyên thay thế cho số dấu phẩy động để tính toán các giá trị giả thực
Hiện có một vài dạng phép toán dấu phẩy tĩnh đang được sử dụng Dạng đơn giản nhất dựa trên lũy thừa của 2, giống như các số nguyên thông thường trong hệ nhị phân Tuy nhiên, một dấu phẩy nhị phân ảo được chèn vào số nguyên cho phép lưu trữ xấp xỉ của các giá trị thực như số nguyên Một số nguyên không âm 8 bit chuẩn được trình bày dưới đây cùng với các giá trị thập phân tương đương
0001 0100 (1 2 ) (1 2 ) (1 16) (1 4) 20 Giả sử có một dấu phẩy nhị phân ảo được chèn vào giữa hai phần của một byte Lúc này sẽ có 4 bit nằm ở phía bên tay trái của dấu phẩy nhị phân tương ứng với các số mũ dương chuẩn của 2, và 4 bit bên tay phải dấu phẩy nhị phân tương ứng với số mũ âm của 2 Con số tương tự lúc này sẽ đại diện cho một số thực trong hệ thập phân
0001 0100 (1 2 ) (1 2 ) (1 1) (1 0.25) 1.25
Trang 103-10
Rõ ràng là phương pháp này đã bộc lộ những nhược điểm nhất định Cách giải bất kỳ số dấu phẩy tĩnh nào cũng đều bị giới hạn ở luỹ thừa của 2 gắn với bit có trọng số thấp nhất ở bên tay phải, trong trường hợp này là 2-4 hoặc 1/16 hoặc 0.0625 Đôi khi làm tròn là rất cần thiết Do vị trí của dấu phẩy nhị phân ảo này phải được thường xuyên duy trì khi thực hiện tính toán, nên có một sự thoả hiệp để làm giảm tính phức tạp Tuy nhiên, thời gian xử lý và các dữ liệu được lưu trong bộ nhớ thường khắc phục được những thoả hiệp này, vì thế toán học dấu phẩy tĩnh lại trở nên rất hữu ích
Hiệu chuẩn
Phạm vi hiệu chuẩn một hệ thống đôi khi là vấn đề rất quan trọng, không thấy rõ trước được khi thiết kế một hệ cơ điện tử Việc sử dụng các giá trị hiệu chuẩn là các giá trị số và logic lưu trong EEPROM hoặc ROM, sẽ tạo tính linh hoạt khi hiệu chỉnh và vận hành hệ thống Ví dụ, nếu các tốc độ thạch anh của bộ vi xử lý khác nhau được dùng trong một hệ cơ điện tử và các giá trị thời gian thực là cần thiết, thì một hệ số hiệu chỉnh của số chu kỳ xung đồng hồ trên mili giây được lưu giữ sẽ cho phép thực hiện việc tính toán này Vì vậy, các giá trị hiệu chuẩn thường được dùng như một hệ số khuyếch đại, nó được nhân với một số đầu vào nào đó để sinh ra đầu ra được cân chỉnh
Như đã trình bày ở trên, việc hiệu chuẩn thường được dùng khi kiểm tra hệ cơ điện tử để thay đổi
“cảm nhận” của sản phẩm Một bộ điều khiển có thể dùng một tập các giá trị hiệu chuẩn cho RPM của động cơ, tải trọng động cơ và tốc độ xe để quyết định khi nào dịch chuyển các bánh răng Điều này thường được thực hiện với các hiện tượng trễ vì các điểm xê dịch chuyển từ bánh răng thứ hai sang bánh răng thứ ba cũng như từ bánh răng thứ ba sang bánh răng thứ hai có thể khác nhau
3.7 Điều khiển vào-ra của bộ vi xử lý
Hỏi vòng và ngắt
Có hai phương pháp cơ bản để bộ vi xử lý điều khiển vào/ra là hỏi vòng và ngắt Hỏi vòng có nghĩa
là bộ vi xử lý sẽ kiểm tra định kỳ các thiết bị ngoại vi khác nhau để xác định đầu vào hoặc đầu ra nào đang chờ Nếu một thiết bị ngoại vi có một vài đầu vào hoặc đầu ra nào đó cần được xử lý thì cờ sẽ được thiết lập Vấn đề là ở chỗ rất nhiều thời gian xử lý đã bị lãng phí cho việc kiểm tra các đầu vào trong khi chúng không có gì thay đổi
Phục vụ ngắt là một phương pháp khác để điều khiển các đầu vào và các đầu ra Theo phương pháp này, thanh ghi trong bộ vi xử lý phải thiết lập một bit có khả năng cho phép ngắt (IE- Interrupt Enable) cho một thiết bị ngoại vi nhất định Khi một thiết bị ngoại vi khởi tạo ngắt, một cờ sẽ được thiết lập cho bộ vi xử lý Đường yêu cầu ngắt (IRQ – interrupt request line) sẽ được kích hoạt và bộ vi xử lý sẽ phục vụ ngắt Phục vụ ngắt có nghĩa là quá trình xử lý thông thường của của bộ vi xử lý sẽ bị dừng lại (ngắt) để trao đổi dữ liệu với thiết bị ngoại vi Để tiếp tục được lại quá trình xử lý thông thường, bộ vi
xử lý cần lưu dữ liệu của các thanh ghi trước khi thực hiện ngắt Quy trình này bao gồm việc lưu tất cả các dữ liệu hiện thời của thanh ghi vào một ngăn xếp, một phần của RAM dành riêng cho mục đích này, trong một quy trình gọi là đẩy (push) Sau quy trình đẩy, bộ vi xử lý có thể tải địa chỉ của chương trình phục vụ ngắt và thực hiện việc trao đổi dữ liệu theo yêu cầu Khi việc phân chia mã đó được hoàn thành, các dữ liệu trong ngăn xếp lại được tải về thanh ghi trong một chu trình gọi là bật (Pop) hoặc kéo (Pull) và tiếp tục quá trình xử lý thông thường
Truyền dữ liệu vào - ra
Khi đầu vào hoặc đầu ra sẵn sàng cho việc truyền dữ liệu, chúng ta có thể sử dụng một vài phương thức truyền Thứ nhất, dữ liệu có thể được truyền theo phương thức song song hoặc nối tiếp Phương thức song song có nghĩa là nhiều bit (16 bit chẳng hạn) di chuyển song song xuống đa đường dẫn hoặc bus đa nhánh từ nguồn tới đích Phương thức nối tiếp có nghĩa là bit di chuyển riêng biệt, nối tiếp nhau xuống một đường dẫn đơn lẻ Truyền theo phương thức song song nhanh hơn do nhiều bit cùng nhau
di chuyển, nhưng số lượng đường dẫn lại là một nhược điểm Vì lý do này, phương thức song song thường được sử dụng cho các thành phần gần nhau còn phương thức nối tiếp được sử dụng khi các thành phần xa nhau