Безкоштовна технічна бібліотека ЕНЦИКЛОПЕДІЯ РАДІОЕЛЕКТРОНІКИ ТА ЕЛЕКТРОТЕХНІКИ Двоканальна система збору та обробки даних на базі ПК. Енциклопедія радіоелектроніки та електротехніки Енциклопедія радіоелектроніки та електротехніки / Комп'ютери Одного разу автору статті знадобилося зняти характеристики горіння полум'я (інтенсивність випромінювання у двох вузьких смугах спектра, співвідношення між інтенсивностями та їх зміна у часі залежно від швидкості руху повітря, об'єму горючої речовини та ін.). З цим завданням міг би впоратися цифровий осцилограф, але його не було. Довелося терміново розробляти систему збору та обробки даних, яка могла б проводити не менше 100 вимірювань на секунду в кожному каналі із затримкою часу між однойменними вибірками не більше 0,5 мс. Інформація, що виводиться - напруга сигналу в кожному каналі, відношення їх рівнів і різниця між попередньою і наступною вибірками сигналу в кожному каналі. Безумовно, навряд чи багатьом читачам потрібно вирішувати те саме завдання, проте запропонований програмно-апаратний комплекс можна як приклад побудови працездатної системи збору даних, і може послужити початковим поштовхом до розробки власної. Система, що описується, складається з пристрою збору і трансляції даних (назвемо його УСД) і програмного забезпечення для ПК Принципова схема УСД зображена на рис. 1 (фотоперетворювач на ній умовно не показаний). Його основа – флеш-мікроконтролер AT90S4433-8PI (DDI) фірми ATMEL, що має у своєму складі 10-розрядний АЦП з аналоговим мультиплексором. У цьому випадку, однак, застосовано зовнішній перемикач каналів на інтегральних ключах DA1. Це видалося зручнішим, оскільки дозволило використовувати один буферний підсилювач на ОУ DA3 зі змінним коефіцієнтом посилення Kу. Останній залежить від стану ключа DA4.1: якщо він розімкнуто, Ку = (R8/R6)+1, а якщо замкнутий, Ку = [R8/(R6||R7)]+1 (тут R6||R7 - опір паралельно з'єднаних резисторів R6 та R7). Вхідний каскад ОУ DA3 збудовано на МОП-транзисторах. Це дозволило застосувати захисні резистори (R1 і R2) на вході кожного каналу без зменшення точності вимірювання, викликаного вхідним струмом (струм витоку ключів мікросхеми DA1 також незначно малий). Резистори необхідні для того, щоб вбудовані в мікросхему DA1 вхідні захисні діоди не вийшли з ладу при перевищенні вимірюваним сигналом напруги живлення DA1 (гранично допустимий струм через ці діоди - 10 мА). Ще одна важлива особливість застосованого ОУ в тому, що його вхідна та вихідна напруги можуть досягати значень напруги живлення (так званий rail-to-rail ОУ). Завдяки цьому можна використовувати одне джерело живлення для ОУ та мікроконтролера без звуження динамічного діапазону вимірюваного сигналу. На мікросхемі DA2 зібрано стабілізатор напруги живлення пристрою, на DA5 – джерело зразкової напруги для АЦП мікроконтролера. Мікросхема DA6 служить для зв'язку універсального асинхронного послідовного приймача (UART) мікроконтролера з ПК за послідовним інтерфейсом RS232. Світлодіоди HL1 та HL2 – індикатори режимів роботи УСД. Роз'єм ХР1 необхідний для послідовного програмування мікроконтролера у пристрої, наприклад, внутрісхемним програматором AS1. Через роз'єм XS1 здійснюється зв'язок УСД із послідовним портом ПК. Програма для мікроконтролера написана на AVR-ассемблері в середовищі AVR-Studio, яка поширюється фірмою ATMEL вільно. Windows-додаток, що відповідає за зв'язок з УСД та обробку прийнятої інформації, створено в середовищі Delphi 5. При написанні програми мені дуже допомогла стаття Р. Кусяпкулова "Робота з послідовними портами в Windows 95" ("Радіо", 2000 № 1, с 23). У вікні середовища Delphi програма виглядає, як показано на рис. 2. Розглянемо роботу програмного забезпечення та апаратної частини УСД у комплексі. Після того, як вся система зібрана та здійснені всі необхідні підключення, можна запускати програму. На моніторі комп'ютера з'явиться вікно. Мікроконтролер УСД у цей час перебуває у режимі постійного опитування приймача UART. Індикатор HL1 ("Готов до прийому") світиться. Програма мікроконтролера постійно перевіряє стан біта RXC у регістрі UCSRA, очікуючи його переходу в одиничний стан. Система знаходиться в режимі очікування. Можна змінити коефіцієнт посилення вимірювального тракту УСД, або запустити цикл вимірювань. У першому випадку слід "клацнути" на кнопку "Ку=0,5" або "Ку=1". За перемикання коефіцієнта посилення в програмі програми відповідають компоненти RadioButton 1 і Radiobutton 2. наприклад, якщо "клацнути" по кнопці "Ку = 0,5", то запуститься обробник події RadioButton2Click і змінна Камер прийме значення 110. Цей код відповідає зменшеному коефіцієнту посилення (умовно Ку = 0,5). Тепер можна натиснути кнопку "Start" (на рис. 2 вона не видно, тому що поверх неї знаходиться кнопка "Complete"), запустивши цим цикл вимірювань. Тут доцільно розглянути загальну ідеологію обміну даними між УСД та ПК. Якось запущений цикл вимірювань має бути колись зупинено. У описуваній системі прийнято таку тактику. Вимір проводиться не безперервно, а з інтервалами трохи більше 2 с (задається властивістю Interval компонента Timerl в програмі програми). Триста вимірювань у кожному каналі займає трохи менше 2 с. Таким чином, якщо за подією Timer1Timer почати цикл вимірювань (300 вимірювань у кожному каналі), то по його закінченні до наступної події Timer1Timer залишиться невеликий час, достатній для реакції програми на подію bbCompleteKeyPress (якщо була натиснута кнопка "Complete"). Зауважимо, що за один цикл вимірів УСД відправить ПК 1200 байт інформації, оскільки результат кожного виміру складається з двох байт. Отже, після натискання кнопки "Start" запускається таймер з періодом 110 мс (див. програму програми, procedure TForml bbStartClick). Після цього управління переходить до оброблювача події Timer1Timer. Через послідовний порт до УСД передається код 110 чи 130 (зменшений чи нормальний коефіцієнт посилення відповідно) - змінна Каmр. Мікроконтролер приймає ці дані, встановлює необхідний коефіцієнт посилення, замикаючи або розмикаючи ключ DA4.1, і очікує на прийом нової інформації. У цей час ПК передає в УСД код 100 (змінна ActionKey у програмі програми). Мікроконтролер, прийнявши цю інформацію, вимикає індикатор HL1, включає індикатор HL2 ("Йде передача") і починає цикл вимірювань (мітка action у програмі мікроконтролера) Провівши по одному виміру в кожному каналі, мікроконтролер передає дані на ПК і робить коротку паузу, щоб забезпечити необхідну частоту вибірки сигналу. Потім вимірювання, передача даних та пауза повторюються ще 299 разів, після чого мікроконтролер переходить у режим очікування інформації від ПК (індикатор HL2 гасне, a HL1 запалюється). Якщо за час циклу (≈2,1 с) була натиснута кнопка "Complete", то відразу після закінчення прийому останнього з 1200 байт керування передається обробнику bbCompleteKeyPress. Комп'ютер передає на УСД код 120, який не розпізнається мікроконтролером як відомий, унаслідок чого УСД залишається в режимі очікування команди з ПК. Якщо ж кнопка "Complete" не була натиснута, то новий цикл вимірювань запуститься після настання події Timer1Timer. І так доти, доки кнопка "Complete" не буде натиснута. Обробник bbCompleteKeyPress, крім того, обробляє прийняту інформацію та формує текстовий файл, в якому результати вимірювань представлені у зручній формі. Кожен цикл вимірювань названий тут блоком із відповідним номером. Фрагмент текстового файлу data_temp.txt представлений на рис. 3. Текст містить деяку подобу "шапки" таблиці, де "№ ізм" - номер виміру (від 1 до 300 у першому блоці); ІЧ - напруга сигналу 1 каналу; dif ІЧ - різниця між попереднім та наступним вимірюваннями каналу 1; кр – напруга сигналу каналу 2; dif кр - різниця між попереднім та наступним вимірюваннями каналу 2; dif - відношення рівня сигналу першого каналу до другого рівня. Налагодження УСД зводиться до встановлення напруги +5 В підбором резистора R5 (воно має бути не менше зразкового на вході AREF DD1, але не більше 6 В) Мікросхему КР1157ЕН1 (DA2) можна замінити імпортним аналогом LM317L, а також будь-яким регульованим стабілізатором напруги позитивної полярності з вихідним струмом не менше ніж 30 мА. Замість ОУ КР1446УД1А (DA3) можна використовувати КР1446УД4А; застосування модифікацій з іншими літерними індексами небажано через більшу напругу зміщення нуля. Резистори - металодіелектричні С2-23, С2-33; конденсатори С1-C3 - оксидно-напівпровідникові танталові К53-1, К53-4; решта - керамічні KM, К10-17. Дросель L1 – уніфікований ДМ, ДПМ. Рознімання ХР1 - PLD10, XS1 - DRB-9FB. Кварцовий резонатор ZQ1-РК169МА-6АП-6000К. Програми для мікроконтролера (програма 1) та ПК (програма 2) Автор: М.Богданов, м.Сарів Нижегородської обл. Дивіться інші статті розділу Комп'ютери. Читайте та пишіть корисні коментарі до цієї статті. Останні новини науки та техніки, новинки електроніки: Штучна шкіра для емуляції дотиків
15.04.2024 Котячий унітаз Petgugu Global
15.04.2024 Привабливість дбайливих чоловіків
14.04.2024
Інші цікаві новини: ▪ Нейронний шум допомагає вчитися ▪ Немовлята помічають те, що вислизає від дорослих ▪ Водневі генератори Rolls-Royce ▪ Домашній кінотеатр із системою автоматичного налаштування АС Стрічка новин науки та техніки, новинок електроніки
Цікаві матеріали Безкоштовної технічної бібліотеки: ▪ розділ сайту Складання кубика Рубіка. Добірка статей ▪ стаття Гуаньлін Інь Сі (Інь Сі). Знамениті афоризми ▪ Як виникли капіталістичні відносини у Європі? Детальна відповідь ▪ стаття Зайцегуб п'янкий. Легенди, вирощування, способи застосування ▪ стаття Емалювання залізного посуду та листового заліза. Прості рецепти та поради ▪ стаття QRP трансівер на 80 м. Енциклопедія радіоелектроніки та електротехніки
Залишіть свій коментар до цієї статті: All languages of this page Головна сторінка | Бібліотека | Статті | Карта сайту | Відгуки про сайт www.diagram.com.ua |