УСТРОЙСТВО ОПРЕДЕЛЕНИЯ УГЛА ПОВОРОТА МЕХАНИЧЕСКОЙ ДЕТАЛИ

Полезная модель относится к запоминающим устройствам бесконтактного типа и позволяет определить положение и угол поворота, хранение аналоговых сигналов в цифровых запоминающих устройствах, содержащих аналого-цифровые преобразователи, цифровые накопители и цифроаналоговые преобразователи в памяти устройства и вывода информации на экран.
Наиболее близким к заявленному решению (прототипом) являются:
1. устройство определения угла поворота (абсолютный датчик угла поворота, Гусев В.К. (RU) Негин А.В. (RU) Прокофьев Л.И. (RU) (http://www.findpatent.ru/patent/243/24360-37.html), содержащее магнитную систему дорожек с кодом Грея, считывающее устройство, чувствительный элемент, схему обработки сигнала;
2. устройство определения угла поворота (отражательный энкодер, серводвигатель и сервоузел, Аринага Юдзи (JP), Мацутани Ясухиро (JP), Йосида Ясуси (JP), Есидоми Сироу (JP), http://www.findpatent.ru/patent/254/2548936.html), содержащее вращающийся диск, панель, инкрементные источники света, абсолютные приемники света.
Недостатком прототипа 1 являются помехи магнитного поля.
Недостатком прототипа 2 является не точное определение нахождения механической детали с начальной точки движения.
Технический результат направлен на обеспечение возможности более точного определения угла механической детали при ее повороте.
Технический результат достигается тем, что устройство определения угла поворота механической детали содержит микроконтроллер (1), драйвер двигателя (2), двигатель (3), пять оптопар (4), диск с кодом Грея (фиг. 2), а также программное обеспечение.
Отличительным признаком от прототипа 1 является то, что устройство определения угла поворота механической детали оборудовано оптопарами.
Отличительным признаком от прототипа 2 является то, что устройство определения угла поворота механической детали оборудовано диском с кодом Грея.
На фиг. 1 представлена принципиальная схема устройства определения угла поворота механической детали.
На фиг. 2 представлен диск с кодом Грея.
Устройство определения угла поворота механической детали состоит из микроконтроллера на программируемой плате Arduino UNO (1), драйвера двигателя L298n (2), двигателя (3), 5 оптопар qrd1114 (4) и диска с кодом Грея (фиг. 2).
Работает устройство следующим образом.
При включении устройства устанавливается диск с кодом и запускается программа. В программе запускается программный код и в течение 10 секунд проводится калибровка устройства (прокручиваем диск на черный сектор и через 5 секунд прокручиваем на белый сектор, устройство узнает значение серого для данного периода времени), двигатель начинает вращаться определенное время (время указывается в программном коде). В это же время оптопары считывают угол, на который прокрутился диск (при необходимости можно задать угол, на который нужно провернуть вал).
Оптопары подключены через цепи выходов оптопар к аналоговым пинам ардуино. Применяется 5 оптопар (4), ближайшая к центру вращения подключена к А4 порту ардуино, а дальний к А0. Драйвер двигателя использует пины D2 и D3 для управления вращением: для вращения почасовой стрелки на D2 пин подается максимальное напряжения (HIGH или 1) а на D3 пин минимальное напряжения (LOW или 0).
Для проверки работы устройства разработан скетч для ардуино. Для того чтобы устройство определяло, считывается черный или белый, необходимо вычислить, значения которое называется серым. Для этого разработана специальная функция калибровки, которая с 5 секундным интервалом считывает значения белого со всех датчиков, а потом со всех датчиков черного и после этого вычисляется среднее арифметическое белого и черного для каждого датчика, которое считается серым. Для оптопар написана функция (Scan) с целью получения кода Грея. Получение данных происходит сравнением с серым.
Следующий этап написание функции String GreyToBin (Strings) переводящей код Грея в бинарный код. Для этого используется сложение по модулям 2 (х%2) для получения битов двоичного кода. Далее необходимо перевести из бинарного представления в десятичный код обычным алгоритмом через степень 2.
Алгоритм вычисления угла поворота состоит в последовательной фиксации двух значений функции Scan() и получения номеров исходного и конечного секторов. Разница номеров секторов, умноженная на величину угла одного сектора на другой, и является углом поворота. Величина угла сектора определяется количеством кругов на диске, т.е. количество бит используемых в коде Грея.
Применение указанного технического решения позволит более точно определять поворот механизма или детали на определенный угол.