Реклама ⓘ
Главная » Мастерская
Призовой фонд
на апрель 2024 г.
1. 100 руб.
От пользователей

Реклама ⓘ

Счетчик витков намоточного станка и тахометр токарного станка на ATmega8 - Arduino

Разработка данных устройств началась когда одновременно двое моих знакомых купили станки СРН-05 с "уставшими" механическими счетчиками витков. Также знакомый, некоторое время владеющий токарным станком, попросил сделать ему тахометр. Т.к. последний из вышеперечисленных товарищей, работает электриком, у него, как и у любого технаря, скапливается списанная техника. Ввиду направления его работы у него скапливаются списанные, неисправные и просто счетчики электроэнергии с истекшим сроком проверки. Самой популярной моделью счетчика, попадающий на запчасти является трехфазный счетчик ЛЭМЗ ЦЭ2727. Для удобства, на фото показаны две платы.

Плата ЦЭ2727

На плате счетчика присутствуют:

  • Микроконтроллер Microchip PIC16F76
  • микросхема часов реального времени с батарейкой
  • i2c ПЗУ'шка
  • спец. АЦП ADE7752AR
  • ЖК дисплей в комплекте с микросхемой-контроллером HOLTEK HT-1621B
  • куча другой полезной SMD рассыпухи (кренка, опорник, оптопары, кварцы...)

При беглом поиске на просторах интернета, была найдена статья http://pakhom.weebly.com/ard_ht1621.html автор которой разобрался с подключением к Arduino ЖК дисплея на таком же контроллере. Скачав библиотеку и тестовый скетч, я вернулся к железу. На плате много незаполненных компонентами контактных площадок, что намекает нам на то что данные счетчики не нафаршированы лишними опциями. Платы бывают нескольких ревизий, между собой отличаются они: цветом маски, корпусами и расположением некоторых деталей(на пример оптопар), распиновка нужных для переделки компонентов остается неизменна. Первым делом я захотел сделать, так называемую, "отладочную плату" с ЖК дисплеем и его контроллером, для этого необходимо отпаять все активные и габаритные компоненты с верхней части платы счетчика, кроме ЖКИ и контроллера HOLTEK HT-1621B. 

Плата без россыпухи

Отпаянные детали(PIC, ПЗУ, RTC, оптопары, ....) и нижнюю часть платы можно оставить для использования в других проектах. Горизонтальный изоляционный пропил в плате, подкидывает не плохую идею..... 

отрезанные платы

Для обрезки плат я применил ножницы по металлу, но можно использовать и ножовку по металлу или лобзик. Также на плате присутствует(справа от экрана) место под разъем PLS-10, на этот разъем выведено питание и rx\tx UART'a микроконтроллера PIC. Запаиваем разъем PLS-10, но с обратной стороны платы, это позволит как подключать Arduino для отладки, так и навесить самодельную плату "вторым этажом" снизу. Далее следует вывести необходимые 3 линии(DATA, CS, WR) контроллера ЖКИ на разъем PLS-10. Проще всего это делается запайкой перемычек на то место где был МК PIC.

перемычки PIC

Всего понадобится 3 перемычки. Первая соединяет контактные площадки 2 и 22, вторая 3 и 21, третья 4 и 18. Если при запайке перемычек возникли проблемы и контактные площадки оторвались, то можно сделать перемычки между переходными отверстиями, расположенными рядом с контактными площадками, так даже надежней. Далее, чтобы не путаться в рапиновках разъема, обозначенного на плате счетчика как X1, была сделана наклейка с таблицей соответствия номеров контактов и линий управления контроллером ЖКИ. Файл для печати наклейки(Microsoft Publisher) прилагаю. 

таблица

На этом отладочную плату с ЖКИ и контроллером HOLTEK HT-1621B можно считать готовой. Ее можно подключать к Arduino или другой отладочной плате и заливать тестовую программу/скетч. Для тестового скетча подключение оптодатчика не обязательно.

arduino debug

Для облегчения восприятия, в программе Fritzing была нарисована монтажная схема подключения отладочной платы и датчика к Arduino.

Макет

При первых экспериментах с софтом, тестовый скетч отказывался компилироваться, ругань компилятора была про библиотеку. Как выяснилось, некоторый критичный код в библиотеке был написан КАПСОМ! Исправленную библиотеку предлагаю. Далее на форуме http://www.arduino.ru/forum/apparatnye-voprosy/podklyuchenie-i-ispolzovanie-zhk-segmentnogo-indikatora был найден код который выводит uptime микроконтроллера в миллисекундах на ЖКИ. Но к сожалению при попытке вывести цифры на экране появлялись непонятные символы. Почитав datasheet на HOLTEK я понял что вывод информации предполагается блоками по 3 сегмента. Переделав матрицу и изменив параметры цикла функции вывода, я добился правильной работы тестового скетча. Далее я подключил к Arduino UNO оптодатчик от принтера, используя соответствующий токоограничительный(R1) и подтягивающий(R2) резисторы. Начать я решил с реализации программы для счетчика. Для того чтобы обеспечить возможность быстрой проверки, из катушки от печатной машинки и шуруповерта был сделан тестовый стенд.

прерыватель

На обоих "дисках" катушки уже было по одному отверстию, но с одной из сторон я просверлил еще одно, это пригодится для повышения точности тахометра. Программа счетчика витков основана на функции вывода с форума и прерываниях по 2-му порту. Сброс организован штатными средствами МК, ни чего нового я придумывать не стал. Программа тахометра тоже работает по прерываниям, но она считает сколько раз в секунду был пропущен/прерван свет в датчике и умножает эту переменную на 30(так как дырки в диске 2)

void pegarpm()
  {      
    rpmconta++;
  }

void loop()
{
  rpmconta = 0; 

    attachInterrupt(0, pegarpm, FALLING);
    delay(1000);
    detachInterrupt(0);
    rpmconta = rpmconta * 30; //зависит от количества отверстий

Для повышения точности тахометра (если необходимо измерять низкие обороты) необходимо увеличить количество отверстий в диске, и соответственно изменить значение. Для одной дырки 60, для 2-х 30, 3-20, 4-15, 6-10. Отверстия рекомендую сверлить тонким сверлом и через равные промежутки.

Так как программы получились небольшие, да и Arduin'ка у меня одна, а прибора надо было 3, было решено развести платы на AtMega8. Данные приборы будут эксплуатироваться в т.н. "гаражных" условиях я решил сделать плату универсальной, в том числе и в плане питания. Я поставил диодный мост и КРЕН'ку, чтобы прибор можно было запитать от первого попавшегося маломощного трансформатора или БП. Сперва я нарисовал схему в Proteus'е. 

схема

Затем настало время чертить плату. Идея сделать на плате разъем PBS-10 и воткнуть плату в уже распаянный разъем отладочной платы с ЖКИ и HOLTEK"ом "вторым этажом", была с самого начала, но я не был уверен в том как данное соединение поведет себя в условиях вибраций, которые возможны (прим. неотбалансированная заготовка на станке). Для решения данной проблемы я предусмотрел крепежные отверстия по углам платы.

Плата

Начертив плату в программе Sprint-Layout 5, я принялся за ее изготовление. Изготавливать плату решил, традиционным для себя, фоторезистивным способом. Сперва отрезал и зашкурил кусок фольгированного стеклотекстолита, размером ~60x35mm(чуть больше чем нужно). Затем я прошелся по заготовке губкой "scotch bright".

текстолит

Затем вырезал чуть большей по размеру кусок пленочного фоторезиста, и при помощи ламинатора "накатил" и приклеил его к текстолитовой заготовке. 

UV

Пока заготовка ездила по ламинатору, на лазерном принтере был напечатан фотошаблон. Далее экспонируем, проявляем, травим, моем, сверлим, паяем. Должно получится как-то так.

готово

Так как конкретно данная плата предназначалась для тахометра, разъем под кнопку сброса(J2) не впаян. Для счетчиков необходимо запаять этот разъем. Затем необходимо прошить в ATmega8 загрузчик Arduino «bootloader» по инструкции. Используя этот загрузчик мы используем встроенный в ATmega8 тактовый генератор на 8MHz. Для прошивки я использовал программатор USBTINY. Далее, не отсоединяя "мегу" от программатора, запускаем Arduino IDE, импортируем библиотеку, открываем нужный скетч, выбираем программатор, компилируем(CTRL+R) и прошиваем(CTRL+SHIFT+U). Все, можно вынимать МК из панельки программатора, вставлять в панельку на плате и состыковывать бутерброд из плат. Ниже приведены образцы того как это выглядит в собранном виде.

И с обратной стороны.

собрано

На фото видно, что на первой сделанной плате была допущена ошибка, на разъем J3 я вывел 5V заместо земли(с кем не бывает), пришлось резать дорожку и кидать перемычку. На чертеже платы прикрепленном к статье данная ошибка исправлена, а других не обнаружено. Убедившись в том что ошибок на плате нет, можно включать и испытывать.

На данном фото показан готовый тахометр, перед тем как он был отдан товарищу с токарным станком.

P.S. Контроллер ЖКИ HOLTEK HT-1621, помимо данной модели электросчетчика, также применяется: в некоторых счетчиках "меркурий" и "энергомера", стационарных телефонах, также в дисплеях кассовых аппаратов. Да и китайцы на ebay'е готовые платки продают. Конечно сам ЖКИ и плата будут уже другими, но вывод не долго переделать.

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
U1 МК AVR 8-бит
ATmega8
1 DIP-28Поиск в магазине ОтронВ блокнот
U2 Линейный регулятор
LM78L05
1 TO-92Поиск в магазине ОтронВ блокнот
BR1 Диодный мост
DF005M
1 DIP-4Поиск в магазине ОтронВ блокнот
C1, C4 Электролитический конденсатор100 мкФ2 Поиск в магазине ОтронВ блокнот
C2, C3, C5, C7 Конденсатор100 нФ4 керамика, C6 на плате счетчикаПоиск в магазине ОтронВ блокнот
R1, R2 Резистор
10 кОм
2 1/4 или 1/8 WПоиск в магазине ОтронВ блокнот
R3 Резистор
220 Ом
1 1/4 или 1/8 WПоиск в магазине ОтронВ блокнот
J1, J2 Клемма2 контакта2 Поиск в магазине ОтронВ блокнот
J3 Клемма3 контакта1 Поиск в магазине ОтронВ блокнот
J4 разъемPBS-101 на платуПоиск в магазине ОтронВ блокнот
LCD РазъемPLS-101 на плату от счетчикаПоиск в магазине ОтронВ блокнот
RESET Кнопкабез фиксации1 на сбросПоиск в магазине ОтронВ блокнот
P1 Датчик фотопрерывательинфракрасный1 из принтера или другой оргтехникиПоиск в магазине ОтронВ блокнот
LCD плата с ЖКИ и контроллеромHOLTEK HT-1621B1 от счетчика  ЛЭМЗ ЦЭ2727Поиск в магазине ОтронВ блокнот
Добавить все

Скачать список элементов (PDF)

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

Теги:

Опубликована: 0 0
Я собрал 0 1
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 5 Проголосовало: 1 чел.

Комментарии (8) | Я собрал (0) | Подписаться

0
халил #
Для счетчика витков моталки слишком наворочено. Тахометр для станка токарного? Многие знают что обороты строго фиксированные и изменяются коробкой передач. А для станка с частотным приводом? Там уже есть это. Лучше бы одно и доброе.
Ответить
0

[Автор]
shved #
Ну некоторые целые мозги для моталок делают, с укладкой витков и сигнализацией об обрыве провода. На СРН-05 укладка реализована механически. Токарный станок с частотным приводом(тоже самодельным), коробкой передач и вариатором, каждый раз пересчитывать из герц в обороты товарищу лень, да и ошибиться можно. Так просто удобней. Да и тахометры и счетчики можно использовать и для другого инструмента.
Ответить
0
халил #
Очумелым ручкам привет. Сама по себе переделка блока как тебе надо, не плохо. Но жутко большое. У меня счетчик витков реверсивный и маленький. 5 корпусов 176 серии и датчик холла. Со спичечный коробок. Нагромождать моталку всякими примочками излишне. А станки токарные сейчас уже все с приборами ЧПУ.
Ответить
0
andro #
Заинтересовало применение экрана, спасибо за статью!
Ответить
0

[Автор]
shved #
Да без проблем.
Кстати я тут недавно искал информацию по некоторым новым мултиметрам и обнаружил что HT-1621 применяется и там.
Ну а счетчиков и т.п. на этом контроллере, до сих пор огромное кол-во в обороте, детали для экспериментов найти не проблема.
Также знакомый недавно заказывал эти микрухи в Китае и ему прислали неупакованную нормально кучу в которой была часть holtek'ов и часть каких-то почти аналогов(с отличиями, я в подробности не лез). Так что, если соберетесь использовать в "боевых" проектах - имейте в виду.
Где-то год назад я делал знакомому двухканальный термометр на 10к термисторах для того чтобы он весел рядом с коллекторами отопления(частный сектор) и монеторил разницу температур на горячей и холодной стороне котла. Плату я для этого не травил, оставалась запасная arduino nano, я ее туда воткнул, питание от ЗУ старого телефона.
Ответить
0
Nike76 #
Спасибо! Не взялся бы за данное дело, но показалось очень интересным и легко повторяемым. Экранчик от ЭКР 2101к и правка символов, но как изменить столбцы? Добился только переворотом экрана , т.е. вместо первого символа читает с 8го (строка инверсно). А так мне нравиться.
Ответить
0

[Автор]
shved #
Добрый день, делал давно, всего уже не помню.

Они там что микруху вверх-тормашками припаяли или на верхний слой платы поставили? Ладно смысл от этого не меняется.

В цикле вывода программа выводит разряды по очереди начиная с 1-го и дальше инкриментит(++).
Для вывода цифр в обратном порядке достаточно поменять местами стартовое значение i(1) и конечное(9) и заменить (++) на (--).

Ну я думаю что вы смысл поняли.
Ответить
0
Nike76 #
Спасибо большое! Все получилось чудесно.....
//for (byte i=1; i 0; i--){//Разворот строки 8 чисел
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическая мощность?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Мини гравер 125 Ватт
Мини гравер 125 Ватт
Raspberry Pi 2 Ветрогенератор
вверх