Menu English Ukrainian Tiếng Nga Trang Chủ

Thư viện kỹ thuật miễn phí cho những người có sở thích và chuyên gia Thư viện kỹ thuật miễn phí


ENCYCLOPEDIA VỀ ĐIỆN TỬ TRUYỀN THANH VÀ KỸ THUẬT ĐIỆN
Thư viện miễn phí / Sơ đồ của các thiết bị vô tuyến-điện tử và điện

Chúng tôi thiết kế các thiết bị trên vi điều khiển. Bách khoa toàn thư về điện tử vô tuyến và kỹ thuật điện

Thư viện kỹ thuật miễn phí

Bách khoa toàn thư về điện tử vô tuyến và kỹ thuật điện / Bộ vi điều khiển

Bình luận bài viết Bình luận bài viết

Giữa ý tưởng ban đầu về việc tạo ra một thiết bị dựa trên vi điều khiển (MC) và việc phát triển chương trình của nó, có một giai đoạn quan trọng - vẽ sơ đồ khối của thuật toán. Nó thường bị lãng quên hoặc tệ hơn là bị bỏ mặc. Lập trình được thực hiện "theo kinh nghiệm", về bản chất - bằng cách thử và sai. Kết quả là một chương trình cồng kềnh hoạt động bằng cách nào đó, không được hiểu đầy đủ ngay cả bởi người tạo ra nó và rất khó để hiện đại hóa. Tuy nhiên, các phương pháp khá đơn giản từ lâu đã được các lập trình viên biết đến và sử dụng, cho phép, bắt đầu bằng việc xây dựng thuật toán bằng lời nói, thiết kế chính xác sơ đồ khối của nó. Mối quan tâm nghề nghiệp của tác giả bài báo nằm ở lĩnh vực phát triển MK của dòng Z8, nhưng tài liệu do anh ấy trình bày cũng áp dụng cho các loại MK khác.

Sự tương tác của bất kỳ hệ thống MC nào với người vận hành và đối tượng điều khiển có thể được biểu diễn như trong Hình. 1 sơ đồ [1]. Trong trường hợp chung, đối tượng điều khiển được trang bị bộ truyền động và cảm biến. Người vận hành con người tác động lên MC với sự trợ giúp của các thiết bị chính và nhận thông tin về trạng thái của đối tượng từ việc đọc các thiết bị hiển thị. Cái trước là công tắc, nút bấm, biến trở, cái sau là đèn báo (bao gồm cả đồ họa và chữ số), thiết bị phát âm thanh và tín hiệu khác.

Chúng tôi thiết kế các thiết bị trên vi điều khiển

Tất cả các nút chức năng và kết nối được hiển thị trong sơ đồ chỉ được yêu cầu trong các hệ thống quản lý và điều khiển tương tác phức tạp. Trong cái gọi là hệ thống điều khiển vòng hở, MC hoạt động "mù quáng" mà không nhận được bất kỳ thông tin nào về trạng thái của đối tượng. Đôi khi anh ta thậm chí không cung cấp cho người vận hành bất kỳ thông tin nào về công việc (cả của anh ta và đối tượng), đặc biệt nếu có thể đánh giá kết quả kiểm soát bằng cách quan sát chính đối tượng đó. Trong các hệ thống điều khiển kín, MC điều chỉnh các hành động điều khiển trên đối tượng tùy thuộc vào số đọc của cảm biến, nhưng các thiết bị hiển thị cũng không bắt buộc ở đây. Các hệ thống điều khiển không chứa bộ truyền động và với sự trợ giúp của các thiết bị cài đặt, người vận hành chỉ chọn các tham số được điều khiển hoặc chuyển chế độ hoạt động của các chỉ báo.

Phương pháp thiết kế hệ thống trên MC [2, 3] bao gồm việc xây dựng và phân tích vấn đề, giải thích kỹ thuật của nó, phát triển sơ đồ thuật toán và văn bản của chương trình ứng dụng. Trong các hệ thống như vậy, họ có xu hướng gán số chức năng tối đa cho các công cụ phần mềm. Dung lượng bộ nhớ cần thiết, tốc độ và độ tin cậy của hệ thống trong mạch cuối cùng phụ thuộc vào hiệu quả của việc triển khai chúng. Tất nhiên, việc phát triển ý tưởng và thiết kế sản phẩm vẫn phải được thực hiện, nhưng chúng tôi sẽ chỉ đề cập đến chúng trong phạm vi cần thiết cho sự phát triển của chương trình MK.

Tuyên bố vấn đề là một công thức bằng lời nói của các yêu cầu đối với hệ thống được thiết kế. Trước hết, chúng mô tả mục đích, đặc điểm của đối tượng điều khiển, cảm biến, chỉ báo, thiết bị kích hoạt và cài đặt. Tiếp theo, bạn nên nói chi tiết về hành vi mong muốn của hệ thống trong mọi tình huống có thể xảy ra, kể cả những tình huống "bất thường". Trong mọi trường hợp, bạn không thể dựa vào các hành động không có lỗi của nhà điều hành. Ví dụ: khi nghe thấy tín hiệu khẩn cấp, anh ta có thể nhấn nút KHỞI ĐỘNG thay vì nút "DỪNG" theo quy định hoặc nhấn ngẫu nhiên tất cả các nút liên tiếp. Tất nhiên, không thể thấy trước tất cả các tình huống như vậy, nhưng điều này phải được cố gắng. Đảm bảo chỉ định các giá trị số của các tham số của hệ thống được thiết kế.

Đầu tiên, nhiệm vụ được xây dựng, như một quy luật, "ở cấp độ người dùng". Ví dụ: nhiệm vụ ban đầu để phát triển hệ thống điều khiển quạt có thể giống như sau: "Bật và tắt quạt, điều chỉnh cường độ luồng không khí và thay đổi hướng của nó (xả / xả)". Phân tích kỹ thuật sẽ giảm nhiệm vụ này xuống việc kiểm soát tốc độ và hướng quay của truyền động quạt - động cơ DC. Do công suất tín hiệu đầu ra của MK rõ ràng là không đủ để điều khiển trực tiếp động cơ, nên giữa chúng sẽ phải lắp đặt một thiết bị điều khiển đặc biệt, thiết bị này sẽ tạo ra tín hiệu về công suất cần thiết và nhiệm vụ được giải quyết bởi MK. giới hạn trong việc cung cấp các hành động điều khiển cho người lái xe.

Chúng tôi sẽ không tập trung vào việc lựa chọn các bộ điều khiển công suất, cảm biến và thiết bị cho giao diện của chúng với MC. Ngày nay, các vi mạch chuyên dụng được sản xuất cho những mục đích này, sử dụng hiệu quả hơn nhiều so với việc xây dựng một hệ thống từ các thành phần rời rạc.

Giả sử rằng trình điều khiển động cơ DC tích hợp LMD18200 từ National Semiconductor sẽ được sử dụng. Một mạch điển hình cho sự bao gồm của nó được hiển thị trong hình. 2. Nó chứa một cầu MOSFET công suất cao, theo đường chéo mà động cơ được kết nối.

Chúng tôi thiết kế các thiết bị trên vi điều khiển

Trình điều khiển được điều khiển bởi ba tín hiệu logic. Các xung hình chữ nhật được đưa đến đầu vào PWM (Điều chế độ rộng xung), tỷ lệ giữa thời lượng của nó với khoảng thời gian lặp lại (chu kỳ nhiệm vụ) xác định tốc độ động cơ. Mức logic của tín hiệu ở đầu vào DIR (hướng - hướng) đặt cực của điện áp cung cấp cho động cơ, do đó, hướng quay của nó. Bằng cách đặt mức nhật ký. 1 ở đầu vào BR (phanh), động cơ dừng lại và nếu tại thời điểm đó, đầu vào PWM có nhật ký. 0, mạch nguồn động cơ sẽ chỉ mở, nếu không, các đầu ra của động cơ cũng sẽ được kết nối với nhau, điều này sẽ cung cấp phanh khẩn cấp.

Hai cảm biến được tích hợp vào trình điều khiển. Một trong số chúng tạo ra dòng điện chạy từ chân CUR (dòng điện - dòng điện) và tỷ lệ thuận với dòng điện động cơ với hệ số 377 µA/A. Đầu ra cảm biến nhiệt độ TF (Thermal Flag - cờ nhiệt độ) - bộ thu hở rời rạc. Nó đi vào trạng thái nhật ký. 0. nếu tinh thể trình điều khiển được làm nóng trên 145 °C.

Hãy để chúng tôi xây dựng các yêu cầu đối với thiết bị điều khiển động cơ quạt và về bản chất là trình điều khiển động cơ.

Thiết bị điều khiển phải được trang bị các nút bấm mà người vận hành (người dùng) có thể bật và tắt động cơ, đổi hướng, tăng và giảm tốc độ. Cần có chỉ dẫn về hướng quay của động cơ bằng các tín hiệu ánh sáng có màu sắc khác nhau và cảnh báo bằng âm thanh về sự cố (quá nóng hoặc quá tải).

Sau khi đặt điện áp nguồn, thiết bị phải đợi lệnh đặt hướng quay mà không cần bật động cơ. Việc nhận nó phải được xác nhận bằng tín hiệu ánh sáng. Theo lệnh "BẮT ĐẦU", động cơ phải được bật và bắt đầu quay theo hướng đã chỉ định với tần số trung bình (chu kỳ nhiệm vụ của tín hiệu PWM = 0.5). Theo các lệnh "SLOWER" và "FASTER", chu kỳ làm việc phải giảm hoặc tăng tương ứng, không vượt quá 0.2 ... 1. Lệnh "STOP" phải dừng động cơ ngay lập tức, sau đó có thể khởi động lại động cơ bằng cách phát lệnh lệnh "BẮT ĐẦU".

Nếu giá trị cho phép của dòng điện tiêu thụ bị vượt quá, ví dụ, đó có thể là kết quả của việc trục động cơ bị kẹt cơ học, thì trục động cơ phải được tắt và tín hiệu âm thanh không liên tục có tần số 1000 Hz ở dạng các đợt ngắn (thời lượng của chúng và thời gian tạm dừng giữa chúng là 1 giây). Khi vi mạch quá nóng, cần phải dừng động cơ và phát tín hiệu âm thanh với các đợt dài (thời gian của các đợt và tạm dừng là 2 giây). Báo động âm thanh phải được duy trì cho đến lúc đó. cho đến khi người điều khiển ra lệnh “STOP” đưa thiết bị về trạng thái ban đầu. Cho đến khi một lệnh như vậy được đưa ra, nó sẽ không phản hồi bất kỳ lệnh nào khác.

Ở giai đoạn này, người ta nên lược bỏ những chi tiết không cần thiết cho sự phát triển của chương trình MC. Ví dụ, trong trường hợp này, nó không thành vấn đề. rằng đối tượng điều khiển (động cơ) đóng vai trò truyền động quạt, loại thông gió (khí thải hoặc cung cấp) phụ thuộc vào hướng quay của nó và cường độ của luồng không khí phụ thuộc vào tần số. Hơn nữa, khi phát triển một thuật toán, bạn thường có thể quên động cơ và trình điều khiển của nó, tập trung vào việc hình thành các tín hiệu điều khiển PWM. DIR, BR và xử lý tín hiệu của cảm biến CUR và TE.

Phân tích nhiệm vụ đã xây dựng, mong muốn xác định ngay một số vấn đề chắc chắn sẽ xuất hiện trong các giai đoạn tiếp theo. Ví dụ: hệ thống có phản hồi lệnh "Chạy" nếu hướng quay không được xác định trước không? Nếu có. trong trường hợp như vậy nên quay động cơ theo hướng nào? Có nên duy trì tần số và hướng quay đã đặt sau khi dừng và khởi động lại động cơ không? Còn sau khi cấp cứu thì sao? Tất cả những câu hỏi như vậy phải được trả lời càng sớm càng tốt.

Dựa trên mô tả bằng lời nói, danh sách các tín hiệu đầu vào và đầu ra của MC được tổng hợp. Lệnh đầu tiên bao gồm các lệnh do người vận hành đưa ra và các tín hiệu cảm biến: "XẢ". "ĐẨY". "BẮT ĐẦU". "NHANH HƠN". "CHẬM HƠN". "DỪNG LẠI". "QUÁ TẢI" (CUR). "QUÁ NHIỆT" (TF). Trong lần thứ hai, các tín hiệu điều khiển cho trình điều khiển động cơ và các chỉ báo: PWM - tốc độ quay. DIR - hướng quay, BR - tắt động cơ. G - bật đèn LED màu xanh lục. Y - bật đèn LED màu vàng. S - âm thanh.

Theo quan điểm đã nói ở trên, có thể kết luận rằng MC yêu cầu gì. có ít nhất 14 chân để kết nối mạch bên ngoài (tám đầu vào và sáu đầu ra). Vì tín hiệu CUR là tín hiệu tương tự nên bạn sẽ cần một bộ so sánh để so sánh số đọc của cảm biến với giá trị chấp nhận được và tạo ra tín hiệu logic "QUÁ TẢI". Vì vậy, MK được ưu tiên hơn. được trang bị một bộ so sánh tích hợp. Ví dụ, phù hợp là sửa đổi 18 chân tối thiểu của dòng Z86 MK. Tùy chọn rẻ nhất là một vi mạch. Z86E02. Đó là tất cả cho bây giờ. liên quan đến phần cứng của thiết bị. Sự phân bổ tín hiệu đầu vào và đầu ra trên đầu ra của MK ở giai đoạn này là không đáng kể.

Hơn nữa, nên mô tả thuật toán được đưa ra bằng lời nói dưới dạng cái gọi là đồ thị máy tự động hữu hạn. Một thiết bị rời rạc được coi là một máy trạng thái hữu hạn nếu có thể liệt kê tất cả các trạng thái mà nó có thể ở đó, tất cả các sự kiện (ảnh hưởng bên ngoài) dẫn đến thay đổi trạng thái và tất cả các tín hiệu đầu ra được tạo. Đây là những thiết bị dựa trên MK.

Một ví dụ về biểu đồ automaton được hiển thị trong hình. 3.

Chúng tôi thiết kế các thiết bị trên vi điều khiển

Các trạng thái được biểu diễn bằng các nút (đỉnh) của đồ thị. Trong trường hợp này, có bốn trong số chúng: A. B. C và D. Các đỉnh được nối với nhau bằng các cung được trang bị các mũi tên chỉ hướng chuyển đổi, sự kiện Xi gây ra chuyển đổi này được biểu thị phía trên cung và bên dưới nó là tập hợp Yi của tín hiệu đầu ra do máy tự động tạo ra tại thời điểm này và không thay đổi cho đến lần chuyển tiếp tiếp theo. Về mặt lý thuyết, chính xác sẽ có bao nhiêu cung đi ra từ mỗi đỉnh của đồ thị. càng nhiều tác động bên ngoài khác nhau lên máy tự động càng tốt. Nếu một sự kiện nào đó không làm thay đổi trạng thái của máy tự động, thì cung tương ứng sẽ được hiển thị khi đi vào cùng một đỉnh mà nó rời đi. Tuy nhiên, để không làm lộn xộn bản vẽ, trong thực tế, chỉ còn lại những vòng cung như vậy. được liên kết với những thay đổi trong tín hiệu đầu ra. Ví dụ, từ đồ thị trong Hình. 3. bạn có thể xóa các cung A-A và B-B. Nói một cách thông thường, điều này có nghĩa là máy tự động ở trạng thái A và B không phản ứng với sự kiện X3.

Các sự kiện ảnh hưởng đến máy tự động được triển khai dưới dạng chương trình MK. không chỉ "trực tiếp", gây ra bởi sự thay đổi mức logic của tín hiệu được áp dụng cho đầu ra bên ngoài của MK, mà còn "gián tiếp". Ví dụ, cái sau bao gồm một kết quả nhất định của việc so sánh các giá trị được tính toán và đã cho của một tham số nhất định hoặc việc hoàn thành một số thao tác dài. Ranh giới giữa các sự kiện trực tiếp và gián tiếp đôi khi rất khó vẽ. Ví dụ: một sự kiện phổ biến như hoạt động của bộ hẹn giờ được tích hợp trong MK có thể được coi là gián tiếp nếu nó được cố định. phân tích số trong thanh ghi tương ứng hoặc trực tiếp, phản ứng với tín hiệu do bộ hẹn giờ tạo ra khi kết thúc quá trình đếm. Các tín hiệu đầu ra cũng có thể là gián tiếp, không trực tiếp thay đổi các mức logic ở đầu ra của MK. Thông thường, khi chuyển đổi giữa các trạng thái của máy tự động, một số giá trị nhất định chỉ được gán cho các biến chương trình.

Quay trở lại vấn đề đang được giải quyết, chúng ta hãy xây dựng đồ thị của máy tự động điều khiển động cơ. Phân tích nhiệm vụ, các trạng thái sau có thể được phân biệt:

  • BẮT ĐẦU - Đặt ngay sau khi bật nguồn. Các hành động ban đầu cần thiết được thực hiện - các giá trị ban đầu của các biến chương trình và tín hiệu đầu ra được đặt, các thiết bị ngoại vi được định cấu hình. Sau đó, máy tự động chuyển sang trạng thái STOP1 (một ví dụ điển hình về quá trình chuyển đổi trong một sự kiện gián tiếp - hoàn thành quá trình khởi tạo);
  • STOP 1 - máy sẽ vào đó sau khi hoàn thành khởi tạo hoặc sau khi thoát khỏi tình huống khẩn cấp. Nó xuất hiện bằng các lệnh đặt hướng quay của động cơ:
  • STOP2 - máy đang chờ lệnh "START";
  • CÔNG VIỆC - trạng thái chính, thiết bị tạo tín hiệu PWM. Thoát bằng lệnh "STOP" hoặc bằng tín hiệu từ các cảm biến khẩn cấp;
  • LÀM NÓNG. QUÁ TẢI - trạng thái mà máy chuyển từ trạng thái LÀM VIỆC do hoạt động của các cảm biến tương ứng. Động cơ tắt, thiết bị phát ra tiếng bíp. Thoát - chỉ với lệnh "STOP".

Biểu đồ đã xây dựng được hiển thị trong hình. bốn.

Chúng tôi thiết kế các thiết bị trên vi điều khiển

Dễ dàng nhận thấy rằng không thể thay đổi chiều quay sai được thiết lập ngẫu nhiên mà không bật rồi tắt động cơ. Ngoài ra, để khởi động nó, bạn luôn cần đưa ra hai lệnh - hướng và bắt đầu. Bằng cách từ chối lệnh START, trạng thái STOP2 có thể được loại trừ. và hướng các cung của lệnh "PRESSURE" và "EXHAUST" trực tiếp đến trạng thái LÀM VIỆC. Do đó, sẽ có ít hơn một nút trên bảng điều khiển, một đầu vào MK sẽ được giải phóng. và động cơ sẽ bật ngay lập tức sau khi nhấn bất kỳ nút nào đặt hướng. Nói một cách chính xác, đối với bất kỳ thay đổi nào trong thuật toán điều khiển được chỉ định, phải được sự đồng ý của khách hàng hoặc người dùng thiết bị trong tương lai. Nhưng trong thực tế nghiệp dư, khách hàng, người biểu diễn và người dùng thường là một người và chỉ cần "tham khảo ý kiến ​​​​của chính mình" là đủ.

Điều đáng chú ý là biểu đồ không phản ánh cách tạo ra tín hiệu PWM chu kỳ nhiệm vụ thay đổi. Trong trường hợp chung, điều này có thể được thực hiện bằng một thiết bị đặc biệt được điều khiển từ MC. Nhưng chúng tôi cố gắng triển khai mọi thứ hoàn toàn theo chương trình, vì vậy chúng tôi sẽ phải chia trạng thái CÔNG VIỆC thành hai. Trong cái đầu tiên (CÔNG VIỆC) PWM=0, trong cái thứ hai (CÔNG VIỆC 1) - PWM = 1.

Bây giờ, hãy cung cấp các sự kiện gây ra quá trình chuyển đổi giữa chúng - kích hoạt luân phiên hai bộ hẹn giờ, một trong số đó đặt thời lượng của các xung PWM và bộ thứ hai đặt khoảng dừng giữa chúng và mỗi bộ hẹn giờ đã hoạt động sẽ khởi động cái kia. Do thực tế là trong trường hợp này, các bộ định thời "logic" không bao giờ hoạt động đồng thời, chúng có thể được triển khai bằng cách sử dụng một bộ định thời "vật lý", thay đổi độ trễ thời gian của nó theo chương trình sau mỗi thao tác.

Các lệnh "NHANH HƠN" và "CHẬM HƠN" điều chỉnh độ trễ thời gian của bộ hẹn giờ, để tổng của chúng không thay đổi và bằng với khoảng thời gian lặp lại xung PWM được chỉ định. Máy tự động có thể đáp ứng các lệnh này ở cả hai trạng thái được xem xét. Tuy nhiên, để đơn giản hóa thuật toán, cho phép hạn chế phản ứng chỉ với một trong số chúng. Do khoảng thời gian ngắn của các trạng thái này, độ trễ thực thi sẽ không thể nhận thấy đối với người vận hành.

Một sự làm rõ cần thiết khác là kiểm tra khả năng chấp nhận của các giá trị thời gian trễ. Theo công việc, chu kỳ nhiệm vụ của tín hiệu PWM. bằng T1/(T1+T0). trong đó T1 và T0 là thời gian trễ của các bộ định thời, nó phải luôn duy trì trong khoảng 0,2 ... 1. Do đó, sau mỗi lệnh thay đổi tốc độ, máy phải chuyển sang trạng thái KIỂM TRA và chỉ từ đó quay trở lại trạng thái Trạng thái WORK dọc theo một trong hai cung. Cái đầu tiên tương ứng với kết quả tích cực của quá trình kiểm tra, khi bạn vượt qua nó, tốc độ cửa trập mới sẽ được đặt. Thứ hai - kết quả là tiêu cực, các đoạn trích có hiệu lực trước đó vẫn không thay đổi.

Tiếp tục phân tích đồ thị, chúng ta chú ý trạng thái QUÁ NHIỆT và QUÁ TẢI chỉ khác nhau ở chu kỳ lặp lại của tín hiệu âm thanh. Nên gộp chúng lại làm một, gọi là TAI NẠN. Tín hiệu âm thanh S có thể được tạo bằng hai bộ hẹn giờ, tương tự như tín hiệu PWM đã thảo luận ở trên. Hơn nữa, nên sử dụng cùng một bộ đếm thời gian "vật lý", ở trạng thái này vẫn không hoạt động.

Để làm cho âm thanh không liên tục, bạn có thể sử dụng một bộ hẹn giờ khác, nhưng sẽ dễ thực hiện hơn nếu không có nó, đếm các khoảng thời gian của tín hiệu được tạo bằng cách sử dụng bộ đếm được triển khai trong phần mềm, bật và tắt tín hiệu đầu ra sau một số lần nhất định. Tất cả điều này sẽ yêu cầu cung cấp các trạng thái bổ sung của máy và chuyển đổi giữa chúng.

Đồ thị phát triển của điều khiển tự động động cơ được thể hiện trong hình. 5.

Chúng tôi thiết kế các thiết bị trên vi điều khiển

Xin lưu ý rằng các công thức bằng lời nói của các hành động sẽ được thực hiện được thay thế bằng cách gán các giá trị nhất định cho các biến. Ví dụ: thay vì cụm từ "bật đèn LED màu vàng", Y = 1 được biểu thị và chỉ định rằng đèn LED màu xanh lục phải tắt, G = 0. Ngoài các tín hiệu đầu ra đã đề cập trước đó và độ trễ của bộ hẹn giờ, hằng số T là khoảng thời gian lặp lại xung PWM và biến N là số xung S còn lại cho đến khi kết thúc khoảng thời gian hình thành của tín hiệu âm thanh.

Bước tiếp theo là chuyển đồ thị thành sơ đồ khối của thuật toán vận hành MC. Trước hết, tất cả các đỉnh của đồ thị (trạng thái tự động hóa) phải được đánh số. Thứ tự đánh số là rất quan trọng trong việc triển khai phần cứng của máy tự động. Bằng cách chọn chính xác, bạn có thể đơn giản hóa đáng kể thiết bị. Đối với việc triển khai phần mềm, điều này không quá quan trọng và trong hầu hết các trường hợp, việc đánh số có thể tùy ý. Chương trình nhất thiết phải cung cấp cái gọi là "biến trạng thái", trong quá trình làm việc được gán các giá trị bằng với số trạng thái hiện tại. Trong các chương trình phức tạp, có thể có một số biến như vậy. Nhiều ngôn ngữ lập trình cho phép bạn đặt tên tượng trưng cho các giá trị số. Điều này có thể được sử dụng rộng rãi, vì một dòng trong chương trình gán giá trị RABOTA cho một biến sẽ trực quan hơn nhiều so với một dòng gán giá trị 6 chẳng hạn.

Trên hình. 6 một sơ đồ khối điển hình của thuật toán điều khiển được trình bày dưới dạng tổng quát nhất. Sau khi khởi tạo, chương trình chạy theo chu kỳ. Sau khi phân tích biến trạng thái, nó thực hiện thủ tục tương ứng trong mỗi chu kỳ. Sự thay đổi trạng thái của máy tự động được biểu thị bằng cách gán một giá trị mới cho biến trạng thái, do đó, một quy trình khác sẽ được thực hiện trong chu kỳ tiếp theo.

Chúng tôi thiết kế các thiết bị trên vi điều khiển

Các quy trình thực hiện từng trạng thái của máy tự động được xây dựng theo các sơ đồ khối tương tự như sơ đồ trong Hình. 7. Trước hết, các tác động (sự kiện) bên ngoài được phân tích. Tiếp theo, quá trình được chia thành nhiều nhánh khi có các cung đi ra từ đỉnh tương ứng của đồ thị ô tô, mỗi cung cung cấp cho việc thực hiện các chức năng cần thiết để thực hiện quá trình chuyển đổi này và cuối cùng, biến trạng thái được gán một giá trị bằng số đỉnh mà cung hướng tới. Một cách tiếp cận khác cũng có thể thực hiện được: đầu tiên, các cung đi vào đỉnh được thực hiện, sau đó chúng phản ứng với các tác động. Hạn chế chính của nó là chương trình phải "biết" máy tự động chuyển từ trạng thái nào sang trạng thái nhất định, điều này không bắt buộc trong trường hợp trước.

Chúng tôi thiết kế các thiết bị trên vi điều khiển

Xin lưu ý rằng trong hình. Hình 7 cho thấy hai khả năng thoát khỏi thủ tục trạng thái. Trong trường hợp đầu tiên, các sự kiện được phân tích theo chu kỳ cho đến khi một trong số chúng được tìm thấy, gây ra sự thoát khỏi trạng thái nhất định. Trong lần thứ hai - nếu không có ảnh hưởng nào trong số này. thủ tục kết thúc như được hiển thị bởi đường đứt nét.

Nếu có ít ảnh hưởng bên ngoài và phản ứng đối với chúng ở mỗi trạng thái là cụ thể, thì các thủ tục phát hiện sự kiện được đưa vào các khối xử lý trạng thái. Ví dụ: có thể kiểm tra xem nút "BẮT ĐẦU" chỉ được nhấn ở trạng thái mà máy sẽ phản hồi với nút đó hay không. Thông thường, quy trình lọc sự kiện được đặt trong vòng lặp chính (trong Hình 6, nó được hiển thị bằng đường đứt nét) và một biến được cung cấp, biến này được gán một giá trị được liên kết duy nhất với sự kiện đã xảy ra. Ví dụ: kết quả của việc bỏ phiếu bàn phím là mã của phím được nhấn. Trong khối xử lý trạng thái, được thực hiện theo tùy chọn thứ hai ở trên, chỉ phân tích giá trị của biến này.

Trái ngược với mô hình lý thuyết, các sự kiện thực tế thường xảy ra đồng thời. Trong tình huống như vậy, máy tự động trước hết phải phản ứng với sự kiện có mức độ ưu tiên cao nhất. Cách dễ nhất để sắp xếp thứ tự ưu tiên là chọn trình tự phù hợp để phân tích các sự kiện. Ví dụ, theo sơ đồ khối được hiển thị trong Hình. 7, sự kiện X1 có mức ưu tiên cao nhất. thấp nhất - tại HZ. Nếu các sự kiện có mức độ ưu tiên cao xảy ra thường xuyên hơn nhiều so với các sự kiện có mức độ ưu tiên thấp, thì hàng đợi có thể không bao giờ đến được các sự kiện cuối cùng. Để tránh điều này, các sự kiện hiếm gặp nên được ưu tiên cao nhất. Đôi khi, sự phân phối của cái sau phải được thay đổi trong khi chương trình đang chạy, chẳng hạn, bằng cách đặt từng sự kiện mới được xử lý ở cuối hàng đợi.

Hoạt động không thể đoán trước của hệ thống trên MK thường là do tiếng ồn hoặc độ nảy của các tiếp điểm của bộ điều khiển. Những sự kiện sai như vậy phải được "sàng lọc" bằng các bộ lọc phần mềm. Thông thường, để nhận ra một sự kiện đã diễn ra, chỉ cần đảm bảo rằng mức logic của tín hiệu ở đầu vào tương ứng của MK không thay đổi trong một thời gian nhất định. Trong trường hợp quan trọng, các thủ tục phức tạp hơn được sử dụng.

Trong số nhiều sự kiện, thường có thể chọn ra "trường hợp khẩn cấp", phản ứng phải xảy ra ngay lập tức. Một ví dụ điển hình. Để không bỏ lỡ thời điểm hết giờ, chương trình phải liên tục kiểm tra trạng thái thanh ghi của nó, không thể làm gì khác cho đến khi hết giờ. Tín hiệu yêu cầu ngắt do bộ định thời tạo ra khi kết thúc đếm sẽ giải quyết vấn đề. Bằng cách chấp nhận nó. MC ngay lập tức (ít nhất là nhanh hơn nhiều so với trong quá trình xử lý phần mềm thông thường của cùng một sự kiện) tiến hành thực hiện quy trình dịch vụ ngắt, địa chỉ (vectơ) phải được chỉ định trong các ô bộ nhớ chương trình được phân bổ đặc biệt.

Bộ máy ngắt véc tơ ưu tiên của chương trình đang được thực thi được cung cấp trong phần lớn các bộ vi điều khiển. Ngắt có thể là bên ngoài hoặc bên trong. Trong trường hợp sau, đầu vào yêu cầu ngắt không có đầu ra bên ngoài, nhưng được kết nối với nguồn yêu cầu nằm trực tiếp trên chip MK. Thông thường, các ngắt bên trong không chỉ được cung cấp từ bộ hẹn giờ mà còn từ các thiết bị khác được tích hợp trong MK này: bộ điều khiển cổng nối tiếp, bộ so sánh tín hiệu tương tự, bộ chuyển đổi tương tự sang số.

Thông thường, một trong những ngắt nội bộ của MK hiện đại được liên kết với cái gọi là bộ đếm thời gian theo dõi (Watch Dog), dùng để bảo vệ chống lại các lỗi ngẫu nhiên. Bộ đếm thời gian này yêu cầu liên tục

khởi tạo bằng cách viết một mã cụ thể vào một vị trí cụ thể trong không gian địa chỉ. Chương trình MC được xây dựng theo cách mà trong quá trình bình thường của nó, quy trình như vậy được thực hiện khá thường xuyên. Nếu MK "treo", quá trình khởi tạo bộ đếm thời gian theo dõi sẽ dừng lại và sau một thời gian, nó gửi yêu cầu ngắt, quá trình xử lý được thiết kế để khôi phục hoạt động bình thường của hệ thống. Thông thường, phản hồi đối với ngắt giám sát là giống nhau. như một tín hiệu bên ngoài đặt MK về trạng thái ban đầu.

Các ngắt được kiểm soát bằng cách bật hoặc tắt chúng tùy thuộc vào trạng thái của máy tự động được triển khai. Nếu cùng một ngắt ở các trạng thái khác nhau cần được xử lý khác nhau, thì quy trình xử lý được xây dựng giống như vòng lặp chương trình chính, cung cấp khả năng phân tích trạng thái trong đó. Sự khác biệt là. rằng một thủ tục như vậy không được đóng trong một chiếc nhẫn. Sau khi hoàn thành nó, MK sẽ tiếp tục thực hiện chương trình từ nơi nó bị gián đoạn. Điều này đầy rẫy những thất bại, vì ở trạng thái đã thay đổi do xử lý gián đoạn, việc tiếp tục các hành động bị gián đoạn có thể cho kết quả không chính xác. Họ tự bảo vệ mình khỏi những lỗi như vậy bằng cách vô hiệu hóa các ngắt trong khi thực hiện các phần quan trọng của chương trình di chuyển. chắc chắn làm chậm phản ứng của hệ thống.

Nếu có nhiều nguồn yêu cầu ngắt trong hệ thống hơn số đầu vào MC được cung cấp cho chúng, thì một nhóm yêu cầu được triển khai trong phần cứng bằng cách kết hợp đầu ra của một số nguồn theo sơ đồ OR. Bằng cách chấp nhận một yêu cầu như vậy. MC có nghĩa vụ tìm ra ai đã gửi nó và xử lý nó cho phù hợp.

Toàn bộ thuật toán của thiết bị đôi khi được thực hiện bởi một tập hợp các thủ tục xử lý ngắt. Trong trường hợp này, vòng lặp chính suy biến thành một số lệnh máy, cho đến một lệnh nhảy vô điều kiện duy nhất cho chính nó. Nhiều MK cung cấp cụ thể các lệnh HALT hoặc IDLE mà chúng. về cơ bản ngừng hoạt động (đôi khi ngay cả bộ tạo xung nhịp cũng tắt). Chỉ yêu cầu ngắt nhận được mới có thể đưa MK ra khỏi trạng thái này. Xử lý xong yêu cầu. MC thực hiện quá trình chuyển đổi vô điều kiện sang lệnh dừng được cung cấp trong vòng lặp chính và "ngủ" lại. Chế độ này rất tiết kiệm, vì năng lượng tiêu thụ của MK đã dừng giảm nhiều lần, chỉ tăng trong quá trình phản ứng với các tác động bên ngoài.

Sơ đồ khối của thuật toán điều khiển động cơ quạt được phát triển có tính đến những điều trên bao gồm hai phần như trong Hình. 8 (vòng lặp chính) và hình. 9 (xử lý ngắt từ timer). Về cơ bản, cả hai đều tương ứng với các sơ đồ khối điển hình đã thảo luận ở trên, ngoại trừ việc các hoạt động giống nhau được kết hợp được thực hiện khi xử lý các sự kiện khác nhau. Bộ xử lý ngắt hẹn giờ tạo tín hiệu PWM và S. Khi chuyển từ trạng thái STOP sang trạng thái RUN, ngắt được kích hoạt và khi trở về trạng thái STOP, nó bị vô hiệu hóa.

Chúng tôi thiết kế các thiết bị trên vi điều khiển

Chương trình hiện có một biến trạng thái ST, được gán các giá trị chuỗi cho rõ ràng - tên của các trạng thái tương ứng. Như đã đề cập ở trên, trong chương trình, đây sẽ là các số - số trạng thái hoặc tên tượng trưng của chúng. Các giá trị được gán cho biến N0 được chọn dựa trên giả định rằng chu kỳ lặp lại của các xung PWR và S được tạo là giống nhau và bằng 1 ms. Nếu nó không phải là. sơ đồ khối sẽ phải được sửa đổi một chút.

Chúng tôi thiết kế các thiết bị trên vi điều khiển

Bây giờ bạn có thể tiến hành lựa chọn MK, phân phối tín hiệu đầu vào và đầu ra trên đầu ra của nó và phát triển sơ đồ mạch hoàn chỉnh của thiết bị. Khi đã xác định được các bit của một cổng I / O cụ thể của MK sẽ được kết nối với các mạch bên ngoài nào và mức logic của các tín hiệu trong các mạch này, lập trình viên có thể bắt đầu phát triển chương trình.

Văn chương

  1. Franke K. Giới thiệu về máy vi tính: Per. với anh ấy. - M.: Energoatomiedat. Năm 1998.
  2. Kagan BM, Stashin VV Nguyên tắc cơ bản của việc thiết kế các thiết bị tự động hóa bộ vi xử lý. - M.: Energoatomiedat. 1987.
  3. Stashin VV, Urusov AV, Mologoitseva OF Thiết kế thiết bị kỹ thuật số trên bộ vi điều khiển đơn chip. - M.: Energoatomiedat. 1990.

Tác giả: M. Gladshtein, Rybinsk

Xem các bài viết khác razdela Bộ vi điều khiển.

Đọc và viết hữu ích bình luận về bài viết này.

<< Quay lại

Tin tức khoa học công nghệ, điện tử mới nhất:

Máy tỉa hoa trong vườn 02.05.2024

Trong nền nông nghiệp hiện đại, tiến bộ công nghệ đang phát triển nhằm nâng cao hiệu quả của quá trình chăm sóc cây trồng. Máy tỉa thưa hoa Florix cải tiến đã được giới thiệu tại Ý, được thiết kế để tối ưu hóa giai đoạn thu hoạch. Công cụ này được trang bị cánh tay di động, cho phép nó dễ dàng thích ứng với nhu cầu của khu vườn. Người vận hành có thể điều chỉnh tốc độ của các dây mỏng bằng cách điều khiển chúng từ cabin máy kéo bằng cần điều khiển. Cách tiếp cận này làm tăng đáng kể hiệu quả của quá trình tỉa thưa hoa, mang lại khả năng điều chỉnh riêng cho từng điều kiện cụ thể của khu vườn, cũng như sự đa dạng và loại trái cây được trồng trong đó. Sau hai năm thử nghiệm máy Florix trên nhiều loại trái cây khác nhau, kết quả rất đáng khích lệ. Những nông dân như Filiberto Montanari, người đã sử dụng máy Florix trong vài năm, đã báo cáo rằng thời gian và công sức cần thiết để tỉa hoa đã giảm đáng kể. ... >>

Kính hiển vi hồng ngoại tiên tiến 02.05.2024

Kính hiển vi đóng vai trò quan trọng trong nghiên cứu khoa học, cho phép các nhà khoa học đi sâu vào các cấu trúc và quá trình mà mắt thường không nhìn thấy được. Tuy nhiên, các phương pháp kính hiển vi khác nhau đều có những hạn chế, trong đó có hạn chế về độ phân giải khi sử dụng dải hồng ngoại. Nhưng những thành tựu mới nhất của các nhà nghiên cứu Nhật Bản tại Đại học Tokyo đã mở ra những triển vọng mới cho việc nghiên cứu thế giới vi mô. Các nhà khoa học từ Đại học Tokyo vừa công bố một loại kính hiển vi mới sẽ cách mạng hóa khả năng của kính hiển vi hồng ngoại. Thiết bị tiên tiến này cho phép bạn nhìn thấy cấu trúc bên trong của vi khuẩn sống với độ rõ nét đáng kinh ngạc ở quy mô nanomet. Thông thường, kính hiển vi hồng ngoại trung bị hạn chế bởi độ phân giải thấp, nhưng sự phát triển mới nhất của các nhà nghiên cứu Nhật Bản đã khắc phục được những hạn chế này. Theo các nhà khoa học, kính hiển vi được phát triển cho phép tạo ra hình ảnh có độ phân giải lên tới 120 nanomet, cao gấp 30 lần độ phân giải của kính hiển vi truyền thống. ... >>

Bẫy không khí cho côn trùng 01.05.2024

Nông nghiệp là một trong những lĩnh vực quan trọng của nền kinh tế và kiểm soát dịch hại là một phần không thể thiếu trong quá trình này. Một nhóm các nhà khoa học từ Viện nghiên cứu khoai tây trung tâm-Hội đồng nghiên cứu nông nghiệp Ấn Độ (ICAR-CPRI), Shimla, đã đưa ra một giải pháp sáng tạo cho vấn đề này - bẫy không khí côn trùng chạy bằng năng lượng gió. Thiết bị này giải quyết những thiếu sót của các phương pháp kiểm soát sinh vật gây hại truyền thống bằng cách cung cấp dữ liệu về số lượng côn trùng theo thời gian thực. Bẫy được cung cấp năng lượng hoàn toàn bằng năng lượng gió, khiến nó trở thành một giải pháp thân thiện với môi trường và không cần điện. Thiết kế độc đáo của nó cho phép giám sát cả côn trùng có hại và có ích, cung cấp cái nhìn tổng quan đầy đủ về quần thể ở bất kỳ khu vực nông nghiệp nào. Kapil cho biết: “Bằng cách đánh giá các loài gây hại mục tiêu vào đúng thời điểm, chúng tôi có thể thực hiện các biện pháp cần thiết để kiểm soát cả sâu bệnh và dịch bệnh”. ... >>

Tin tức ngẫu nhiên từ Kho lưu trữ

Kính tự phục hồi 06.06.2018

Các nhà khoa học của Đại học Tokyo đã tổng hợp được một loại vật liệu có thể "dính" các vết xước và vết nứt. Đồng thời, nó không cần sưởi ấm, giống như hầu hết các vật liệu tương tự. Để tấm kính "dính vào nhau", cần phải dùng lực ấn nhẹ lên nó - ví dụ, dùng tay kết nối các mảnh kính và ép chặt.

Người ta cho rằng sự phát triển của các nhà khoa học Nhật Bản có thể được sử dụng để chế tạo màn hình cho điện thoại thông minh, máy tính bảng và các thiết bị khác.

Trước đây, các nhà phát triển từ Hoa Kỳ đã đề xuất loại kính có thể được phục hồi bằng cách tăng kích thước. Ngoài ra, vào năm 2015, LG đã trình diễn một chiếc điện thoại có lớp màng bảo vệ có thể dính vào nhau gây hư hỏng

Tin tức thú vị khác:

▪ Thanh USB của PNY

▪ Tìm thấy một hành tinh nơi mưa đá quý

▪ Máy tính xách tay Eurocom M4 với màn hình 13,3 "3200x1800

▪ Trò chơi với lượng tử năng lượng

▪ MOSFET điện áp cao cho thiết bị chuyển mạch tốc độ cao

Nguồn cấp tin tức khoa học và công nghệ, điện tử mới

 

Tài liệu thú vị của Thư viện kỹ thuật miễn phí:

▪ phần của trang web Audio Art. Lựa chọn bài viết

▪ bài báo Jomini da Jomini, nhưng không có từ nào về vodka. biểu thức phổ biến

▪ bài Các nhà thiên văn học cổ đại đã hình dung ra vũ trụ như thế nào? đáp án chi tiết

▪ bài Rắn thắt nút. Các lời khuyên du lịch

▪ bài viết Keo dùng để dán cao su lên kim loại và gỗ. Công thức nấu ăn đơn giản và lời khuyên

▪ bài viết Chất lượng nhân. Bách khoa toàn thư về điện tử vô tuyến và kỹ thuật điện

Để lại bình luận của bạn về bài viết này:

Имя:


Email (tùy chọn):


bình luận:





Tất cả các ngôn ngữ của trang này

Trang chủ | Thư viện | bài viết | Sơ đồ trang web | Đánh giá trang web

www.diagram.com.ua

www.diagram.com.ua
2000-2024