Сканер считывания бар-кода

Обсуждаем цифровые устройства...
Ответить
Встал на лапы
Аватара пользователя
Сообщения: 125
Зарегистрирован: Пн авг 04, 2008 10:54:11
Откуда: Питер

Сообщение Spirit412 »

Вопрос.
Кто сталкивался с разработкой системы считывания штрихкодов/баркодов?
Думаю попробовать разработать с

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

Баркод представляет из себя чередование черных полосок разной толщины, нанесенные на белый, непрозрачный материал. Примерная скорость считывания 40...80 баркодов/секунду.

Продукт движется по конвееру в одном направлении - т.е. линейно. Скорость движения меняется. Полоски баркодов расположены перпендикулярно направлению движения.

Я предполагаю, что достаточно поставить оптическую систему источник-приёмник, работающие на отражение. Что бы от скорости продвижения продукции система меньше зависила - думаю надо сделать первые две-три полоски в баркоде например тонкие. Если система получает три одинаковых прерывания, то дальнейшие прерывания считывает как код.
Ну и если считанный код отличается от сравниваемого - то подается сигнал и срабатывается релюшка.
Как вариант - взять ручной сканер с интерфейсом RS-232 (http://www.kkm.su/shop/digital/detail/14373/). Если я правильно понимаю - то сканер может работать со скоростью распознавания - 100 баркодов/секунду. Можно тогда к нему подрубить МК ATmega через RS-232, ну и что бы мега получала расшифрованный код баркода... и действовала по заданному алгоритму в случае несовподения считанного кода с кодом в памяти.
Вот как-то так.
Похоже на некую автоматизацию производства...
Было бы неплохо... если бы кто-то уже подобное...
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 6321
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

..
Последний раз редактировалось Jack_A Вт мар 29, 2011 17:56:38, всего редактировалось 1 раз.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 6321
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

Spirit412 писал(а):Вопрос.
Кто сталкивался с разработкой системы считывания штрихкодов/баркодов?
Думаю попробовать разработать с

Некий модуль считывания кода с помощью подсоединенных оптических сенсоров проверяет баркоды проходящих продуктов и сравнивает их с запрограммированным образцом. Если результат оценки находится за границами допуска, то продукт считается бракованным.
Зачем изобретать велосипед - лучше промышленного все равно не сделаешь. И проблема, мне кажется, не в электронике, а в оптике ее сложнее сделать.
Встал на лапы
Аватара пользователя
Сообщения: 125
Зарегистрирован: Пн авг 04, 2008 10:54:11
Откуда: Питер

Сообщение Spirit412 »

Промышленный вариант есть.
Он дорог... и имеет кучу ненужных функций.

Мне же требуется минимум - считать баркод, расшифровать, сравнить с кодом в памяти, если не совпадает - остановить конвеер.
Ну хочется понять - можно ли взять ручной сканер (использовать его оптическую систему и систему распознования), подрубить его через стандартный интерфейс RS232 к атмеге.
Ну и главное - скорость 100 считываний/секунду - это реальная цифра? Реально ли ручной аппарат считает 100 штрихкодов, декодирует их и выдаст в RS232... и всё это за 1 секунду.
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1223
Зарегистрирован: Вс май 16, 2010 15:56:54
Откуда: Москва

Сообщение walkerru »

Не знаю насчет ручного... Насколько я помню, по крайней мере старые ручные - тормоза были еще те.

Тут в другой теме обсуждали ПЗС от планшетника. Тот должен успеть ваши 100 отсчетов выдать. А вот успеете ли вы их распознать... Это вопрос к прошивке.

Впрочем, не только к прошивке. Та ПЗС выдаёт около 4000 значений на отсчет. 100 раз в секунду - это 4000*100=400 тыс значений в секунду, кои нужно распознать и обработать.
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 125
Зарегистрирован: Пн авг 04, 2008 10:54:11
Откуда: Питер

Сообщение Spirit412 »

Фига себе...
Не... МК с таким не справитца

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

Ручные сканеры разные бывают...
Есть и 400 сканирований/сек. Но они от 15т.р.
Но меня бы устроило и 50 распознований баркодов в секунду.
Контактная информация:
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 125
Зарегистрирован: Пн авг 04, 2008 10:54:11
Откуда: Питер

Сообщение Spirit412 »

Фига себе...
Не... МК с таким не справитца

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

Ручные сканеры разные бывают...
Есть и 400 сканирований/сек. Но они от 15т.р.
Но меня бы устроило и 50 распознований баркодов в секунду.
Контактная информация:
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1223
Зарегистрирован: Вс май 16, 2010 15:56:54
Откуда: Москва

Сообщение walkerru »

А штрих-коды появляются только в одном месте или в произвольном?
Как они повёрнуты? строго или произвольно?
Какие размеры штрих-кода?

Может, вообще пачкой фотодиодов можно обойтись?
Встал на лапы
Аватара пользователя
Сообщения: 125
Зарегистрирован: Пн авг 04, 2008 10:54:11
Откуда: Питер

Сообщение Spirit412 »

Так в том-то и дело - штрихкоды только в одном месте, расположены - полоски строго перпендикулярно ходу движения продукции.
Штрихкод - 8-мь полосок разной толщины. В нём зашифровано число 00000000 (десятичной системе).
Полоски штрихкода очень контрастны по отношению к фону.... т.е. это белое и черное. Фон - это белый не запечатанный картон.

Думаю - линейка светодиодов тут будет через чур много.
Контактная информация:
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1223
Зарегистрирован: Вс май 16, 2010 15:56:54
Откуда: Москва

Сообщение walkerru »

Фотодиодов, не светодиодов.

Предположим, что узкая полоска в 2 раза уже широкой. Значит, на место полоски можно поставить два фотодиода. Если полоска широкая, то уровень сигнала низкий с обоих фотодиодов. Если узкая - только с одного. Значит, первый фотодиод можно упростить. Итак, есть сигнал с фотодиода - узкая полоска. Нет- широкая. Так для всех баров. Освещать все одновременно. И фотоэлемент, распознающий наличие изделия. Что-то типа считывателя с перфоленты получается.

Значит, всего девять фотодиодов (фототранзисторов). И ваша Мега вполне с этим справится. Никакие ПЗС и сканеры тут не нужны.
Друг Кота
Аватара пользователя
Сообщения: 6321
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

По моему, вы упрощаете проблему. Представляется так, что сканер позиционирован точно на код и считывает его. Но ведь объект на движущемся конвейере, и код будет показывться сканеру по частям, а то и вообще может быть не код, а фигу ему кто-нибудь показывает. В нормальных штрих-кодах есть в конце 2 контрольные цифры, и если контроль не совпадет, то событие СЧИТАН ШТРИХ-КОД не фиксируется.
У меня был заказчик такой, смастерил 8-битный самопальный сканер и говорит - делай софт, чтоб у меня считывалось 256 различных значений, и никаких на хрен контрольных кодов! каждый бит на вес золота! Я ему поводил егоным "сканером" по обычному газетному листу, и тот ему такого насчитывал, что чувак сдулся и говорит : ладно, еще 8 контрольных бит добавим.
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1223
Зарегистрирован: Вс май 16, 2010 15:56:54
Откуда: Москва

Сообщение walkerru »

Ну, в EAN13 положим одна контрольная цифра в конце...

Но идея хороша )) А если еще вспомнить, как в магазинах с кодами е...ся порой )) контрольные суммы никогда не вредили ))
Но каков запрос автора, таков ответ. Конкретного ТЗ же нет с требованиями по допустимому уровню ошибок.
Встал на лапы
Аватара пользователя
Сообщения: 125
Зарегистрирован: Пн авг 04, 2008 10:54:11
Откуда: Питер

Сообщение Spirit412 »

За неимением опыта - сложно написать ТЗ
Но суть по сути - EN13 - это слишком.

Если быть конкретнее... то хочу это соорудить на фальцесклеечной машине. Машина фальцует и склеивает картонные коробки.
У нас возникла проблема - на печатном листе бывает по 2-6 видов разных коробочек, но одного размера, и очень похожего дизайна (например отличаются только текстом). После вырубки (перед фальцовкой/склейкой) коробки выколачивают с листа и складывают одн вид в одну стопочку, другой - в другую. Т.к. работу эту делает народ из азии... то часто бывает пересортица... т.е. после склейки, в одной коробке в которой должны быть пачки только одного наименования - попадаются пачки другого.
Хорошо если у заказчика на упаковочной линии стоит сканер баркодов... тогда он не страдает от пересортицы... а вот если нет?

В общем - на клеевом клапане на белом картоне, печатается баркод. он реально состоит из 5-6 штрихов. Он такой коротки т.к. в нём нужно всего лишь зашифровать число от 1 до 8 + контрольная сумма.
Сканер по сути видит или белый картон, или черную риску. Сканер неподвижен, штрихкод (заготовка пачки) движется строго в одном направлении.
Ну что-то типа вот такого -> |||||||
Только вот пока непонятно - как в этом случае оптика будет понимать толстую (3-4мм) и тонкую (1мм) линию. -> ||||||| ?
Просто когда белое/черное... это как 0 и 1
А если белое, черное, и третье значение.

П.С. Посмотрел скорость фальцесклейки - 30-55 пачек в секунду.
Контактная информация:
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1223
Зарегистрирован: Вс май 16, 2010 15:56:54
Откуда: Москва

Сообщение walkerru »

Элементарно будет понимать. Если один фотодиод и баркод мимо него двигается, чтобы все полоски прошли мимо фотодиода. Различаться они будут шириной импульса с фотодиода. Нет полоски - высокий уровень, узкая - короткий импульс, широкая - длинный импульс.
Встал на лапы
Аватара пользователя
Сообщения: 125
Зарегистрирован: Пн авг 04, 2008 10:54:11
Откуда: Питер

Сообщение Spirit412 »

Да... достаточно будет одного светодиода и фотоприёмника (на отражение ведь оптика работать будет.
А как быть со скоростью?
Скорость фальцесклейки настраивается... 55 - максимум... минимум - почти нет предела. Всё настраивается механическу... от поворота ручки.

Как МК будет определять длинный и короткий импульс, если допустим час машина работала со скоростью 40 пачек в секунду... а потом например стала 10/с. Длинна импульса изменилась...
Разве что отношение короткого импульса к длинному остаётся неизменным
Контактная информация:
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1223
Зарегистрирован: Вс май 16, 2010 15:56:54
Откуда: Москва

Сообщение walkerru »

Ну вот, сами и ответили на свой вопрос ))
Синхро-полоски тоже сами в начале ставить предлагали. Вот и ставьте.

А в конце хотя бы бит чётности - и то ошибки реже будут. Или тремя фотодиодами читать вместо одного и решение о значении каждого бита принимать если показания по крайней мере двух совпали.
Встал на лапы
Аватара пользователя
Сообщения: 125
Зарегистрирован: Пн авг 04, 2008 10:54:11
Откуда: Питер

Сообщение Spirit412 »

Точно. Поставить пару... У меня длинна клеевого клапана пачек не менее 5см. т.е. баркод проходит минимум 4см. Достаточное расстояние.
Тогда объясните - как организовать синхронизацию? и как делается бит чётности?
Достаточно просто на описать процесс.

Вчера заказал AD USB Analyzer (USBee AX). Накопал Атмегу8-ю (что бы не мучаться с асемблером и написать на СИ). На работе валяется парочка оптических мышей :) (будут донарами оптики)...
Контактная информация:
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1223
Зарегистрирован: Вс май 16, 2010 15:56:54
Откуда: Москва

Сообщение walkerru »

Пары мало, т.к. непонятно, кто именно их 2-х ошибся. Минимум 3.
Оптика из мышей сложнее, чем один фотодиод.

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

Про чётность. Ну как это... 0-чёт, 1- нечёт, 2 - чёт и т.д. Чётное число ваша полезная часть баркода - широкая например полоска в конце. Нечётное - узкая. Или наоборот, как выберете. МК считав баркод и приняв решения по каждому биту (по трём сигналам) сравнивает полученное число с последней полоской. Если распознанное число чётное и полоска чётная (или чило нечётное и полоска нечётная), распознание считается валидным. Если не совпадает - ошибка - вмешательство оператора или откидывать коробки с повреждённым баркодом и потом разбирать вручную.
Встал на лапы
Аватара пользователя
Сообщения: 125
Зарегистрирован: Пн авг 04, 2008 10:54:11
Откуда: Питер

Сообщение Spirit412 »

Хм...
Контактная информация:
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1223
Зарегистрирован: Вс май 16, 2010 15:56:54
Откуда: Москва

Сообщение walkerru »

Можно надёжнее сделать: число единиц в полезной части баркода чётное или нечётное.
Ответить

Вернуться в «Цифровая техника»