Уфф.. закончил программу на ручной вариант.
Моделирование в Proteus_е проходит, все работает. По ходу дела поменял микроконтроллер на «сороконожку» PIC16F877, не хватало портов. Зато теперь один корпус.
Основные функции: Управление двумя шаговыми двигателями (два фокусера), с выводом количества шагов на четырехстрочный LCD дисплей. Измерение температуры в трех точках – воздух, главный телескоп, гид.
Вид LCD-экрана:
В левой части, первая строка – температура воздуха. Вторая строка – температура зеркала/объектива главного телескопа. Третья строка – температура объектива гида. Данные этих температур используются для включение грелок (на картинке условно два диода D1, D2) главного телескопа и гида, таким образом, что бы температуры телескопов были не меньше, чем на два градуса температуры воздуха для предотвращения образования росы.
Четвертая строка – температура зеркала/объектива главного телескопа, но запомненная на момент последнего фокусирования (перемещения фокусера). То есть если с течением времени температура изменится, то по разности текущей температуры и запомненной можно судить о необходимости в перефокусировки телескопа в ту или иную сторону.
В правой части – три строки показывают текущее положение по шагам двигателей обоих фокусеров. Причем они запоминаются в энергонезависимую память микроконтроллера. По мимо кнопок «шаги вперед», «шаги назад», «выбор двигателя» есть кнопка «Парковка». Если вы, к примеру начали фокусировку от «задвинутого» состояния фокусера, то в конце работы нажатием этой кнопки фокусеры автоматически вернутся в начальное состояние. А при повторном включении, для начала новых наблюдений, нажатие этой кнопки автоматом выдвинет фокусеры на место, которое было найдено на прошлой сессии. Четвертая строка справа – это измеренное напряжение питания, то же надо контролировать. Во, нагородил сколько.
Ну теперь сяду паять на макете, уточнять задержки для шаговых двигателей, мож еще что ни будь выплывет. А потом, уже, разрабатывать печать и думать дальше, как все это связать с компом.