ENCYCLOPEDIA VỀ ĐIỆN TỬ TRUYỀN THANH VÀ KỸ THUẬT ĐIỆN Đa chương trình hẹn giờ-đồng hồ-nhiệt kế. Bách khoa toàn thư về điện tử vô tuyến và kỹ thuật điện Bách khoa toàn thư về điện tử vô tuyến và kỹ thuật điện / Bộ điều chỉnh điện, nhiệt kế, ổn nhiệt Bài báo mô tả một thiết bị kỹ thuật số đa năng dựa trên bộ điều khiển PIC có thể thực hiện các chức năng của bộ hẹn giờ đa chương trình có thể điều khiển bốn tải, đồng hồ, đồng hồ báo thức, nhiệt kế phạm vi rộng và bộ điều nhiệt cung cấp cả hệ thống sưởi và làm mát của đối tượng bị điều khiển. Một thiết bị kỹ thuật số phổ quát, mạch của nó được hiển thị trong Hình. 1, có các thông số kỹ thuật sau:
Điều khiển thiết bị bằng bàn phím 16 nút. Có thể bật và tắt âm thanh khi nhấn các nút, thiết lập nguồn cung cấp âm thanh, ánh sáng và tín hiệu điều khiển, khả năng điều chỉnh riêng thiết bị cho một ứng dụng cụ thể bằng cách thay đổi chương trình điều khiển MK. Có nguồn điện dự phòng từ pin sạc tích hợp bên trong. Tất cả các tham số được đặt trong khi làm việc với thiết bị được lưu ngay cả khi tắt nguồn dự phòng trong hơn 40 năm. Như có thể thấy từ sơ đồ, cơ sở của thiết bị là bộ điều khiển PIC DD1. Thanh ghi thay đổi DD2 và bộ giải mã DD3 được thiết kế để tổ chức chỉ báo động, nguyên tắc như sau. Đầu tiên, mã 3 được áp dụng cho bộ giải mã DD1111, do đó các mức nhật ký được đặt ở tất cả các đầu ra của nó. 1 và không có chữ số nào của đèn báo HG1 sáng. Tiếp theo, mã của ký tự cần thiết được nhập vào thanh ghi DD2, sau đó mã tương ứng với bit mong muốn của chỉ báo được gửi đến DD3. Đồng thời với việc cập nhật dữ liệu cho chỉ báo, bàn phím được quét, 16 nút được chia thành hai nhóm - tám nút trong mỗi nhóm. Kết luận chung của các nút của các nhóm này được kết nối với hai đầu vào của MK (RB0 và RB1). Khi nhấn một nút, tín hiệu nhật ký sẽ được gửi đến một trong các đầu vào này. 0 từ đầu ra tương ứng của bộ giải mã DD3, từ đó xác định mã của nó. Sử dụng bàn phím, bạn có thể bắt đầu / dừng bất kỳ bộ hẹn giờ chương trình nào hoặc tất cả cùng một lúc, đặt chế độ hoạt động của bộ điều nhiệt, thời gian hiện tại, thời gian báo thức, v.v. Hầu hết các nút đều có mục đích kép, tùy thuộc vào thông tin mà người dùng sử dụng nhập từ bàn phím: số hoặc điều khiển. Xem xét mục đích của các nút bàn phím chi tiết hơn. "0", "Clock" - chữ số 0 khi nhập thông tin số hoặc chuyển sang chế độ đồng hồ, trong đó bạn có thể thay đổi thời gian hiện tại, cài đặt thời gian bật báo thức, bật chế độ báo thức giờ mới, chỉnh sửa thời gian hệ số hiệu chỉnh (xem bên dưới). "1" - "9" - số 1 - 9 khi nhập thông tin số hoặc chọn chương trình hẹn giờ phù hợp. "Thời hạn" - chuyển sang chế độ điều chỉnh nhiệt, nơi bạn có thể đặt giá trị nhiệt độ hiện tại, chỉnh sửa giá trị của nhiệt độ được kiểm soát, loại điều chỉnh (sưởi ấm hoặc làm mát) và các thông số nhiệt điện trở. Dấu "Del" - "trừ" khi nhập giá trị của nhiệt độ được kiểm soát, bật / tắt bộ điều nhiệt, nhiệt kế, đồng hồ báo thức hoặc đồng hồ (khi tắt, các dấu --- được hiển thị thay vì số đọc tương ứng), về XNUMX khi nhập dữ liệu số. "Đặt" - chuyển/thoát sang chế độ thay đổi giá trị của bất kỳ tham số nào (hẹn giờ phần mềm, thời gian hiện tại, đồng hồ báo thức, nhiệt kế, bộ điều nhiệt, cài đặt). "Tùy chọn" - chuyển sang chế độ thay đổi cài đặt. Tại đây, bạn có thể bật/tắt âm thanh của các nút, chế độ chào mừng, chọn nguồn phát tín hiệu điều khiển, v.v. "Chọn" - bắt đầu/dừng bộ hẹn giờ phần mềm hiện tại nếu giá trị độ trễ thời gian của nó khác 0. "AH" - bắt đầu/dừng tất cả các bộ hẹn giờ phần mềm có giá trị trễ thời gian khác 0. Thiết bị có khả năng phát ra bốn tín hiệu điều khiển, mỗi tín hiệu có thể được sử dụng theo quyết định của người dùng. Có thể đặt nguồn của các tín hiệu này:
Thiết bị sử dụng đèn LED hai màu HL1, sẽ nhấp nháy màu đỏ nếu ít nhất một tín hiệu điều khiển đã hoạt động khi một hoặc nhiều bộ hẹn giờ được khởi động và màu xanh lá cây nếu không có tín hiệu nào hoạt động. Khi kết thúc thời gian trễ của bất kỳ bộ hẹn giờ đang chạy nào, chỉ báo HG1 bắt đầu nhấp nháy và bộ phát áp điện HA1 có bộ ngắt tích hợp phát ra tiếng bíp. Điều này tiếp tục cho đến khi người dùng nhấn bất kỳ nút nào trên bàn phím hoặc một thời gian nhất định trôi qua, giá trị của nút này được lưu trong bộ nhớ của MK và có thể thay đổi trong quá trình lập trình. Tín hiệu âm thanh phát ra khi bộ hẹn giờ được kích hoạt được xác định bởi hai tham số: thời lượng của âm thanh và số lượng gói âm thanh. Khi báo thức kêu, tín hiệu âm thanh cũng được đưa ra, nhưng chỉ có hai biểu tượng ngoài cùng bên trái của chỉ báo - A và L (từ tiếng Anh. ALARM - đồng hồ báo thức) bắt đầu nhấp nháy. Tín hiệu âm thanh của đồng hồ báo thức cũng được mô tả bằng hai thông số được lưu trong bộ nhớ của MK. Tùy thuộc vào bộ cộng hưởng thạch anh được áp dụng, độ chính xác của đồng hồ hóa ra là khác nhau, do đó, thiết bị này thực hiện hiệu chỉnh thời gian bằng phần mềm. Hệ số hiệu chỉnh do người dùng đặt từ bàn phím và cũng được lưu trong bộ nhớ của MK. Trên thực tế, nó đại diện cho số micro giây được thêm vào chu kỳ dao động do bộ hẹn giờ bên trong của MK tạo ra - trong trường hợp của chúng tôi là 1,92 mili giây. Với sự trợ giúp của hệ số hiệu chỉnh, thời gian này đạt được bằng 2 ms (khoảng thời gian 1 giây được ghi lại sau mỗi 500 khoảng thời gian như vậy). Nhiệt độ được đo bằng cách đo điện áp rơi trên nhiệt điện trở RK1. Điện trở của nó như là một hàm của nhiệt độ được xác định theo công thức sau: trong đó R0 là hằng số có thứ nguyên của điện trở; B là hằng số có thứ nguyên của nhiệt độ; T là nhiệt đọ tuyệt đối. Do đó, sự phụ thuộc này phải được giảm xuống thành một tuyến tính. Có một phương pháp tuyến tính hóa đã biết sử dụng cầu nhiệt điện trở, nhưng cách tiếp cận này bất tiện vì khi thay thế nhiệt điện trở, bạn phải thay đổi các thông số của chính cầu, điều này không đơn giản như vậy. Sẽ thuận tiện hơn nếu lấy giá trị nhiệt độ mà không cần tuyến tính hóa, nhưng để làm được điều này, bạn cần tính giá trị của biểu thức sau: trong đó Rd là điện trở của điện trở bổ sung; N - Mã nhị phân 10 bit thu được sau khi chuyển đổi tương tự sang số; Un - điện áp cung cấp. Trong thiết bị được mô tả, biểu thức này được tính toán bởi chương trình điều khiển MK và kết quả được hiển thị trên chỉ báo. Cần lưu ý rằng phạm vi nhiệt độ được đo và kiểm soát ở trên (-43 ... +470 ° C) có thể được kéo dài, nén hoặc dịch chuyển theo bất kỳ cách nào. Khoảng thời gian được chỉ định đã được chọn vì sai số đo nhiệt độ trong đó không vượt quá ±2 °С. Trong trường hợp này, điện trở của điện trở bổ sung R17 là 300 ohms. Để giảm sai số, nó có thể được tăng lên, tuy nhiên, do đó, ranh giới của khoảng nhiệt độ sẽ thay đổi. Để dễ tính toán, bạn có thể sử dụng tài liệu thuật ngữ (10 bit).mcd cho hệ thống MathCAD 2001, tính toán phạm vi nhiệt độ đo được dựa trên các tham số đã chỉ định của nhiệt điện trở RK1, điện trở R17 và sai số cần thiết. Để đảm bảo rằng đồng hồ thời gian thực không bị sai lệch khi tắt nguồn chính, nhạc cụ có một bộ nguồn dự phòng MK. Nó bao gồm pin 1 V GB3,6, điện trở R16 và điốt VD2, VD3. Khi bật nguồn chính, diode VD3 sẽ đóng lại và pin GB1 được sạc qua điện trở R16. Khi tắt nguồn chính, điện áp pin chỉ được cung cấp qua điốt VD3 cho MK (điốt VD2 ngăn việc cung cấp điện áp cho các phần tử còn lại của thiết bị). MK xác định thực tế là mất điện, vì nó liên tục theo dõi mức điện áp ở chân RB2. Và khi nó trở thành bằng log. 0, MK dừng tạo lại chỉ báo và kiểm tra bàn phím, dừng tất cả các bộ hẹn giờ phần mềm đang chạy, dừng đo và điều chỉnh nhiệt độ và chuyển sang chế độ đồng hồ. Ngoài ra, nếu cài đặt đã bị thay đổi trong khi làm việc với thiết bị, thì sau khi tắt nguồn, đèn LED màu đỏ sẽ nhấp nháy nhanh, nếu cài đặt không thay đổi - màu xanh lá cây. Nếu thiết bị không được sử dụng trong một thời gian dài (một tuần trở lên), thì để tránh xả hết pin, bạn có thể tắt nguồn dự phòng bằng cách sử dụng dây nhảy S1. MK liên tục theo dõi trạng thái của các tiếp điểm của các nút trên bàn phím và nếu không có một lần nhấn nào trong thời gian đã chỉ định và không có một bộ hẹn giờ chương trình nào được khởi chạy, thì nó sẽ tự động chuyển sang chế độ đồng hồ. Chương trình điều khiển MK được viết bằng C nên có thể dễ dàng sử dụng bất kỳ loại dữ liệu nào, kể cả dữ liệu thực. Chương trình được phát triển trong hệ thống lập trình HT-PIC C (có thể "tải xuống" từ trang web ). Để gỡ lỗi, chúng tôi đã sử dụng trình giả lập trong mạch đơn giản nhất, là một tập hợp các tiếp điểm kết nối các đường của cổng song song của máy tính với ổ cắm dưới MK trên bo mạch chính. Sự tương ứng của các kết luận của cổng song song của máy tính với các ổ cắm của ổ cắm MK trên bảng hẹn giờ được đưa ra trong Bảng. 1. Để điều khiển trình giả lập, chương trình điều khiển MK đã được biên dịch với những thay đổi nhỏ trong môi trường lập trình Borland C++ 3.1. Thật không may, công việc của một trình giả lập như vậy diễn ra trên thang thời gian khác với thang thời gian thực, tuy nhiên, nếu không có thiết bị như vậy, thì gần như không thể gỡ lỗi một chương trình phức tạp như vậy. Không sử dụng trình giả lập, chỉ có chuyển đổi tương tự sang kỹ thuật số được triển khai, bạn có thể tìm thấy mô tả liên quan đến MK này trên trang web (tài liệu DS30292C - "10-bit ADC module in PIC16F87x microcontrollers"). Chúng ta hãy xem xét ngắn gọn những điểm chính của chương trình điều khiển MC. Nó được viết bằng phương pháp lập trình có cấu trúc, do đó nó có một số lượng lớn các chương trình con. Sau khi bật nguồn, MK định cấu hình các cổng I / O, ADC và bộ hẹn giờ bên trong. Sau đó, vòng lặp chính bắt đầu chạy, đó là vô hạn. Trong đó, như đã đề cập, sự hiện diện của điện áp cung cấp chính được kiểm tra liên tục và nếu nó bị tắt, MK sẽ ngừng thực hiện tất cả các chức năng ngoại trừ thời gian. Khi bật nguồn chính, nó sẽ hiển thị màn hình giật gân và trở về chế độ vận hành. Thông tin sẽ được hiển thị trên chỉ báo tại thời điểm hiện tại được lưu trữ trong mảng d. Trong quá trình tái tạo chỉ báo, MC viết lại nội dung của nó thành một mảng trung gian và từ đó đọc tuần tự mã của các ký tự đầu ra và hiển thị chúng trên chỉ báo. Một mảng bổ sung được giới thiệu để loại bỏ hiện tượng nhấp nháy của chỉ báo do ghi thông tin mới vào mảng d trước khi thông tin cũ chưa được hiển thị đầy đủ. Ví dụ: giả sử rằng ban đầu mảng d chứa chuỗi "ABCDEFHLP" và khi ký tự thứ tư ("D") được hiển thị, chuỗi "FDA 2002" sẽ được nhập vào mảng. Khi đó người sử dụng thiết bị, do quán tính của thị giác con người, đến một lúc nào đó sẽ nhìn thấy dòng chữ "ABC 2002". Ngoài ra, nếu các quy trình như vậy được lặp lại liên tục (và đây sẽ là trường hợp trong công việc thực tế), người đó sẽ có ấn tượng rằng thông tin trên chỉ báo đang nhấp nháy. Như đã lưu ý, bàn phím được quét đồng thời với bản cập nhật chỉ báo. Khi nhấn bất kỳ nút nào, chương trình con triệt tiêu độ nảy tiếp xúc được gọi, chương trình này sẽ trì hoãn vài mili giây (giá trị của thời gian này được lưu trong bộ nhớ MK), trong thời gian đó thiết bị không phản hồi với các lần nhấn nút tiếp theo. Cũng cần lưu ý rằng thời gian phơi sáng của bộ hẹn giờ phần mềm, đồng hồ và báo thức được đặt theo giây (bộ đếm giờ được đặt lại khi đạt đến giá trị 24 x 60 x 60 = 86400) và trước khi được hiển thị trên chỉ báo, nó được chuyển đổi sang định dạng H : MM : SS cho bộ hẹn giờ hoặc sang định dạng HH : MM cho đồng hồ và báo thức. Điều này được thực hiện bằng cách sử dụng các công thức sau: C = thời gian mod 60. Ở đây phép toán ][ có nghĩa là loại bỏ phần phân số, tức là phép chia là số nguyên. Các giá trị giờ, phút và giây thu được chưa phù hợp để hiển thị trực tiếp trên chỉ báo, vì chúng được trình bày dưới dạng mã nhị phân. Để chọn các vị trí thập phân quan trọng nhất và ít quan trọng nhất, cần thực hiện thêm hai thao tác trên mỗi giá trị: LSB = giá trị mod 10. Hãy xem xét một ví dụ. Cần phải hiển thị giá trị 8673 s trên chỉ báo ở định dạng H : MM : SS. Chúng tôi nhận được C = 8673 mod 60 = 33. Do đó, chỉ báo sẽ hiển thị 2: 24: 33 Từ các ví dụ đã cho, có thể thấy có bao nhiêu thao tác cần được thực hiện chỉ để tổ chức đầu ra cho chỉ báo. Hầu như không thể thực hiện toán học như vậy trong hợp ngữ. Trong ngôn ngữ C, điều này được thực hiện chỉ trong một vài dòng, trong khi nhờ mức độ tối ưu hóa cao, mã chương trình khá nhỏ gọn và nhanh chóng. Nhưng điều quan trọng nhất là lập trình viên có thể tập trung sự chú ý chính của mình vào thuật toán chương trình, trừu tượng hóa từ các tính năng cụ thể của kiến trúc của bộ vi điều khiển được áp dụng. Tất cả điều này góp phần chuyển chương trình dễ dàng từ MK này sang MK khác. Văn bản nguồn của chương trình MK và mã "phần sụn" ở định dạng Intel HEX được đặt tại địa chỉ trên trên Internet. Để lập trình MK, tác giả đã sử dụng một bộ lập trình được lắp ráp theo sơ đồ trong Hình. 2 và phần mềm PonyProg2000, phiên bản mới nhất có thể được "tải xuống" từ trang web . Sự khác biệt chính giữa bộ lập trình và được mô tả trong [1] là việc bổ sung một bóng bán dẫn khác (VT3) vào mạch tạo tín hiệu đồng bộ hóa, giúp tăng độ tin cậy của chương trình bằng cách loại bỏ hoàn toàn điện áp âm ở các chân MK. Thiết bị được mô tả cho phép lập trình MK trên bo mạch, nghĩa là nó hỗ trợ công nghệ ICSP (Lập trình nối tiếp trong mạch - lập trình nối tiếp trong mạch). Để làm điều này, nó được kết nối bằng năm dây với bộ lập trình thông qua đầu nối X1 như sau: 7 - chung; 5,6 - 5V; 2 - SDA; 3 - SCL; 1 - Nâng cấp. Có thể sử dụng các chương trình khác, bao gồm cả những chương trình hỗ trợ lập trình điện áp thấp. Trong trường hợp sau, bạn phải kết nối thêm tiếp điểm tương ứng của bộ lập trình với chân 4 của đầu nối X1. Bản vẽ bảng mạch in của thiết bị được hiển thị trong hình. 3, bàn phím - trong hình. bốn. Có bảy lỗ trên bảng hẹn giờ, trong đó, trước khi lắp các bộ phận, các đoạn dây thiếc được luồn vào và hàn vào các dây dẫn in ở cả hai mặt của bảng. Chức năng của jumper cũng được thực hiện bởi kết luận của một số bộ phận. Các lỗ thông qua đó tạo ra các kết nối của dây dẫn in như vậy được đánh dấu trong hình. 3 với bốn chấm chéo. Các tệp nguồn của dự án và thư viện các thành phần được sử dụng cho CAD Accel EDA 15.0 được đặt tại trang web trên. Thiết bị sử dụng điện trở và tụ điện cố định để gắn bề mặt. Ngoại lệ là tụ oxit C6, C7 (K50-35). MK PIC16F876 có thể có bất kỳ tần số hoạt động và dải nhiệt độ tối đa nào, điều chính là nó nằm trong gói DIP (có hậu tố SP). Bộ phát áp điện HRM14AX có thể được thay thế bằng một bộ phận được chế tạo trên ba phần tử của vi mạch KR1533LAZ và bộ phát áp điện ZP-18 [2]. Nhiệt điện trở RK1 - MMT-4 với điện trở danh định 15 kOhm (R0 = 0,294 Ohm, V = 3176 K). Là đầu nối X1 - XZ, sử dụng các khối phân chia có chân thẳng, được sử dụng trong công nghệ máy tính: đối với X1, khối có cách sắp xếp chân hai hàng được sử dụng và đối với X2 và XZ - với một hàng duy nhất. Tiếp điểm thứ tám của phích cắm XP1 và phích cắm XP2 thứ ba đã được tháo ra và các phích cắm được cắm vào ổ cắm tương ứng của các bộ phận giao phối của đầu nối - các đoạn dây câu dày. Biện pháp này sẽ ngăn các đầu nối giao phối không chính xác. Ổ cắm đầu nối X2 được làm bằng bảng 20 khe cho một vi mạch trong gói DIP (một phần của nó được sử dụng, có 10 chân). Nút SB1-SB16 - TS-A3PS-130. Nội dung của MK EEPROM, có thể thay đổi để thiết lập các thông số hoạt động khác, được trình bày trong Bảng. 2. Cột "Tham số" chứa tên của tham số, được hiển thị trên chỉ báo. Nếu có dấu gạch ngang ở cột này thì chỉ có thể thay đổi thông số này khi lập trình MK. Văn chương
Tác giả: D.Frolov, Ryazan Xem các bài viết khác razdela Bộ điều chỉnh điện, nhiệt kế, ổn nhiệt. Đọc và viết hữu ích bình luận về bài viết này. Tin tức khoa học công nghệ, điện tử mới nhất: Da nhân tạo để mô phỏng cảm ứng
15.04.2024 Cát vệ sinh cho mèo Petgugu Global
15.04.2024 Sự hấp dẫn của những người đàn ông biết quan tâm
14.04.2024
Tin tức thú vị khác: ▪ Thử nghiệm ô tô tự lái bằng tài xế điều khiển từ xa ▪ Đèn LED biến rau thành cây thuốc ▪ Thiên thạch có ảnh hưởng đến khí hậu không 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 Thư mục điện tử. Lựa chọn bài viết ▪ bài viết Ai đã phát minh ra bản nhạc? đáp án chi tiết ▪ bài báo Khủng hoảng tăng huyết áp. Chăm sóc sức khỏe ▪ bài viết Anten xoắn cho máy bộ đàm cầm tay. Bách khoa toàn thư về điện tử vô tuyến và kỹ thuật điện ▪ bài viết Nguồn điện, 1-29 vôn 2 ampe. 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: 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 |