Страница 1 из 3

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

Добавлено: 08 янв 2012, 19:46
Aleksey
Решил проверить прибор представленный на сайте http://www.ikalogic.com/ika_tach.php. Микроконтроллер использовал Atmega168 в dip-корпусе вместо Atmega48, пришлось перекомпилировать прошивку. Инфракрасные светодиоды (приемник и передатчик) взял из старого датчика дыма от пожарной сигнализации. Прибор работает от 3-х батареек AA. Показания прибора проверял на трехфазном двигателе с частотой вращения 2710 об/мин.,тахометр показывает 2957 об/мин. Хочу отметить что на показания тахометра влияет диаметр вала на котором приклеена светоотражающая наклейка. Во вложении печатка в формате DipTrace.
Изображение
Изображение
Изображение
Изображение
Изображение

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

Добавлено: 09 янв 2012, 12:02
Aleksey
Описание на русском языке здесь: http://www.rlocman.ru/shem/schematics.html?di=73221

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

Добавлено: 09 янв 2012, 12:36
AntonChip
Вот еще пример http://www.8051projects.net/download-d2 ... oller.html только на PIC16f690, принцип действия такой же, можно и его проверить :)
Изображение

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

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

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

Добавлено: 22 мар 2012, 06:32
Aleksey
Fuse-биты только поменял для работы от внешнего кварца 20МГц (CKSEL=1111 SUT=10)

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

Добавлено: 23 мар 2012, 00:14
xfly
Спасибо! Еще вопросы, зачем нужна кнопка В1 и светодиод LED3? На схеме излучатель IR1 подключен через транзистор Q2, это значит что излучатель во время измерения работает в импульсном режиме? Просто я хочу узнать, можно ли к тахометру подключить внешний источник импульсов или обязательна какая нибудь синхронизация с импульсами излучателя. Или транзистор Q2 просто включает излучатель на время измерения и служит источником подсветки для фотоприемника, а потом для экономии батарей его выключает? Какой программой Вы компилировали исходник? У меня есть CodeVisionAVR, но ему нужен файл проекта, а в скаченных исходниках его нет, а как собрать все эти файлы в проект я еще не знаю. Просто файлы открываються, но компилировать их нельзя.

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

Добавлено: 23 мар 2012, 06:30
Aleksey
При нажатии на кнопку В1 начинается процесс измерения, загорается LED3 и включается ИК излучатель(он горит постоянно :) ). LED3 нужен только для визуального контроля наведения ИК приемопередатчика на вал двигателя, можно обойтись и без него, я измерял примерно на расстоянии 1 см. При отпускании кнопки измеренные показания остаются на дисплее. Исходник написан под WinAVR GCC, но я с ним ничего не делал.

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

Добавлено: 23 мар 2012, 13:48
xfly
Спасибо! Все понятно, мне такой принцип работы и нужен. Я уже изготовил этот тахометр, используя Вашу плату. Осталось прошить его, Вас не затруднит откомпилировать
исходник для меги 48. У меня нет WinAVR GCC, да и пользоваться этой программой неумею. Заранее Спасибо!

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

Добавлено: 23 мар 2012, 19:38
Aleksey
Выкладываю проект для AVRStudio для меги48, hex-файл внутри. xfly, ждем отчет о работе прибора ;)

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

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

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

Добавлено: 25 мар 2012, 15:40
Aleksey
EEPROM точно программировать не надо, а на счет разных значений, где-то есть наводка , попробуй с обычной оптопарой

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

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

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

Добавлено: 27 мар 2012, 16:15
Aleksey
Кстати, у меня сначала тоже дисплей показывал всякую фигню пока я не подобрал подходящий приемопередатчик, бывает еще, что засвечивается фотодиод.

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

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

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

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

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

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

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

Добавлено: 05 апр 2012, 07:02
bobych
Пока бум делать как есть.

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

Добавлено: 06 апр 2012, 01:10
xfly
bobych писал(а):Пока бум делать как есть.
А для каких целей собираетесь использовать, если не секрет? Мне тахометр нужен в качестве переносного прибора, для использования на работе.

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

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

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

Добавлено: 08 апр 2012, 11:40
Aleksey
Всем привет. Выкладываю прошивки для дисплея 08х02. Проверял от генератора 1кГц. Фото ниже.
Фото4068.jpg
Фото4068.jpg (36.64 КБ) 58873 просмотра