3.3 Розробка програми, що керує роботою мікроконтролера
Програма керування роботою автомобільного пристрою написана на мові AVRassemblerforWindowsв програмі WarasmVersion1.30 на базі алгоритму приведеного на рис. 5-13. Програма від трансльована в машинні коди в AVRStudio2.7.
4. Моделювання роботи
Моделювання розробленої схеми проводиться в програмі ISISпакеті Proteus7.2. В процесі моделювання виконана спрощена модель. В даній моделі упущена мікросхема перетворювача напруги, упущені транзисторні ключі. Блок контролю напруги в бортовій мережі виконаний у спрощеному вигляді (елементи стабілізації напруги замінені джерелом напруги 12В). В якості датчиків дверей та стартера застосовується штучне утворення сигналу логічної 1 при спрацюванні відповідного датчика. Схема автомобільного пристрою перед початком моделювання зображена на рис. 33.
Рисунок
14 - Схема для моделювання автомобільного
пристрою При першому запуску
мікроконтролера необхідно зчитати
ID-код
кожного датчика в пам’ять. Для цього
потрібно по-черзі підключити кожний
датчик і нажати кнопку MAIN.
При цьому індикатор буде виводити номер
датчика, який підключається. На рис. 15
зображено стан схеми при підключенні
першого
датчика.
Рисунок 15 - Зчитування ID-коду з першої мікросхеми датчика Після зчитування ID-коду всіх мікросхем всі датчики підключаються і виконується виставлення поточного часу кнопкою MINUTES_HOURS. Спочатку виставляється кількість хвилин. Для прикладу виставляється сорок одна хвилина. Стан схеми в даномурежимі зображено на рис 16.
Рисунок 16 - Виставлення хвилин Коли кількість хвилин виставлена модель переключається (кнопкою MAIN) до виставлення годин. Кількість годин виставляється кнопкою MINUTES_HOURS. Для прикладу виставляється одинадцять годин. Після виставлення поточного часу відлік запускається кнопкою MAIN. На рис. 17 зображено стан схеми в режимі індикації поточного часу.
Рисунок 18 - Індикація температури на другому датчику
Даний режим (режим переключення між індикацією поточного часу та індикацією температури на датчиках) є основним. Якщо підчас роботи схеми виникнуть проблеми з шиною 1-wire(коротке замикання чи розрив лінії), то на індикатор буде виведено код відповідної помилки. На рис. 19 зображено стан схеми при короткому замиканні шини 1-wire.
Рисунок 19 - Індикація коду помилки при короткому замиканні Якщо джерело помилки буде усунуте схема продовжує працювати. На рис. 20 зображено стан схеми при розриву лінії.
Рисунок 20 - Індикація коду помилки при розриву лінії При усуненні помилки розриву лінії схема продовжить індикацію температури на третьому датчику (в даному випадку помилка виникла при індикації температури на третьому датчику). На рис. 21 зображено роботу схеми після виправлення помилки.
Рисунок 20 - Індикація коду помилки при розриву лінії При усуненні помилки розриву лінії схема продовжить індикацію температури на третьому датчику (в даному випадку помилка виникла при індикації температури на третьому датчику). На рис. 21 зображено роботу схеми після виправлення помилки.
Рисунок 21 - Робота пристрою після усунення помилки Якщо підчас основного режиму роботи пристрою рівень напруги бортової мережі впаде нижче 12В або відбудеться стартування при відкритих дверях, то формується звуковий сигнал, який можна почути з звукової карточки комп’ютера чи побачити на віртуальному осцилографі. На рис. 22 зображений режим роботи коли відбулася одна (або всі) з вищеназваних подій.
Рисунок 22 - Режим роботи при спрацюванні звукової сигналізації