Что-то за последние пару недель с работой почти не продвинулся: сначала практически неделю были студенты питерского политеха: экскурсия, да 14 пар занятий. Понемногу вернулся к работе с новыми приводами БТА, ну и занимался "Астро-М". Система управления оставшимися тремя телескопами в состоянии "конь немного повялялся", хотя должны были уже к концу июня начать двигать телескопом. На прошлой неделе привезли на "Астро-М" мебель: верстак, инструментальный шкаф и три стеллажа + пластиковые контейнеры для мелочевки. Вчера с коллегой весь день собирали мебель. Теперь как-нибудь еще минимум день надо потратить, чтобы все аккуратно разложить (пока что оборудование, инструмент и т.д., и т.п. просто свалены в кучу по коробкам).
С БТАшными приводами коллега уже больше двух недель возится и открывает для себя все более и более новые "недокументированные" вещи. Например, по документации единица измерения силы тока — сотня миллиампер, а фактически — десяток. А при задаче частоты вращения 10Гц, что должно соответствовать 2.5·60=150 об/мин, получаем 290 об/мин. За пару дней написал утилитку, позволяющую читать-писать регистры modbus-rtu по "словарю" (условное название регистра, его адрес, значение, флаг readonly), считывать в файл весь "словарь" текущих значений, записывать "словарь" в частотник. Плюс логгирование заданных регистров. А для удобства добавил туда простейший сервер, позволяющий "на лету" менять параметры во время логгирования (но вот как уже сделал коммит и пошел домой, понял, что надо в лог-файл добавлять и комментарии - поступившие команды, т.к. не понятно, в какой момент времени ты то или иное действие сделал). Снятые при помощи какого-то маздайного софта регистры не везде совпадают с теми, что указаны в документации (скажем, в документации - "резерв", а фактически - какой-то использующийся регистр). Де-юре эти частотники - "российские", ESQ770. Де-факто же - китайские. Нашли производителя и долго по сайту пытались найти "наш". Увы, точь-в-точь такой не нашли, ближе всего к нему оказался SD300 отсюда. Хотя, на печатной плате была маркировка "600-чего-то там", но SD600 по протоколу сильно отличается. Вообще, странные люди: ну делаешь ты линейку движков - так и делай протокол одинаковым. А все "новые фичи" закладывай в регистры с другими номерами, благо, их 65536 можно. Самой паршивой вещью оказалось то, что при наезде на концевик есть лишь два варианта останова: торможение постоянным током или же выбег. Для тысячетонного купола оба — как-то чересчур. Нужна обычная остановка по рампу. Но, судя и по документации с китайского сайта, такое не предусмотрели. И если для купола это не так актуально (по сути, аппаратных концевиков уже нет, т.к. купол запитан троллеем и может крутиться сколько угодно в каком-либо направлении), а для забрала очень даже нужно. Еще и учитывая то, что по технике безопасности запрещается управлять забралом с компьютера — только с клавиатуры. Завтра планирую до обеда опять на "Астро-М" подняться, а вот после нужно будет вплотную заняться перебором регистров. Получим окончательную конфигурацию, которую и перенесем на пять тестовых частотников на куполе, да, пока идет подготовка к алюминированию и купол особо не нужен, погонять купол — проверить, насколько одновременно они реагируют на широковещательные команды старт/стоп/изменение скорости.
А по "Астро-М" я, еще в попытках настройки ПИД-регулятора монтировки с добрых полторы недели назад, наткнулся на то, что мой контроллер энкодеров подвисает. Выяснил, почему: раньше я пользовался эмуляцией PL2303, где как только терминал отключается, поступал сигнал BREAK. Здесь же - составное устройство из трех "USB CDC", где в "неканоническом" режиме BREAK нет. А "подчищал" я буферы в цикле, пока все не отправится, обнуляя watchdog, это и приводило к тому, что когда идет активная запись в устройства энкодеров или отладочный интерфейс, возникал "зависон" при отключении кого-либо. И возвращалось все в норму, лишь когда я обратно подключал (и, соответственно, первые несколько значений были неправильными). Воткнул еще и таймаут в 3мс. Пока проблем не замечал. Посмотрю, как вернусь к активной эксплуатации: пора заканчивать "нижнюю часть" и кое-каких примеров в нее добавить, чтобы потренироваться на алгоритмах наведения и выхода из наведения на сопровождение объекта. Тем временем, в планах у меня уже внедрять систему аварийного отключения электричества на случай грозы (да и принудительного закрывания куполов в случае непогоды, а то некоторые товарищи иной раз как занаблюдаются, что не замечают порывов больше 15м/с или влажности выше 85%). Ну и "ИК-allsky" все ждет, не дождется, когда же его тоже внедрят.
За этот год у меня ни одной публикации: пока что вообще не о чем даже на конференциях рассказать. Вот внедрим новую систему управления, уже будет материал. Не менее интересным был бы анализ данных с ИК-allsky, да и внедрить уже нож Фуко в TeA, чтобы потренироваться восстанавливать волновой фронт по теневым картам на разных фокусных расстояниях (публикации на эту тему чуть ли не лет 30 назад уже были).
Кстати, кому интересно:
Конечно, тут нужен фотоаппарат с "рыбьим глазом", но, за неимением оного, снял на тапок.