fixik_papus (fixik_papus) wrote,
fixik_papus
fixik_papus

Битик, битик, вроде малость...

Битик, битик - вроде малость
Но возьмите выньте-ка
В мире всё б давно сломалось
Без него, без битика


В оригинале эта песенка звучит чуть по-другому
(пятничного всем настроения, да)



Работа инженера-автоматчика в равной степени связана и с битиками, и с винтиками.
О пропавших винтиках, шариках от подшипника и прочих делах слесарных - надеюсь, я еще расскажу.
А сегодня - пятничная "сага о пропавшем битике".

Итак, небольшая мебельная фабрика, "первая эпоха импортозамещения" (1999. Или 2000)....
Помимо всякого ручного и электрического столярно-плотницкого инструмента, на фабрике с давних пор имелся фрезерный станок с ЧПУ.
(да-да! в советские времена делались станки с ЧПУ для мебельного производства!)
Применялся он для выпиливания всяких филенок и прочих мебельных "украшулек".

Фото его сделать я тогда как-то не догадался. Примерно так это выглядело:

domashnii_chpu_stanok_upravljaemyi_kompyuterom_soft_bmp-net-ua[1].jpg

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

Сделан станок был в первой половине 80х годов (точно никто не помнил, но работяги утверждали, что "до Горбачева") неким аспирантом из местного политеха, которому требовался акт о внедрении. В чем там была "научная новизна" - БМП (без малейшего понятия), но вот "практическая ценность" какая-никакая - явно присутствовала.
С материалами и их обработков будущему "кандидату в доктора" явно помогали студенты-заочники с местных предприятий. В результате чего механика была сделана куда лучше, чем на фото выше (редукторы с шариковыми гайками, направляющие "ласточкин хвост" и прочая.). Несмотря на неказистый вид - оно работало.

А вот с системой управления все было несколько печальнее. Это сейчас можно купить в гараж любой б/у ноутбук и написать для него программулину. В те времена даже для шаговых движков все было несколько сложнее.

Контроллер станка выглядел как-то так



На самом деле, на фото никакой не контроллер ЧПУ, а самопальный компьютер Радио-86РК. Я такой тоже в радиокружке паял, правда, не так аккуратно вышло.
Тем не менее, все весьма похоже, и даже большинство чипов те же. Серия КР580 была единственной, хоть как-то доступной в те времена для творчества. И качество изготовления примерно такое же. С разрезанными дорожками и перемычечками кое-где.

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

Несмотря на всю кустарность - станок вполне сносно проработал лет 15.
А потом - стал глючить.

Глючил он так: если заданная в кадре координата Y была больше двух с половиной сантиметров - вместо движения в нужное место инструмент ехал куда ему захочется. Обычно ему хотелось уехать (кто бы сомневался) за пределы рабочего поля, до наезда на концевик.

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

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

После беглого ознакомления со станком я отметил два момента:
- один шаг шаговых приводов X и Y - 0.1 мм (в пересчете на линейное перемещение после редуктора)
- глюки начинаются ровно с координаты 25.6 мм по оси Y.

Не сообразили еще? А знаете, когда отмечается день программиста? 256 день в году. Потому что 2 в восьмой степени.
Между прочим, инженер-автоматчик и тогда, а ныне и подавно, обязан быть и программистом.

Очевидно, проблема происходит где-то при пересчете старшего байта координат.
Но откуда она могла взяться, если раньше все работало?
Тут уж пришлось посмотреть на плату ЧПУ.

Программа в нем хранилась в микросхемах К573РФ1. Емкостью 1 кбит*8. В количестве 2 шт.
Вот они:

micro_72[1].jpg

Это микросхема энергонезависимой памяти с ультрафиолетовым стиранием. Для стирания на ее спине имеется стеклянное окошечко. Самые первые, освоенные в производстве в СССР.
В исходном состоянии (или после стирания) все ее битики = 1, при программировании в нужные записывается нолик).

Я выковырял обе микросхемы из панелек, и отправился на поиски программатора - вытащить прошивку.
Это было само по себе увлекательным и непростым мероприятием. Потому что этому самому первому в СССР чипу - требовались 3 (ТРИ) напряжения питания +5, -5 и +12В, причем -5 нужно подавать первым, а снимать последним. А если эти чипы спалить - станок точно поедет в чермет. Ибо делать программу заново - явно нерентабельное мероприятие.
-5В умели выдавать далеко не все программаторы. А один попавшийся экземпляр, который когда-то умел - сломался, а чинить ненужную давным-давно никому цепь -5В никто не собирался (а то и вовсе не знал, что она неисправна). Хорошо, догадался померить, перед тем как чипы уникальные совать.

После чего - программу пришлось дизассемблировать. И разобраться, что там к чему и как.
Но на этот раз мне повезло. (так обычно и бывает, если долго и упорно что-то делаешь). Выловить источник проблемы оказалось несложно.

Кусочек таблицы команд процессора КР580ВМ80А, он же КР580ИК80А, а в девичестве - Intel i8080.



В процедуре интерполятора, после завершения расчетов координат очередного перемещения, была обнаружена бессмысленная команда MOV A,A.
Откуда она там взялась? Изначально была осмысленная команда MOV M,A (М - это ячейка памяти по адресу, указанному в регистровой паре HL).
Отличаются они одним битиком в машинном коде.

И вот этот самый битик - потерялся. Точнее, стал единичкой (вспоминаем, что стертое состояние ПЗУ - все единички).
Результат - старший байт координаты Y терялся, и вместо него для управления перемещением брался "мусор".

Почему убежал битик - узнать невозможно.
То ли в чипе эта ячейка изначально была дефектная, с большой утечкой заряда с плавающего затвора.
То ли просто срок хранения данных к концу подходил (гарантия на срок хранения данных 10 лет, типичное значение 25 лет, прошло где-то 15).
То ли программатор при записи этого адреса сглючил.
То ли коварная альфа-частица из космоса пролетела через атмосферу, проникла на мебельную фабрику, попала точно в чип ПЗУ и организовала утечку заряда...

А вот вернуть его на место - очень даже возможно.
Конечно, не было никакого смысла разыскивать именно К573РФ1. В конце 90х были доступны и недороги любые чипы ПЗУ. Я залил программу в копеечный чип 2716, и воткнул вместо обоих старых. (на плате при этом чуть добавилось перемычек и разрезанных дорожек. Потому что если подать -5В на 2716 - чип сгорит нафих).
И еще меньше смысла - пытаться восстановить-перепрошить заглючивший старый чип.
Они оба - отправились, куда им и положено по окончании срока службы - в драгмет. Не пропадать же целым 0,0339699г золота и 0,0485637г серебра! :)

Станок заработал, как ему и положено. И еще не один год работал.
А я заслужил у местных звание "почетного колдуна с отличием" :)

P.S. Ну и флешки свои на эту мебельную фабрику я тоже успешно продал, конечно.
Tags: Байки из детства, Байки наладчика
Subscribe

Posts from This Journal “Байки из детства” Tag

Buy for 10 tokens
Buy promo for minimal price.
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 68 comments
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →