Вчера завершил один ракетно-электронный долгострой.

May 26, 2020 18:11

История этого долгостроя берёт своё начало семь (?) лет назад. В моём ЖЖ первое упоминание о нём - февраль 2014 года:
https://users.livejournal.com/suvorow-/231365.html - там в посте и в комментах интересные картинки.
Я тогда начал делать маленький стенд для измерения параметров модельных твердотопливных ракетных двигателей.
Что-то быстро сляпал, и бросил.
Первая версия могла мерить тягу, и сбрасывать её в компьютер в реальном времени, больше ничего. Но у меня был "спецноутбук" для полевых испытаний, поэтому в каком-то смысле этого было достаточно. Поэтому прогресс, в основном, имел место в изменении оснастки для крепления двигателей разного размера. Потом я всё же модифицировал прошивку, чтобы расширить диапазон тяги.
А ещё примерно через год потребовалось-таки сделать автономную запись, без ноутбука, на предполагавшуюся, но не установленную до этого, микросхему EEPROM. А она возьми и сломайся. Механически - пополам. И, раз такое дело, я взял вместо неё более удобную DataFlash от Atmel. Благодаря внутреннему буферу, запись данных и их получение с АЦП больше не мешали друг другу.
Но это было время, когда в Lin Industrial шла самая интенсивная работа, а, из-за допущенной схемотехнической ошибки, запись в DataFlash у меня не заработала. Если бы микросхема точно была исправной, я бы, наверно, продолжил поиск ошибки, но, дело в том, что "Чип и Дип" продал нам под видом AT45DB021B перемаркированную более раннюю микросхему AT45DB011B, у которой не только ёмкость была вдвое меньше, но и RAM-буфер был один вместо двух, и не все команды она понимала. И я тогда посчитал, что запись не работает, из-за того, что микросхема неисправная, и опять бросил доделку прошивки.
Два года назад, однако же, тот товарищ, которому понадобился вариант с автономной записью, активизировался, и начал меня опять толкать, чтоб я продолжил доделку. Купил новый комплект деталей, выдал их мне, и я собрал воедино. Сделал и ещё несколько косметических правок в прошивке, по его хотелкам, но, главное, разобрался, отчего у меня тогда не заработала запись.
Датафлэш имела максимальное напряжение питания 3,6 вольта, а вся остальная часть питалась от более высокого напряжения - в моём экземпляре стенда от 3,7-4,2 вольта (один литиевый аккумулятор), а в его экземпляре - от 3,6-4,6 вольта (три пальчиковые батарейки последовательно). И я сделал ошибку - поставил в этом месте параметрический стабилизатор на одном стабилитроне и одном резисторе. А у датафлэш потребляемый при записи ток примерно в тысячу раз больше, чем при чтении или в простое. Соответственно, при попытке включить запись, напряжение проседало, и запись обламывалась. А чтение работало нормально.
Я вставил туда конденсатор в 470 микрофарад, и запись заработала - напряжение не успевало просесть ниже разрешённых 2,7 вольта за время записи страницы. Но это было ошибкой. Приборчик переставал работать, как только батарейки, от которых он питался, отдавали едва треть ёмкости.
Однако же, заказчик на это плевал, использовал прибор, и даже напечатал статью в "Физике горения и взрыва", где выражал мне благодарность :)
А потом стенд начал капризничать сильнее, и я таки уговорил его отдать мне его для устранения недоделок.
И больше полугода не мог никак эти недоделки устранить.

В основном, потому, что человек этот, по своему разумению, навертел вокруг моей, не такой уж и сложной, платы, кучу своего "добра", которое не давало мне вынуть мою плату для ремонта и доделок. У меня-то во всех критичных местах стояли разъёмы, а у него, после переделок, разъёмы стояли в неожиданных местах, но не в тех, где они должны бы быть! И мне пришлось порушить часть "его" схемы, чтобы добраться до моей. Наконец, я перепаял стабилизатор на нормальную микросхему, и начал включать. А оно не включается! Сначала я не понял, что просто не включается, никак не мог найти место, где прерывается цепь питания. Потом понял, но проследить так и не смог. В результате, перед началом карантина, придумал ход конём - подать питание на мою схему от другого комплекта батареек! подал. А выходных данных всё равно не идёт.
У меня опустились руки и я опять это дело бросил.

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

И тут-то я понял, что не только в стабилизаторе было дело. Не могу сказать, мой это баг, или это что-то с АЦП, но, иногда, при выдаче команды внутренней калибровки нуля, он в рабочий режим не возвращался. И программа в бесконечном цикле ждала, когда он очнётся. Приделал прерывание по таймеру (0,5 секунды) и переинициализацию АЦП, и тогда прибор стал, наконец, работать, как и было задумано 7 лет назад.

Фоток чужого экземпляра не будет, извините. Хотя он выглядит аккуратнее, чем мой. Да и датчик в нём из магазинных электронных весов - до 40 килограмм, но гораздо стабильнее моего. Между прочим, пережил один взрыв двигателя!

Написал человеку в аську, а он не откликался. Не выдержал, позвонил, чтобы он приехал и забрал прибор. Чувствую огромное моральное облегчение. Но теперь надо доделать свой экземпляр - там у меня датафлэш даже не впаяна пока.
Previous post Next post
Up