Розділ 2. Діагностика

1. Мета роботи.

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

 

2. Апаратура, прилади, матеріально-технічне оснащення.

 - Автотестер 4302-М1 (АТ);

       - Осцилограф універсальний;

       - Лабораторний стенд для дослідження цифрових та мікропроцесорних тахометрів; 

       - Тестер електронний; 

       - Джерело постійної напруги-12 (АКБ);

       - Блок живлення БП 30;

- Осцилограф С1-55;

- Програмні середовища: AVR Studio та Proteus VSM (Proteus 7.7 SP2 Professional).

- Необхідні ресурси для ПК: операційна система Windows XP.

 

3.1    Структурна схема бортової мікропроцесорної системи діагностики.

У центрі всієї схеми мікроконтролер, який і виконує основні функції бортової  системи діагностики, а саме:

·        прийом та перетворення сигналів з датчиків;

·        обробка отриманих даних згідно закладеного алгоритму;

·        виведення результатів роботи на монітор;

·        ідентифікація несправностей, які були зафіксовані електронним блоком керування;

·        контроль за визначеними параметрами.

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

Рис. 1 – Структурна схема бортової системи.

 

       При виникненні збою в роботі електроніки автомобіля згенерований код помилки ЕБУ через діагностичну лінію K-Line і через послідовний порт передається на мікроконтролер. У спеціальній таблиці відповідностей помилка ідентифікується і виводиться на екран.

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

       Основні вимоги до МК:

       - велика швидкість роботи, більше 1 МГц;

       - достатня кількість портів для під’єднання датчиків;

       - доступна ціна;

       - простота програмування;

       - сприймати інформацію від ЕБУ;

       - керувати модулями;

       - сприймати інформацію від модулів.


       Основні вимоги до датчиків:

       - доступна ціна;

       - надійність роботи;

       - простота програмування;

       - необхідна точність вимірювання та незначна похибка.

 

       Основні вимоги до монітора:

       - доступна ціна;

       - зручність керування;

       - достатня кількість символів для відображення.

 

3.1    Вибір мікроконтролера.

Для реалізації бортової мікропроцесорної системи діагностування обрано мікроконтролер серії AVR фірми Atmel. Основні переваги AVR:

  • низька вартість;
  • доступність;
  • надійність;
  • простота програмування;
  • висока швидкодія.

Зважаючи на всі висунуті вимоги вирішено використовувати AVR Atmega16.

Характеристики AVR Atmega16:

  • низьке споживання електроенергії та висока продуктивність;
  • 8-бітна розрядність;
  • покращена RISC архітектура;
  • 131 команда;
  • більшість команд виконуються за один такт;
  • 32 8-бітних регістрів загального призначення;
  • повністю статична робота;
  • максимальна частота – 16 МГц;
  • апаратна команда множення;
  • електронезалежна пам’ять для програми;
  • електронезалежна пам’ять для даних;
  • 16 Кб пам’яті для програми;
  • більше 10 000 циклів перезапису пам’яті для програми;
  • можливість використання завантажуючого сектора;
  • можливість програмування в готовому пристрою;
  • 512 байт енергонезалежної пам’яті для даних;
  • більше 100 000 циклів перезапису пам’яті даних;
  • 1 Кб оперативної пам’яті;
  • 2 8-ми бітних таймера;
  • 16-ти бітний таймер;
  • таймер реального часу;
  • 4-х канальний ШІМ;
  •  8-ми канальний 10-ти розрядний АЦП;
  • апаратний 2-wire інтерфейс;
  • апаратний послідовний інтерфейс;
  • апаратний SPI інтерфейс;
  • наглядовий таймер;
  • аналоговий компаратор;
  • 32 лінії введення/виведення;
  • робоча напруга – 2,7-5,5 В.

 

Конфігурація виводів Atmega16 зображена на рисунку 2.

Рис. 2. Конфігурація виводів Atmega16

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

Рис. 3. Загальна структура Atmega16

Ядро AVR поєднує повний набір інструкцій з 32-ма робочими регістрами загального призначення. Усі 32 регістри безпосередньо під’єднані до арифметично – логічного пристрою, що дозволяє мати доступ до двох незалежних регістрів під час виконання однієї інструкції за один такт. Окрім зазначених характеристик Atmega16 має також: підтримку відлагоджування на самому чіпі, три гнучких таймери/лічильники з режимами порівняння, зовнішні і внутрішні переривання, шість енергозберігаючих режимів, які обираються програмно. Режим Idle зупиняє роботу процесора, але не забороняє роботу USART, 2 – wire інтерфейсу, АЦП, таймерів/лічильників, SPI порту, системи переривань. В Power-down режимі вміст регістрів зберігається і заморожується осцилятор, що блокує усі інші функції чіпа до появи наступного зовнішнього переривання або апаратного перезапуску. В режимі Power-save асинхронний таймер продовжує працювати, дозволяючи користувачу підтримувати базовий час, поки інші пристрої сплять. Режим ADC Noise Reduction зупиняє CPU і всі модулі введення/виведення окрім асинхронного таймера і АЦП для того, щоб зменшити вплив шумів від перемикань на аналого-цифрове перетворення. В режимі очікування осцилятор працює поки усі інші пристрої сплять. Розширений режим очікування забезпечує подальшу роботу як осцилятора так і  асинхронного таймера. Ці режими дають можливість поєднати високу продуктивність роботи з низьким споживанням енергії.

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

Для того щоб максимально збільшити потужність і паралелізм AVR використовує Гарвардську архітектуру – з відокремленою пам’яттю та шинами для програми та даних. Інструкції в пам’яті програм виконуються у вигляді конвеєра. Поки одна інструкція виконується, інша вибирається з пам’яті команд. Такий підхід дозволяє виконувати інструкції кожного такту.

Високопродуктивне AVR ALU з'єднано безпосередньо з усіма 32 швидкодіючими регістрами загального призначення. За один тактовий цикл ALU виконує операцію між регістрами цього реєстрового файлу. Операції ALU підрозділяються на три основні категорії: арифметичної, логічні й операції над бітами.

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

Під час переривань або виклику підпрограм адреса повернення програмного лічильника зберігається у стеці. Стек ефективно розміщується в загальних даних SRAM, саме тому розмір стеку обмежений  лише загальним розміром SRAM. Всі користувацькі програми повинні ініціалізувати вказівник стеку в програмі скидання (перед тим як підпрограма або переривання виконане). Вказівник стеку можна читати/перезаписувати в просторі вводу/виводу. Отримати доступ до даних SRAM можна легко отримати через 5 різних адресних режимів, які підтримуються AVR архітектурою.

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

Простір пам’яті вводу/виводу містить 64 адреси для процесорних периферійних функцій.

 

3.3 Вибір периферійних компонентів системи.

Датчики температури. Проаналізувавши усі вимоги поставлені до датчиків, для даної системи було обрано датчики типу DS18B20. Особливі відмінності даного датчика:

·        Точність ±0.5°C от -10°C до +85°C

·        Можливість користувачем налаштовувати роздільну здатність від 9 до 12 біт

·        Дані передаються за допомогою 1 проводового інтерфейса.

·        64-бітний унікальний незмінний серійний номер

·        Багатоточкове зчитування

·        Робоча напруга від 3.0В до 5.5В

·        TO-92, 150mil 8-контактний SOIC, або 1.98мм x 1.37мм корпус з кульковими виводами (±2.0°C)

Призначення виводів зображено на Рис. 4, а структура – на Рис.5.

Рис.4. Призначення виводів DS18B20.

Рис. 5. Структура DS18B20.

Мікросхема DS18B20 це термометр з цифровим вводом/виводом, який працює з точністю ±0.5°C. Дані зчитуються через 1 провідну послідовну шину в доповняльному від 9 до 12 бітному (програмується користувачем) коді з ціною молодшого розряду від 0.5°C до 0.0625°C.

При використанні у якості термостату, DS18B20 відрізняється наявністю у внутрішній енергонезалежній пам’яті (EEPROM) програмованих користувачем налаштувань по перевищенню температури (TH) і по пониженню температури (TL). При перетині налаштованих границь виставляється внутрішній регістр прапора. Якщо функції термостату не потрібні, то два байти енергонезалежної пам’яті (EEPROM) можуть бути використані для енергонезалежного зберігання інформації загального призначення.

Кожна мікросхема DS18B20 має унікальний і незмінний 64 бітний серійний номер, який використовується як вузлова адреса датчика. Це дозволяє значній кількості мікросхем DS18B20 співіснувати на одній 1 провідній шині. Мікросхема DS18B20 може живитися від 3.0В до 5.5В або може бути сконфігурована таким чином, щоб живитися від 1 провідної шини даних.

Схема підключення даних датчиків наведена на Рис.6.

Рис. 6. Схема підключення датчиків DS18B20.

 

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

Рис. 7. Схема включення імпульсних генераторів.

 

LCD монітор. Обрано рідинно-кристалічний монітор типу LM016L через простоту, доступність і зручність керування. Основні характеристики:

·     16 символів х 2 стрічки;

·     вбудований LSI HD44780 контролер;

·     +5 В живлення;

·     сірий колір дисплею.

 

Структурна схема монітора зображена на Рис. 8.

Рис.8. Структурна схема LM016L монітора.

 

Схема підключення монітора наведена на Рис. 9.

Рис. 9. Схема підключення монітора LM016L до Atmegа16.

 

Електронний блок керування (ЕБК). Для відображення і моделювання роботи електронного блока керування та його зв’язку з бортовою системою діагностування через діагностичний роз’єм K-Line використано віртуальний термінал. За допомогою терміналу можна імітувати в ручному режимі відправку повідомлень через USART. На Рис. 10 зображена схема підключення віртуального терміналу до Atmega16

Рис. 10. Схема підключення віртуального терміналу.

4. Опис функціональних блоків.

4.1. Блок обчислення параметрів.

Проводиться розрахунок наступних робочих параметрів:

·     Споживання пального на 100 км пробігу. Відбувається підрахунок кількості імпульсів від датчика споживання пального за проміжок часу в 3 секунди. З співвідношення 16000 імп/літр відбувається розрахунок спожитого бензину за даний проміжок часу. Отриманий результат використовується для перерахунку на 100 км. Відштовхуючись від цих результатів знаходяться відомості про загальний об’єм використаного палива і про пробіг машини на залишку пального.

·     Швидкість руху. Відбувається підрахунок кількості імпульсів за трьох секундний проміжок часу. Виходячи з співвідношення 6000 імп/км знаходиться швидкість руху. Ця інформація слугує також для розрахунку загальної пройденої відстані з моменту початку руху.

·     Бортова напруга. Напруга мережі через подільник подається на вхід АЦП. Подільник напруг налаштований так, що на вхід поступає напруга 2,56 В. На ніжку AREF під’єднується напруга 2,56 В. Поділивши 12В на 1024 (оскільки АЦП має 10 розрядів) визначається необхідний для переведення коефіцієнт.

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

·     Температура. Дані про температуру знімаються безпосередньо з датчиків.

4.2. Блок контролю параметрів. У даному блоці відбувається контроль за значеннями робочих параметрів, а саме:

·     швидкість (гранично допустиму швидкість налаштовується користувачем);

·     температура за бортом та двигуна;

·     рівень бортової напруги;

·     залишок пального.

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

4.3. Блок налаштування параметрів. У даному блоці відбувається корегування базових параметрів системи:

·     коефіцієнт швидкості;

·     коефіцієнт пального;

·     максимальний перепад напруги на ділянці бака;

·     об’єм бака.

 

 

5. Рекомендації для роботи з системою.

Кнопка mod1відповідає за роботу з нижньою стрічкою дисплея, де почергово змінюються наступні дані:

·          «t1 – t3» – температура з трьох датчиків (перемикання між датчиками здійснюється за рахунок кнопок «+», «-»);

·          «Tank» – залишок пального, л;

·          «U» – бортова напруга, В;

·          «Speed» – швидкість руху. При натисненні кнопок «+», «-» встановлюється гранична швидкість, по перевищенню якої спрацьовує світлова сигналізація (30, 60, 90, 120, 150).

Кнопка mod2 відповідає за роботу з верхньою стрічкою дисплея, де почергово змінюються наступні дані:

·          «Fuel» – витрати палива на 100 км;

·          «NStop» – пробіг автомобіля на залишку, км;

·          «Fuel» – загальні витрати пального від початку роботи, л;

·          «TTime» – час від початку роботи;

·          «Dist» – пройдений шлях, км.

При одночасному натисненні кнопок «+», «-» відбувається вхід в меню налаштувань, де натискуючи кнопку mod1 на нижній стрічці змінюються наступні дані:

·          «SpeedKof» коефіцієнт швидкості;

·          «FuelKof» коефіцієнт пального;

·           «Bak» об’єм бака.

·          «EmptyBak» максимальний перепад напруги на ділянці бака;

Ці параметри можна корегувати кнопками «+», «-». Для виходу з меню налаштувань і автоматичного збереження змін потрібно одночасно натиснути кнопки «mod1», «mod2».

При натисненні кнопки «USART» відбувається моделювання надходження сигналу помилки від електронного блоку керування.

Кількість спалахів діода ідентифікують проблемний параметр, який перетнув нижній або верхній поріг допустимих значень:

6 – у баці залишилось не більше 5 літрів;

10 – температура двигуна перевищила 105 0С

2 – за бортом температура нижче нуля, можлива ожеледь (індикація сніжинки на дисплеї);

5 – перевищення встановленої швидкості.

 

 

6. Порядок виконання роботи.

6.1. Вивчити будову та структуру бортової мікропроцесорної системи діагностики.

 6.2. Визначити основні функціональні можливості бортової мікропроцесорної системи діагностики.

 6.3. Назвати основні вимоги до вузлів та компонентів бортової мікропроцесорної системи діагностики.

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

6.5. Змоделювати схему підключення датчиків температури DS18B20 до контролера.

6.6. Змоделювати схему підключення до контролера імпульсних генераторів, що імітують датчики швидкості та витрати палива.

6.7. Змоделювати схему підключення до контролера монітора LM016L.

6.8. Змоделювати схему підключення віртуального терміналу до Atmega16.

        6.9.  За допомогою програмних середовищ AVR Studio чи Proteus VSM (Proteus 7.7 SP2 Professional) перевірити роботу основних функціональних блоків бортової системи діагностики автомобіля.

 

              7. Вимоги до звіту з лабораторної роботи.

        7.1. Звіт з лабораторної роботи (робіт) повинен бути виконаним на листах формату А4. До звіту додаються схеми принципові пристрою, який досліджується та його модифікацій. В разі необхідності додаються рисунки, часові діаграми, вікна моделювання у певних програмних середовищах, розрахунки і.т.і., що є додатковими даними для вивчення об’єкту досліджень.

7.2. Звіт повинен утримувати основні результати досліджень, які підтверджують повноту виконання роботи (графіки, характеристики, основні несправності пристроїв та методику їх усунення).

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

 

8. Перелік контрольних питань.

        8.1. Структура бортової мікропроцесорної системи діагностики.

        8.2. Призначення  основних компонентів бортової мікропроцесорної системи діагностики.

        8.3. Основні переваги AVR контролерів фірми Atmel. 

        8.4. Принцип дії та будови бортової мікропроцесорної системи діагностики автомобіля.

        8.5. Назвати основні параметри, що контролюються бортовою мікропроцесорною системою діагностики автомобіля.

        8.6. Надати перелік програмних середовищ для моделювання мікропроцесорної системи діагностики автомобіля.

ĉ
Кино трейлеры & Игры,
4 черв. 2013 р., 10:05
Comments