Контакти

Цифровий тахометр на мікроконтролер PIC16F628. Простий універсальний тахометр на мікроконтролері ATtiny2313. Радіотехніка, електроніка та схеми своїми руками Простий тахометр на пік контролері

Доброго дня.
Виношу на Ваш розгляд схему простенького цифрового тахометра AVR ATtiny2313, КР514ІД2, та оптопаре спроектованого мною.
Відразу зазначу: аналогічних схем в інтернеті багато. У кожної реалізації свої плюси та мінуси. Можливо, комусь мій варіант підійде більше.

Почну, мабуть, з тих. завдання.
Завдання: потрібно зробити цифровий тахометр для контролю обертів електричного двигуна верстата
Вступні умови: Є готовий реперний диск на 20 отворів. лазерного принтера. В наявності багато оптопарів від зламаних принтерів. Середні (робочі) обороти 4000-5000 оборотів/хвилину. Похибка результатів, що відображаються, не повинна перевищувати ± 100 оборотів.

Обмеження: живлення для блоку управління складає 36В (тахометр буде встановлений в один корпус з блоком управління – нижче).

Маленький ліричний відступ.Це верстат мого друга. На верстаті встановлено електромотор PIK-8, обороти якого контролюються відповідно до знайденої в інтернеті та модифікованої схеми. На прохання друга був розроблений простенький тахометр для верстата.

Спочатку в схемі планувалося застосувати ATMega16, але розглянувши умови, було вирішено обмежитися ATtiny2313, що працює від внутрішнього (RC) генератора на частоті 4 МГц.

Загальна схемавиглядає наступним чином:

Як видно нічого складного. Для перетворення двійкового коду на семисегментний, я застосував дешифратор КР514ІД2, це дає відразу три плюси.

  • По-перше – економія місця в пам'яті ATtiny2313 за рахунок зменшення робочого коду (оскільки процедура програмного перетворення двійкового коду в семисегментний відсутня в прошивці за непотрібністю).
  • По-друге: зменшення навантаження на виходи ATtiny2313, т.к. світлодіоди «засвічує» КР514ІД2 (при висвічуванні цифри 8 максимальне споживання складе 20-30 мА (типове для одного світлодіода) * 7 = 140-210 мА що «багато» для ATtini2313 з її повним паспортним максимальним (навантаженим)0
  • По-третє – зменшено кількість «зайнятих» ніг мікроконтролера, що дає нам можливість у майбутньому (за необхідності) модернізувати схему шляхом додавання нових можливостей.

Складання пристроюздійснено на макетній платі. Для цього була розібрана плата, що завалялася в засіках, від неробочої мікрохвильової печі. Цифровий світлодіодний індикатор, ключові транзистори (VT1-VT4) та обмежувальні резистори (R1 – R12) були взяті комплектом та перенесені на нову плату. Весь пристрій збирається, за наявності необхідних компонентів, з перекурами за півгодини. Звертаю увагу:у мікросхеми КР514ІД2 плюсова ніжка живлення – 14, а мінус – 6 (відзначені на схемі). Замість КР514ІД2 можна застосувати будь-який інший дешифратор двійкового коду семисегментний з харчуванням від 5В. Я взяв те, що було під рукою.
Висновки "h" та "i" цифрового світлодіодного індикатора відповідають за дві точки по центру між цифрами, не підключені через непотрібність.
Після складання та прошивки, за умови відсутності помилок монтажу, пристрій починає працювати одразу після ввімкнення та настроювання не потребує.

При необхідності внесення змін до прошивки тахометра на платі передбачено роз'єм ISP.

На схемі підтягуючий резистор R12, номіналом 30 кОм, підібраний досвідченим шляхом конкретної оптопари. Як показує практика – для різних оптопарів він може відрізнятися, але середнє значення в 30 ком має забезпечити стійку роботу для більшості принтерних оптопарів. Відповідно до документації до ATtiny2313, величина внутрішнього підтягуючого резистора становить від 20 до 50 кОм залежно від реалізації конкретної партії мікроконтролерів (стор. 177 паспорта до ATtiny2313), що не зовсім підходить. Якщо хтось захоче повторити схему, може для початку включати внутрішній підтягуючий резистор, можливо у Вас, для Вашої оптопари та вашого МК працюватиме. У мене для мого набору не запрацювало.

Так виглядає типова оптопара від принтера.

Світлодіод оптопари запитаний через резистор на 1К, який я розмістив безпосередньо на платі з оптопарою.
Для фільтрації пульсацій напруги на схемі два конденсатори, електролітичний на 220 мкФ х 25В (що було під рукою) та керамічний на 0,1 мкФ, ( загальна схемавключення мікроконтролера взято з паспорта ATtiny2313).

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

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

Замість КР514ІД2 можна застосувати КР514ІД1 (яка містить усередині струмообмежуючі резистори), або 564ІД5, К155ПП5, К155ІД9 (при паралельному з'єднанні між собою ніжок одного сегмента), або будь-який інший перетворювач двійкового в підсвідомих мікросхем.

За умови правильного перенесення монтажу на МК ATMega8/ATMega16 дана прошивка працюватиме, як і на ATtiny2313, але потрібно підправити код (змінити назви констант) та перекомпілювати. Для інших МК AVR порівняння не проводилося.

Транзистори VT1-VT4 – будь-які слаботочні, що працюють у режимі ключа.

Принцип роботизаснований на підрахунку кількості імпульсів отриманих від оптопари за одну секунду та перерахунок їх для відображення кількості обертів за хвилину. Для цього використаний внутрішній лічильник Timer/Counter1, що працює в режимі підрахунку імпульсів, що надходять на вхід Т1 (виведення PD5 ніжка 9 МК). Для забезпечення стабільності роботи, увімкнено режим програмного придушення брязкоту. Відлік секунд виконує Timer/Counter0 плюс одна змінна.

Розрахунок оборотів, на чому хотілося б зупинитися, відбувається за такою формулою:
M = (N/20) *60,
де M - розрахункові обороти за хвилину (60 секунд), N - кількість імпульсів від оптопари за одну секунду, 20 - кількість отворів у реперному диску.
Отже, спростивши формулу отримуємо:
M=N*3.
Але! У мікроконтролері ATtiny2313 відсутня функція апаратного множення. Тому було застосовано підсумовування зі зміщенням.
Для тих, хто не знає суть методу:
Число 3 можна розкласти як
3 = 2+1 = 2 1 + 2 0 .
Якщо ми візьмемо наше число N зрушимо його ліворуч на 1 байт і приплюсуємо ще одне N зсунуте ліворуч на 0 байт – отримаємо наше число N помножене на 3 байти.
У прошивці код AVR ASM для двобайтної операції множення виглядає наступним чином:

Mul2bytes3:
CLR LoCalcByte //очищаємо робочі регістри
CLR HiCalcByte
mov LoCalcByte,LoInByte //вантажимо значення отримані з Timer/Counter1
mov HiCalcByte,HiInByte
CLC // Чистимо побут переносу
ROL LoCalcByte // Зсув через біт переносу
ROL HiCalcByte
CLC
ADD LoCalcByte,LoInByte //сумуємо з урахуванням біта перенесення
ADC HiCalcByte,HiInByte
ret

Перевірка працездатності та замір точностіпроводився так. До вентилятора комп'ютерного кулера був приклеєний картонний диск із двадцятьма отворами. Обороти кулера моніторилися через BIOS материнської платита порівнювалися з показниками тахометра. Відхилення склало близько 20 оборотів на частоті 3200 оборотів/хвилину, що становить 0,6%.

Цілком можливо, що реальна розбіжність становить менше 20 оборотів, т.к. вимірювання материнської плати округляються не більше 5 оборотів (за особистими спостереженнями однієї конкретної платы).
Верхня межа вимірювання 9999 оборотів в хвилину. Нижня межа вимірювання, теоретично від ±10 оборотів, але практично не замірявся (один імпульс від оптопари в секунду дає 3 обороти на хвилину, що, враховуючи похибку, теоретично має правильно вимірювати швидкість від 4 оборотів на хвилину і вище, але на практиці даний показник необхідно завищити щонайменше вдвічі).

Окремо зупинюся на питанні харчування.
Вся схема живиться джерела 5В, розрахункове споживання всього пристрою вбирається у 300 мА. Але, за умовами ТЗ, тахометр конструктивно повинен перебувати всередині блоку управління оборотами двигуна, а до блоку від ЛАТР надходить постійна напруга 36В., щоб не тягнути окремий дріт живлення, всередині блоку встановлена ​​LM317 в паспортному включенні, в режимі зниження живлення до 5В (з резистором, що обмежує, і стабілітроном для захисту від випадкового перенапруги). Логічніше було б використовувати ШІМ-контролер в режимі step-down конвертера, на зразок МС34063, але у нас в місті купити такі речі проблематично, тому застосовували те, що змогли знайти.

Фотографіїплати тахометра та готового пристрою.


Ще фотографії







На жаль, зараз немає можливості сфотографувати на верстаті.

Після компонування плат і першої пробної збірки коробка з пристроєм відправилася на фарбування.

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

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

2) Перевірити рівень імпульсів від оптопари, за необхідності підібрати номінал резистора R12 або замінити схему підключення оптопари. Можливий варіант зворотного підключення оптотранзистора з підтяжкою до мінуса, з внутрішнім підтягуючим резистором МК. Також можна застосувати транзистор у ключовому режимі роботи, що інвертує.
оптопара

  • AVR
  • Додати теги

    Тахометр призначений для вимірювання оборотів будь-якого двигуна. Починаючи від мопедного 1-циліндрового двотактного і закінчуючи 16-ти циліндровим 4-х тактним двигуном. Індикація на 4-розрядному цифровому індикаторі, точність вимірювання 50
    обертів за хвилину.

    Після включення живлення - тахометр одразу починає вимірювати оберти. Перше натискання кнопки - викликає індикацію встановлених кількості імпульсів на 1 оборот (за замовчуванням 2 імп на 1 оборот, що відповідає 4-тактному 4-х циліндровому двигуну). На дисплеї буде Р-2,0. Повторне натискання кнопки викликає перебір всіх допустимих значень - від 0,5 до 8 імпульсів на 1 оборот. Нехай здається трохи дивно - 0,5 імпульсів, але це всього лише означає, що 1 імпульс буде за 2 обороти. Після установки потрібної кількості імпульсів, через приблизно 5 секунд - прилад запишить зміни в енергонезалежній пам'яті EEPROM (тобто при повторному включенні живлення, не вимагає знову встановлювати кількість імпульсів), і перейде в режим вимірювання обертів із новою кількістю імпульсів.

    Друкована плата із двох частин

    Фото від lawyer

    Що таке взагалі тахометр? Тахометр - це пристрій, що використовується для вимірювання об/хв (обороти в хвилину) будь-якого тіла, що обертається. Тахометри роблять на основі контактних чи безконтактних. Безконтактні оптичні тахометри зазвичай використовують лазерний чи інфрачервоний промінь контролю обертання будь-якого тіла. Це робиться шляхом обчислення часу, витраченого однією обертання. У цьому матеріалі, взятому на одному англійському сайті, ми покажемо вам, як зробити портативний цифровий оптичний тахометр за допомогою Arduino Uno. Розглянемо розширену версію приладу з РК-дисплеєм та модифікованим кодом.

    Схема тахометра на мікроконтролері

    Список деталей для схеми

    • Мікросхема - Arduino
    • Резистори - 33k, 270 Ом, 10k потенціометр
    • LED елемент – синій
    • ІЧ-світлодіод та фотодіод
    • 16 x 2 LCD екран
    • 74HC595 регістр зсуву

    Тут замість щілинного датчика задіяний оптичний - відбиток променя. Так їм не доведеться турбуватися про товщину ротора, кількість лопатей не змінить показання, і він може зчитувати оберти барабана - а щілинний датчик не може.

    Отже, насамперед для датчика вам знадобиться випромінюючий ІЧ-світлодіод та фотодіод. Як його зібрати - показано в покрокової інструкції. Натискаємо на фото для збільшення розміру.

    • 1. Для початку потрібно зашкурити світлодіод та фотодіод, щоб зробити їх плоскими.
    • 2. Потім складіть смужку паперу, як показано на малюнку. Зробіть дві такі структури так, щоб світлодіод та фотодіод щільно сісти у нього. З'єднайте їх разом клеєм та пофарбуйте в чорний колір.
    • 3. Вставити світлодіод та фотодіод.
    • 4. Склеїти їх за допомогою суперклею та припаяти дроти.

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

    Схема тахометра використовує 8-розрядний регістр зсуву 74HC595 з LCD дисплеєм 16х2. Зробіть невеликий отвір у корпусі, щоб зафіксувати LED індикатор.

    Припаяйте 270-омний резистор на світлодіод і вставте в контакт 12 Arduino. Датчик введений у кубічну трубку, щоб надати додаткову механічну міцність.

    Все, пристрій готовий для калібрування та програмування. Завантажити програму ви можете за цим посиланням.

    Відео роботи саморобного тахометра


    Охоронний пристрій з високою напругою- Електричний їжачок. Сьогодні ми продовжимо бесіди про конструкції, які потрібні для охорони нашого житла. Пристрій, який ми зараз будемо розглядати, призначений для охорони квартири, офісу, дачі та автомобіля. Називається пристрій – високовольтний електричний їжачок!

    Цей цифровий тахометр придатний для підрахунку кількості обертів будь-якого типу двигуна внутрішнього згоряння. Похибка вимірювання тахометра становить лише 50 оборотів/хвилину. Для показу результату використовується чотирирозрядне світлодіодне табло.
    Для налаштування режиму роботи необхідно використовувати кнопку "Select". Перше натискання виводить поточний режим роботи на табло. Режимом за замовчуванням є третій, коли датчик видає два імпульси за оборот маховика. Відповідно на табло з'явиться напис Р-2,0.

    Кожне наступне натискання кнопки перемикає режим роботи тахометра на наступний. Усього їх дев'ять: 0.5, 1, 2, 3, 4, 5, 6, 7, 8 імп./обіг відповідно, вони встановлюють кількість імпульсів, що видаються датчиком за один оборот маховика. Чим вище кількість імпульсів, тим точніше вимірюється.

    Після вибору режиму роботи необхідно почекати 5-10 секунд. За цей час тахометр здійснить запис режиму роботи на згадку про мікроконтролера і перейде в робочий режим. Надалі тахометр відразу при подачі живлення переходитиме в робочий режим. Якщо виникає потреба переналаштувати тахометр, то треба натиснути кнопку «Select» і налаштувати тахометр ще раз.

    Варто звернути увагу на параметри та пристрій вхідного ланцюга. Для конкретного типу запалення можливі деякі коригування номіналів через різних пристроївзапалення в різних видахавто. Це необхідно, щоб тахометр добре працював з основними гармоніками та не реагував на вищі гармоніки. Без такого коригування точна робота тахометра неможлива.

    Оновлена ​​версія прошивки включає функцію перевірки індикаторів. Це необхідне проведення двосекундного тесту виявлення несправності датчиків.

    Прикріплені файли:

    Прошивка

    Простий автопідсилювач моноблок на TDA1560Q Автомобільний бездросельний БП на IRS2153 для ноутбуків та мобільних телефонів Зовнішній USB-роз'єм в автомагнітолі

    Простий універсальний тахометр на мікроконтролері ATtiny2313

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

    Схема тахометра дуже проста - один мікроконтролер ATtiny2313 та чотирисимвольний світлодіодний індикатор. Транзисторні ключі для спрощення відсутні. Індикатор можна використовувати як із загальним катодом, так і із загальним анодом – це вибирається у вихіднику. Тахометр може підраховувати оберти як на секунду, так і на хвилину, що робить його повністю універсальним.

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


    Натисніть , щоб збільшити
    Перейдемо безпосередньо до схеми. Якщо пристрій підключається безпосередньо до контролера двигуна з TTL-рівнями, імпульси можна подавати просто на виведення 6 мікроконтролера. Інакше слід виконати найпростіший перетворювачрівня на транзисторі

    Для отримання та стабілізації напруги живлення +5 вольт застосовано лінійний стабілізатор 1117 з низьким падінням напруги для більшої економічності.

    Як світлодіодний індикатор застосований індикатор від мікрохвильової печі із загальним анодом. Оскільки він містить у собі резистори на 220 Ом, то на друкованій платі вони не передбачені.


    На верхній стороні друкованої платиє аж 10 перемичок, але дуже легко встановлюються.


    З зворотного боку встановлені SMD-компоненти: це два конденсатори по 22 пФ для кварцового резонатора, мікросхема стабілізатора та конденсатори, що фільтрують.

    Кварцовий резонатор для ATtiny2313 мікроконтролера можна встановлювати на 8 або 4МГц, це задається у вихіднику і керує прескалером.

    Режим відображення обертів - за секунду або за хвилину - задається аналогічно, у вихіднику. Для відображення кількості обертів за хвилину розрахована кількість обертів за секунду просто програмно множиться на 60. Є можливість програмного округлення розрахованих значень. Ці нюанси прокоментовані в вихідному коді.

    При прошивці мікроконтролера необхідно встановити фьюзи:

    CKSEL1=0
    BODLEVEL0=0
    BODLEVER1=0
    SPMEN=0

    Вихідник написаний мовою C Codevision AVR. Він був запозичений з іншого проекту – тахометра для трилопатевого вертольота.

    Коротко про налаштування: необхідно заздалегідь визначити, скільки імпульсів за 1 оборот буде подаватися на вхід тахометра. Наприклад, якщо їх джерелом буде контролер трифазного мотора на LB11880, він видає по триімпульсу на кожний оборот шпинделя. Тому у вихідному коді слід зазначити це значення.

    Вибір індикатора – із загальним анодом або із загальним катодом (непотрібне значення – закоментувати):

    //#define Anode
    #define Cathode

    Кількість тахометричних імпульсів на 1 оборот валу:

    #define byBladeCnt 2

    Вибір частоти кварцового резонатора – 0x00 для 4МГц, 0x01 – для 8МГц:

    #define Prescaler 0x01

    Вибір відображення обертів за хвилину:

    lTmp = (62500L * 60L * (long)wFlashCnt);

    Для відображення кількості обертів за секунду необхідно прибрати множення на 60:

    lTmp = (62500L * (long)wFlashCnt);

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

    If (byDisplay > 4)
    {
    wRpm++;
    R + = 10;
    }

    Так як у цій конкретній конструкції застосований специфічний індикатор, то розведення друкованої плати не прикладається.



    Сподобалась стаття? Поділіться їй