У цьому розділі ми проаналізуємо деякі цікаві проекти, які можуть ис користуватися в радіоаматорського лабораторії. Перший проект, на якому хотілося б зупинитися, – вимірювач частоти. Це пристрій зазвичай виконується автономним і тре бует чималих зусиль з налагодження й настроювання. Тим не менш, для вимірювання частоти можна використовувати паралельний порт персонального комп’ютера. Єдиний зовнішній ком тами, який може знадобитися, якщо ви вимірюєте частоту довільного сигналу, – формувач прямокутного сигналу, який апаратно може бути реалізований на TTL мікросхемі тригера Шміта. Якщо вимірюється частота прямокутних імпульсів, совмести екпортувати по рівню з сигналами TTL логіки і мають стандартні параметри часу наростаючи ня і спаду сигналу, то ніяких зовнішніх елементів взагалі не потрібно.

Слід сказати, що діапазон вимірювання частот такого комп’ютерного «частотоміра» не дуже високий – порядку декількох десятків кілогерц. Це обумовлено в першу чергу тим, що мінімальний період часу, який можна відстежувати програмними середовищ ствами в операційних системах Windows, дорівнює 50 мкс, причому це можна зробити, тільки написавши спеціальний драйвер, який працює з апаратними ресурсами системи настільки тісно, ​​наскільки це можливо.

При розробці програмної частини нашого частотоміра ми постараємося витягти максі

мум з апаратної частини, використовуючи для роботи кілька програмних потоків.

Спочатку зупинимося на апаратній частині. Як вже було сказано, якщо вступник у паралельний порт сигнал має прямокутну форму, то ніяких додаткових компо нентов не потрібно. Якщо ж сигнал має довільну форму, то для формування пря мокутної вхідного сигналу буде потрібно найпростіший тригер Шміта (рис. 3.25).

КОРИСНІ ПРОЕКТИ

Рис. 3.28

Вікно конструктора програми

end;

procedure  TForm1.OnStartClick(Sender:  TObject);

begin

OnStart.Enabled:=  false; OnStop.Enabled:=   true; period:=  UpDown1.Position; timer1.Interval:=  period; timer1.Enabled:=  true;

end;

procedure  TForm1.OnStopClick(Sender:   TObject);

begin

OnStart.Enabled:=  true; OnStop.Enabled:=   false; timer1.Enabled:=  false; end;

procedure  TForm1.Timer1Timer(Sender:  TObject);

begin asm

mov  dx,  378h in    al, dx not  al

out  dx,  al end;

end;

end.

Рис. 3.29

Вид вікна програми простого генератора імпульсів

Додаток працює таким обра зом: у вікні редактора слід ввести значення ние періоду сигналу (від 1 до 32000), потім натиснути кнопкуStart. Для зупинки генера тора імпульсів необхідно натиснути кнопку Stop. Вікно працюючого додатка проде монстріровано на рис. 3.29.

Проект набагато більш ефективного і трохи більш складного генератора прямоуголь них імпульсів, керованого з паралельно

го порту, реалізується з використанням декількох мікросхем.

Генератор імпульсів зібраний на популярній мікросхемі таймера 555. Особливістю цього генератора є те, що його частотою можна управляти програмно, а саме влаштуй ство під’єднується до паралельного порту персонального комп’ютера з працюючою опе раціонної системою Windows 2000/XP/2003/Vista.

Для управління генератором в схемі використовується цифровий потенціометр MCP41100 фірми Microchip Technology Inc. з базовим опором, рівним 100 K. Схема влаштуй ства показана на рис. 3.30.

Рис. 3.30

Схема ефективного генератора імпульсів

Двійковий код передається з паралельного порту ПК на входи CS, SCK і SI мікросхеми MCP41100 з використанням протоколу SPI. Команди і дані передаються при установці лінії CS в низький рівень, після чого кожен біт на лінії SI запам’ятовується в регістрі клямці цифро аналогового перетворювача мікросхеми MCP41100 по наростаючому фронті сигналу SCK. По завершенні передачі даних сигнал CS повинен бути встановлений у високий рівень.

Для кращого розуміння роботи мікросхеми MCP41100 її функціональну схему можна представити таким чином (рис. 3.31):

Підключена відповідно до цієї функціональної схемою мікросхема буде працювати як потенціометр, при чому полярність підключення висновків PA0 і PB0 до зовнішніх ланцюгів не має значення. У схемі генератора MCP41100 працює як реостат (рис. 3.32).

В цьому випадку висновок PW0 підключений до PA0, як показу але на малюнку, хоча може бути з’єднаний і з PB0. Даний цифровий потенціометр є 8 розрядним, що дає

256 можливих градацій опору. Якщо потенціометр включений за схемою реостата, як в нашому генераторі, то його опір обчислюється за наступною формулою:

RAB  = Dn  · RLSB,

де RAB – необхідний опір між точками PA0 і PB0, Dn – двійковий код для уста новки внутрішнього цифро аналогового перетворювача, RLSB – значення (в Омасі), відповідно ціалу молодшому значущій розряду цифрового потенціометра. Оскільки мікросхема MCP41100 має повне опір, рівний 100 K, то величина опору на один біт дорівнює 100 000/256 = 390.625 Ом. Наприклад, для того щоб отримати значення опору тівленія, рівне 10 K, необхідно задати Dn, рівне 10000/390.625.

Частота F генератора на 555 таймері стосовно принципової схемою на рис. 3.30

розраховується за формулою:

Рис. 3.31

Схема роботи цифрового потенціометра

Рис. 3.32

Включення цифрового потенціометра

за схемою реостата

ПАРАЛЕЛЬНИЙ ПОРТ У лабораторні розробки

F = 1.44/Cx · (R1  + RAB  + R2).

Після остаточного перетворення маємо: F = 1.44/Cx · (R1 + R2 + Dn · RLSB).

Таким чином, при фіксованих значеннях Cx, R1, R2 і RAB частоту генерації можна

засувку цифро ана

податкового перетворювача мікросхеми MCP41100.

Двійковий код задається наступним чином: спочатку мікросхемі потрібно послати 8 разів рядну команду, потім власне сам 8 розрядний код. Детально логіка роботи мікросхем ми MCP41100 описана в документації фірми Microchip Corp.

Працездатність цієї схеми була перевірена при трьох різних значеннях ємко стей Cx: 1000 pF, 10000 pF і 100000 pF. Програмне забезпечення розраховане для фіксовано ванних значень опорів R1 і R2, зазначених на схемі, при різних значеннях ємко сти Cx (див. рис. 3.30), при цьому частота генерації може змінюватися в широкому діапазоні частот від десятків герц до десятків кілогерц. Хочу підкреслити, що програма працює з базовим портом 0x378 паралельного інтерфейсу (встановлюється в BIOS за замовчуванням). Тим не менше, краще перевірити базовий адресу паралельного порту перед запуском про грами.

Рис. 3.33

Вид вікна працюючого додатка

Вікно працюючого програми показано на рис. 3.33.

Як видно з рис. 3.33, для установки необхідної частоти необхідно задати ємність конденсатора Cx в пікофарад і значення частоти в герцах.

Кілька слів про конструкцію генератора. У каче стве мікросхеми таймера 555 можна використовувати будь-який пристрій з цієї серії з наявних на рин ке. Для підвищення стабільності частоти резистори R1 і R2 повинні мати мінімальні похибки,

а конденсатор Cx бажано вибрати плівкового або металлопленочні типу. Для сполуки ня пристрої з паралельним портом ПК бажано використовувати плоский кабель довжиною не більше 30 см. Якщо ж необхідний довший кабель, то слід застосувати буферні підсилювачі / формувачі сигналів. Всі з’єднання на платі перетворювача необхідно виконати провідниками мінімальної довжини і використовувати для живлення джерело з міні ною пульсаціями, або передбачити варіанти фільтрації перешкод по шині живлення.

Детальний опис мікросхеми MCP41100 можна знайти на сайті www.microchip.com фірми Microchip Technology Inc.

Джерело: Магда Ю. С. Комп’ютер в домашній лабораторії. – М.: ДМК Пресс, 2008. – 200 с.: Іл.