Современное время — это время автоматизации и прогресса, автономные роботы приходят на вооружение армии, выполняют тяжелую работу по разбору завалов, работают в складских помещениях, а в домах появляются сервисные роботы – помощники по хозяйству. Также стоит ряд задач по построению автономных роботов в спортивной робототехнике: спортивная езда по линии, распознавание разметки спортивной площадки для игры в робофутбол, робобаскетбол и подобных дисциплин международных олимпиад по робототехнике. Все подобные роботы выполняют различные задачи, имеют различные габариты, технические и функциональные характеристики. Но есть некоторые общие проблемы, которые встречаются при разработке автономных роботов:
– Качественное определение цвета поверхности.
– Выделение некоторой спектральной линии и при этом минимально задействуя вычислительные ресурсы на обработку данных с сенсоров.
– Необходимость продолжительной работы в автономном режиме.
Решением этих проблем может являться использование прибора с зарядовой связью. ПЗС представляет интерес тем, что электрический сигнал в них представлен не током или напряжением, а зарядом. При соответствующей последовательности тактовых импульсов напряжения на электродах МДП-конденсаторов можно передавать как локализированный зарядовый пакет вдоль такой структуры[1].
Рисунок 1. Простейший трёхфазный ПЗС-регистр. Заряд в каждой потенциальной яме разный
Главное отличительное свойство ПЗС – свойство самосканирования – состоит в том, что для управления цепочкой затворов любой длины достаточно всего трех проводников, по которым передается смещенное по фазе напряжение, (трех тактовых шин). Действительно, достаточно всего трех электродов: одного передающего, одного принимающего и одного изолирующего, разделяющего пары применяющих передающих друг от друга, причем одноименные электроды таких троек могут быть соединены друг с другом в единую тактовую шину, требующую лишь одного внешнего вывода (Рис.1).Что позволяет обрабатывать полученную с ПЗС информацию не за действуя процессорную мощность на обработку каждого сигнала по отдельности.
Для исследования данных процессов мы воспользовались распространенным датчиком DL100-10AUJM, 200 DPI A4.
Таблица 1.
Функциональное описание выводов датчика DL100-10AUJM
№ | Обозначение | Название | Описание |
1 | GLED | GND светодиода | Заземление для источника света |
2 | NON | ||
3 | CLK | Clock | CIS Main Clock |
4 | GND | Ground | |
5 | SI | Start Pulse | Adjust Integration Time |
6 | GND | Ground | |
7 | NON | ||
8 | VCC | ||
9 | GND | Ground | |
10 | SIG | Signal Output | Output Signal From Amplifier |
Функциональное описание выводов данного датчика было получено путем реверсивного инжиниринга, в виду отсутствия оригинальной документации, и представлено в таблице 1
Таблица 2.
Дополнительные характеристики датчика DL100-10AUJM
Наименование | Символ | Мин | Тип | Макс | ед. изм |
Частота таймера | FМАКС= 1/to | 500 | 750 | КГц | |
Скважность | tw/to | 75 | % | ||
Время простоя | th(D) | 5 | tw | нс | |
Время установки | tsu(D) | 5 | tw | нс | |
Время загрузки | tpd1 | 0 | 1100 | нс | |
tpd2 | 0 | 300 | нс | ||
SIG | ts1(*note1) | 50 | нс | ||
ts2(*note1) | 250 | нс |
На рисунке 2 предоставлена принципиальная-схема прибора, на которой видно, что она состоит из ПЗС и регистра сдвига. Чтение информации осуществляется при подаче стартового импульса на 5 вход (SI) путем параллельного сдвига накопленного заряда в регистр для дальнейшего перемещения в выходную шину. Для работы регистра сдвига необходимо подавать импульс на 3 вход датчика (CLK) с частотой 500КГц и скважностью 25%. Некоторые дополнительные характеристики указаны в таблице 2.
Для получения сигнала с интересующей нас частотой испльзовался микроконтроллер ATmega328P, Среда разработки – Arduino IDE, изучение оригинальной документации на микроконтроллер позволило написать следующий программный код.
Рисунок 2. Принципиальная схема используемой линейной ПЗС матрицы
void setup()
{
pinMode(3, OUTPUT);
pinMode(10, OUTPUT);
pinMode(5, INPUT);
//—-— Timer1 ————
// Таймер тактируется с другого таймера, через физическую перемычку между выводами 3 (OC2B) и 5 (T1), сигнал снимается с вывода 10 (OC1B)
TCCR1A = (1«WGM11)|(1«WGM10)|(1«COM1B1)|(1«COM1A1);
TCCR1B = (1«WGM12)|(1«WGM13)|(0«ICES1)|(1«CS12)|(1«CS11)|(0«CS10);
OCR1A = 1726; // Расстояние между импульсами. Верхняя граница счета импульсов с таймера 2, с ноги OC2B
OCR1B = 0; // длительность импульса
//—-— Timer2 ————
TCCR2A = (1«WGM20)|(1«COM2B1); // Режим Phase correct PWM with update on OCRA + включаем OC2B по сработке OCR2B
TCCR2B = (1«CS20)|(1«WGM22); // Тактирование от CLK + режим Phase correct PWM with update on OCRA
OCR2A = 16; // Верхняя граница счета. Диапазон от 0 до 255.
OCR2B = 4; // Скважность = OCR2B/OCR2A. Пока значение счетчика меньше OCR2B, на выводе (OC2B, который соответствует Digital 3 arduino), HIGH. Когда больше OCR2B, но меньше OCRA, на выводе LOW — 0.
}
// the loop routine runs over and over again forever:
void loop() {
}
Который позволил получить интересующие нас сигналы (Рсунок 3) на экране осциллографа. Меандр красного цвета (1) представляет собой тактирующий сигнал как можно убедиться с частотой 500 КГц и скважностью 75 %. Представленный сигнал желтого цвета (2) это стартовый импульс.
Который изображает несколько периодов полного считывания информации всех 1728 датчиков используемой ПЗС линейки.
Подводя итоги стоит отметить что для типового решения задачи распознавания поверхности используются датчики (оптопары), время опроса 1 такого датчика составляет порядка 50 мкс, а тут 1728 датчиков опрашиваются за 5 мкс, что для 1 датчика составляет 2,8 нс.
Особенностью данной программы в том что процессор микроконтроллера не задействуется, а используется его периферия. Для обработки получаемых сигналов планируется использование АЦП и компараторов.
Список литературы:
1 Принципы работы и устройство приемников света на ПЗС [Электронныйресурс], статья в интернете.
2 «Черно белая ПЗС линейка» [Электронныйресурс], статья в интернете.[schema type=»book» name=»Очувствление робототехнических систем, методика распознавания поверхности» description=»В данной статье рассмотрены проблемы очувствления робототехнических систем, а именно методика распознавания рисунка поверхности, по которой движется робот, с условием использования наименьшего количества вычислительных ресурсов. Приведен метод решения этой проблемы с использованием устройств, работающих по принципу зарядовой связи, использование которого позволит сократить количество процессорных тактов на обработку получаемой информации. Преимущество этого метода в том, что опрос большого количества датчиков освещенности– 1728, происходит всего за 5 мкс. Также стоит отметить, что ток потребления данного устройства очувствления очень мал — порядка 50мА, что позволит продлить работу робота в автономном режиме.» author=»Рядчиков Игорь Викторович, Мамелин Юрий Валерьевич» publisher=»БАСАРАНОВИЧ ЕКАТЕРИНА» pubdate=»2017-03-24″ edition=»ЕВРАЗИЙСКИЙ СОЮЗ УЧЕНЫХ_30.04.2015_4(13)» ebook=»yes» ]