Сканер считывания бар-кода
- Spirit412
- Встал на лапы
- Сообщения: 125
- Зарегистрирован: Пн авг 04, 2008 10:54:11
- Откуда: Питер
- Контактная информация:
Сканер считывания бар-кода
Вопрос.
Кто сталкивался с разработкой системы считывания штрихкодов/баркодов?
Думаю попробовать разработать с
Некий модуль считывания кода с помощью подсоединенных оптических сенсоров проверяет баркоды проходящих продуктов и сравнивает их с запрограммированным образцом. Если результат оценки находится за границами допуска, то продукт считается бракованным.
Баркод представляет из себя чередование черных полосок разной толщины, нанесенные на белый, непрозрачный материал. Примерная скорость считывания 40...80 баркодов/секунду.
Продукт движется по конвееру в одном направлении - т.е. линейно. Скорость движения меняется. Полоски баркодов расположены перпендикулярно направлению движения.
Я предполагаю, что достаточно поставить оптическую систему источник-приёмник, работающие на отражение. Что бы от скорости продвижения продукции система меньше зависила - думаю надо сделать первые две-три полоски в баркоде например тонкие. Если система получает три одинаковых прерывания, то дальнейшие прерывания считывает как код.
Ну и если считанный код отличается от сравниваемого - то подается сигнал и срабатывается релюшка.
Как вариант - взять ручной сканер с интерфейсом RS-232 (http://www.kkm.su/shop/digital/detail/14373/). Если я правильно понимаю - то сканер может работать со скоростью распознавания - 100 баркодов/секунду. Можно тогда к нему подрубить МК ATmega через RS-232, ну и что бы мега получала расшифрованный код баркода... и действовала по заданному алгоритму в случае несовподения считанного кода с кодом в памяти.
Вот как-то так.
Похоже на некую автоматизацию производства...
Было бы неплохо... если бы кто-то уже подобное...
Кто сталкивался с разработкой системы считывания штрихкодов/баркодов?
Думаю попробовать разработать с
Некий модуль считывания кода с помощью подсоединенных оптических сенсоров проверяет баркоды проходящих продуктов и сравнивает их с запрограммированным образцом. Если результат оценки находится за границами допуска, то продукт считается бракованным.
Баркод представляет из себя чередование черных полосок разной толщины, нанесенные на белый, непрозрачный материал. Примерная скорость считывания 40...80 баркодов/секунду.
Продукт движется по конвееру в одном направлении - т.е. линейно. Скорость движения меняется. Полоски баркодов расположены перпендикулярно направлению движения.
Я предполагаю, что достаточно поставить оптическую систему источник-приёмник, работающие на отражение. Что бы от скорости продвижения продукции система меньше зависила - думаю надо сделать первые две-три полоски в баркоде например тонкие. Если система получает три одинаковых прерывания, то дальнейшие прерывания считывает как код.
Ну и если считанный код отличается от сравниваемого - то подается сигнал и срабатывается релюшка.
Как вариант - взять ручной сканер с интерфейсом RS-232 (http://www.kkm.su/shop/digital/detail/14373/). Если я правильно понимаю - то сканер может работать со скоростью распознавания - 100 баркодов/секунду. Можно тогда к нему подрубить МК ATmega через RS-232, ну и что бы мега получала расшифрованный код баркода... и действовала по заданному алгоритму в случае несовподения считанного кода с кодом в памяти.
Вот как-то так.
Похоже на некую автоматизацию производства...
Было бы неплохо... если бы кто-то уже подобное...
- Реклама
Re: Сканер считывания бар-кода
..
Последний раз редактировалось Jack_A Вт мар 29, 2011 17:56:38, всего редактировалось 1 раз.
Re: Сканер считывания бар-кода
Зачем изобретать велосипед - лучше промышленного все равно не сделаешь. И проблема, мне кажется, не в электронике, а в оптике ее сложнее сделать.Spirit412 писал(а):Вопрос.
Кто сталкивался с разработкой системы считывания штрихкодов/баркодов?
Думаю попробовать разработать с
Некий модуль считывания кода с помощью подсоединенных оптических сенсоров проверяет баркоды проходящих продуктов и сравнивает их с запрограммированным образцом. Если результат оценки находится за границами допуска, то продукт считается бракованным.
- Spirit412
- Встал на лапы
- Сообщения: 125
- Зарегистрирован: Пн авг 04, 2008 10:54:11
- Откуда: Питер
- Контактная информация:
Re: Сканер считывания бар-кода
Промышленный вариант есть.
Он дорог... и имеет кучу ненужных функций.
Мне же требуется минимум - считать баркод, расшифровать, сравнить с кодом в памяти, если не совпадает - остановить конвеер.
Ну хочется понять - можно ли взять ручной сканер (использовать его оптическую систему и систему распознования), подрубить его через стандартный интерфейс RS232 к атмеге.
Ну и главное - скорость 100 считываний/секунду - это реальная цифра? Реально ли ручной аппарат считает 100 штрихкодов, декодирует их и выдаст в RS232... и всё это за 1 секунду.
Он дорог... и имеет кучу ненужных функций.
Мне же требуется минимум - считать баркод, расшифровать, сравнить с кодом в памяти, если не совпадает - остановить конвеер.
Ну хочется понять - можно ли взять ручной сканер (использовать его оптическую систему и систему распознования), подрубить его через стандартный интерфейс RS232 к атмеге.
Ну и главное - скорость 100 считываний/секунду - это реальная цифра? Реально ли ручной аппарат считает 100 штрихкодов, декодирует их и выдаст в RS232... и всё это за 1 секунду.
- walkerru
- Сверлит текстолит когтями
- Сообщения: 1223
- Зарегистрирован: Вс май 16, 2010 15:56:54
- Откуда: Москва
Re: Сканер считывания бар-кода
Не знаю насчет ручного... Насколько я помню, по крайней мере старые ручные - тормоза были еще те.
Тут в другой теме обсуждали ПЗС от планшетника. Тот должен успеть ваши 100 отсчетов выдать. А вот успеете ли вы их распознать... Это вопрос к прошивке.
Впрочем, не только к прошивке. Та ПЗС выдаёт около 4000 значений на отсчет. 100 раз в секунду - это 4000*100=400 тыс значений в секунду, кои нужно распознать и обработать.
Тут в другой теме обсуждали ПЗС от планшетника. Тот должен успеть ваши 100 отсчетов выдать. А вот успеете ли вы их распознать... Это вопрос к прошивке.
Впрочем, не только к прошивке. Та ПЗС выдаёт около 4000 значений на отсчет. 100 раз в секунду - это 4000*100=400 тыс значений в секунду, кои нужно распознать и обработать.
- Реклама
- Spirit412
- Встал на лапы
- Сообщения: 125
- Зарегистрирован: Пн авг 04, 2008 10:54:11
- Откуда: Питер
- Контактная информация:
Re: Сканер считывания бар-кода
Фига себе...
Не... МК с таким не справитца
А что если сделать сенсор... по типу работы напоминающий лазерную (оптическую) мышь. Т.е. работа на отражение. Можно даже оптику от мыши взять, т.к. в принципе - она реагирует на достаточном расстоянии от поверхности. Штрихкод при сканировании... придставляет собой одномерный массив... грубоговоря Азбука Морзе.
Ручные сканеры разные бывают...
Есть и 400 сканирований/сек. Но они от 15т.р.
Но меня бы устроило и 50 распознований баркодов в секунду.
Не... МК с таким не справитца
А что если сделать сенсор... по типу работы напоминающий лазерную (оптическую) мышь. Т.е. работа на отражение. Можно даже оптику от мыши взять, т.к. в принципе - она реагирует на достаточном расстоянии от поверхности. Штрихкод при сканировании... придставляет собой одномерный массив... грубоговоря Азбука Морзе.
Ручные сканеры разные бывают...
Есть и 400 сканирований/сек. Но они от 15т.р.
Но меня бы устроило и 50 распознований баркодов в секунду.
- Spirit412
- Встал на лапы
- Сообщения: 125
- Зарегистрирован: Пн авг 04, 2008 10:54:11
- Откуда: Питер
- Контактная информация:
Re: Сканер считывания бар-кода
Фига себе...
Не... МК с таким не справитца
А что если сделать сенсор... по типу работы напоминающий лазерную (оптическую) мышь. Т.е. работа на отражение. Можно даже оптику от мыши взять, т.к. в принципе - она реагирует на достаточном расстоянии от поверхности. Штрихкод при сканировании... придставляет собой одномерный массив... грубоговоря Азбука Морзе.
Ручные сканеры разные бывают...
Есть и 400 сканирований/сек. Но они от 15т.р.
Но меня бы устроило и 50 распознований баркодов в секунду.
Не... МК с таким не справитца
А что если сделать сенсор... по типу работы напоминающий лазерную (оптическую) мышь. Т.е. работа на отражение. Можно даже оптику от мыши взять, т.к. в принципе - она реагирует на достаточном расстоянии от поверхности. Штрихкод при сканировании... придставляет собой одномерный массив... грубоговоря Азбука Морзе.
Ручные сканеры разные бывают...
Есть и 400 сканирований/сек. Но они от 15т.р.
Но меня бы устроило и 50 распознований баркодов в секунду.
- walkerru
- Сверлит текстолит когтями
- Сообщения: 1223
- Зарегистрирован: Вс май 16, 2010 15:56:54
- Откуда: Москва
Re: Сканер считывания бар-кода
А штрих-коды появляются только в одном месте или в произвольном?
Как они повёрнуты? строго или произвольно?
Какие размеры штрих-кода?
Может, вообще пачкой фотодиодов можно обойтись?
Как они повёрнуты? строго или произвольно?
Какие размеры штрих-кода?
Может, вообще пачкой фотодиодов можно обойтись?
- Spirit412
- Встал на лапы
- Сообщения: 125
- Зарегистрирован: Пн авг 04, 2008 10:54:11
- Откуда: Питер
- Контактная информация:
Re: Сканер считывания бар-кода
Так в том-то и дело - штрихкоды только в одном месте, расположены - полоски строго перпендикулярно ходу движения продукции.
Штрихкод - 8-мь полосок разной толщины. В нём зашифровано число 00000000 (десятичной системе).
Полоски штрихкода очень контрастны по отношению к фону.... т.е. это белое и черное. Фон - это белый не запечатанный картон.
Думаю - линейка светодиодов тут будет через чур много.
Штрихкод - 8-мь полосок разной толщины. В нём зашифровано число 00000000 (десятичной системе).
Полоски штрихкода очень контрастны по отношению к фону.... т.е. это белое и черное. Фон - это белый не запечатанный картон.
Думаю - линейка светодиодов тут будет через чур много.
- walkerru
- Сверлит текстолит когтями
- Сообщения: 1223
- Зарегистрирован: Вс май 16, 2010 15:56:54
- Откуда: Москва
Re: Сканер считывания бар-кода
Фотодиодов, не светодиодов.
Предположим, что узкая полоска в 2 раза уже широкой. Значит, на место полоски можно поставить два фотодиода. Если полоска широкая, то уровень сигнала низкий с обоих фотодиодов. Если узкая - только с одного. Значит, первый фотодиод можно упростить. Итак, есть сигнал с фотодиода - узкая полоска. Нет- широкая. Так для всех баров. Освещать все одновременно. И фотоэлемент, распознающий наличие изделия. Что-то типа считывателя с перфоленты получается.
Значит, всего девять фотодиодов (фототранзисторов). И ваша Мега вполне с этим справится. Никакие ПЗС и сканеры тут не нужны.
Предположим, что узкая полоска в 2 раза уже широкой. Значит, на место полоски можно поставить два фотодиода. Если полоска широкая, то уровень сигнала низкий с обоих фотодиодов. Если узкая - только с одного. Значит, первый фотодиод можно упростить. Итак, есть сигнал с фотодиода - узкая полоска. Нет- широкая. Так для всех баров. Освещать все одновременно. И фотоэлемент, распознающий наличие изделия. Что-то типа считывателя с перфоленты получается.
Значит, всего девять фотодиодов (фототранзисторов). И ваша Мега вполне с этим справится. Никакие ПЗС и сканеры тут не нужны.
Re: Сканер считывания бар-кода
По моему, вы упрощаете проблему. Представляется так, что сканер позиционирован точно на код и считывает его. Но ведь объект на движущемся конвейере, и код будет показывться сканеру по частям, а то и вообще может быть не код, а фигу ему кто-нибудь показывает. В нормальных штрих-кодах есть в конце 2 контрольные цифры, и если контроль не совпадет, то событие СЧИТАН ШТРИХ-КОД не фиксируется.
У меня был заказчик такой, смастерил 8-битный самопальный сканер и говорит - делай софт, чтоб у меня считывалось 256 различных значений, и никаких на хрен контрольных кодов! каждый бит на вес золота! Я ему поводил егоным "сканером" по обычному газетному листу, и тот ему такого насчитывал, что чувак сдулся и говорит : ладно, еще 8 контрольных бит добавим.
У меня был заказчик такой, смастерил 8-битный самопальный сканер и говорит - делай софт, чтоб у меня считывалось 256 различных значений, и никаких на хрен контрольных кодов! каждый бит на вес золота! Я ему поводил егоным "сканером" по обычному газетному листу, и тот ему такого насчитывал, что чувак сдулся и говорит : ладно, еще 8 контрольных бит добавим.
- walkerru
- Сверлит текстолит когтями
- Сообщения: 1223
- Зарегистрирован: Вс май 16, 2010 15:56:54
- Откуда: Москва
Re: Сканер считывания бар-кода
Ну, в EAN13 положим одна контрольная цифра в конце...
Но идея хороша )) А если еще вспомнить, как в магазинах с кодами е...ся порой )) контрольные суммы никогда не вредили ))
Но каков запрос автора, таков ответ. Конкретного ТЗ же нет с требованиями по допустимому уровню ошибок.
Но идея хороша )) А если еще вспомнить, как в магазинах с кодами е...ся порой )) контрольные суммы никогда не вредили ))
Но каков запрос автора, таков ответ. Конкретного ТЗ же нет с требованиями по допустимому уровню ошибок.
- Spirit412
- Встал на лапы
- Сообщения: 125
- Зарегистрирован: Пн авг 04, 2008 10:54:11
- Откуда: Питер
- Контактная информация:
Re: Сканер считывания бар-кода
За неимением опыта - сложно написать ТЗ
Но суть по сути - EN13 - это слишком.
Если быть конкретнее... то хочу это соорудить на фальцесклеечной машине. Машина фальцует и склеивает картонные коробки.
У нас возникла проблема - на печатном листе бывает по 2-6 видов разных коробочек, но одного размера, и очень похожего дизайна (например отличаются только текстом). После вырубки (перед фальцовкой/склейкой) коробки выколачивают с листа и складывают одн вид в одну стопочку, другой - в другую. Т.к. работу эту делает народ из азии... то часто бывает пересортица... т.е. после склейки, в одной коробке в которой должны быть пачки только одного наименования - попадаются пачки другого.
Хорошо если у заказчика на упаковочной линии стоит сканер баркодов... тогда он не страдает от пересортицы... а вот если нет?
В общем - на клеевом клапане на белом картоне, печатается баркод. он реально состоит из 5-6 штрихов. Он такой коротки т.к. в нём нужно всего лишь зашифровать число от 1 до 8 + контрольная сумма.
Сканер по сути видит или белый картон, или черную риску. Сканер неподвижен, штрихкод (заготовка пачки) движется строго в одном направлении.
Ну что-то типа вот такого -> |||||||
Только вот пока непонятно - как в этом случае оптика будет понимать толстую (3-4мм) и тонкую (1мм) линию. -> ||||||| ?
Просто когда белое/черное... это как 0 и 1
А если белое, черное, и третье значение.
П.С. Посмотрел скорость фальцесклейки - 30-55 пачек в секунду.
Но суть по сути - EN13 - это слишком.
Если быть конкретнее... то хочу это соорудить на фальцесклеечной машине. Машина фальцует и склеивает картонные коробки.
У нас возникла проблема - на печатном листе бывает по 2-6 видов разных коробочек, но одного размера, и очень похожего дизайна (например отличаются только текстом). После вырубки (перед фальцовкой/склейкой) коробки выколачивают с листа и складывают одн вид в одну стопочку, другой - в другую. Т.к. работу эту делает народ из азии... то часто бывает пересортица... т.е. после склейки, в одной коробке в которой должны быть пачки только одного наименования - попадаются пачки другого.
Хорошо если у заказчика на упаковочной линии стоит сканер баркодов... тогда он не страдает от пересортицы... а вот если нет?
В общем - на клеевом клапане на белом картоне, печатается баркод. он реально состоит из 5-6 штрихов. Он такой коротки т.к. в нём нужно всего лишь зашифровать число от 1 до 8 + контрольная сумма.
Сканер по сути видит или белый картон, или черную риску. Сканер неподвижен, штрихкод (заготовка пачки) движется строго в одном направлении.
Ну что-то типа вот такого -> |||||||
Только вот пока непонятно - как в этом случае оптика будет понимать толстую (3-4мм) и тонкую (1мм) линию. -> ||||||| ?
Просто когда белое/черное... это как 0 и 1
А если белое, черное, и третье значение.
П.С. Посмотрел скорость фальцесклейки - 30-55 пачек в секунду.
- walkerru
- Сверлит текстолит когтями
- Сообщения: 1223
- Зарегистрирован: Вс май 16, 2010 15:56:54
- Откуда: Москва
Re: Сканер считывания бар-кода
Элементарно будет понимать. Если один фотодиод и баркод мимо него двигается, чтобы все полоски прошли мимо фотодиода. Различаться они будут шириной импульса с фотодиода. Нет полоски - высокий уровень, узкая - короткий импульс, широкая - длинный импульс.
- Spirit412
- Встал на лапы
- Сообщения: 125
- Зарегистрирован: Пн авг 04, 2008 10:54:11
- Откуда: Питер
- Контактная информация:
Re: Сканер считывания бар-кода
Да... достаточно будет одного светодиода и фотоприёмника (на отражение ведь оптика работать будет.
А как быть со скоростью?
Скорость фальцесклейки настраивается... 55 - максимум... минимум - почти нет предела. Всё настраивается механическу... от поворота ручки.
Как МК будет определять длинный и короткий импульс, если допустим час машина работала со скоростью 40 пачек в секунду... а потом например стала 10/с. Длинна импульса изменилась...
Разве что отношение короткого импульса к длинному остаётся неизменным
А как быть со скоростью?
Скорость фальцесклейки настраивается... 55 - максимум... минимум - почти нет предела. Всё настраивается механическу... от поворота ручки.
Как МК будет определять длинный и короткий импульс, если допустим час машина работала со скоростью 40 пачек в секунду... а потом например стала 10/с. Длинна импульса изменилась...
Разве что отношение короткого импульса к длинному остаётся неизменным
- walkerru
- Сверлит текстолит когтями
- Сообщения: 1223
- Зарегистрирован: Вс май 16, 2010 15:56:54
- Откуда: Москва
Re: Сканер считывания бар-кода
Ну вот, сами и ответили на свой вопрос ))
Синхро-полоски тоже сами в начале ставить предлагали. Вот и ставьте.
А в конце хотя бы бит чётности - и то ошибки реже будут. Или тремя фотодиодами читать вместо одного и решение о значении каждого бита принимать если показания по крайней мере двух совпали.
Синхро-полоски тоже сами в начале ставить предлагали. Вот и ставьте.
А в конце хотя бы бит чётности - и то ошибки реже будут. Или тремя фотодиодами читать вместо одного и решение о значении каждого бита принимать если показания по крайней мере двух совпали.
- Spirit412
- Встал на лапы
- Сообщения: 125
- Зарегистрирован: Пн авг 04, 2008 10:54:11
- Откуда: Питер
- Контактная информация:
Re: Сканер считывания бар-кода
Точно. Поставить пару... У меня длинна клеевого клапана пачек не менее 5см. т.е. баркод проходит минимум 4см. Достаточное расстояние.
Тогда объясните - как организовать синхронизацию? и как делается бит чётности?
Достаточно просто на описать процесс.
Вчера заказал AD USB Analyzer (USBee AX). Накопал Атмегу8-ю (что бы не мучаться с асемблером и написать на СИ). На работе валяется парочка оптических мышей
(будут донарами оптики)...
Тогда объясните - как организовать синхронизацию? и как делается бит чётности?
Достаточно просто на описать процесс.
Вчера заказал AD USB Analyzer (USBee AX). Накопал Атмегу8-ю (что бы не мучаться с асемблером и написать на СИ). На работе валяется парочка оптических мышей
- walkerru
- Сверлит текстолит когтями
- Сообщения: 1223
- Зарегистрирован: Вс май 16, 2010 15:56:54
- Откуда: Москва
Re: Сканер считывания бар-кода
Пары мало, т.к. непонятно, кто именно их 2-х ошибся. Минимум 3.
Оптика из мышей сложнее, чем один фотодиод.
Про синхронизацию. Полоски расположены равномерно. Значит, считав несколько полосок с заведомо известной конфигурацией можно определить период появления полосок. А если в заведомо известных присутствуют, как широкие, так и узкие, то можно определить период и длительность широкой и узкой.
Про чётность. Ну как это... 0-чёт, 1- нечёт, 2 - чёт и т.д. Чётное число ваша полезная часть баркода - широкая например полоска в конце. Нечётное - узкая. Или наоборот, как выберете. МК считав баркод и приняв решения по каждому биту (по трём сигналам) сравнивает полученное число с последней полоской. Если распознанное число чётное и полоска чётная (или чило нечётное и полоска нечётная), распознание считается валидным. Если не совпадает - ошибка - вмешательство оператора или откидывать коробки с повреждённым баркодом и потом разбирать вручную.
Оптика из мышей сложнее, чем один фотодиод.
Про синхронизацию. Полоски расположены равномерно. Значит, считав несколько полосок с заведомо известной конфигурацией можно определить период появления полосок. А если в заведомо известных присутствуют, как широкие, так и узкие, то можно определить период и длительность широкой и узкой.
Про чётность. Ну как это... 0-чёт, 1- нечёт, 2 - чёт и т.д. Чётное число ваша полезная часть баркода - широкая например полоска в конце. Нечётное - узкая. Или наоборот, как выберете. МК считав баркод и приняв решения по каждому биту (по трём сигналам) сравнивает полученное число с последней полоской. Если распознанное число чётное и полоска чётная (или чило нечётное и полоска нечётная), распознание считается валидным. Если не совпадает - ошибка - вмешательство оператора или откидывать коробки с повреждённым баркодом и потом разбирать вручную.
- walkerru
- Сверлит текстолит когтями
- Сообщения: 1223
- Зарегистрирован: Вс май 16, 2010 15:56:54
- Откуда: Москва
Re: Сканер считывания бар-кода
Можно надёжнее сделать: число единиц в полезной части баркода чётное или нечётное.


