Установка тахометра на токарный станок
Есть у меня товарищ Серега. Отличный слесарь, руки золотые. Любит фрезеровать и строить модели посудин всяких из дерева. И понадобился ему для металлообрабатывающего станка тахометр. Вызвался помочь и получилось следующее.
Схему лень рисовать, да и индикаторы у всех разные. Да и рисовать там нечего: мега и к ней напрямую 12 ног индикатора подключено.
По портам:
B0 F
B1 COM 4
B2 COM 3
B3 B
B4 E
B5 D
C0 COM 2
C1 COM 1
C2 COM 0
C3 H
C4 C
C5 G
D6 COM 5
D7 A
COM — общий вывод для всех ног светодиодов цифры.
На всякий случай печатная плата:
И готовая плата:
Развел как сумел. Есть, наверно, ошибки по вч части.
Для надежности лаком для ногтей закрасил, чтоб не коротнуло.
Схема датчика такая же, как и схема датчика для стенда для настройки тнвд из записи чуть раньше. Сделан из колобковой мышки. На самом девайсе добавил конденсатор в цепи датчика ибо помехи ловил (кондер мелкий, что-то в районе пикофарад, не помню точно).
Что-то фото в работе не сделал, но вот вам фотка предыдущего тахометра. Индикатор не моргает, ибо 595. Люблю 595.
А теперь самое интересное — прошивка. Файлы не приложить, так что говнокод будет тут.
Добавлю только самое главное.
Компилил в CodeVisionAVR.
Мега работает на 16 мГц
Таймер 1 отсчитывает секунды: частота таймера 15,625 kHz, компаратор срабатывает каждые 15,625 импульсов.
Таймер 0 считает импульсы с датчика.
это то, что отображается на индикаторе:
unsigned int rpm = 0;
прерывание 1 таймера раз в секунду: берем обороты за секунду и умножаем на 60
interrupt [TIM1_COMPA] void timer1_compa_isr(void)
<
rpm = (unsigned int)TCNT0 * (unsigned int)60;
TCNT0 = 0;
TCNT1 = 0;
>
включает нужные сегменты:
void digit (char c)
<
____PORTB.0 = (c == 0) || (c == 4) || (c == 5) || (c == 6) || (c == 8) || (c == 9) || (c == 0);
____PORTB.3 = (c == 1) || (c == 2) || (c == 3) || (c == 4) || (c == 7) || (c == 8) || (c == 9) || (c == 0);
____PORTB.4 = (c == 2) || (c == 6) || (c == 8) || (c == 0);
____PORTB.5 = (c == 2) || (c == 3) || (c == 5) || (c == 6) || (c == 8) || (c == 9) || (c == 0);
____PORTC.3 = 0;
____PORTC.4 = (c == 1) || (c == 3) || (c == 4) || (c == 5) || (c == 6) || (c == 7) || (c == 8) || (c == 9) || (c == 0);
____PORTC.5 = (c == 2) || (c == 3) || (c == 4) || (c == 5) || (c == 6) || (c == 8) || (c == 9);
____PORTD.7 = (c == 2) || (c == 3) || (c == 5) || (c == 6) || (c == 7) || (c == 8) || (c == 9) || (c == 0);
>
включает нужные цифры (индикация то динамическая)
void pos ( char c)
<
____PORTC.2 = (c != 0);
____PORTC.1 = (c != 1);
____PORTC.0 = (c != 2);
____PORTB.2 = (c != 3);
____PORTB.1 = (c != 4);
____PORTD.6 = (c != 5);
>
выключает все сегменты
void no_digit ()
<
____PORTB.0 =
____PORTB.3 =
____PORTB.4 =
____PORTB.5 =
____PORTC.3 =
____PORTC.4 =
____PORTC.5 =
____PORTD.7 = 0;
>
выключает все цифры
void no_pos ()
<
____PORTC.2 =
____PORTC.1 =
____PORTC.0 =
____PORTB.2 =
____PORTB.1 =
____PORTD.6 = 1;
>
Ну и основной цикл
no_digit ();
no_pos ();
while (1)
<
____unsigned int value = rpm; // копируем значение rpm — будем препарировать его
____int i = 0;
____char showSmthFlag = 1; // флаг покажет нам нужно ли отображать цифру (чтоб было 0 вместо 000000)
____for(i = 0; i < 6; i++) <
________pos (i); // включаем цифру
________if(showSmthFlag) // если надо — отображаем на текущем месте значение
____________digit (value % 10);
________delay_us (100); // ждем, пока человек увидит цифру (индикация то динамическая)
________no_digit (); // все выключаем
________no_pos ();
________value = value / 10; // переходим к следующему разряду
________if(!value) showSmthFlag = 0; // дальше остались одни нули — их показывать не нужно
____>
>
Итак, приступаем к сборке. Как уже упоминалось самодельный тахометр состоит из двух основных частей: моторчика работающего от постоянного тока и вольтметра. Если такого моторчика у Вас нет, его легко можно купить на блошином рынке по цене буханки хлеба или дешевле, по цене двух буханок можно купить новый в магазине электронных компонентов. Если нет вольтметра, он обойдется дороже моторчика, однако на том же блошином рынке его цена будет вполне приемлемой. Вольтметр подключается к контактам моторчика, и все, тахометр готов. Теперь нужно испытать готовый тахометр в работе. При вращении вала моторчика-генератора будет создаваться напряжение, пропорциональное частоте вращения. Следовательно, частоте вращения будут пропорциональны и показания вольтметра.
Проградуировать такой тахометр можно по-разному. Например, построить справочный график зависимости напряжения от частоты вращения якоря или сделать новую шкалу вольтметра, на которой вместо воль записывается число оборотов.
Так как график отражает линейную зависимость, достаточно отметить две-три точки и провести через них прямую. Получение контрольных точек - это самый проблемный этап подготовки самодельного тахометра к работе. Если есть доступ к фирменным станкам, контрольные точки легко получить, зажав резиновую трубочку, надетую на вал моторчика, в патроне сверлильного или токарного станка и включая станок на различных передачах, фиксировать показания вольтметра (скорость вращения шпинделя на каждой передаче указана в паспорте станка). В противном случае для калибровки придется использовать либо дрель, либо двигатель при режиме работы для которого известна частота вращения. И даже если удалось измерить напряжение на контактах моторчика только для одной частоты вращения, вторая точка - это пересечение осей (x) и (y) (то есть числа оборотов и напряжения), правда точность измерений по зависимости основанной на двух точках будет низкой.
Для измерения частоты вращения, вал исследуемого двигателя соединяется с моторчиком небольшим отрезком резиновой трубки или с помощью различных переходников. Если вольтметр зашкаливает при измерении больших скоростей вращения, в схему вводится переключатель с дополнительными резисторами. Потребуется и перестроение графика для каждого положения переключателя.
Возможности прибора можно значительно расширить. Если изготовить роликовый фрикционный переходник диаметром 31,8 мм, тахометр позволит измерять и линейную скорость, выраженную в метрах в минуту. Для этого количество оборотов в минуту, определенное по графику, делят на 10.
Точность измерения зависит практически только от тщательности построения графика и цены деления вольтметра. Подобный простейший и очень дешевый самодельный тахометр может найти широкое применение всюду, где нужно быстро определить частоту или скорость вращения валов, шкивов и других деталей.
Цифровой тахометр из смартфона своими руками
Самодельный стробоскопический тахометр из iPhone своими руками
Самодельный лазерный (оптический) тахометр из iPhone своими руками
Сравнительные измерения частоты вращения двигателя лазерным и стробоскопическим тахометрами
Разработка данных устройств началась когда одновременно двое моих знакомых купили станки СРН-05 с "уставшими" механическими счетчиками витков. Также знакомый, некоторое время владеющий токарным станком, попросил сделать ему тахометр. Т.к. последний из вышеперечисленных товарищей, работает электриком, у него, как и у любого технаря, скапливается списанная техника. Ввиду направления его работы у него скапливаются списанные, неисправные и просто счетчики электроэнергии с истекшим сроком проверки. Самой популярной моделью счетчика, попадающий на запчасти является трехфазный счетчик ЛЭМЗ ЦЭ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.
Всего понадобится 3 перемычки. Первая соединяет контактные площадки 2 и 22, вторая 3 и 21, третья 4 и 18. Если при запайке перемычек возникли проблемы и контактные площадки оторвались, то можно сделать перемычки между переходными отверстиями, расположенными рядом с контактными площадками, так даже надежней. Далее, чтобы не путаться в рапиновках разъема, обозначенного на плате счетчика как X1, была сделана наклейка с таблицей соответствия номеров контактов и линий управления контроллером ЖКИ. Файл для печати наклейки(Microsoft Publisher) прилагаю.
На этом отладочную плату с ЖКИ и контроллером HOLTEK HT-1621B можно считать готовой. Ее можно подключать к Arduino или другой отладочной плате и заливать тестовую программу/скетч. Для тестового скетча подключение оптодатчика не обязательно.
Для облегчения восприятия, в программе 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)
Для повышения точности тахометра (если необходимо измерять низкие обороты) необходимо увеличить количество отверстий в диске, и соответственно изменить значение. Для одной дырки 60, для 2-х 30, 3-20, 4-15, 6-10. Отверстия рекомендую сверлить тонким сверлом и через равные промежутки.
Так как программы получились небольшие, да и Arduin'ка у меня одна, а прибора надо было 3, было решено развести платы на AtMega8. Данные приборы будут эксплуатироваться в т.н. "гаражных" условиях я решил сделать плату универсальной, в том числе и в плане питания. Я поставил диодный мост и КРЕН'ку, чтобы прибор можно было запитать от первого попавшегося маломощного трансформатора или БП. Сперва я нарисовал схему в Proteus'е.
Затем настало время чертить плату. Идея сделать на плате разъем PBS-10 и воткнуть плату в уже распаянный разъем отладочной платы с ЖКИ и HOLTEK"ом "вторым этажом", была с самого начала, но я не был уверен в том как данное соединение поведет себя в условиях вибраций, которые возможны (прим. неотбалансированная заготовка на станке). Для решения данной проблемы я предусмотрел крепежные отверстия по углам платы.
Начертив плату в программе Sprint-Layout 5, я принялся за ее изготовление. Изготавливать плату решил, традиционным для себя, фоторезистивным способом. Сперва отрезал и зашкурил кусок фольгированного стеклотекстолита, размером
60x35mm(чуть больше чем нужно). Затем я прошелся по заготовке губкой "scotch bright".
Затем вырезал чуть большей по размеру кусок пленочного фоторезиста, и при помощи ламинатора "накатил" и приклеил его к текстолитовой заготовке.
Пока заготовка ездила по ламинатору, на лазерном принтере был напечатан фотошаблон. Далее экспонируем, проявляем, травим, моем, сверлим, паяем. Должно получится как-то так.
Так как конкретно данная плата предназначалась для тахометра, разъем под кнопку сброса(J2) не впаян. Для счетчиков необходимо запаять этот разъем. Затем необходимо прошить в ATmega8 загрузчик Arduino «bootloader» по инструкции. Используя этот загрузчик мы используем встроенный в ATmega8 тактовый генератор на 8MHz. Для прошивки я использовал программатор USBTINY. Далее, не отсоединяя "мегу" от программатора, запускаем Arduino IDE, импортируем библиотеку, открываем нужный скетч, выбираем программатор, компилируем(CTRL+R) и прошиваем(CTRL+SHIFT+U). Все, можно вынимать МК из панельки программатора, вставлять в панельку на плате и состыковывать бутерброд из плат. Ниже приведены образцы того как это выглядит в собранном виде.
И с обратной стороны.
На фото видно, что на первой сделанной плате была допущена ошибка, на разъем J3 я вывел 5V заместо земли(с кем не бывает), пришлось резать дорожку и кидать перемычку. На чертеже платы прикрепленном к статье данная ошибка исправлена, а других не обнаружено. Убедившись в том что ошибок на плате нет, можно включать и испытывать.
На данном фото показан готовый тахометр, перед тем как он был отдан товарищу с токарным станком.
P.S. Контроллер ЖКИ HOLTEK HT-1621, помимо данной модели электросчетчика, также применяется: в некоторых счетчиках "меркурий" и "энергомера", стационарных телефонах, также в дисплеях кассовых аппаратов. Да и китайцы на ebay'е готовые платки продают. Конечно сам ЖКИ и плата будут уже другими, но вывод не долго переделать.
Что не мог купить прибор типа лазерное наведение ? приклеил белую полоску и все .без гемороя,притом прибор на расстоянии. А так ты гамно купил + магнит + сранная эпоксидка. Это танцы с бубном,головняк великий.
Anton FOX
ни.уя не понял , но лайк поставил
Макс кич
Игорь, скажите, пожалуйста, у этого тахометра есть коррекция оборотов х2, х3 и т. д. Нужно обороты вала подач перевести в мм/мин. обороты вала где-то 10об/мин. увеличить х40 будет подача 400мм/м. Короче, чтобы на табло вместо 10-20 показывало 400-800. Спасибо!
Василий Ветров
👍👍👍
Цифровой линейки не хватает😁
Аскар Бик
Доброе время суток,знаю что прошло много времени,но хотел спросить где взять шильды на от5,таблицу для нарезания резьб?Буду признателен.
Алексей Кулешов
мерцает дисплей. и тем более он как-то не сразу показывает обороты.наверное всё-таки питания нехватает.но станок с вариатором и тахометр очень удобно
Алексей Кулешов
сколько уже раз в видео видел как ты привариваешь с аргоном-он все металлы чтоли сваривает?
Bozman SV
Для меня крайне полезная информация, спасибо!
Василий Сандалов
На частотнике 20mA это скорее всего сигнал аналогового управления 4-20mA , где 4mA это задание ноль герц -0% загрузки/остановка двигателя, а 20mA это задание частотнику 50рерц -100% загрузки двигателя.то есть от 4 до 20 милиампер это диапазон управления скоростью двигателя. Этот аналоговый вход может даже не иметь собственного питания (не активный).
В общем это интерфейс внешнего аналогового управления сигналом 4-20мА с контроллера ,либо с вторичного аналогового датчика.
Milan Sliacky
стас юрков
плохо приварил отвалиться)))) пипец
HUMMER 71
Привет, я себе на тв4, поставил тоже китайский тахометр, но только круглый на 52мм и теперь доволен!
Ирина Терновская
зачем на токарном станке тахометр? При обточке же видно , как работает резец в режиме или нет ?!
Евгений Радецкий
ну оооочень тормазнутый тахометр
Hec Hec
здорова! не мог бы показать вариатор а именно тот механизм который при врашении рукояткм сдвигает щетки
Восстанавливая токарный станок ТВ-16, решил заменить редуктор (контрпривод ) на ПЧ.
Для этого был приобретен ПЧ Magnetek GPD205-B001 AC DRIVE 380VAC 3PHASE 1,5 KW у нашего коллеги Гаражник из Ворнежа.
Но эксплуатация любого (не только токарного станка) с ПЧ наряду с преимуществами плавной (электронной) регулировки оборотов электродвигателя имеет и маленькое неудобство – отсутствие визуального контроля оборотов шпинделя станка. Поэтому в дополнение к ПЧ, в качестве источника информации об оборотах шпинделя, возникает необходимость в установке специального измерительного прибора — тахометра.
Проанализировав имеющийся опыт коллег на нашем форуме, я сначала пошел проторенным путем – купил на авторынке готовый автомобильный тахометр Т-520 с целью его установки на станок после необходимой доработки. Однако ближе познакомившись с этим прибором, был очень разочарован его возможностями и вынужден был от него отказаться.
Данный тахометр предназначен сугубо для автомобилей, т.к. имеет ряд ненужных дополнительных функций, которые делают неудобной его эксплуатацию на станке. Его принципиальной схемы и прошивки микроконтроллера я, конечно же, нигде не нашел. Поэтому решил делать тахометр сам. В поисках информации в Интернете по электронным тахометрам перебрал несколько вариантов решения данной задачи, от схем на дискретных элементах до схем на микроконтроллерах. Сразу отказался от вариантов дисплеев на ЖКИ по причине плохой информативности (необходимости вглядываться в их показания с близкого расстояния), что неудобно. Показания станочного тахометра, на мой взгляд, должны были выводиться крупными яркими цифрами и прямым счетом, т.е. без необходимости умножать показания на один или два порядка.
Изобретать велосипед я не стал. Взял за основу схему электронного тахометра на микроконтроллере ATTINY 2313 c небольшой его доработкой.
В качестве дисплея применен четырехразрядный цифровой светодиодный дисплей — индикатор с высотой цифр 14,2 мм (цвет лучше взять красный или оранжевый яркий). Для большей точности и стабильности измерений в схеме тахометра применен кварцевый резонатор на 8 MHz. Предел измерений тахометра 10 – 9990 об./мин. Показания младшего разряда (единицы) специально округляются до 10 для лучшего восприятия показаний (т.е. для устранения эффекта мелькания единиц). Для увеличения точности измерения за один оборот шпинделя датчик выдает на вход прибора 2 импульса. Частота обновления показаний тахометра выбрана 0,3 сек. Питание тахометра: DC 12V.
Для прошивки микроконтроллеров AVR попутно был изготовлен программатор STK200/300, который подключается к LPT разъему компьютера. При этом пользуюсь программой PonyProg2000.
Печатная плата разведена при помощи программы Sprint–Layout и изготавливается при помощи ЛУТ на фольгированном стеклотекстолите.
В качестве корпуса прибора использован корпус от реле РП-7. Хотя для установки тахометра на панель блока управления станком, отдельный корпус, в принципе, и не нужен.
Отдельно остановлюсь на датчике. Перепробовал несколько вариантов датчика: магнит-геркон, оптопара на просвет, оптопара на отражение… Остановился на последнем варианте: оптопара на отражение по причине простоты его изготовления , надежности и удобства в эксплуатации. Пробовал использовать готовые оптопары от оргтехники, но пришел к выводу, что лучше делать самому из доступных деталей: старой мышки от компьютера (с шариком) и корпуса кварцевого резонатора.
На плате мышки имеется 3 оптопары на просвет. Вырезается любая из них вместе с кусочками платы по ширине соответствующими внутреннему размеру корпуса кварцевого резонатора. К корпусу припаивается металлическая пластинка с отверстием для последующего крепления датчика в станке и сверлится отверстие для провода (я применяю двухжильный экранированный). Затем припаиваются провода к соответствующим выводам. Передающая и приемная части оптопары располагаются в корпусе рабочими поверхностями наружу под углом примерно 120 градусов таким образом, чтобы предполагаемая точка отражения как бы фокусировалась на расстоянии 10-15 мм от рабочей поверхности датчика. Корпус датчика заполняется эпоксидной смолой до уровня рабочих поверхностей оптопары, что обеспечивает его герметичность и механическую прочность. Поверхность контролируемой вращающейся плоскости окрашивается черной краской и к ней приклеиваются диаметрально 2 полоски алюминиевой фольги. Сам датчик закрепляется на расстоянии примерно 10 мм от контролируемой вращающейся поверхности.
В итоге получился простой , надежный и удобный тахометр, который можно устанавливать на любой станок или другое устройство для контроля за скоростью вращения детали.
По этой технологии мною изготовлены 4 экземпляра тахометра (2 — для своей мастерской и 2 — для коллеги orlovca из Воронежа). Все тахометры работают одинаково стабильно и надежно.
Цифровой тахометр на микроконтроллере PIC16F628
Этот цифровой тахометр пригоден для подсчета количества оборотов практически любого типа двигателя внутреннего сгорания. Погрешность измерения тахометра составляет всего 50 оборотов/минуту. Для показа результата используется четырехразрядное светодиодное табло. Для настройки режима работы необходимо использовать кнопку «Select». Первое нажатие выводит на табло текущий режим работы. Режимом работы по умолчанию является третий, когда датчик выдает два импульса за оборот маховика. Соответственно, на табло появится надпись Р-2,0.
Каждое последующее нажатие кнопки переключает режим работы тахометра на следующий. Всего их девять: 0.5, 1, 2, 3, 4, 5, 6, 7, 8 имп./оборот соответственно, они устанавливают количество импульсов выдаваемых датчиком за один оборот маховика. Чем выше количество импульсов, тем точнее производится измерение.
После выбора режима работы необходимо подождать 5-10 секунд. За это время тахометр произведет запись режима работы в память микроконтроллера и перейдет в рабочий режим. В дальнейшее тахометр будет сразу при подаче питания переходить в рабочий режим. Если возникает необходимость перенастроить тахометр, то надо нажать кнопку «Select» и произвести настройку тахометра еще раз.
Стоит обратить внимание на параметры и устройство входной цепи. Для конкретного типа зажигания возможны некоторые корректировки номиналов, из-за разных устройств зажигания в различных видах авто. Это необходимо, чтобы тахометр хорошо работал с основными гармониками и не реагировал на высшие гармоники. Без такой корректировки точная работа тахометра невозможна.
Обновленная версия прошивки включает в себя функцию проверки индикаторов. Это необходимо для проведения двухсекундного теста выявления неисправности датчиков.
Читайте также: