Смекни!
smekni.com

Навчальна модель аналогово-цифрового перетворювача (стр. 3 из 6)

DR0
DR1

DR2
DR3

Рис 3.10. Електрична схема дільника напруги

Вихідна напруга дільника рівна:


,

де Rc – загальний опір резисторів і діодів, Ud – напруга регістрів DR0 – DR3, U_DR – напруга на виході ЦАП.

3.2 Розробка друкованої плати

Система Protel 99 SE має потужний інструмент синхронізації, який полегшує передачу даних з етапу проектування принципової електричної схеми в редактор друкованих плат і навпаки.

Синхронізатор автоматично отримує інформацію про компонент і параметри звязків з принципової схеми , знаходить відповідному компоненту топологічні посадочні місця в бібліотеці елементів друкованих плат і розміщує їх на кресленні друкованої плати, а потім додає лінії зв’язків між з’єднаними виводами компонентів.

3.3 Розробка збірного креслення

Компоновка пристрою - одна із найбільш складних задач конструювання. Ручний процес компоновки радіодеталей та допоміжних перемикачів, ручок регулювання, гнізд займає багато часу, оскільки приходиться розглядати декілька можливих варіантів і вибрати оптимальний для заданих умов застосування приладу і процесу його виробництва. Під час компоновки приладу потрібно враховувати склад елеменої бази, зручність у користуванні, забезпечення високої ремонтопридатності і безпеки від зовнішніх впливів і внутрішніх дестабілізуючих факторів.

Компоновка дозволяє провести оцінку електромагнітних і теплових зв¢язків, розрахувати кінематичні зв¢язки, оцінити основні конструкторсько-технологічні рішення і розрахувати основні показники якості конструкції. За результатами компоновки складається компоновочна схема - збірне креслення.


4. РОЗРОБКА ПРОГРАМНОГО ЗАБЕСПЕЧЕННЯ

4.1 Алгоритм керування

Для роботи розробленого пристрою необхідно, щоб на 4 входи пристрою DR подавалися сигнали (5 або 0 В). Завдяки певним комбінаціям сигналів на ЦАП утворюється різна напруга. Кількість комбінацій сигналу, який може перебувати в двох станах вираховується за формулою:

,

де k – кількість комбінацій, m – кількість станів сигналу, n – розрядність сигналу.

Одже сигнал може перебувати в двох станах 0 або 5 В. Розрядність рівна 4. Отже кількість різних комбінацій буде рівна кількості різних напруг, які зможе сформувати ЦАП, рівна:

.

Необхідно також, щоб на 4 входи пристрою CR також подавались сигнали аналогічно як і на DR. Це необхідно тому, що в пристрої передбачена можливість працювати в режимі тестування, коли подається наперед відома напруга для визначених комбінацій сигналу.

Крім того, в алгоритмі керування необхідно не тільки посилати дані на пристрій, а й зчитувати їх. Зчитати потрібно сигнал з виходу компаратора, який повідомить що U_DR>Uвх. Після одержання від компаратора сигналу потрібно припинити формування комбінацій сигналу на вхід ЦАП, а сформовану комбінацію прийняти за цифровий код напруги Uвх.


4.2 Обгрунтування вибору програмних засобів

В якості операційної системи вибрана система Windows XP сімейства Windows NT. Це аргументовано тим, що Windows найбільш розповсюджена і доступна, а також досить легка у користуванні.

В якості середовища програмування використано Delphі. Середовище Delphі включає в себе повний набір візуальних інструментів для швидкої розробки додатків (RAD – Rapid Application Development), що дозволяє виконати розробку інтерфейсу користувача, який задовольняє всім вимогам замовника. VCL – бібліотека візуальних компонентів, включає в себе стандартні об’єкти побудови інтерфейсу користувача, об’єкти керування даними, графічні об’єкти, об’єкти мультимедіа, діалоги і об’єкти керування файлами, керування DDE і OLE.

Інтегроване середовище програмування Delphі володіє всіма необхідними параметрами, які притаманні іншим системам даного класу:

- візуальна побудова інтерфейсів (Vіsual User-іnterface buіlder) дає можливість швидко створювати додатки візуально, просто обираючи компоненти з відповідної палітри;

- Delphі повністю підтримує такі програмні концепції як інкапсуляція, наслідування, поліморфізм та керування подіями;

Перевагами середовища Delphі в порівнянні з іншими аналогічними засобами розробки програм є значно простіше його використання, що дозволяє виконувати подальшу модернізацію програми іншими програмістами з мінімальними витратами часу на дослідження синтаксичних та логічних особливостей даної програми. Окрім цього, Delphі володіє досить великим об’ємом документації, як створеної розробниками Delphі, так і сторонніми виробниками, що значно полегшує розробку програм. Отже, за співвідноенням можливості-простота-ціна та враховуючи побажання замовників до мови програмування, інтегроване середовище програмування Delphі є оптимальним вибором для вирішення поставленої задачі.

Для роботи з LPT-портом використовується DLL-бібліотека IO.dll стороннього виробника, яка дозволяє працювати з портами. З даної бібліотеки використовується дві функції та одна процедура. Функція IsDriverInstalled : Boolean повертає TRUE у разі успішної установки драйвера LPT-порта. Функція PortIn(Port : Word) : Byte зчитує дані з порта по вказаній адресі, яка задається значенням змінної Port. Процедура PortOut(Port : Word; Data : Byte) записує в порт один байт, який вказується в змінній Data за адресою порта Port.

4.3 Програма керування АЦП

Загальний вигляд головної форми програми представлено на рис.

Рис.4.1. Екранна форма програми керування АЦП

Кнопка Write_DR дозволяє записувати в порт принтера стан чотирьох бітів регістру DR (біти DR0, DR1, DR2, DR3).

Кнопка Read_SRзчитує з порта принтера значення регітру SR(біт SR3).

Кнопка Write_СR дозволяє записувати в порт принтера стан чотирьох бітів регістру DR (біти СR0, СR1, СR2, СR3).

Кнопка In_Uперетворює напругу, яка подається на плату у двійковий код DR0 – DR3.

Кнопка Out_Uзаписує у порт двійковий код, який відповідає введеній на формі напрузі.

За допомогою кнопки Diagram зчитується напруга QI разів і отримане значення будується у вигляді графіка. Проміжок часу між зчитуванням рівний Time_Discret (Додаток Б).

4.3.1 Процедура обрахунку напруги за її двійковим представленням

Процедура p_Init_U встановлює звязок між напругою Ur і двійковою комбінацією, яка буде передана на LPT-порт, а далі в ЦАП, і з якої ЦАП сформує напругу Ur.

p_Init_U – процедура без параметрів. В процедурі оголошено пять змінних: nDr та bOut типу Integer, Rc1,Rc,Ur типу Real.

Тіло процедури починається з циклу, де bOut міняється від 0 до qB. Глобальна змінна qB приймає значення 15. В циклі виконуються наступні дії:

- процедура Trans_bOut_mDR(bOut) перетворює bOut з десяткової системи числення в двійкову і записує порозрядно в масив mDR[], який є глобальним для всьго модуля;

- змінній Rc1 присвоюєм значення 0;

- відкриваєм цикл, де nDR міняється від 0 до qDR. Глобальна змінна qDR приймає значення 3. В цьому циклі змінній Rc1 присвоюємо значення Rc1:=Rc1+(1/(mR[nDr]+Rdiod))*mDR[nDr], де mR[i] – масив значень, елементи якого відповідають реальним значення опорів 4-х резисторів ЦАП. Rdiod – змінна, значення якої рівне значеню опору діодів, що підключені до резисторів послідовно. Отже з законом Ома загальний опір при паралельному включенні n опорів, буде рівний:

.

Доданок (1/(mR[nDr]+Rdiod)) множиться на елемент масиву mR[i], що приймає двійкове значення 0 чи 1. Тобто, якщо в двійковій комбінації певний розряд рівний 0, то струм не протікає, а отже і не враховується при обчисленні опору. Одже, в даному циклі обраховується обернена величина до опору Rc;

- змінній Rc, що відповідає опору Rc присвоюєм значення 0. Перевіряється, чи значення Rc1 більше 0, тоді Rc присвоюємо 1/Rc1. Значення 1/Rc1 рівне значенню опору при паралельному включені;

- для обрахування напруги на виході ЦАП при поданні відповідних двійкових комбінацій на вхід неохідно також врахувати значення опору Rz. Змінна Rz буде рівна цьому опору. Напруга Uz на виході ЦАП буде обчислена в процедурі наступним чином U_DR=(Rz/(Rz+Rc))*U_A. Змінна U_A рівна значенню напруги, що подається на вхід дільника (3.7 В).