Вимірювач ваги на MSP430F42x ( проект)

Вимірювач ваги на MSP430F42x  ( проект)

1. ВВЕДЕННЯ


Резистивні мостові датчики широко використовуються при розробці пристроїв для вимірювання ваги, сили, крутного моменту та тиску. Більшість мостових датчиків вимагають доволі високу напругу збудження, як для таких датчиків, (як правило, в діапазоні 10 В), в той же час на виході датчику, маємо досить низьку, повномасштабну диференціальну напругу в діапазоні від 2 мВ/В. Вихідний сигнал від датчика, як правило, посилюється підсилювачем. Після формування сигналу, той перетворюється в цифрову форму за допомогою аналого-цифрового перетворювача (АЦП). Як правило, такі АЦП з високою роздільною здатністю не інтегровані в звичайні мікроконтролери. Для подальшої обробки і відображення використовується мікроконтролери загального призначення.

Стандартний підхід використання напруги збудження датчика моста 10 В і вимірювального підсилювача для досягнення повномасштабної вхідної напруги АЦП, збільшує кількість мікросхем і ускладнює управління живленням з високим енергоспоживанням. Енергозберігаюче і економічне рішення полягає в тому, щоб використовувати мікроконтролер з інтегрованим АЦП з високою розподільною здатністю і інтегрованим програмованим підсилювачем напруги (ІППН). Весь пристрій може отримувати живлення від 3-вольтової батареї. MSP430F42x має вбудований 16-розрядний сігма-дельта АЦП з диференціальними входами і ІППН з кофіцієнтом підсилення до 32. Такий мікроконтролер пропонує єдине рішення на одній мікросхемі для цього додатку не тільки з АЦП та підсилювачем ІППН з високим коефіцієнтом підсилювання, але також з LCD драйвером з пониженою напругою живлення.


Тензометричний датчик являє собою підкладку, на яку наклеєно декілька витків тонкого дроту (зі спеціального сплаву), або металевої фольги. Датчик наклеюється на чутливий елемент, що сприймає навантаження F, з орієнтацією довгої вісі датчику по лінії дії сили, що контролюється. Цим елементом може бути будь-яка конструкція, що перебуває під впливом сили F і працює в межах пружної деформації. Цієї ж деформації зазнає і тензодатчик, при цьому провідник датчика довшає або скорочується по довгій осі його установки. Останнє приводить до зміни його омічного опору за відомою з електротехніки формулою R = ρl/S.



  1. Малюнок 1. Види тензодатчиків

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


2. ОПИС АПАРАТНОГО ЗАБЕЗПЕЧЕННЯ ВАГІВ


В даному випадку використоване інтегроване рішення на мікроконтролері, для забезпечиення основних характеристик приладу. Мікроконтролери серії MSP430F42x наднизького живлення мають вбудовану флеш пам'ять та три інтегровані 16-розрядні аналого-цифрові перетворювача сігма-дельта (SD16). Ці АЦП мають вбудований підсилювач напруги, який дозволяє здійснювати підсилення вхідного сигналу до 32 разів. Мостовий датчик з’єднано безпосередньо з мікроконтролером. На рис. 2 показана принципова схема, розроблена в результаті виконання цього проекту в програмі Proteus.
Негативний сигнал збудження датчика повного моста з'єднаний з терміналом X1-1, а позитивний сигнал збудження до термінала X1-4. Ці сигнали поступають на контакти порту MSP430 P2.0 і P2.1. Таким чином, напруга збудження моста може бути відключена під час вимірювання чи коли ваги знаходяться в режимі очікування, зменшуючи тим самим споживану потужність. При збуджені з опором моста 1200 Ω і напругою живлення 3 В, датчик використовує 2.5 мА. Вихідні сигнали мостових датчиків підключені до X1-2 і X1-3, проходять через два фільтри низьких частот і подаються на вхід SD16 A0 MSP430. У датчика повного моста, який використовується, є масштабна чутливість 2 мВ/В, коли його максимальне навантаження приблизно 10 кг. Ціль в тому, щоб дозволити сигналу датчика з роздільною здатністю 1 г, що приводить до цілих 10,000 відліків, показувати його на рідкокристалічному дисплеї. Вся програма приводиться в дію від 3 В батареї живлення. Якщо мостовий датчик збуджений з 3 В, він забезпечує повномасштабну вихідну напруга 3 В х 2 мВ/В = 6 мВ. Це також означає, що 1 г дорівнює напрузі 6 мВ / 10 000 г = 0.6 мкВ. Для вимірювання 1 г, молодший біт напруги використовуваного АЦП має бути в чотири рази менше, що становить 0.6 мкВ / 4 = 0.15 мкВ.
MSP430 SD16 16-бітний сігма-дельта АЦП може працювати за допомогою вбудованої в джерело опорної напруги 1,2 В або зовнішньої підключеної опорної напруги, що використовується в даному пристрої. При цьому зовнішній резистор дільника використовується для забезпечення опорної напруги. З датчиком моста, що приводиться в дію від того ж джерела напруги, це має перевагу реалізації в порівняні з незалежним від опорної напруги, вимірюваним принципом. Якщо мостовий датчик був би приведений в дію від батареї і використовувалась внутрішня напруга для модуля SD16, вимірювальні результати змінились, оскільки напруга змінюється з терміном роботи батареї. Використовуючи дільник резистора як показано на рис.2 та у Додатку 1 і напругою живлення 3 В, опорна напруга буде наступна:








Малюнок 2. Схема електрична принципова



Відношення дільника R9/R10 було вибрано таким чином, що згенерована опорна напруга залишається в дозволеному діапазоні, в той час як змінюється з 3 В до 2.7 В. Мінімальна напруга живлення для модуля SD16 становить 2.7 В. Для детальнішого розгляду діапазонів напруги SD16 і інших параметрів, див. таблицю даних (SLAS421) MSP430F42x[1]. Опорна напруга SD16 визначає диференціальну повномасштабну вхідну напруга, яка є . Оскільки перетворювач даних біполярний, напруга LSB перетворювача АЦП:



За допомогою максимального коефіцієнту підсилення PGA 32, напруга LSB зменшується до 0.605 мкВ. Це приблизно в чотири рази вище, ніж бажані 0.15 мкВ. Зовнішній операційний підсилювач міг використовуватися, щоб забезпечити це додаткове підсилення. Інший підхід, не додаючи зовнішні компоненти використовувати додаткові вихідні біти SD16. Модуль SD16 16-розрядний перетворювач АЦП, він забезпечує доступ в цілому до 24 бітів від його внутрішнього цифрового фільтра десятикратного зменшення. Додаючи ще два біти від цифрового фільтру до 16-розрядного перетворення сигналу отримуємо 18-розрядний вихідний сигнал, який є середньо складовим результатом багаторазових вимірювань, що в результаті зменшить напругу у LSB зменшиться до 0.151 мкВ.



З цією напругою потреби щодо роздільної здатності можуть бути виконані, навіть з тим, що вихідна повномасштабна напруга датчика становить лише 6 мВ, і повний вхідний діапазон перетворювача сігма-дельта не використовується.
Рідкокристалічний драйвер на мікросхемі MSP430F427 дозволяє пряму взаємодію через інтерфейс з загальним рідкокристалічним модулем. У цьому проекті використовуються SBLCDA4 7.1 рідкокристалічний цифровий дисплей з чотирма мультиплексорами.
Резистори R5, R7 і R8 забезпечують сходову структуру напруги, яка використовується рідкокристалічним модулем драйвера. Часовий кварцовий генератор на 32 кГц використовується в якості системного годинника, але управління рідкокристалічним дисплеєм і забезпечення періодичного пробудження від режимів низької потужності під час роботи програми. Крім того, кнопка (SW1) призначена зважувати операції масштабування і з'єднана з P1.0. У додатку 1 наведена розроблена в результаті виконання роботи електрична принципова схема, у додатках 2, 3, 4 – топологія розробленої друкованої плати, схема та плати розроблялись в CAD середовищі Proteus.


3. ОПИС ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
Програмне забезпечення MSP430F427 проекту, розроблене і в C (F42x_Weigh_ Scale.c) і в асемблері (F42x_Weigh_Scale.s43 приведене в додатку 5). Обидва початкових коди функціонально ідентичні, однак, версія на асемблері менша з точки зору розміру коду. При ініціалізації сигналу включення живлення, ініціалізуються периферійні пристрої MSP430. Це включає відключення сторожового таймера, конфігурування осцилятора LFXT1 для зовнішнього часового резонатора, ініціалізація рідкокристалічного контролеру, основного таймеру і модуля перетворювача сігма-дельта SD16 АЦП. Канал SD16 0 налаштовується, щоб використовувати канал A0 на введення і посилення сигналу з коефіцієнтом 32 використовуючи модуль SD16 внутрішнього PGA. Перетворювач синхронізований SMCLK з частотою 1,048,567 Гц, і безперервним режимом. Детальна інформація про налагодження SD16 може бути знайдена в керівництві користувача (SLAU056) сімейства MSP430x4xx[2].


Рисунок 3. Flowchart Main()


У програмному коді два 32-розрядних слова CalMin і CalMax виділені в інформаційному сегменті A MSP430 Flash пам'яті для утримання калібрувальних даних. Після включення живлення програмне забезпечення перевіряє, чи є у цих констант допустимі значення. Якщо обидві розташовані константи містять те ж значення (таке як 0xffffffff після програмування пристрою), то активується режим калібрування. Інакше, активується вимірювальний режим. Змінна ProgramMode використовується, щоб відстежувати поточний стан програми (режим входу, режим калібрування, режим вимкнення живлення) і для встановлення відповідного. Потім, MSP430 вводить режим LPM0 низької потужності з включанням переривання. LPM0 використовується, оскільки SMCLK управляє SD16 і не може бути виключений, в той час, коли програма активно виконує і збирає дані АЦП. З цього часу весь процес виконання програми управляється перериванням. Включаються три джерела переривання. Основний ISR таймер записується кожні 0.5 с і використовується головним чином для ініціювати запуску вимірювального процесу (див. рис. 4), Порт, 1 ISR використовується для обробки подій кнопки після кожного перетворення АЦП, та викликає ISR SD16, щоб обробити результати ( див. рис. 5).


Рисунок 4. Flowchart Basic Timer ISR


Після того, як дві точки даних отримані, режим калібрування завершений. Змінна CalMin використовується, для зберігання результату АЦП, який пізніше дорівнює значенням дисплея 0 г, а CalMax використовується, для зберігання результату АЦП, який дорівнює значенню дисплея 10,000 г CAL LO або CAL HI виводиться на екран, для того щоб вказати, яка калібрувальна точка даних обробляється. Натискаючи кнопку, поточний результат перетворюється SD16 АЦП перераховується і зберігається в тимчасову змінну. Після процедури калібрування ці дві точки даних записуються в сегмент пам'яті інформації у флеш-пам'яті INFOA, який використовується в системі авто програмування. Програмне забезпечення тепер переходить у вимірювальний режим.


Рисунок 5. Flowcharts Port 1 and SD16 ISRs


Тепер процес перетворення SD16 запущено кожні 0.5 с основним ISR таймеру. Під час перетворень включений мостовий датчик, і DCO також включений. MSP430 тепер працює в LPM0. Щоб досягти необхідної точності, програмне забезпечення реалізує фільтр низьких частот, збираючись і підбиваючи підсумок результатів багаторазових 18-розрядних результатів перетворення АЦП. Кожне перетворення SD16 ISR виконується на частоті дискретизації SD16 (4 кГц). Перш ніж фактичні дані будуть зібрані, зустрічна змінна VoltageSettleCtr поступово зменшується до 0, щоб встановити напругу включення напруги мостового датчику приблизно на 12 мс. Коли SD16 ISR зібрав 256 результатів, сума тоді ділиться на 256, щоб генерувати заключний 18-розрядний результат. Цей процес може також бути описаний як 256 до 1 десятикратне зменшення даних вибірки. модулем SD16 встановлення напруги займає час, для управління приблизно 75 мс кожні 0.5 с. У цей час MSP430 тягне приблизно 1 мА струму. Ще 3 мА необхідні в цей період для збудження мостового датчика і генерації опорного напруги. Між вимірами MSP430 тягне тільки приблизно 3 мкА, який включає струм, який використовується рідкокристалічним драйвером для відображення результату обчислення. Це призводить до загально-середнього споживання контролером 600 мкА під час нормального функціонування. Використовуючи кнопку, режим калібрування може бути повторно введений в будь-який час утриманням кнопки протягом принаймні 5 с.


Рисунок 6. Архітектура MSP430


4. ВИСНОВКИ
В рамках цього проекту «Вимірювач ваги на MSP430F42x» був розглянутий принцип роботи та побудова резистивного мостового датчика, застосоване повністю інтегроване рішення на мікроконтролері з використанням методів проектування для пристроїв з низьким енергоспоживанням. На основі цього аналізу було прийнято рішення розробити схему електронних ваг на МК MSP430F42x. В результаті роботи в програмі Proteus була розроблена схема відповідного пристрою і розведена друкована плата, описаний принцип дії ваг.


Написать:
23:17
4183
Нет комментариев. Ваш будет первым!