Цифровой тахометр на микроконтроллере PIC16F628

Цифровой тахометр на микроконтроллере PIC16F628

Этот цифровой тахометр пригоден для подсчета количества оборотов практически любого типа  двигателя внутреннего сгорания. Погрешность измерения тахометра составляет всего  50 оборотов/минуту.  Для показа результата используется четырехразрядное светодиодное табло.
Для настройки режима работы необходимо использовать кнопку «Select». Первое нажатие выводит на табло текущий режим работы. Режимом работы по умолчанию является третий, когда датчик выдает два импульса за оборот маховика. Соответственно, на табло появится надпись Р-2,0.

Цифровой тахометр на микроконтроллере PIC16F628

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

Цифровой тахометр на микроконтроллере PIC16F628

После выбора режима работы необходимо подождать 5-10 секунд. За это время  тахометр произведет  запись режима работы  в память микроконтроллера и перейдет в рабочий режим. В дальнейшее тахометр будет сразу при подаче питания переходить в рабочий режим. Если возникает необходимость перенастроить тахометр, то надо нажать кнопку «Select» и произвести настройку тахометра еще раз.

Стоит  обратить внимание на параметры и устройство входной цепи. Для конкретного типа зажигания возможны некоторые корректировки номиналов, из-за разных устройств зажигания в различных видах авто.  Это необходимо, чтобы тахометр хорошо работал с основными гармониками и не реагировал на высшие гармоники.  Без такой корректировки точная работа тахометра невозможна.

Обновленная версия прошивки включает в себя функцию проверки индикаторов. Это необходимо для проведения двухсекундного теста выявления неисправности датчиков.

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

ПрошивкаСкачать

Автор: Вадим Корнелюк. Москва.



Понравилась статья? Поделиться с друзьями:
Комментариев: 58
  1. redfern.89

    А кто даст исходник? могу купить за деньги! Пишите в ВК http://vk.com/redfern_89

    1. Admin (автор)

      Дорогие читатели и посетители блога. Вся информация – прошивки, исходники, программы – предоставляются абсолютно БЕСПЛАТНО.
      Но если вы хотите немного поддержать проект – пожалуйста – Буду очень благодарен.
      Просто поделитесь понравившейся статьей.(Кнопки находятся прямо под статьей) Вы этим очень поможете.
      Давайте помогать друг другу.
      Спасибо.
      СКАЧАТЬ АРХИВ

      1. redfern.89

        Жаль, что исходников нету в этом архиве((

  2. Admin (автор)

    Есть))
    Файлы в формате .lay – есть печатная плата. – а /hex – прошивка.
    Если надо что-то еще – сообщите

    1. redfern.89

      исходник прошивки контроллера)

    2. Владислав

      Пожалуйста скиньте файл в Splan

  3. Владисоав

    можете пожалуйста скинуть схему в Splan. Заранее спасибо!!!

  4. Admin (автор)

    К сожалению нет схемы в Splan.

  5. Владислав

    все равно спасибо. а как программа работает?

    1. Admin (автор)

      Надеюсь, не нужно объяснять работу самого тахометра, а в частности микропроцессоров PIC16F серии 62X. Всегда можно посмотреть даташит на эту микросхему (pic16f628a datasheet). Могу кратко сказать, что микроконтроллер по данной схеме работает в режиме многократного сброса с последующим отсчетом по встроенному таймеру.
      Вас интересует работа в sPlan, хотя лично в этом планировщике не работал, но судя по интерфейсу в нем нет ничего сложного: перемещай готовые элементы с левой колонки на белый лист и соединяй их линиями-проводниками.

  6. Владислав

    это то я все знаю) сам тахометр подключается к реле? и автоматически начинает считывать?

    1. Admin (автор)

      Электронному тахометру нужен сигнал низкого потенциала, чтобы открыть транзистор BT547 обратной проводимости. Обычно, замыкание на массу никто не использует. Подключают непосредственно к бесконтактному датчику Хола или к клемме катушки зажигания, соединенной с коммутатором зажигания. Не знаете точно к какой клемме подключать, проверьте экспериментально: на одной будет работать, на другой нет.

      1. Сергей

        Здравствуйте .
        Что то я не очень хорошо понял , из ваших слов следует что без разницы куда подключать , к датчику Холла или на клемму катушки зажигания , но датчик Холла выдаёт один импульс на оборот двигателя , а катушка два ??

        1. Admin (автор)

          Стандартно эти тахометры я подключаю к катушке или коммутатору. Ведь все равно он настраиваемый?.

          1. Сергей

            Эт я сам немного недопонял смысл настройки .

      2. Сергей

        Прошивку скачать не удаётся , ссылка что ли не рабочая ??

        1. Admin (автор)

          Ссылку исправил, Спасибо, что нашли баг.

          1. Сергей

            Скачал прошивку , спасибо , буду пробовать собирать , потом отпишусь что получилось .

          2. Admin (автор)

            Конечно, отпишитесь. размещу ваши фотки на сайте. Может кто, и закажет Вам девайс

  7. Владислав

    и еще, устройства?

  8. Владислав

    и еще, есть фото устройства?

    1. Admin (автор)


      Работа тахометра

  9. Евгений

    Цены не было бы, если бы еще добавить режим измерения напряжения бортовой сети и кнопку переключения между тахометром и напряжением…
    Может можно доработать схему и прошивку?

  10. Admin (автор)

    Отличная идея. Надо подумать.
    Спасибо за мысль!!!

  11. Сергей

    В архиве несколько прошивок,так какую из них зашивать?

    1. Admin (автор)

      Есть папка “Исправленная прошивка” – можете его использовать.

  12. Сергей

    Понял,спасибо.

  13. alexandr

    день добрый всем, а случайно прошивки под общий катод нет у кого?

  14. ALEX

    а для дизеля подходит? там подключается к клеме генератора.

    1. Admin (автор)

      данный тахометр работает в диапазоне от 0,5 до 8 импульсов на 1 оборот вала. Если передаточные число шкива генератора кратное этим параметрам тахометр будет работать.?

  15. Сергей

    Здесь проект для Proteus:
    https://yadi.sk/d/JOEKZoeFt8p6u

  16. Андрей

    Подкупает простота.
    А так:
    Зачем 4-е знака? И 3-х хватило бы. Тем более, что на 50-и оборотах может, врать. И на видео последний “0” везде, только в настройках, когда “0,5” выбрал. Это 4-х тактный скутер, к примеру.
    Скорость обновления, не для мотоцикла или скутера. Не успеет, он за машиной не поспевает….

    1. Admin (автор)

      Конечно, можно не ставить индикатор 1 знака. Но тогда придется нарисовать, что ли, этот ноль. Как по мне, не очень информативно, когда высвечиваются обороты двигателя только с десятков оборотов в минуту, а ноль перед ними нужно додумывать. А любопытным прохожим или пассажирам, так и вовсе придется объяснять, что это тысячи оборотов, а не сотни в минуту, просто надо ноль добавлять в конце. Не нравится мне такая презентация своей самоделки, которой гордиться надо! Да и устройство без четвертого индикатора имеет незаконченный вид, как будто выгорел этот индикатор.

  17. Redfern89

    Собрал на ардуине ) с шкалой из 40 светодиодов, шкалой ускорителя (10 сегментов) и трехцифровым индикатором )

  18. Артем

    Как-то печатная плата в архиве не совпадает со схемой в том же архиве. Как это прикажете понимать?

    1. Admin (автор)

      Схема (картинка) и исходная схема платы в .lay не будут совпадать 1 к 1.
      НА печатке все элементы сгруппированы компактно и поэтому на первый взгляд, все кажется так неправильно и чуждо. Но это не так.
      Давайте я помогу вам.
      На картинке я обозначу основные моменты на которые надо обратить внимание.


      тахометр

      Здесь номерами обозначено:
      1) Резистор 62к
      2) Конденсатор не 0,15 пикофарад , а микрофарад ….. не путайте!
      3) Стабилитрон 3,3в
      4) Входной транзистор КТ503 , так как плата разведена под него
      5) Электролит не менее 100 мкф X 10v ( не меньше по напряжению , а ещё лучше ставь на 25вольт , так будет лучше )
      Транзисторы которые идут на аноды индикаторов могут быть любые , в этой схеме не принципиально какие буковки стоят ( КТ315…А , Б , В , Г , Д )
      6)Резисторы на катоды индикаторов ( те которые идут с портов PIC16F628 ) лучше ставить не меньше 150 ом , ток потребления будет поменьше…
      А конденсатор который стоит на входе тахометра надо подбирать опытным путём…… написано об этом ( он может как больше 0,15 мкф , так и меньше )
      Да и кстати.
      Я так думаю не составит труда Вам подрисовать в Лаоут маленькую перемычку с правой стороны
      там как раз идёт общий провод.
      Если возникнут вопросы – Обращайтесь.

  19. Артем

    Почему исчез предыдущий мой комментарий? Автор, будьте добры ответить на мой вопрос.

    1. Admin (автор)

      Здравствуйте Артем. Все комментарии проходят модерацию. Все ваши комменты опубликованы. Ничего никуда не пропало.

  20. Артем

    Спасибо за ответ и проявленное внимание, но… Конденсатор который Вы на печатке отметили цифрой “2”, после сопротивления в 62к на схеме отсутствует. Какой его номинал? На схеме, которая идет в архиве с печаткой его нет.

  21. Admin (автор)

    16 V

  22. Артем

    А емкость?

    1. Admin (автор)

      Артем, в предыдущем коменте ведь я написал – конденсатор на 0.15 мкФ. под картинкой все есть.
      А то, что с ответом запоздал – уж простите- день был трудный и долгий. Работа-работа.
      Спасибо за понимание.

  23. денис

    а есть программный код?

  24. Василий

    Коллеги, всем привет. А нельзя ли сделать чтоб он считал единицы.-Наверно нужно в прошивке что то поменять.

  25. Василий

    Коллеги -всем привет. А как бы сделать сто бы он считал единицы, ну что бы он не через 50 скакал. Наверно что то в прошивке надо поменять.

    1. Admin (автор)

      Нельзя ничего сделать, контроллер будет подвисать. Серьёзно, у PIC16F628 всего 8 бит разрядность. Он может обработать 2 в 8 степени = 256 значений за секунду. Коленвал неспешно едущего автомобиля делает 3000 об/мин, в секунду 50 об/мин, следовательно от датчика зажигания четырехтактного двигателя приходит 100 импульсов за секунду. Можете пересчитать для максимальных оборотов своего автомобиля. На мотоцикле колено можно долго крутить на уровне 8000 об/мин, а это 133 об/сек. Сейчас практически все моцаги четырехтактники, поэтому такой цифровой тахометр на них уже уйдет в зашкал от 266 импульсов в секунду. Поэтому только такая настройка – контроллер должен пропускать 50 импульсов от датчика.
      Потребуется крутой процессор с разрядностью 512 бит, чтобы считать каждую единицу оборотов коленвала.

      1. Василий

        Мне не нужна большая скорость-пусть макс. будет 1500об/мин. Мне он нужен для топливного стенда-для настройки топливной аппаратуры, макс МТЗ (2200об/мин коленвала)-значит топливный насос должен делать всего 1100об/мин. Да и тем более нужно 1 импульс на оборот. Тогда конечно придётся увеличивать время обновления- но это конечно не ГУД. Лучше конечно отслеживать мех импульсным временем, так он будет более шустро отзываться на изменение скорости-хотя на стенде это может и не нужно. В написании программ я конечно совсем никто, но я даже не нашёл на него исходник-весь интернет перевернул.

        1. Admin (автор)

          К сожалению исходного кода нет, только исполнительный, машинный. Имеем только скомпилированный HEX файл для тахометра PIC16F628A.
          Есть исходный файл на тахометр с PIC16F84. Он тоже не считает единицы.

  26. Василий

    Кажется после не значительной переделке можно заменить PIC18F84 на PIC16F628.

  27. алекс

    Здравствуйте ! Сможет этот тахометр измерить низкие обороты примерно от 10 об в мин .

  28. sergey2369

    Спасибо за проект!
    На ДИП печатке ошибка. Перепутаны 3 и 4 разряды, 17 и18 ноги МК, на схеме правильно.
    Пришлось перекрещивать резисторы на базах.
    У отверстий под сегменты шаг не стандартный, разъём не влез, вставлял проволочки.
    Но проект супер!

  29. Игорь

    Собрал сей девайс. Залил в контроллер исправленную прошивку.Ничего не робит. Даже не светится.Индикатор ULF-5461BS. Триоды использовал импортные.В монтаже ошибок нет. Это моя не первая конструкция и все перепроверено.В прошивке прописано что должно работать от внешнего кварца?

    1. Admin (автор)

      Вы выбрали индикаторы ULF-5461BX? Верно. Проверьте, чтоб были с общим анодом.

      1. Игорь

        Кроме самой прошивки нужно править первую строку EEROM. Иначе ничего не будет работать.Я исправил-все ОК.

  30. николай

    Так куда точно надо подключать к датчику хода из трёх проводков

    1. Admin (автор)

      У бесконтактного датчика Холла есть провод выхода, он зачастую зеленого цвета, может также быть желтым, салатневым. Его нужно подключить к Tacho input цифрового тахометра. Остальные два провода питания: на одном +12 при включенном зажигании, другой постоянно соединен с массой.

  31. НСТ

    Эх, добавить к этому девайсу несколько деталей, чтоб получилось оптическое снятие информации оборотов чего-нибудь. Цены б ему не было бы!

  32. Тимур

    А можно использовать контроллер pic16f883

Добавить комментарий

4 × 1 =