Схемы 4 х разрядных счетчиков витков. Запоминающий реверсивный счётчик витков - Готовые устройства - Каталог статей - Микроконтроллеры - это просто! По проекту у нас три оси

Счётчик витков для намоточного станка

Когда-нибудь мотать трансформаторы вручную надоедает, и вот ты уже криво пилишь досочки бывшего шкафа для постройки намоточного станка. Станки эти бывают разными: с ручным приводом или с электрическим, с укладчиком витков и без. Но все их объединяет одно: необходимость счётчика витков. Это прекрасное дополнение позволит с комфортом наматывать многовитковые обмотки, как то, например, сетевые - под 1000 витков или первички выходных трансформаторов - под 3000. Хороший счётчик должен уметь считать в обоих направлениях: если ты решишь смотать часть витков, он должен вычесть их из подсчитанного количества. А если ты решишь мотать понемногу каждый день, то нужно бы запоминать, сколько уже намотал, чтобы потом продолжить с этого же места. Ну, и, разумеется, вся конструкция должна быть простейшей, на самых доступных деталях.

Как думаешь, быстро ли мы нашли такую? Правильно, нет. Конечно, понаделано всякого на атмегах с двухстрочными ЖК-дисплеями, но это же не бортовой компьютер! К тому же, некоторые счётчики витков просто не умеют считать назад.

И вот, наконец, нужная конструкция была найдена! Её придумал и воплотил Владимир, страница с авторским описанием:


Счётчик построен на распространённом микроконтроллере PIC16F628A. Четыре разряда количества витков отображаются семисегментным индикатором. Таким образом, можно мотать до 9999 витков, что актуально при намотке выходных трансформаторов. Имеются две кнопки: сброс и запоминание. В качестве датчиков используются два геркона. На валу станка необходимо просто прикрепить магнит.


В авторском варианте используется индикатор с общим катодом какой-то неведомой распиновки. Нам пришлось переделать как плату, под более широкий индикатор, так и прошивку, под индикатор с общим анодом. Но авторский вариант был проверен в симуляторе, работает хорошо.

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

Вероятно, конструкцию можно переделать с герконов на оптику, если кому нужно, или даже на механические контакты - дребезг подавляется программно.

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

Электронный счетчик, разрабатываемый на замену механическому, получается слишком сложным, если строить его на микросхемах малой и средней степени интеграции (например, серий К176, К561). особенно если необходим реверсивный счет. А чтобы сохранить результат при выключенном питании, необходимо предусмотреть резервную батарею питания.

Но можно построить счетчик всего на одной микросхеме - универсальном программируемом микроконтроллере, имеющем в своем составе разнообразные периферийные устройства и способном решать очень широкий круг задач. Многие микроконтроллеры имеют особую область памяти - EEPROM . Записанные в нее (в том числе во время исполнения программы) данные, например, текущий результат счета, сохраняются и после отключения питания.

В предлагаемом счетчике применен микроконтроллер Attiny2313 из семейства AVR фирмы Almel. В приборе реализован реверсивный счет, вывод результата с гашением незначащих нулей на четырехразрядный светодиодный индикатор, хранение результата в EEPROM при выключенном питании. Встроенный в микроконтроллер аналоговый компаратор использован для своевременного обнаружения уменьшения напряжения питания. Счетчик запоминает результат счета при отключении питания, восстанавливая его при включении, и аналогично механическому счетчику снабжен кнопкой обнуления показаний.

Схема счетчика представлена на рисунке. Шесть линий порта В (РВ2- РВ7) и пять линий порта D (PDO, PD1, PD4-PD6) использованы для организации динамической индикации результата счета на светодиодный индикатор HL1. Коллекторными нагрузками фототранзисторов VT1 и VT2 служат встроенные в микроконтроллер и включенные программно резисторы, соединяющие соответствующие выводы микроконтроллера с цепью его питания.

Увеличение результата счета N на единицу происходит в момент прерывания оптической связи между излучающим диодом VD1 и фототранзистором VT1, что создает нарастающий перепад уровня на входе INT0 микроконтроллера. При этом уровень на входе INT1 должен быть низким, т. е. фототранзистор VT2 должен быть освещен излучающим диодом VD2. В момент нарастающего перепада на входе INT1 при низком уровне на входе INT0 результат уменьшится на единицу. Другие комбинации уровней и их перепадов на входах INT0 и INT1 результат счета не изменяют.

По достижении максимального значения 9999 счет продолжается с нуля. Вычитание единицы из нулевого значения дает результат 9999. Если обратный счет не нужен, можно исключить из счетчика излучающий диод VD2 и фототранзистор VT2 и соединить вход INT1 микроконтроллера с общим проводом. Счет будет идти только на увеличение.

Как уже сказано, детектором снижения напряжения питания служит встроенный в микроконтроллер аналоговый компаратор. Он сравнивает нестабилизированное напряжение на выходе выпрямителя (диодного моста VD3) со стабилизированным на выходе интегрального стабилизатора DA1. Программа циклически проверяет состояние компаратора. После отключения счетчика от сети напряжение на конденсаторе фильтра выпрямителя С1 спадает, а стабилизированное еще некоторое время остается неизменным. Резисторы R2-R4 подобраны так. что состояние компаратора в этой ситуации изменяется на противоположное. Обнаружив это, программа успевает записать текущий результат счета в EEPROM микроконтроллера еще до прекращения его функционирования по причине выключения питания. При последующем включении программа прочитает число, записанное в ЕЕРРОМ, и выведет его на индикатор. Счет будет продолжен с этого значения.

Ввиду ограниченного числа выводов микроконтроллера для подключения кнопки SB1, обнуляющей счетчик, использован вывод 13, служащий инвертирующим аналоговым входом компаратора (AIM) и одновременно - "цифровым" входом РВ1. Делителем напряжения {резисторы R4, R5) здесь задан уровень, воспринимаемый микроконтроллером как высокий логический При нажатии на кнопку SB1 он станет низким. На состояние компаратора это не повлияет, так как напряжение на входе AIN0 по-прежнему больше, чем на AIN1.

При нажатой кнопке SB1 программа выводит во всех разрядах индикатора знак "минус", а после ее отпускания начинает счет с нуля. Если при нажатой кнопке выключить питание счетчика, текущий результат не будет записан в EEPROM, а хранящееся там значение останется прежним.

Программа построена таким образом, что ее легко адаптировать к счетчику с другими индикаторами (например, с общими катодами), с другой разводкой печатной платы и т. п. Небольшая коррекция программы потребуется и при использовании кварцевого резонатора на частоту, отличающуюся более чем на 1 МГц от указанной.

При напряжении источника 15 В измеряют напряжение на контактах 12 и 13 панели микроконтроллера относительно общего провода (конт.10). Первое должно находиться в интервале 4...4.5 В, а второе - быть больше 3,5 В, но меньше первого. Далее постепенно уменьшают напряжение источника. Когда оно упадет до 9... 10 В, разность значений напряжения на контактах 12 и 13 должна стать нулевой, а затем поменять знак.

Теперь можно установить в панель запрограммированный микроконтроллер, подключить трансформатор и подать на него сетевое напряжение. Спустя 1,5...2 с нужно нажать на кнопку SB1. На индикатор счетчика будет выведена цифра 0. Если на индикатор ничего не выведено, еще раз проверьте значения напряжения на входах AIN0.AIN1 микроконтроллера. Первое должно быть больше второго.

Давно хотел собрать счетчик витков для ручного намоточного станка. Хотелось сделать устройство с батарейным питанием от двух микропальчиковых батарей, потребляющее мало энергии в рабочем режиме, имеющее простое кнопочное управление-«Сброс», «Вкл/Выкл». Счетчик должен уметь реверсно считать. Иногда приходится отматывать витки, или бывают не штатные ситуации.

В наличии были STM8S003F3P6 и STM8L051F3P6 в корпусах TSSOP-20. Выяснилось что S003 не годится для моей задумки-у нее питания 3-5в, и скорее всего при 50% разряде 3вольтовой батареи микроконтроллер работать не будет. Поэтому выбор пал на STM8L051F3P6. По даташиту питание у нее от 1,8 до 3,6в. В качестве дисплея решено было использовать МT-10T7 Российского производителя МЭЛТ. Данный ЖК был куплен лет 7 назад, с тех пор достойного применения так и не нашел.Выкинуть его было жалко.

Поговорим о датчике.Сначала я использовал интегральные датчики Холла,формирующие логический сигнал на выходе. Достались с платы подводного фонаря. Оказалось, что они перестают срабатывать уже при небольшом числе оборотов. Это меня огорчило. Пришлось изобретать свой велосипед. Решил использовать датчики холла от мотора cd-rom привода и ОУ lm358. Крайне сомнительно была работа этой затеи от 3в. Но попытка не пытка. На мое удивление схема отлично заработала при таком питании.

Схема проще не придумаешь. R5-задает ток через датчики Холла U1,U2. На DA1, сделан усилитель с КУ=50. Сигналы с выходов DA1 не соответствуют логическим уровням STM8,поэтому к его выходам подключены транзисторы Q1,Q2 представляющие преобразователя уровней.Входы микроконтроллеров подтянуты через резисторы к плюсу,поэтому дополнительный огород городить не стал. Зачем на плате предусмотрены элементы С1,С2-уже и не помню.Очевидно собирался бороться с помехами. Транзисторы на самом деле bc817-40. Но и те что на схеме должны работать. Датчики холла hw-101A(маркировка D).

Питание на датчик, и дисплей приходят с вывода PB1 микроконтроллера. Нагрузочной способности для этих целей более чем достаточно.

R1 это перемычка. Номинала 0 Ом у меня не нашлось,поэтому поставил самый мелкий что был.

Максимальное значение для счета это 65535. Кнопка «RESET» используется для сброса показаний счетчика, «ON/OFF» -вкл/выкл устройства.

Печатную плату можно назвать скорее отладочной.

Фото готового устройства.

В качестве датчика оборотов выступает стеклотекстолитовый диск, с приклеенным на нем ниодиевым магнитом диаметром 5мм,толщиной 1мм, и плата с датчиками Холла.Растояние между магнитом и датчиками около 5мм. Половина знакомест на дисплее осталась не задействована. Ни чего умнее не придумал-как показывать там напряжение питания. Контрастности индикатора не достаточно,поэтому пришлось наклонить всю плату под 45градусов. На фото датчик прикреплен скотчем, потом я его прикрепил несколькими витками изоленты. Конструкция получилась не шибко эстетичной, но этого мне вполне достаточно. Сам намоточный станок-ничто иное как старый механизм для перемотки кинопленки.Ни знаю какие манипуляции он был призван производить, но на него надевается бобина с пленкой. Индикатор,батарейный отсек, плата микроконтроллера приклеены к куску текстолита термоклеем.

Потребляемый ток во включенном состоянии 12,8мA , в выключенном 1,71мкА.

Программное обеспечение.

Код написан в среде IAR Embedded Workbench IDE. Микроконтроллер работает от встроенного RC генератора HSI с частотой 16мгц. Подсчетом числа витков занимается таймер общего назначения TIM2. Он имеет 16битный счетный регистр, и возможность работы с экодером(encoder mode). Это существенно облегчает задачу. Достаточно настроить таймер, и забыть. Он сам по себе будет считать значения, и реализовывает возможности реверсного счета. Правда из-за особенностей работы этого режим значения в регистре счетчика- в два раза больше реальных.

Конечно же значения из TIM2 нужно как то извлекать, и выводить на экран. Этим занимается 8битный TIM4, генерирующий прерывания, по которому происходит эта операция. Прерывания приходят каждые 8мс. В обработчик добавлен опрос кнопки «сброс»,и манипуляции по выводу информации от АЦП и TIM2 на экран.

Измерением напряжения батареи занимается АЦП. Вход опорного напряжения, внутри соединен с плюсовым источником питания микроконтроллера. Выбрать внутренний источник нельзя(как это например сделано в AVR). Зато можно измерить напряжение этого самого источника. Напряжение источника VREF измерено на заводе и записано в VREFINT_Factory_CONV byte,его можно считать.

Что бы основной программе не было скучно, она смотрит-не завершено ли преобразование АЦП и на основе 16 выборок вычисляет среднее.

Включение/выключение схемы реализовано на основе внешнего прерывания по нажатию на кнопку. По приходу прерывания меняем переменную, и сидим ждем пока кнопку отпустят.

Если пользователь хочет выключить устройство,то основная программа сохраняет значение счетного регистра TIM2 в ОЗУ. Все не задействованные выводы делает выходами,устанавливает на них нуль. Если этого не сделать у меня ловит помехи. Отключаем источник эталонного напряжения VREF и АЦП и засыпаем. Использован самый экономичный режим halt. Проснется микроконтроллер от нажатия кнопки «On»,по внешнему прерыванию(External interrupts).

Прошивка микроконтроллера.

Это отдельная история. Когда покупал STM32F0 Discovery, думал что программатор на ней умеет шить STM8.Оказалось что нет. Тратить деньги на отдельный программатор не хотелось, а возможности прошивки по USART меня не впечатлила(да и не всё 8битное семейство умеет это).

Сайт находится в тестовом режиме. Приносим извинения за сбои и неточности.
Просим Вас писать нам о неточностях и проблемах через форму обратной связи.

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

В число наиболее простых и тем не менее очень нужных технологических приспособлений, самостоятельное изготовление которых под силу даже малоопытным радиолюбителям, входит ручной намоточный станок. Это — стальной вал с резьбой М6, вращающийся в двух стойках; на одном его конце укреплена рукоятка для вращения. Стойки привинчены к массивному основанию. Чтобы не считать самому число оборотов вала — число витков обмотки, — обычно станок оснащают механическим счетчиком. Однако удобный миниатюрный счетчик оборотов с возможностью обнуления показаний был и остается дефицитом. Альтернативой механическому счетчику может служить электронный, описанный в этой статье. Предлагаемый реверсивный электронный счетчик собран на девяти КМОП-микросхемах (К561ТЛ1, 4 х К561ИЕ14, 4 х К176ИД2), транзисторе КТ315Б и четырехразрядном ЖК-индикаторе ИЖЦ5-4/8. Датчик импульсов вращения выполнен на основе двух герконов, замыкающихся при прохождении вблизи них постоянного магнита, закрепленного на поводке, установленном на валу станка. Устройство считает число оборотов вала от 0 до 9999. Даны чертежи печатных плат, на одной из которых монтируют ЖК индикатор, а на другой — все остальные детали счетчика.

Вариант 1: ATmega8 + Nokia 5110 LCD + питание 3V

В схеме используются Atmega8-8PU (внешний кварц частотой 8MHz), Nokia 5110 LCD и транзистор для обработки импульсов от геркона. Регулятор напряжения на 3,3V обеспечивает питание для всей цепи.

Все компоненты были смонтированы на макетной плате, включая разъемы для: ISP - программатора (USBAsp), 5110 Nokia LCD, питания (5V, подаваемого на 3.3V - регулятор), геркона, кнопки сброса и 2-контактный разъем, используемый для считывания полярности обмотки двигателя привода станка, чтобы знать, увеличивать или уменьшать счетчик.

Назначение разъемов:
J1: Питание. На разъем поступает 5V и дальше на стабилизатор L7833 для получения напряжения 3,3V, используемого ATmega8 и LCD.
J2: Разъем для ЖК-дисплея, идущий на Nokia 5110 LCD.
J3: Геркон. Вход импульсов для подсчета микроконтроллером.
J4: Разъем полярности. Он должен быть подключен параллельно обмотке двигателя. Схема слежения была расчитана для 12-вольтового двигателя, но ее можно применить под другое напряжение двигателя, регулируя номиналы делителей напряжения, образованные R3-R4 и R5-R6. Если двигатель подключен к прямой полярности, на PD0 будет высокий лог. уровень, если двигатель подключен к обратной полярности, то на PD1 будет высокий лог. уровень. Эта информация используется в коде для увеличения или уменьшения счетчика.
J5: Сброс счетчика. При нажатии кнопки, произойдет обнуление счетчика.
Разъем ISP: это 10-контактный разъем для программатора USBAsp AVR.

Схема устройства

Фото готового устройства


Вариант 2: ATmega8 + 2x16 HD44780 LCD + питание 5V

Некоторые из моих читателей попросили сделать вариант счетчика в котором используется дисплей 2x16 HD44780 (или меньший вариант 1x16). Для этих дисплеев требуется напряжение питания 5V, поэтому стабилизатор на 3,3V не актуален.

Схема устройства

Биты конфигурации микроконтроллера для обоих вариантов: LOW - 0xFF, HIGH - 0xC9.

Архив для статьи "Счетчик витков для намоточного станка"
Описание:

Исходный код(Си), файлы прошивок для микроконтроллера

Размер файла: 111.35 KB Количество загрузок: 257