Бесконтактный тахометр на микроконтроллере AVR

Модератор: boogyman

Аватара пользователя
Aleksey
Любитель
Сообщения: 16
Зарегистрирован: 07 янв 2012, 22:42
Откуда: Москва

Бесконтактный тахометр на микроконтроллере AVR

#1

Сообщение Aleksey »

Решил проверить прибор представленный на сайте http://www.ikalogic.com/ika_tach.php. Микроконтроллер использовал Atmega168 в dip-корпусе вместо Atmega48, пришлось перекомпилировать прошивку. Инфракрасные светодиоды (приемник и передатчик) взял из старого датчика дыма от пожарной сигнализации. Прибор работает от 3-х батареек AA. Показания прибора проверял на трехфазном двигателе с частотой вращения 2710 об/мин.,тахометр показывает 2957 об/мин. Хочу отметить что на показания тахометра влияет диаметр вала на котором приклеена светоотражающая наклейка. Во вложении печатка в формате DipTrace.
Изображение
Изображение
Изображение
Изображение
Изображение
Вложения
tachometr.rar
Печатка
(5.22 КБ) 2621 скачивание
Аватара пользователя
Aleksey
Любитель
Сообщения: 16
Зарегистрирован: 07 янв 2012, 22:42
Откуда: Москва

Re: Бесконтактный тахометр на микроконтроллере AVR

#2

Сообщение Aleksey »

Описание на русском языке здесь: http://www.rlocman.ru/shem/schematics.html?di=73221
Аватара пользователя
AntonChip
Администратор
Сообщения: 265
Зарегистрирован: 24 дек 2011, 22:11
Откуда: Киров
Контактная информация:

Re: Бесконтактный тахометр на микроконтроллере AVR

#3

Сообщение AntonChip »

Вот еще пример http://www.8051projects.net/download-d2 ... oller.html только на PIC16f690, принцип действия такой же, можно и его проверить :)
Изображение
Аватара пользователя
xfly
Новичок
Сообщения: 9
Зарегистрирован: 22 мар 2012, 00:29

Re: Бесконтактный тахометр на микроконтроллере AVR

#4

Сообщение xfly »

Aleksey писал(а): Показания прибора проверял на трехфазном двигателе с частотой вращения 2710 об/мин.,тахометр показывает 2957 об/мин.
Еще не факт что врет тахометр, для трехфазника с к.з. ротором обороты указываються для номинальной нагрузки на валу. Без нагрузки обороты будут больше чем написанно на табличке. А вот почему обороты зависят от диаметра вала, непонятно... такого теоритически не должно быть. И еще... не нашел в статье fuse bit, подскажите пожалуста как Вы их выставляли?
Аватара пользователя
Aleksey
Любитель
Сообщения: 16
Зарегистрирован: 07 янв 2012, 22:42
Откуда: Москва

Re: Бесконтактный тахометр на микроконтроллере AVR

#5

Сообщение Aleksey »

Fuse-биты только поменял для работы от внешнего кварца 20МГц (CKSEL=1111 SUT=10)
Аватара пользователя
xfly
Новичок
Сообщения: 9
Зарегистрирован: 22 мар 2012, 00:29

Re: Бесконтактный тахометр на микроконтроллере AVR

#6

Сообщение xfly »

Спасибо! Еще вопросы, зачем нужна кнопка В1 и светодиод LED3? На схеме излучатель IR1 подключен через транзистор Q2, это значит что излучатель во время измерения работает в импульсном режиме? Просто я хочу узнать, можно ли к тахометру подключить внешний источник импульсов или обязательна какая нибудь синхронизация с импульсами излучателя. Или транзистор Q2 просто включает излучатель на время измерения и служит источником подсветки для фотоприемника, а потом для экономии батарей его выключает? Какой программой Вы компилировали исходник? У меня есть CodeVisionAVR, но ему нужен файл проекта, а в скаченных исходниках его нет, а как собрать все эти файлы в проект я еще не знаю. Просто файлы открываються, но компилировать их нельзя.
Аватара пользователя
Aleksey
Любитель
Сообщения: 16
Зарегистрирован: 07 янв 2012, 22:42
Откуда: Москва

Re: Бесконтактный тахометр на микроконтроллере AVR

#7

Сообщение Aleksey »

При нажатии на кнопку В1 начинается процесс измерения, загорается LED3 и включается ИК излучатель(он горит постоянно :) ). LED3 нужен только для визуального контроля наведения ИК приемопередатчика на вал двигателя, можно обойтись и без него, я измерял примерно на расстоянии 1 см. При отпускании кнопки измеренные показания остаются на дисплее. Исходник написан под WinAVR GCC, но я с ним ничего не делал.
Аватара пользователя
xfly
Новичок
Сообщения: 9
Зарегистрирован: 22 мар 2012, 00:29

Re: Бесконтактный тахометр на микроконтроллере AVR

#8

Сообщение xfly »

Спасибо! Все понятно, мне такой принцип работы и нужен. Я уже изготовил этот тахометр, используя Вашу плату. Осталось прошить его, Вас не затруднит откомпилировать
исходник для меги 48. У меня нет WinAVR GCC, да и пользоваться этой программой неумею. Заранее Спасибо!
Аватара пользователя
Aleksey
Любитель
Сообщения: 16
Зарегистрирован: 07 янв 2012, 22:42
Откуда: Москва

Re: Бесконтактный тахометр на микроконтроллере AVR

#9

Сообщение Aleksey »

Выкладываю проект для AVRStudio для меги48, hex-файл внутри. xfly, ждем отчет о работе прибора ;)
Вложения
tachometr_mega48.zip
Проект AVRStudio
(45.27 КБ) 2601 скачивание
Аватара пользователя
xfly
Новичок
Сообщения: 9
Зарегистрирован: 22 мар 2012, 00:29

Re: Бесконтактный тахометр на микроконтроллере AVR

#10

Сообщение xfly »

Приветствую! Спасибо за помощь! Прошивал програматором Громова, через программу Algoritm Builder. Fuse-биты прочитал из МК и поменял только CKSEL для работы от внешнего кварцевого генератора. перепрошил сначала только Fuse-биты, Програматор не перестал видеть МК, значит кварцевый генератор заработал нормально. Залил прошивку, на дисплее появились надписи как на фотках. При нажатии кнопки зажигаються Led3 и IR1(вместо IR1 впаял временно простой светодиод), на дисплее во второй строчке в 14 знакоместе появляються знаки, типа " \, - " . оптопары у меня такой как на схеме нет, я собираюсь сделать самодельную. Подключил внешний звуковой генератор, подал с него 20 гц это должно соответствовать 1200 об.мин. Форма сигнала генератора прямоугольный меандр. Значек в 14 разряде начал мигать... вернее не мигать, а быстро менять разные символы, я так понимаю, что это показывает наличие импульсов на входе, но на месте где должен показать обороты ничего не появилось, иногда там появляються разные фантастические значения и то я не выявил пока какой нибудь закономерности этих показаний. Так что пока ничего не получилось. EEPROM Я не прошивал, а может надо было?
Не понравилась работа автоматической регулировки контрасности, после запуска очень сильная засветка дисплея и меняеться от нажатия кнопки, у меня диплей без подсветки, поэтому Q1 R1 R2 я не стал впаивать, можно будет вместо Q1 поставить подстроечный потенциометр и немного порезав плату, сделать ручную подстройку контрасности.
Аватара пользователя
Aleksey
Любитель
Сообщения: 16
Зарегистрирован: 07 янв 2012, 22:42
Откуда: Москва

Re: Бесконтактный тахометр на микроконтроллере AVR

#11

Сообщение Aleksey »

EEPROM точно программировать не надо, а на счет разных значений, где-то есть наводка , попробуй с обычной оптопарой
Аватара пользователя
xfly
Новичок
Сообщения: 9
Зарегистрирован: 22 мар 2012, 00:29

Re: Бесконтактный тахометр на микроконтроллере AVR

#12

Сообщение xfly »

Наводки нет, провод от генератора экранированный и не длинный. если понижаю амплитуду сигнала меньше порога срабатываня, символ перестает мигать, т.е. ничего на контроллер не поступает лишнего. Еслиб была наводка обороты хаотично прыгали, а у меня показания, как выяснилось появляються на дисплее примерно через15 минут, и показывает 238000.0 при 50 гц от генератора. Младшие цифры не нули, они меняються каждый раз, а вот 238 тысяч не меняються. Если подаю больше частоту, то и показания увеличиваються. Грешил на кварц, но замена на другой ни чего не дала, пробовал разные варианты CKSEL, типа большой амплитуды, тоже без толку. Оптопару действительно надо попробовать подключить, чет я не допер сразу осцилоскоп подключить к IR1, может всеже импульсно он работает. Завтра попробую померять. И еще, просто для информации, АТМЕГУ 48 я использовал в корпусе TQFP-32, печатку не менял, просто изготовил переходную платку. Из за этого удлинилась длина проводников от МК до резонатора примерно на 6мм, можно будет попробовать кварц припаять прямо к МК. Вот пока такая информация, буду дальше копать, если появяться у Вас какие нибудь мысли, буду рад выслушать.
Аватара пользователя
Aleksey
Любитель
Сообщения: 16
Зарегистрирован: 07 янв 2012, 22:42
Откуда: Москва

Re: Бесконтактный тахометр на микроконтроллере AVR

#13

Сообщение Aleksey »

Кстати, у меня сначала тоже дисплей показывал всякую фигню пока я не подобрал подходящий приемопередатчик, бывает еще, что засвечивается фотодиод.
Аватара пользователя
xfly
Новичок
Сообщения: 9
Зарегистрирован: 22 мар 2012, 00:29

Re: Бесконтактный тахометр на микроконтроллере AVR

#14

Сообщение xfly »

Все заработало и от генератора, точность приличная, меньше процента погрешность, можно и точнее, но надо подстраивать кварцевый генератор. Устойчиво меряет почти до 40 000 об\мин. Причина проблемм, надо еще было CKDIV8 поменять, вот МК и работал на пониженной частоте.
Теперь следущая задача, разработать печатку для TQFP32 и применить дисплей поменьше, типа 2х8. Но это планы на будущее... для этого придеться с исходниками разбираться, а я пока в Си как свинтус в апельсинах разбираюсь.
Аватара пользователя
bobych
Новичок
Сообщения: 8
Зарегистрирован: 01 апр 2012, 12:34

Re: Бесконтактный тахометр на микроконтроллере AVR

#15

Сообщение bobych »

xfly писал(а):Все заработало и от генератора, точность приличная, меньше процента погрешность, можно и точнее, но надо подстраивать кварцевый генератор. Устойчиво меряет почти до 40 000 об\мин. Причина проблемм, надо еще было CKDIV8 поменять, вот МК и работал на пониженной частоте.
Теперь следущая задача, разработать печатку для TQFP32 и применить дисплей поменьше, типа 2х8. Но это планы на будущее... для этого придеться с исходниками разбираться, а я пока в Си как свинтус в апельсинах разбираюсь.
Давай скооперируемся,-я плату разведу а вы прошивку.
Только не откладывая в долгий ящик.
Аватара пользователя
xfly
Новичок
Сообщения: 9
Зарегистрирован: 22 мар 2012, 00:29

Re: Бесконтактный тахометр на микроконтроллере AVR

#16

Сообщение xfly »

bobych писал(а):
xfly писал(а):Все заработало и от генератора, точность приличная, меньше процента погрешность, можно и точнее, но надо подстраивать кварцевый генератор. Устойчиво меряет почти до 40 000 об\мин. Причина проблемм, надо еще было CKDIV8 поменять, вот МК и работал на пониженной частоте.
Теперь следущая задача, разработать печатку для TQFP32 и применить дисплей поменьше, типа 2х8. Но это планы на будущее... для этого придеться с исходниками разбираться, а я пока в Си как свинтус в апельсинах разбираюсь.
Давай скооперируемся,-я плату разведу а вы прошивку.
Только не откладывая в долгий ящик.
Увы, но быстро не получиться... плату и для меня развести не проблемма, а вот с прошивкой... пока только пытаюсь что то понять в Си. Читаю книжки по Си. Что то уж больно тяжело он мне даеться, видимо мое восприятие реальности сильно различаеться с концепцией этого языка. С ассемблером все было просто и понятно. Сейчас боле менее освоил Algorithm Builder, очень понравился, особенно встроенный отладчик. Програматор в этой среде, очень простая схема для Сом порта, но работает как автомат Калашникова.
Аватара пользователя
bobych
Новичок
Сообщения: 8
Зарегистрирован: 01 апр 2012, 12:34

Re: Бесконтактный тахометр на микроконтроллере AVR

#17

Сообщение bobych »

Пока бум делать как есть.
Аватара пользователя
xfly
Новичок
Сообщения: 9
Зарегистрирован: 22 мар 2012, 00:29

Re: Бесконтактный тахометр на микроконтроллере AVR

#18

Сообщение xfly »

bobych писал(а):Пока бум делать как есть.
А для каких целей собираетесь использовать, если не секрет? Мне тахометр нужен в качестве переносного прибора, для использования на работе.
Аватара пользователя
bobych
Новичок
Сообщения: 8
Зарегистрирован: 01 апр 2012, 12:34

Re: Бесконтактный тахометр на микроконтроллере AVR

#19

Сообщение bobych »

Имею токарный 34го года выпуска с самодельной коробкой на ремнях.
Мотор подвешен,натяжка ремней за счет веса мотора.
Все это прыгает,дергается "увеличивая" точность.
Хочу упростить и поставить частотник.Для этого нужно померять что есть.
Еще у мя маленький самодельный ЧПУ.Шпиндели то же самоделка.
Делалось для сверловки плат,и граверовки надписей.
Вот тут без тахометра ну ни как.Пока мерял фотодиод,резистор,батарейка- осциллограф,калькулятор.
Но таскать такую связку не удобно.
Довольно долго искал схему тахометра чтоб мог мерять в широком диапазоне.
Токарный от 20-30 об\мин до 30000 ЧПУ.Можно конечно и самому родить такое на AVR,
но смущают временные затраты.С асемлером знаком на любительском уровне.
Си - это темный лес,в котором одно дерево повалилось,и пробивается тонкий лучик света.
Одну програмку на Си для себя написал и пользую.
Где то вот так.
Смотрел исходник,в файле lcd_4b.c во всех строках содержащих for (i=0; i<16; i++)
16 заменить на 8 ну и еще кой чего посмотреть.Типа вывод строки...
мож проще автора найти и попросить чтоб подправил?
Да,а сколько тока потребляет с подсветкой индикатора и без?
Аватара пользователя
Aleksey
Любитель
Сообщения: 16
Зарегистрирован: 07 янв 2012, 22:42
Откуда: Москва

Re: Бесконтактный тахометр на микроконтроллере AVR

#20

Сообщение Aleksey »

Всем привет. Выкладываю прошивки для дисплея 08х02. Проверял от генератора 1кГц. Фото ниже.
Фото4068.jpg
Фото4068.jpg (36.64 КБ) 58868 просмотров
Вложения
tachometr.rar
Прошивки
(7.38 КБ) 2412 скачиваний
Ответить