Тиснення Брайля з відкритим кодом | HackSpace #78
В останньому номері журналу HackSpace, який уже вийшов, Ендрю Грегорі дізнається, як Стефан Годен створив тиснювач Брайля з відкритим кодом.
Шрифт Брайля, створений у 1829 році Луї Брайлем, є тактильним алфавітом для сліпих і слабозорих людей. Кожна клітинка Брайля, яка складається з шести крапок, відповідає літері або вихідному коду для вказівки літери, цифри чи пунктуаційного знака. Оскільки кожна клітинка складається з шести точок, доступно 64 комбінації. Через обмежену кількість комбінацій кожна країна прийняла власний стандарт Брайля. Використання комп’ютерів та інформаційних технологій показує потребу в кращому стандарті з більшою кількістю комбінацій. З початку 21 століття ми також маємо восьмикрапковий стандарт Брайля. Наразі восьмиточкові стандарти використовуються лише на цифрових пристроях, таких як дисплеї Брайля.
Процес створення точки Брайля
Під час створення документів шрифтом Брайля простим методом використовується металева голка та еластичний матеріал, наприклад килимок для миші, розміщеного за папером. Ви створюєте крапки Брайля, обережно натискаючи голкою на папір, спричиняючи його деформацію. Однак ця точка матиме розмитий край. Ми розпочали цей проект, використовуючи ковадло, і виявили, що використання отвору 2 мм у плоскій 3D-друкованій частині дало кращі результати. Цей метод створив точку з гарним рельєфом на папері та гострим краєм. На жаль, надруковані на 3D-принтері деталі виявилися ненадійними, оскільки матеріал розсипався після кількох точок. Після тестування ми з'ясували, що ковадло має бути металевим. Ми також виявили, що шестигранний отвір головного гвинта M3 ідеально підходить для наших потреб. У результаті всі наші конструкції тепер виготовляються з гвинтом у 30 мм. Шестигранний отвір служить формою ковадла, і ми приклеюємо та замикаємо шестигранну гайку на іншому кінці, щоб відрегулювати глибину крапки Брайля.
Запланований дизайн
Наш план полягав у створенні стандартної 2D дошки з голкою Брайля на підкладці, ґрунтуючись на попередніх тестах, проведених на модифікованих ЧПК або 3D-принтерах. Оскільки крапки Брайля завжди знаходяться на однаковій глибині, нам не потрібен точний контроль глибини інструменту. Таким чином, простого соленоїда достатньо для керування верхнім і нижнім положеннями. Соленоїд набагато швидший, ніж кроковий двигун або сервопривід. Просто подумайте про стандартний ЧПК із брайлівською голкою на соленоїді як інструмент. Як ми бачили, для гарної крапки Брайля потрібні голка та ковадло. Тому наш інструмент Брайля складається з двох частин. Папір розміщується між двома пластинами, причому нижня використовує соленоїд для пробивання крапок, а інша діє як ковадло. Папір подається поступово, за допомогою роликів для контролю положення.
Подача паперу
Під час роботи з папером аркуш необхідно надійно тримати між двома роликами. Нижній ролик приводиться в рух Y-двигуном, тоді як верхній ролик чинить необхідний тиск. Якщо аркуш зісковзне на роликах, це може призвести до неточного друку або навіть зминання паперу.
Ми створили наш перший прототип, використовуючи три валики та преси для паперу. Усі притискні пристрої були розташовані на одній осі лінійного стрижня 8 мм, з двома пружинами на кожному кінці для забезпечення достатнього тиску на папір. Хоча ця система працювала адекватно, її було важко побудувати та налаштувати. Тож ми вирішили поекспериментувати з трьома незалежними пресами та покладалися на еластичність пластику, щоб підтримувати тиск. Однак систему подачі паперу все ще було складно налаштувати та вона була не дуже надійною.
Потім ми вирішили спробувати простішу систему, використовуючи лише два ролики, оскільки легше вирівняти папір, використовуючи дві точки тиску. У нас був, на нашу думку, гарний дизайн, простий у створенні та надійний. Ми зробили кілька прототипів, використовуючи цей дизайн, і досягли певного успіху. Однак, маючи лише два ролики, ви не можете використовувати такі матеріали, як алюмінієві банки.
Потім ми спробували модернізувати тиснення паперу, додавши пружини, по одній для кожного притиску. Ми виявили, що натяжна пружина GT2 доступна за ціною та її легко знайти. Отже, ми переробили прижим із двома пластиковими деталями, шарнірно з’єднаними навколо гвинта M3, використовуючи як пружину натягувач GT2. Успіх! Це нове тиснення є більш гнучким і сильніше тисне на папір, завдяки чому рулон паперу краще утримує аркуші паперу.
Виявлення краю
На нашій дошці нам потрібнен орієнтир, щоб визначити абсолютну позицію X і Y на папері. На осі X є стандартний кінцевий перемикач, який визначає мінімальну позицію нижньої пластини (дошки) та визначає її як позицію 0 для X. Вісь Y проходить уздовж аркуша, тому ми повинні визначити початок паперу. Спочатку ми використовували стандартний кінцевий перемикач із контактом важеля кінцевого перемикача з папером для виявлення верхнього краю аркуша, визначаючи верхній край як положення 0 для Y. Він працював добре, але його було важко налаштувати – папір застрягав, якщо він знаходився надто близько до кінцевого вимикача, і часто залишався непоміченим, якщо надто далеко. Щоб покращити конструкцію, ми використали надрукований на 3D-принтері важіль для зсуву кінцевого перемикача та шестигранний гвинт для точного налаштування положення виявлення.
Шлях паперу
Іншим важливим аспектом процесу подачі паперу є шлях, який проходить матеріал у пристрої. Це делікатний процес, і навіть найменша перешкода може спричинити зминання паперу. Спочатку ми використовували пластину з фанери або ПММА з траєкторією 10 мм для брайлівської голки в центрі. Однак таке налаштування часто призводило до зминання паперу. Коли папір рухався вниз, іноді один із його кутів застрягав за край голки, спричиняючи зминання. Щоб подолати цю проблему, ми експериментували з різними моделями, надрукованими на 3D, щоб надійно зберігати папір у лотку. Однак для цих дизайнів потрібна додаткова обробка, і ми виявили, що краще залишити аркуш паперу самостійно, якщо він застряг у принтері. Ми можемо опустити лоток на стороні виходу, відразу після траєкторії голки, і це працює неймовірно добре! Урок, який ми засвоїли, полягає в тому, що ніколи не примушуйте аркуш паперу, а замість цього дозволяйте йому вільно проходити.
Розташування соленоїда
Одна з постійних проблем, з якою ми стикалися, полягає в тому, що голка Брайля не опускалася, коли соленоїд активувався та вимикався, що призводило до зминання паперу або відсутності крапок Брайля. Нижня пластина виявилася найскладнішою частиною для створення. Вісь соленоїда повинна рухатися вільно, тому ми розробили надруковану на 3D-принтері деталь, яка слугувала напрямною для голки. Хоча під час перевірки стрілки Брайля вручну все, здавалося, працювало нормально, ми виявили, що стрілка часто фіксувалася у верхньому положенні, коли ми використовували електромагніт із живленням. Оскільки ми використовували дешевий електромагніт, ми помітили, що положення різьбових отворів збоку соленоїда не було точно вирівняно з віссю соленоїда. У деяких соленоїдах між віссю і ковадлом є невеликий кут. Це може спричинити бічні зусилля на осі, коли голка входить у ковадло, чого достатньо, щоб зафіксувати соленоїд у активованому положенні. Ми виявили, що найкращим рішенням було зробити довгасті отвори для кріпильних гвинтів соленоїда – це дозволило нам точно відрегулювати вісь соленоїда за допомогою ковадла.
Декілька слів про програмне забезпечення
Тепер у нас є пристрій, який дозволяє рухати голку Брайля вздовж осі X за допомогою крокового двигуна, а ми можемо рухати папір уздовж осі Y за допомогою іншого крокового двигуна. Це ідеально підходить для плати контролера 3D-принтера з мікропрограмою Marlin. Ми модифікували мікропрограму Marlin, щоб трохи відкоригувати наведення Y. Якщо кінцевий перемикач увімкнено, виявляючи папір, ми рухаємо папір назад, доки перемикач не буде вимкнено. Якщо кінцевий перемикач вимкнено, ми просуваємо папір вперед, поки перемикач не увімкнеться. Ця спеціальна функція наведення дозволяє користувачеві легко завантажувати папір у ролики, а положення 0 Y автоматично встановлюється на верхньому краю аркуша.
Вихідна потужність, розроблена для теплової платформи, використовується для керування соленоїдом. Спочатку ми використовували команду G-code M3, щоб увімкнути та вимкнути соленоїд. Ця команда зазвичай використовується для керування лазером, де M3 S1 активує лазер, а M3 S0 вимикає його. Ми використовували команду таким же чином для керування соленоїдом. Однак соленоїди відрізняються від лазерів; Ви не можете тримати їх в активному стані занадто довго. Без системи охолодження Ви повинні дотримуватися коефіцієнта активації/деактивації, який був низьким із дешевим потужним соленоїдом що ми використовували. Спочатку ми покладалися на команду активації/деактивації у файлі G-коду, але користувачі повідомили про спалювання соленоїда, зазвичай залишаючи програмне забезпечення без гарантій. Щоб вирішити цю проблему, ми внесли ще одну зміну в мікропрограму Marlin. Команда M3 S1 все ще активує соленоїд, але лише на 50 мс. Цього достатньо, щоб вибити крапку, і гарантує, що соленоїд ніколи не буде активним довше, ніж 50 мс.
Тепер у нас є програмований G-кодом пристрій для тиснення крапок Брайля будь-де на аркуші паперу. Щоб тиснути документ шрифтом Брайля, ви можете використовувати AccessBrailleRAP. Це програмне забезпечення переводить текст у символи Брайля, обчислює положення крапок Брайля на папері, а потім надсилає послідовність G-коду на пристрій для тиснення. Однак вам все одно потрібно перекласти текст шрифтом Брайля. Як ми обговорювали раніше, існують різні стандарти для шрифту Брайля в усьому світі, включно з варіаціями між Великобританією та США. Як і викладачі французької мови, ми почали з базового програмного забезпечення для перекладу тексту шрифтом Брайля. Однак ми зрозуміли, що в цьому процесі є багато складних нюансів. Наприклад, позначення числа не те саме, що позначення групи чисел, а позначення великої літери не те саме, що позначення цілого слова великими літерами. Ці деталі вимагають особливої уваги, щоб забезпечити точний переклад. Під час пошуку в Інтернеті бібліотеки транскрипції Брайля з відкритим кодом ми знайшли Liblouis. Це інтерпретатор граматики, який дозволяє створювати переклади шрифтом Брайля за допомогою текстових файлів, усуваючи необхідність писати код для перекладача шрифтом Брайля. Оскільки Liblouis має відкритий код і є загальнодоступним, багато учасників надали файли даних для своїх мов. Наразі Liblouis може перекладати шрифт Брайля на понад 200 стандартів Брайля. Підтримуються всі основні мови світу, включаючи деякі регіональні. Тож ми припинили спроби кодувати транскрипцію Брайля, використали Liblouis і зосередилися на забезпеченні доступного програмного забезпечення для використання BrailleRAP.