Валкодер – устройство, меняющее какую-то величину в зависимости от поворота оси. Такая штука водится, например, в роликовой мыши или в музыкальном центре. Собственно, сам по себе валкодер довольно прост, но мы усложним задачу тем, что не будем использовать микроконтроллер, как это практикуется во всех промышленных образцах. Валкодер интересен тем, что в нем переплетаются очень многие приемы, применяемые в цифровой и аналоговой электронике. Итак ТЗ: разработать устройство, изменяющее выходное напряжение в диапазоне 0 – 3В, в линейной зависимости от угла поворота оси. Изменение напряжение должно быть реверсивным, с количеством градаций не менее 80. Выходной сигнал должен быть изолирован он рабочих напряжений устройства (гальваническая развязка). Полное нарастание/спад напряжения происходит при изменении угла поворота оси от 0 до 1440 градусов (4 оборота). Устройство должно сохранять работоспособность в диапазоне питающего напряжения от 8 до 15В. Предусмотреть цифровую индикацию напряжения.
1. C чего начать?
Определим чего от нас хотят:
А. Во-первых «голова» устройства будет цифровой, т.к. будет считать импульсы, создаваемые вращающейся ручкой.
Б. Счет импульсов должен быть реверсивным, т.к. результирующая величина уменьшается и увеличивается в зависимости от направления вращения ручки.
В. Не менее 80 градаций выходного напряжения. Значит для установки напряжения нам потребуется не менее 8 бит двоичного кода (80[10] = 1010000 [2]). 80 градаций за 4 оборота, значит за оборот, ручка должна выдавать 20 импульсов. По одному импульсу через каждые 18 градусов.
Г. Для гальванической отвязки выходного напряжения, в преобразовательном каскаде (цифровой —> аналоговый) нужно будет использовать оптроны.
Д. При заявленном напряжении питания работают микросхемы серий К561 и 564.
Е. Цифровая индикация – простой узел, но потребуется ещё 2 дешифратора в 7-и сегментный код.
2. Теперь попробуем описать алгоритм работы:
*При включении на выходе 0.
*ЕСЛИ на выходе 0 И есть импульс с датчика И ручка поворачивается по часовой стрелке – добавить 1 в выходной код.
*ЕСЛИ на выходе 0 И есть импульс с датчика И ручка поворачивается против часовой стрелки- не выполнять никаких действий
*ЕСЛИ на выходе 1010000 И есть импульс с датчика И ручка поворачивается по часовой стрелке- не выполнять никаких действий
*ЕСЛИ на выходе 1010000 И есть импульс с датчика И ручка поворачивается против часовой стрелки- вычесть 1 из выходного кода
*ЕСЛИ на выходе число отличное от 0 и 1010000 И есть импульс с датчика И ручка поворачивается по часовой стрелке – добавить 1 в выходной код
*ЕСЛИ на выходе число отличное от 0 и 1010000 И есть импульс с датчика И ручка поворачивается против часовой стрелки – вычесть 1 из выходного кода.
*ЕСЛИ нет импульса с датчика – не выполнять никаких действий.
3. Составим блок-схему устройства:
Очевидно, что механическая часть должна сообщать как о самом вращении, так и о его направлении. Значит датчик должен выдавать 2 сигнала. В результате получается, что устройство должно состоять из реверсивного счетчика, блока согласования-развязки и цифроаналогового преобразователя.
Согласователь должен выводить сигнал о переполнении и запрещать счетчику складывать (если получен максимум) или вычитать (если получен минимум).
4. Конструируем датчик:
Воды вылито достаточно, теперь можно говорить более предметно. Механика зависит от электроники, а электроника от механики, поэтому рассмотрим датчик как единое целое. Вполне понятно, что использовать оптический датчик гораздо удобнее, нежели контактный, значит мы пришли к перфорированному колесу. Получить импульсы проще простого, осталось определить направление вращения. Есть два пути: использовать две оптопары (излучатель + приемник) расположив их таким образом, что освещается сначала один приемник, а далее второй. Либо использовать заслонку, скользящую на той же оси, что и колесо (момент, создаваемый осью, должен превышать массу заслонки и она не должна поворачиваться под собственной тяжестью). Эта заслонка поворачивается синхронно с колесом на определенный угол (не более 4,5 градусов в обе стороны) и открывает/заслоняет дополнительный (стробирующий) фотоприемник. Этот вариант сильно усложняет механику, хотя весьма прост в схемотехнической реализации (логическая схема «И»), поэтому вернемся к первому варианту. Теперь прикинем временные эпюры сигналов, создаваемых датчиком.
Как видно из рисунка, сигналы приемников смещены по фазе на 90 градусов. Этого легко добиться расположив приемники рядом в одну линию. Таким образом, когда отверстие проходит над приемниками, сначала освещается первый приемник, далее оба, далее второй.
Предположим, колесо (3) вращается по часовой стрелке вокруг оси (2). Когда отверстие (1) подходит к оптопарам, Сначала освещается правый приемник (5), далее оба, далее лишь левый (4). И это повторяется 20 раз за один оборот. Из приведенных эпюр видно, что на заднем фронте импульса с правого приемника формируется некий стробирующий сигнал. На нем мы и будем строить результирующий сигнал датчика: во-первых, он генерируется в единственном экземпляре при освещении приемников, во-вторых, он прекрасно характеризует направление вращения. Совпадая с импульсом левого датчика при вращении по часовой стрелке, он дает возможность выделить положительный импульс при помощи логического элемента «И». Для получения этого чудо-импульса нам понадобится одновибратор для получения нужной длительности. Исходный фронт отрицательный, поэтому его нужно инвертировать. Попробуем набросать схему: петля ООС одновибратора рассчитывается исходя из максимальной частоты вращения колеса – длительность стробирующего импульса не должна превышать 1/4 периода «правого» сигнала. Цепочка С1R4 рассчитывается исходя из того, что формируемый ею импульс должен составлять 0,1Тстр.
5. Построим самый простой блок в устройстве – счетчик.
Хотел нарисовать схему на триггерах, но это показалось мне совсем уж чудовищным глумлением над электроникой. Если интересно, схему реверсивного счетчика на триггерах можно найти в любом справочнике по цифровым микросхемам. Потому наша задача сводится к выбору стандартного счетчика из традиционных серий КМОП. Итак, определим требования к счетчику:
*Напряжение питания 8-15В
*Реверс
Таким условиям удовлетворяет К561ИЕ14
Как видно на картинке, у счетчика есть входы предустановки. При помощи этих входов мы можем быстро выставлять на выходе необходимое напряжение, вызывая из внешнего ОЗУ соответствующий код. Разумеется в ОЗУ должен быть создан некий банк сохраненных уровней. В ТЗ не оговорена такая возможность, поэтому используем входы предустановки для сброса. Так же есть вход запрещения счета (РО). Но использовать его для защиты валкодера от переполнения не получится. Дело в том, что этот вход вовсе блокирует считчик и не дает ему считать даже в свободном направлении, а нам нужно, чтобы при достижении критического уровня в одном направлении, свободное направление оставалось свободным. Потому сигнал переполнения мы выделим после дешифратора. Этим сигналом мы будем стробировать вход «С».
6. Теперь можно заняться сравнительно простыми, но громоздкими узлами – дешифратором и цифро-аналоговым преобразователем (ЦАП)
Вот таким, например, у меня получился дешифратор. Ничего хитрого: массовые дешифраторы и транзисторные ключи для управления оптронами и полупроводниковыми индикаторами СИД-ОА. Дешифраторы вполне традиционные: К561ИД1 – преобразователь двоичного кода в десятичный и К561ИД4 – преобразователь двоичного кода в семисегментный.
ЦАП будет построен подобным образом. Единственный тонкий момент – определение диапазонов. Сопоставление границ регулировки десяткам и единицам. У нас 7 десятков и 10 единиц. Разделим полное выходное напряжение на 80 градаций: получается 0,04. Умножим на 10 – получается 0,4. Значит, единичный разряд регулирует напряжение в районе 400мВ. Следовательно, оставшиеся 2,6В управляются десятками. Теперь осталось лишь подобрать резисторы, переключаемые оптронными ключами и, с их помощью, выстроить нужную шкалу регулировки.
Список радиоэлементовОбозначение
Тип
Номинал
Количество
ПримечаниеМагазинМой блокнот
Рисунок 5.
Операционный усилитель1
DD1
МикросхемаК561ЛА71
VT1, VT3
Фототранзистор2
VT2
Биполярный транзисторКТ31021
VD1, VD2
Диод2
С1, С2
Конденсатор2
R1, R2, R6, R8
Резистор100 кОм4
R5
Резистор10 кОм1
R3, R4, R7
Резистор3
Рисунок 6.DD1
МикросхемаК561ЛА71
DD2
МикросхемаК561ЛА91
DD3, DD4
МикросхемаК561ИЕ142
VD1, VD2
Диод2
С1
Электролитический конденсатор1 мкФ1
R1
Резистор100 кОм1
R2
Резистор20 кОм1
Схема дешифратора.DD1, DD4
МикросхемаК561ИД42
DD2, DD3
МикросхемаК561ИД12
VT1-VT31
Биполярный транзисторКТ310231
R1-R31
Резистор100 кОм31
R32, R33
Резистор510 Ом2
HG1, HG2
Светодиодный цифровой индикаторАЛС324Б2
Цифро-аналоговый преобразователь.DA1-DA17
Оптопара4N35M17
R1, R4, R6, R8, R10, R12, R14, R16, R17, R19, R21, R23, R25, R27, R29, R31, R33
Резистор1 МОм17
R2, R5, R7, R9, R11, R13, R15, R18, R20, R22, R24, R26, R28, R30, R32, R34, R35
Резистор17
R3
Резистор510 Ом1
Добавить все