eddy_em: (Default)
eddy_em ([personal profile] eddy_em) wrote2017-06-16 03:39 pm

Платформа SCORPIO

Сегодня утром я добил прошивку платформы (обновлю на гитхабе позже, лень мне в эти выходные на работу идти, тем более после экскурсий на БТА). И оно таки заработало!
Час назад, когда я еще проводил последнюю экскурсию, прибор привезли вешать на БТА.
Вот в таком хаосе всю последнюю неделю находилось мое рабочее место:


Заваленный макулатурой верстак:

Первое приближение. Т.к. хотелось наименьшими усилиями все сделать. На этой ардуине я отрабатывал прошивку и ее же использовал в качестве прошивалки:

Собственно, оригинальная плата с прошитым МК:

Но, как говорится, факир был пьян: то ли у 8535 какие-то особенности работы UART'а, то ли флешь микрохемы уже оказалась битой, но скорость не менялась, что бы я в регистры ни писал. В обычном режиме выдавала 333бод, в "удвоенном" — 666. Хотя на светодиоды сигнал шел правильный, т.е. часть прошивки внутри как-то крутилась.
ОК, плюнул я на эту затею и предложил сварганить на макетке временный вариант (надеюсь, действительно временный) на основе STM8.
Пока Сергей паял дарлингтонов с дешифраторами, я на беспаечной макетке собрал пробный вариант. Вместо нагрузок поставил светодиоды, а вместо толпы шаговых двигателей повесил один маленький:

Двигатели мы сгуппировали попарно в тройки (коммутируемые p-канальными ключами), а выбор пары из тройки выполнялся подачей тактовых импульсов на соответствующие 4 порта дарлингтонов. Вчера включили, а двигатели крутятся тройками! Сергей догадался, что мы забыли о самоиндукции, которая привела к этому эффекту. Вчера до 11 вечера сидели на работе: я напаял 20 диодов Шоттки, и наконец, когда мы были уже совсем замученными, моторы закрутились. Составили таблицу соответствия концевиков моторам, и сегодня с утра, пока еще не приехали люди на экскурсии, я обновил прошивку.
Вот как выглядит вставленная в платформу плата:

Вид снизу. Красоту нарушил я, напаяв недостающие соединения:

Вид со стороны элементов:

Сделана простейшая логика выбора концевиков: дешифратор подтягивает к нулю нужную пару. Сборки ключей подтягивают к плюсу питание нужной пары. Вот такая штука из подручных материалов и получилась.
Вид на саму платформу:

Блок электроники 20-летней давности. В левый разъем наш монстр и вставляется:

Если все-таки будем разрабатывать новую систему управления (как для платформы, так и для самого SCORPIO), это точно будет на STM32. Каждым шаговым двигателем будет управлять свой драйвер. И результирующая плата будет намного меньше того, что было сделано 20 лет назад на нищей элементной базе.
А еще я задумался о возможности дистанционной прошивки контроллеров. Скажем, дергать одноплатником reset и boot, и прошивать через бутлоадер.