ться через провідності Gкд і Gрд компенсаційного і робочого датчиків, то струм, що проходить через ці датчики, буде змінним. Його частота, як і вихідна частота генератора (висновок cраз'емаXS1), визначається величинами провідностей датчиків і номіналами ємностей С4 і С5. Так як компенсаційний датчик слабкий, то провідності робочого і компенсаційного датчиків відрізняються один від одного. p> Для того, щоб датчики могли працювати приблизно на одних і тих же частотах (15 ... 20кГц), в схему введений додатковий ключ на транзисторі VT3.1, який обеспечіваетподключеніе ємностей різних величин в залежності від того, який датчик використовується. Резистори R1 і R2 служать для обмеження струму через транзистори через недостатню крутизни фронтів. p> Харчується вимірювальна ланцюг від стабілізованого джерела живлення (ріс4.). Струм споживання не перевищує 150мА. Мікросхема DA1 стабілізатора встановлюється на теплопроводі площею 8 ... 10. br/>В
ріс4.
Мікропроцесорний блок (рис 5.) складається з вузлів формувача вхідного сигналу, виконаного на транзисторі VT1 (діоди VD1, VD2 обмежувальні); мікропроцесора DD4, що виконує функції обчислення значення вимірюваного рівня і керування динамічною індикацією (HG1-HG6), стабілізатора напруги 5В (DA2).
В
рис 4.
Деталі. Кварц ZQ1 може бути будь-який на частоту3 .. 4 МГц. Конденсатори С4 і С5 в блоці вимірювальної ланцюга плівкові типу К73-9, К73-17 або аналогічні імпортні. Решта резистори і конденсатори-звичайні. Для підключення датчиків до вимірювальної ланцюга можна використовувати п'яти-або трьохштирковий роз'єм від магнітофона. p> Датчик може бути будь-якої довжини. При збільшенні довжини більше 1м потрібно пропорційно збільшувати відстань між електродами. Підбором конденсаторів С4 і С5 встановлюється робоча частота датчиків (15 .. кГц). br/>
Розробка алгоритму
Написання коду програма
# include "pic.h"
# include "stdlib.h"
# include "math.h"
# define PORTBIT (adr, bit) ((unsigned) (& adr) * 8 + (bit)) bit SA @ PORTBIT (PORTB, 0); Factor; Level; G_Compens_gauge; G_work_gauge; void inter (void)
{(TMR0IF)
switch (SA)
{0:
{_work_gauge = TMR1;;
} 1:
{_Compens_gauge = TMR1;;
}
} IF = 0;
} init (void)
{
TRISA = 0x01 ;//налаштування портів = 0xFE ;//налаштування портів = 0x0F ;//налаштування портів
// T1CONCS = 1 ;//робота таймера від зовнішнього джерела тактового сігналаSYNC = 1 ;//не виконувати синхронізацію зовнішній тактовий сігналOSCEN = 0 ;//по T1OSO/T1CKI/C0ON = 1 ;//включення модуля TMR1IE = 1;// Дозвіл переривання від таймера ...