Энкодер магнитных карт своими руками

Обновлено: 07.07.2024

Энкодер (кодировщик) магнитных карт – это устройство для записи информации на магнитную полосу пластиковой карты. Карточка с магнитной полосой вручную устанавливается в прорезь энкодера, контактирует с записывающей и контрольной считывающей головкой для размещения данных.

Как работать со считывателем магнитных карт?

Принцип работы бесконтактных считывателей банковских карт заключается в том, что генератор устройства запитывает антенну, которая излучает электромагнитную энергию. При поднесении карты к устройству на расстоянии 30-250 мм ее антенна принимает генерируемое излучение и передает на чип.

Как записать карту через энкодер?

Просто занесите данные, которые нужно записать на соответствующую дорожку магнитной полосы, в поля программы и проведите карту через энкодер – всё остальное он сделает автоматически.

Что такое Считыватель магнитных карт?

Считыватель магнитных карт (картридер) — это устройство, предназначенное для считывания информации с пластиковых карт, имеющих магнитную полосу. Магнитная полоса, как правило, расположена с обратной стороны карты и содержит данные о владельце в закодированном виде.

Как называется устройство для считывания банковских карт?

Чтобы считывать данные с пластиковой карты, нужен терминал. Это устройство распознает данные с магнитной ленты или чипа, отправляет информацию в банк и печатает чек об оплате. . Поэтому терминалы иногда называются эквайринговыми или POS-терминалами.

Как называется терминал для бесконтактной оплаты?

Виды pos-терминалов Терминал для банковских карт — это устройство для безналичной оплаты. . Терминалы для банковских карт еще называют эквайринговыми или POS-терминалами.

Как рассчитываться картой через терминал?

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

Как пользоваться терминалом для банковских карт?

Вставьте пластиковую карту в терминал любым удобным способом (чип ридер, магнитный считыватель или индикатор бесконтактных платежей). С помощью клавиатуры введите номер чека отменяемой операции. На дисплее появится информация о платеже.

Механический энкодер — вещь удобная в использовании, но он имеет некоторые досадные недостатки. В частности, контакты со временем изнашиваются и приходят в негодность, появляется дребезг. Оптические энкодеры гораздо надежнее, но они дороже, многие из них боятся пыли, и они редко встречаются в таком виде, в котором их удобно было бы использовать в радиотехнике.

Короче, когда я узнал о том, что шаговый двигатель можно использовать как энкодер, эта идея мне очень понравилась.
Практически вечный энкодер! Замучить его невозможно: соберешь раз и можешь энкодить всю жизнь.

Содержание / Contents

↑ Шаговый двигатель и схема

В качестве энкодера я решил попробовать миниатюрный безымянный шаговик из компьютерного дисковода 5.25 дюйма.

Я разобрал несколько дисководов, везде двигатели были разные. Встречались на шлейфе, встречались с косой цветных проводов. На шлейфе общий провод — крайний. Всё остальное находится прозвонкой. По сопротивлению понятно: с выхода на выход сопротивление вдвое больше, чем с выхода на общую точку. А можно даже не прозванивать. Если открутить четыре винта, внутри коммутационная плата, на ней видно, где общий провод.

Исходная схема многократно встречается в Сети в вариациях. Я оттолкнулся от статьи Thomas (OZ2CPU) .

Разработал и протестировал вот такую схему:

Исключён фрагмент. Полный вариант статьи доступен меценатам и полноправным членам сообщества. Читай условия доступа.

Кстати, эту схему на логике можно использовать и для обычного энкодера, я её и отрабатывал на нём.

Разумеется, этот же функционал можно сделать на единственном микроконтроллере, но это далеко не для всех доступно и удобно. Всё-таки элементы 2И-НЕ можно найти где угодно, в т. ч. советские (74хх00, К155ЛА3, К555ЛА3).
Последние два инвертора (U5D и U3D) можно выкинуть, ведь ничто нам не мешает подключить светодиоды не к земле, а к плюсу питания. Если крепко пошевелить мозгом, схему можно было бы ещё упростить, но эту задачу оставляем на будущее.
Печатки нет, поскольку всё собиралось только на макетке.

↑ Недостатки схемы и их преодоление

Исключён фрагмент. Полный вариант статьи доступен меценатам и полноправным членам сообщества. Читай условия доступа.

↑ Видео в работе

Жалко, что видео не передает тактильные ощущения на валу!

↑ Итого

Привет, друзья!
Я запилил копировальщик домофонных ключей на ардуино и сделал пару видосов на своём канале youtube про копирование контактных ключей типа Dallas, токовых ключей Cyfral и Metakom, а также про копирование rfid ключей типа EM-Marine, работающих на частоте 125 кГц. Как раз такие используются в домофонах наших подъездов.

Подробное видео можно посмотреть тут:

Электрическая Схема

Так выглядит схема копировальщика: к ардуино нано подключается луза для копирования контактных ключей, а к ногам 11 и 7 подключается вход и выход rfid модуля.
Rgb-cветодиод для индикации режима чтение/запись/BlueMode, buzzer — для попискивания. Энкодер — для управления дибликатором. На шине i2c подцеплен oled дисплей.


Схема дубликатора

Корпус и Механическая сборка

Я забацал 3D модель кастомного корпуса для моего дубликатора.

А вот как это напечаталось на 3D принтере. У меня нет принтера, но я нашёл человека через сервис дружественная печать.

Чтобы плата энкодера влезла в корпус ее необходимо немного подпилить напильником с конца, на котором нет дорожек.

Катушку можно взять готовую, например от модуля rdm или купить у китайцев на али на 340 мкГн.
Если будете мотать на спичечный короб — это 59 витков.

Вот как выглядит аппарат в сборе.


Скетч и библиотеки

Ссылка на гитхаб библиотеки и скетч. Библиотеки oled дисплея и oneWireSlave нужно сложить в папочку libraries среды ардуино. Для энкодера я использую библиотеку от Алекса Гайвера. Её нужно распаковать туда же.
Также нужно доустановить библиотеку oneWire и TimerOne из репозитория библиотек ардуино.

Описание работы дубликатора

При запуске копировальщик достаёт из eeprom последний сохранённый туда ключик и показывает на дисплее количество ключей в EEPROM, шифр ключа и его тип. Максимум в дубликатор можно сохранить 20 разных ключей.
Rgb диод светит зелёным, т.е ключ уже можно писать на болванку. Если в EEPROM было пусто, на экране будет соответствующая надпись, в ожидании чтения ключа.
Чтобы выбрать из EEPROM другой ключ , достаточно покрутить энкодер вправо или влево.

Если вы хотите сохранить в EEPROM прочитанный ключ, просто удерживайте нажатым энкодер несколько секунд. Если в EEPROM уже записаны все 20 ключей, то самый старый из них затирается. Если повторно пытаться сохранить в EEPROM ключ, который там уже есть — запись не происходит, а просто выбирается индекс уже сохраненного ключа.

Для перевода в режим записи жмём на кнопку энкодера — светится красный диод. Ключ который отображается на дисплее будет записан на болванку.

Теперь немного про ключи цифрал и метаком.
Для копирования таких ключе нужна спец болванка тм-01а.
Дубликатор умеет делать финализацию таких ключей, и они ничем не будут отличаться от исходных.

Но и это ещё не всё! Я прикинул, а что если сделать эмулятор rfid ключа? У меня есть девайс, который может хранить до 20 разных ключей, в нем есть мозги и рамка, как в обычном ключе. С манчестерским кодом я уже разобрался….
Короче, жмём на кнопку энкодера и переключаемся в третий режим — blueMode. Достаточно поднести дубликатор к домофону и … опа.. дверь открывается! Магия!

Если вам понравился проект — поддержите автора!

Если вам нравится самоделка, но чувствуете, что сил сделать самому пока не достаточно — можете заказать самоделку в авторском исполнении.

  • Дубликатор 3800 руб
  • Комплект для самостоятельной сборки 2900 руб

Доставка в ваш город составляет примерно 280 руб и уже входит в стоимость.

В заказе будет особая авторская прошивка. Вырученные средства пойдут на на закупку материалов для новых проектов, оборудования для съемки, содержание сайта и доменного имени.

Необходимые Материалы

Конденсаторы любые неполярные. Я использовал керамические на 50В.

Полезные ссылки

  • Для начинающих ардуинщиков от AlexGyver
  • Про манчестерский код
  • Расчет катушки индуктивности
  • Чтение ключа rfid ключа em marine
  • Протокол записи rfid T5557/T5577 на русском, оригинал ATA5555 datasheet .pdf
  • Протокол dallas oneWire
  • Протокол чтения Цифрал к1233кт1
  • Протокол чтения Метаком к1233кт2 про копировальщик про протоколы записи tm-01
  • Сервис дружественная 3d печать

Здравствуйте собрал и я такую штуку автору проекта большое спасибо. У меня вроде все работает контактные и бесконтактные ключи читает и пишет. Я в этом деле новичок и мало, что понимаю только начинаю познавать азы электроники. У меня есть пару вопросов к вам МЕХАТРОН или форумчанам. Первое собрав сей девайс стал испытывать разные режимы и моя крона здохла промерно минут так через 10 первое что перестало работать при падении напряжении RFD. Но думал крона говно купил подороже но теперь подключил мультиметр на крону посмотреть падение напряжение, включил дубликатор показало 9,3в и стало потихоньку падать 9,27 9,26 итд отключил антену rfd вроде стало чуть чуть поменьше падать. Вопрос почему так быстро подает напряжение в чем может быть причина в LED Дисплее или в RFD антенне или так и должно беспрерывная работа дубликатора примерно 5 минут и все.Перечитал все коменты но никто об этом не писал. И второй вопрос при включении дубликатора моргнет и загорается красный диод в лузе потом когда загорелся зеленый диод режим чтения ключей красны диод в лузе гаснет и загорается толька в режиме — bluemode, это так и должно быть так в скетче прописано или у меня что-то неправильно работает . Просто у вас на видео вроде после загрузки светиться зеленый и красный в лузе диод и можно ли в скетче в режиме — bluemode наоборот отключить светодиод, а в режиме чтения и записи включить. Буду вам всем рад за помощь в ответах на мои вопросы повторюсь ребята я в этом деле новичок . Спасибо вам всем заранее.

Здравствуйте собрал и я такую штуку автору проекта большое спасибо. У меня вроде все работает контактные и бесконтактные ключи читает и пишет. Я в этом деле новичок и мало, что понимаю только начинаю познавать азы электроники. У меня есть пару вопросов к вам МЕХАТРОН или форумчанам. Первое собрав сей девайс стал испытывать разные режимы и моя крона здохла примерно минут так через 10 первое что перестало работать при падении напряжении RFD. Но думал крона говно купил подороже но теперь подключил мультиметр на крону посмотреть падение напряжение, включил дубликатор показало 9,3в и стало потихоньку падать 9,27 9,26 итд отключил антену rfd вроде стало чуть чуть поменьше падать. Вопрос почему так быстро подает напряжение в чем может быть причина в LED Дисплее или в RFD антенне или так и должно беспрерывная работа дубликатора примерно 5 минут и все.Перечитал все коменты но никто об этом не писал. И второй вопрос при включении дубликатора моргнет и загорается красный диод в лузе, потом когда загорелся зеленый диод режим чтения ключей красны диод в лузе гаснет и загорается толька при выборе режима — bluemode, это так и должно быть, так в скетче прописано или у меня что-то неправильно работает . Просто у вас на видео вроде после загрузки светиться зеленый и красный в лузе диод и можно ли в скетче в режиме — bluemode наоборот отключить светодиод, а в режиме чтения и записи включить. Буду вам всем рад за помощь в ответах на мои вопросы, повторюсь ребята я в этом деле новичок . Спасибо вам всем заранее.

А что вы хотите ?
Крона — это очень слабая батарейка.
Вы не падение напряжения измеряйте, а померьте потребляемый этим устройством ток — и всё станет ясно !

Да, тоже сдохла быстро новая крона. Я ее откл, хватает питания от юсб

Здраствуйте. Может кто-то из вас который доработал прошивку к вводу ключа из монитор порта поделитсья ее на почту tatrat4d@abv.bg потому что я пробовал сам добавитъ этот недостающий код но у меня уже 3я попытка и вообще не получается.

Да, действительно, а как записать ключ из монитор порта? Когда есть только номер так сказать

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

Давно я тут не писал постов про принтеры и электронику, но тут назрела тема использования абсолютного энкодера и попытке сделать вменяемое упралвение шаговым двигателем с рассчётом на точность позиционирования (не путать с повторяемостью).

  • AS5048A с разрешением 12bit (если пересчитать в угол по нехитрой формуле 360/2**12 ~ 0.08789 градуса)
  • TLE5012b с разрешением 15bit (опять же если пересчитать в угол то 360/2**15 ~ 0.01099 градуса)

  • stm32 имеет прерывания на трех пинах которые подключены к Step/Dir/Enable на плате управления принтером
  • при получении сигналов на Step/Dir/Enable производится stm32 делает шаг через tmc2130
  • после завершения шага (если успевает) считывает положение двигателя через энкодер tle5012b (на валу двигателя помещён магнит)
  • stm32 печатает в UART инфу о количестве шагов, микрошаге, количесве оборотов и текущем угле поворота двигателя (энкодер таки абсолютный и умеет считать обороты)

  • Был выбран набор скоростей: 10, 25, 50, 75, 100, 125, 150, 200, 250 мм/с
  • Для каждой скорости передвижение с X0 до X160 и обратно и ожидание в крайних положения по 2 секунды (это 4 оборота движка в одну строну и в другую) повторялось по 25 раз
  • Данные с энкодера писались в лог (скриптик с сериал консоли всё писал в файлики)

Сага о абсолютном энкодере и шаговом двигателе

  • На низких скоростях (до 50 мм/с), у нас повторяемость очень неплохая, на уровне погрешности измерения энкодера
  • На скорости 75мм/с (а это у нас ~1.875 оборота в секунду) ошибка повторяемости позиционирования шаговика становится сравнимой с одним микрошагом
  • На скоростях 100, 125, 150 и 200 мм/с у нас ошибка повторяемости позиционирования шаговика снова становится сравнимой с погрешностью датчика угла поворота (особенность драйвера tmc2130, для него это другой режим работы и он пытается делать точное позиционирование)
  • А вот на скорости в 250мм/с система идёт в разнос и повторяемость падает до ~0.7 градусов (что примерно 7 шагов при дроблении 1/16, или если пересчитать в мм то это будет ~0.1 мм в среднем)

То что мы видим при скорости 10мм/с (да довольно медленно)

Сага о абсолютном энкодере и шаговом двигателе

  • Шаги у нас не равномерны (что в целом понятно, исходя из физики двигателя)
  • Какие то шаги у нас почти точно попадают в идеальные значения углов поворота (но не все. совсем не все. )
  • Хотя точность позиционирования у нас не очень высокая, но повторяемость хорошая (синяя линия на картинке это статистика по 25 повторам

Теперь посмотрим что будет если шаговик пойдёт немного быстрее 25 мм/с

Сага о абсолютном энкодере и шаговом двигателе

Картинка в целом не поменялась, но ошибка позиционирования возросла (разница между реальным и идеальным положением)

Теперь 50 мм/с

Сага о абсолютном энкодере и шаговом двигателе

Видно что позиционирование стало ещё хуже.

Теперь 75 мм/с

Сага о абсолютном энкодере и шаговом двигателе

Всё поплыло ещё дальше.

Сага о абсолютном энкодере и шаговом двигателе

Ошибка осталась на прежнем уровне (tmc2130 перешел в другой режим работы)

Сага о абсолютном энкодере и шаговом двигателе

Сага о абсолютном энкодере и шаговом двигателе

Сага о абсолютном энкодере и шаговом двигателе

Сага о абсолютном энкодере и шаговом двигателе

Сага о абсолютном энкодере и шаговом двигателе

  • Что приятно средняя ошибка позиционирования примерно 0. Что означает что шаговик с одинаковой вероятность как проскакивает положение, так и недоходит до него (по этому среднее и есть 0).
  • А вот медиана уже становится большой. На уровне 0.5-0.8 градуса.
  • Разброс ошибок довольно большой, он растёт с примерно 0.2 градусов при 10мм/с до 4 градусов при 250мм/с, что соответсвует разбросу хода от 0.02 до 0.5 мм (хе хе.. кто там хвастался что печатает на скорости 200+мм/с. )
  • Ещё замечу, что всё это измерялось на свободном шаговике без нагрузки. С нагрузкой будет все печальнее (и я это проверю в следующей части)

Что из всего этого следует?

Если хочется повышать качество печати, то надо слегка поменять подход к позиционирования шаговика в прошивках (позицоинирование у него не линейное, и это надо учитывать). По идее надо сделать умный closed-loop шаговик, которые будет в состоянии корректировать нелинейности при перемещении.

Продолжение следует.

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Читайте также: