Ale писал(а):Думаю, что да. Чего тут может быть неопенсурсного? только потраченное время, ИМХО. С другой стороны, предлагаю всем заинтересованным лицам поучаствовать. Ну хотя бы в формировании таки "технического" задания. Т.е. под какие исполнительные устройства все это затачивать?
Для тех, кто собирает симы на асинхронных движках с частотниками очень актуальна проблема обратной связи - "раскачка" По моему это явление связано с тем, что частотники имеют очень чувствительный аналоговый вход с высокой дискретностью (до 0,01В), а контроллер Таноса в совокупности с резистором обратной связи дает шаг в 0,1 - 0,5В. Это и дает проскок, далее контроллер видит, что промахнулся с позицией и дает 0,1 - 0,5В только уже в обратном направлении. Цикл замыкается, двигатели перегреваются, разбивается механика и шпоночные соединения. С DC двигателями от приводов стеклоочистителей этой проблемы у меня не было, зато были другие, но сейчас не об этом.
Частотники могут управляться следующим диапазоном напряжений по аналоговым входам:
-10В 0В +10В (при таком управлении легко можно задействовать мост Таноса) Из плюсов - при пропадании сигнала на входе частотника, он останавливает двигатель.
-5В 0В +5В тоже самое, может кому-то будет удобнее реализовать, мой частотник так не умеет, но речь о подходе в целом.
0В 2,5В 5В - то, что описал
Pavel155
0В 5В 10В - то чем может управляться и моя версия частотника.
Используя любой диапазон для обратной связи цикл программы примерно такой:
Назначаем ногу, которая будет "выходом"
При включении на ноге 0В, следовательно двигатель вращается назад.
Ждем, пока маховик, двигаясь назад дойдет до оптического датчика.
Сигнал с датчика 5В придет еще на одну ногу контроллера, осуществляя прерывание.
Как только пришел сигнал прерывания, на "выходную" ногу подаем 5В и одновременно считаем импульсы с энкодера, до тех пор, пока маховик, двигаясь теперь уже вперед не достигнет второго оптического датчика - идет второе прерывание (может на туже ногу для прерываний, может на еще одну - не принципиально).
В момент второго прерывания останавливаем счет импульсов с энкодера.
Теперь общее количество импульсов - это наш диапазон 0 - 5 В на выходной ноге.
Делим это количество пополам. На выходную ногу подаем 2,5 В.
Все - контроллер обравтной связи готов к работе.
При вращении двигателя вперед, контроллер считает импульсы энкодера, пропорционально добавляет напряжение на выходную ногу, но не больше 5В.
При вращении двигателя назад, контроллер считает импульсы энкодера и пропорционально уменьшает напряжение на выходной ноге, но не меньше 0В.
End.
ЗЫ: Ale, если нужно, я могу сбросить на электронную почту всю имеющуюся документацию и ПО. Все расписано по папкам