Сгоревший драйвер L6208 я заменил, выполнил отладку всяких глюков. Осталось совсем немного (что-то подглючивает счет шагов после того, как я добавил ускорение на старте шаговиков, да и после этого же перестал работать поворот турелей на заданную позицию).
Итак, на сегодняшний день система умеет:
Еще у меня сделаны зачатки, необходимые для работы с 1-wire (я сделал почти полностью аппаратно — на таймере с DMA), но не завершен код более высокого уровня. Планирую при помощи DS18S20 измерять температуру внутри корпуса контроллера + температуру корпуса криостата (по разности температур криостата и воздуха можно судить о том, насколько хорош вакуум внутри криостата; хоть вакуумметр тоже в системе будет, но лучше иметь свой независимый способ).
Общее количество строк (включая комментарии, отладку и мусор) в проекте уже превысило 5000. Вот такая вот система управления. Вроде бы, никакого функционала, а черт-те сколько уже накатал...
Итак, на сегодняшний день система умеет:
- Двигать моторы на заданное число шагов, останавливая подвижки при упоре в концевик и приостанавливая турели на фиксированных позициях для точного определения номера позиции (напряжение с обмоток движка снимается и подпружиненный упор доводит турельку до нужного положения). На старте двигатели раскручиваются с ускорением (первый шаг — за 10 тактов, второй — за 9 и т.д.), чтобы преодолеть усилие пружины, фиксирующей турель.
- Устанавливать турели в заданные (по номеру) позиции, выбирая наиболее оптимальное направление вращения.
- Измерять сопротивление платиновых TRD. Кстати, я был приятно удивлен, произведя вчера калибровку АЦП: вот эти 0.1% резисторы (брались не из-за класса точности, а т.к. у них наиболее низкие температурные отклонения из аналогичных (за вменяемую цену) позволили измерять сопротивление в рабочем диапазоне (даже шире: я проверял от 78 Ом до 1520 Ом) с точностью не хуже 0.2% (я такого от АЦП микроконтроллера не ожидал).
- Работать с TRD в тестовом режиме — через внешний АЦП.
- Управлять затвором (с диагностикой обрыва, КЗ и перегрева). Кстати, мост TLE5205, через который я разряжаю кондер 2200мкФ на обмотку затвора, при усердном щелкании затвором вообще не нагрелся. И не выдавал ошибок (я боялся, что будут проблемы из-за того, что в первые микросекунды через мост течет высокий ток), кроме обрыва (при отключении затвора) и КЗ (я проверял несколько раз — все в порядке).
- Измерять напряжения питания (+12В на шаговики, +36В на кондее затвора).
- Сохранять во флеше калибровочные коэффициенты (жаль, EEPROM нет на STM32F103).
Еще у меня сделаны зачатки, необходимые для работы с 1-wire (я сделал почти полностью аппаратно — на таймере с DMA), но не завершен код более высокого уровня. Планирую при помощи DS18S20 измерять температуру внутри корпуса контроллера + температуру корпуса криостата (по разности температур криостата и воздуха можно судить о том, насколько хорош вакуум внутри криостата; хоть вакуумметр тоже в системе будет, но лучше иметь свой независимый способ).
Общее количество строк (включая комментарии, отладку и мусор) в проекте уже превысило 5000. Вот такая вот система управления. Вроде бы, никакого функционала, а черт-те сколько уже накатал...

no subject
Date: 2015-04-15 12:58 pm (UTC)no subject
Date: 2015-04-15 01:37 pm (UTC)Использую для подобных задач. Удобная штука. Правда, там рачик стоит, который уже года 3 не обновлялся. Лень трогать, пока работает. А то генту для него компилять в чруте под i386 — тот еще гемор.
А когда-то я эту штуку вообще в командировки таскал.
no subject
Date: 2015-04-15 02:23 pm (UTC)no subject
Date: 2015-04-15 02:34 pm (UTC)no subject
Date: 2015-04-15 02:36 pm (UTC)no subject
Date: 2015-04-15 03:15 pm (UTC)no subject
Date: 2015-04-15 04:16 pm (UTC)no subject
Date: 2015-04-15 05:37 pm (UTC)no subject
Date: 2015-04-15 05:52 pm (UTC)Кстати, в отличие от планшетов, здесь уже есть клавиатура и стоит нормальный линукс.
На планшете же линукс ставится с жуткими костылями, да и клавиатуру отдельно надо таскать. Неудобно.
no subject
Date: 2015-04-15 06:01 pm (UTC)no subject
Date: 2015-04-15 06:33 pm (UTC)У этого тоже аккумулятор едва дышит.
Насчет годности — сомнительно. Только как терминал, ну и по принципу "лучше уж так, чем совсем никак". Даже браузер в нем не открыть по-человечески - не видно ничего. Даташиты тоже не почитать. В общем, ни для полноценной работы, ни для развлечений он не годится.
Если бы я не был таким ленивым, то уже давно с этой банкой без компьютера работал: можно было бы на экранчике с сенсорной панелью сделать нормальный терминал.