Запоминающий реверсивный счётчик витков
Ознакомившись с рядом опубликованных в журнале конструкций счётчиков различного назначения (например, [1, 2]), я принял решение разработать свой вариант счётчика витков, в котором использована энергонезависимая память микроконтроллера. В результате удалось создать простой и удобный в работе счётчик витков для намоточного станка, не содержащий дефицитных деталей.
Он способен считать от 0 до 9999 оборотов вала, после чего показания индикатора обнуляются и счёт начинается заново. При вращении вала в обратную сторону индикатор уменьшает показания на единицу на каждый оборот.
Рис. 1
Счётчик состоит из нескольких узлов (рис. 1). Основой конструкции служит микроконтроллер DD1, к которому через токоограничительные резисторы R10—R16 подключён четырёхразрядный светодиодный индикатор HG1. Две оптопары — излучающий ИК диод— фототранзистор (VD2VT1, VD3VT2), — образующие датчик числа оборотов рабочего вала станка, формируют импульсы низкого уровня, по которым микроконтроллер определяет направление вращения и число оборотов вала. Предусмотрена кнопка SB1 для обнуления памяти, а также вспомогательные цепи: R2C2, работающая в составе встроенного тактирующего генератора микроконтроллера, VD1C1, сохраняющая напряжение питания, необходимое для перехода микроконтроллера в режим SLEEP, и R6R8, следящая за напряжением питания счётчика.
Известно, что микроконтроллеры семейства PIC довольно капризны при работе с EEPROM (особенно, когда запись в неё происходит автоматически). Уменьшение напряжения питания может исказить содержимое памяти При работе счётчика линия RB1 (вывод 7) микроконтроллера, к которой подключена цепь R6R8, опрашивается на наличие напряжения питания, и если оно пропадает, то благодаря цепи VD1C1 микроконтроллер успевает перейти в спящий режим, тем самым блокируя дальнейшее выполнение программы и защищая информацию в EEPROM. В процессе счёта микроконтроллер будет сохранять в памяти числа после каждого оборота рабочего вала станка. При каждом очередном включении питания индикатор HG1 отобразит то число, что было до отключения.
Датчик представляет собой небольшую печатную плату (22x22 мм), на которой смонтированы два излучающих диода и два фототранзистора, установленных так, что образуют два оптических канала передатчик—приемник. Оптические оси каналов параллельны, межосевое расстояние — около 10 мм.
На рабочем валу станка неподвижно закреплена шторка в виде диска из жёсткого непрозрачного для ИК лучей материала (текстолит, гетинакс, металл, пластик) толщиной 1...2 мм. Диаметр шторки — 35...50 мм, диаметр центрального установочного отверстия равен диаметру вала. Плату на станке фиксируют так, чтобы шторка, вращаясь вместе с валом, могла перекрывать собой оба ИК луча.
В шторке пропиливают вырез в форме неполного сектора. Угловая ширина и глубина выреза должны быть такими, чтобы при вращении вала шторка обеспечивала кратковременное прохождение ИК излучения сначала только через один канал, затем через оба и, наконец, только через другой, как это схематически проиллюстрировано на рис. 2. Цветом показаны каналы, открытые в той или иной позиции. Такой порядок следования сигналов с датчика даёт микроконтроллеру возможность определять направление вращения рабочего вала станка.
Счётчик рассчитан на питание от батареи из трёх гальванических элементов АА (R6), но можно использовать любой сетевой блок со стабилизированным выходным напряжением 5 В.
Датчик смонтирован на печатной плате из фольгированного стеклотекстолита толщиной 1 мм. Чертёж платы показан на рис. 3. Токоограничива-ющий резистор R3 припаян со стороны печатных проводников а излучающие диоды и фототранзисторы — с другой.
Остальные детали (кроме батареи GB1 и выключателя SA1) размещены на второй плате, изготовленной из такого же стеклотекстолита. Её чертёж представлен на рис. 4. Все резисторы (кроме R3) на ней размещены со стороны печати поверхностным монтажом, а микроконтроллер, цифровой индикатор, конденсаторы, диод, кнопка SB1 и проволочные перемычки — с противоположной стороны. Микроконтроллер установлен в панель, впаянную в плату.
Плата датчика скреплена с основной двумя скобами, согнутыми из медной лужёной проволоки диаметром 1,2 мм и припаянными к краевым печатным проводникам плат. Для крепления плат к корпусу станка использованы самодельные держатели с ушком для винта, изготовленные из такой же проволоки и также припаянные к основной плате.
Рис. 4
Общий вид одного из конструктивных вариантов счётчика, установленного на намоточном станке, показан на фото рис. 5. Батарея гальванических элементов с выключателем прикреплены к станку сзади.
Для датчика, кроме указанных на схеме, можно использовать излучающие диоды SEP8706-003, SEP8506-003, KM-4457F3C, АЛ144А, АЛ108АМ и другие, а фототранзисторы — SDP8436-003, КТФ102А. Очень хорошо подходят также оптопары от старых шариковых компьютерных манипуляторов — мышей; у излучающих диодов короткий вывод—катод, а у фототранзисторов — эмиттер.
Следует заметить, что лучше использовать фототранзисторы в непрозрачном (чёрном) корпусе — в этом случае вероятность сбоев и ошибок в счёте из-за попадания на фотоприемники световых помех от внешних ярких источников будет минимальна. Если же фототранзисторы, имеющиеся в наличии, прозрачные, на каждый из них следует на деть отрезок чёрной ПВХ трубки с отверстием напротив линзы, а весь датчик закрыть от постороннего света накладкой из чёрной бумаги. Если шторка изготовлена из отражающего свет материала, её рекомендуется покрыть чёрной матовой краской.
Вместо "поверхностных" резисторов можно использовать МЛТ-0,125 или С2-23 мощностью 0,062 Вт. Кнопка SB1 — любая, подходящая по месту крепления на плате. Вместо E40281-L-O-0-W подойдёт цифровой индикатор FYQ-2841CLR.
Программа микроконтроллера разработана и отлажена в среде Proteus, после чего с помощью программатора ICProg загружена в микроконтроллер. После установки микроконтроллера в панель при первом и последующих включениях счётчика индикатор отобразит знак "минус" во всех знакоместах. Примерно через две секунды на табло появятся нули — это признак готовности счётчика к работе.
В программе предусмотрена функция аварийного обнуления памяти на тот случай, когда в неё попадёт ошибочная информация и микроконтроллер "зависает" (такое бывает крайне редко, но быть может). Для возвращения микроконтроллера в рабочий режим нужно выключить питание счётчика, нажать на кнопку "Обнуление" и, не отпуская её, включить питание. Как только табло отобразит нули, можно продолжать работать, но информация о прежнем числе витков будет, разумеется, утрачена.
В налаживании правильно собранное устройство не нуждается.
ЛИТЕРАТУРА
1. Долгий А. Усовершенствованный реверсивный счётчик. — Радио, 2005, №11, с. 28, 29.
2. Гасанов А., Гасанов Р. Электронный счётчик. — Радио. 2006, № 11, с. 35, 36.
А. БАНКОВ, г. Орёл (Радио, №8 2011г)
При изготовлении диполя на 27 Мгц сплёл антенный канатик из 7-ми проводов 0,4.
А в самодельном намоточном станочке использую электромеханический счётчик со сбросом.
Цитата:
Но мне кажется, что у вас датчики неправильно настроены
Спасибо!
ассемблер когда то знал...
автор не оставил в исходнике комментариев, разобраться трудно. Скорее всего это пауза после получения данных.
А как компилировать, шас вспомню, что там за программа...
...
О, нашел, при помощи программы MPASM, входящей в комплект MPLAB
автор - А. БАНКОВ, г. Орёл (Радио, №8 2011г)
А на микроконтроллере такое устройство мутить... Ну всё равно, что карманный фонарик дизель-генератором запитывать
В остальном- полностью устраивает.
Собрал данный счетчик, но не могу понять в чем проблема.
На дисплее поочередно меняются нули и минусы. Не на что не реагирует. Монтаж правильный питание в норме.
Генератор- RC
WDT-enable
PWRT-disable
Memory-Unprotected
Программатор ChipProg+
Кондер 22pf поставил SMD (приклеил его к плате супер-клеем на припаял выводы тонким проводом) обычного, на ножках под рукой не оказалось. На всяк случай попробую его заменить.
И помни, чиппроги не корректно в софте отображают конфигурационное слово-запиши в чип, потом прочитай. Должно быть 3ffb
Теперь при включении загораются все нули через 1сек загораются минусы и так остаются!
Еще заметил фишку, что считанный дамп в середине отличается от родного!
Может так и должно быть?