РадиоКот :: Перфофлешка
Например TDA7294

РадиоКот >Схемы >Цифровые устройства >Автоматика >

Теги статьи: Добавить тег

Перфофлешка

Автор: ev3658, ev3658@yandex.ru
Опубликовано 09.11.2015
Создано при помощи КотоРед.

Наверно кто-то не поймёт, что это и зачем, но те, кто смешивает бытовую жизнь с производством, вполне могут оценить сей девайс!

Всё началось с поломки перфомагнетрона, точней ФСУ - фото считывающего устройство.

Оно бы работало и работало, но вот резински все превратились в жидкие сопли, операторы в начале каждого дня в ручную проталкивали перфоленту, представляете, как это мучительно было на ротяжении пару десятков лет. В итоге сперва сломался один ФСУ, а потов и второй. Деваться некуда было, пришлось колхозить всё быстро, иначе вся производственная линия встанет.

 

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

Для исправления программы, я выбрал проект Avr-DOS. На коленке спаял все модули, изучил все входы и выходы и через 4 дня отладки всё заработало как часы, собственно выкладываю вам, пользуйтесь на здоровье. Станок у меня ГФ, но ФСУ использовалось в разных ЧПУ станках, так уж всё совместимо.

Схема подклчюения простая:

Всё, что потребуется, это пробросить 5 вольт питания.

Для отладки устрйоства, его можно подключить к USB, устанвоить драйвер Usb-Com (встроен в Arduino Nano) и принимать данные о состоянии по UART на скорости 9600 какой нибудь прогарммой, типа Putty или встроенным терминалом в Bascom Avr.

 

Ой, забыл же! Устройство собрано на базе Arduino Nano и модул

я SD карты с встроенным резисторным делителем для логического уровня ТТЛ в 3.3в. и стабилизатором 3.3в. Сам контроллер работает от 5в. и встроенного кварца на 16мГц.

Загрузчик Arduino само собой стёр, место нужно было, для прогарммирования использовал UsbAsp программатор.

В архиве лежит Bin и hex файл, если не хотите парится с компиляцией, просто прошейте с теми-же фузами, что он и есть, устрйоство должно работать сразу.

Флешку форматируйте под FAT, у меня работало без проблем с 1Gb, в виду ограничения проекта Avr-Dos, максимально допустимый размер флешки - 2Gb.

=====================================================================

Устройство при включении начинает считывайть файл с именем "GF.txt" (регистр важен)

 

 

======================================================================

Отладка:

Подайте питание и следите за сообщениями в терминале, сперва должно появится "START", после если флешка инициализировалась, появится сообщение "Инициализация ОК", если флешку неудалось инициализировать, появится сообщение "Ошибка инициализации" и попытка инициализации будет через 1 сек.


При ошибке инициализации флешки при правильном включении модуля, копайте в сторону её файловой системы, она должна быть FAT и объёмом не более 2Гб.

 

Ну дальше устройство подаёт сигнал "ФСУ готово", поднимает сигнал "Инфомрация готова" и ждёт сигнала "Старт". Станок выдаёт сигнал "Старт" тактированно, точней когда он захочит отдохнуть, он не играет с сигналом "Стоп", а просто убирает сигнал "Старт".

Устройство при появлении сигнала старт, считывает строку из текстового файла, отсылает первый байт символа, вычитывает его чётность, посылает в порт и на 1мс. стробирует сигналом "Информация готова" в "0", в момент строба станок сжирает байт и ему хорошо.

По поводу отсылаемого байта! Не принято котам собак есть, но тут съедено было не мало! Оказывается для отправки байта ASCII использованы всего 7 бит, восьмой бит шел как контроль точност, если кол-во единиц из 7 бит не чётное, то 8 бит = 1. Так-же в конце каждой строки отсылается символ "LF" (код 10), означающий конец строки, это надо, чтоб станок понял, что строка закончилась, ему не нравится код 13, ему нужен код 10 )))

Собственно всё довольно просто, единственное, что не реализовал, это обратную перемонтку, так как не знаю как её запустить на станке, да и надобность в ней небыло.

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

Обратите внимание, что станок при приёме держит сигнал "Стоп" в единицце, а сигнал "Старт" тактирует паузы, сигнал "Инфомрация готова" всегда в единице и стробирует в ноль только на короткий промежуток времени, в который станок съедает 8 бит на порту.

Кодировка ASCII совпадает.

Удачи!!!

P:S: Думал мало нужная статься, но уже двое просили дать информацию для сборки. Конечно многим производствам можно купить нормальные девайсы, но тем, кто сводит концы с концами, собрать такое устроство за 500-800р. труда не составит.

 


Файлы:
файловая система Avr-Dos
Прошивка+Исходник+Схема


Все вопросы в Форум.




Как вам эта статья?

Заработало ли это устройство у вас?

65 6 5
2 0 0