Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
12.06.2007, 11:18
|
|
Прохожий
Регистрация: 10.05.2007
Сообщений: 4
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
SOS!Help, pls! Кто работал с MOTOR-STEPPER-ами и МК
Добрый день. У меня курсовая по технологии позиционного фотодетектора (ФД), в пятницу сдать.javascript ![Обижен](images/smilies/icon_beee.gif) ' ![Голова кругом](images/smilies/icon_rolleyes.gif) ')
Уже его сделал, работает, но нужен пример применения.
Тк вот идея - система вращения солнечной батареи за движением солнца.
Сигнал от ФД в зависимости от координаты падения на него света изменяется от -30 до 30 mV, я его увели4иваю в 50 раз и поднимаю на 2,5 V. Нужно этот сигнал обработать 4ерез микроконтроллер и потом вращать моторчик в ту или иную сторону, в зависимости от величины сигнала относительно "нулевого" (2,5 V) уровня.
ВОПРОС Как вращать мотор на определенном угле в зависимости от величины сигнала? Если в протеусе можно задать угол вращения то физического мотора можно как-то определить вращаться на определенном угле?
Или другие ваши идеи...
Буду признателен.
Заранее спасибо!
|
|
|
|
12.06.2007, 19:30
|
|
Заблокирован
Регистрация: 18.12.2004
Сообщений: 630
Сказал спасибо: 0
Сказали Спасибо 11 раз(а) в 9 сообщении(ях)
|
Ну, во-первых, кое-что можно нарыть и здесь, на kazus'е: https://kazus.ru/modules.php?name=Co...owpage&pid=843 Если и не совсем то, но хотя бы как "бантик" для курсовика.
Во-вторых, очень небольшая подборка англоязычных статей, возможно из них что-то также можно будет почерпнуть... home.att.net/~wzmicro/guide.doc
http://www.interq.or.jp/japan/se-inoue/e_step2.htm
Англоязычный форум по шаговикам http://www.electro-tech-online.com/e...per-motor.html
Подборка ссылок (французский язык) http://matthieu.benoit.free.fr/mpap.htm
К сожалению, больше специальной информации не имею, понимаю, что это не совсем то, но если время давит, то вместо горничной сойдет и дворничная...
|
|
|
|
13.06.2007, 11:43
|
|
Вид на жительство
Регистрация: 05.09.2006
Сообщений: 360
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
На www.astronomer.ru есть статья:
АстротекаСтатьи: Любительское телескопостроение
Борис Пустыгин - Фотоэлектрическое гидирующее устройство
Дата публикации: 01-10-2003
Там, правда, без микроконтроллера. Простейший следящий привод. Кстати, поищите "следящий привод" или "ПИД - регулятор". Можно и на МК нарыть.
Вам ведь нужен простой ПИ или ПИД регулятор. Датчиком ошибки управления является сигнал от ФД. Если его привести во входной диапазон АЦП, вычислить ошибку (разницу с нулевым), обработать и выдать на управление двигателем, то получите что нужно. Под обработкой понимается обсчет ПИ регулятора с учетом механических и электрических параметров привода.
Готового под рукой нет ничего, но попробуйте порыть в этом направлении в сети.
Удачи.
|
|
|
|
13.06.2007, 12:02
|
|
Почётный гражданин KAZUS.RU
Регистрация: 30.10.2006
Сообщений: 1,755
Сказал спасибо: 0
Сказали Спасибо 80 раз(а) в 56 сообщении(ях)
|
Re: SOS!Help, pls! Кто работал с MOTOR-STEPPER-ами и МК
Сообщение от Advanced_LAMER
|
Добрый день. У меня курсовая по технологии позиционного фотодетектора (ФД), в пятницу сдать.javascript ' ')
Уже его сделал, работает, но нужен пример применения.
Тк вот идея - система вращения солнечной батареи за движением солнца.
Сигнал от ФД в зависимости от координаты падения на него света изменяется от -30 до 30 mV, я его увели4иваю в 50 раз и поднимаю на 2,5 V. Нужно этот сигнал обработать 4ерез микроконтроллер и потом вращать моторчик в ту или иную сторону, в зависимости от величины сигнала относительно "нулевого" (2,5 V) уровня.
ВОПРОС Как вращать мотор на определенном угле в зависимости от величины сигнала? Если в протеусе можно задать угол вращения то физического мотора можно как-то определить вращаться на определенном угле?
Или другие ваши идеи...
Буду признателен.
Заранее спасибо!
|
Используйте для вращения солнечной батареи шаговый двигатель, с установленном на его валу датчиком углового положения (энкодер). Тогда каждому уровню сигнала с выхода ФД будет соответствовать свой угол поворота двигателя, контролируемый датчиком.
С уважением, Алексей.
|
|
|
|
13.06.2007, 14:50
|
|
Заблокирован
Регистрация: 18.12.2004
Сообщений: 630
Сказал спасибо: 0
Сказали Спасибо 11 раз(а) в 9 сообщении(ях)
|
Сообщение от ALEX__A
|
Используйте для вращения солнечной батареи шаговый двигатель, с установленном на его валу датчиком углового положения (энкодер). Тогда каждому уровню сигнала с выхода ФД будет соответствовать свой угол поворота двигателя, контролируемый датчиком.
|
Это мне чем-то напоминает "масло масляное": шаговый двигатель и предназначен в первую очередь для точного позиционирования, обратная связь организуется через блок фотодатчика (которому глубоко по фигу, сколько там шажков сделал ШД, главное - чтобы отследилось точное направление на источник света). Хотя, учитывая менталитет ALEX__A'а делать из крайне простых вещей удивительно сложные, процитированное выше не удивительно.
Quinque suum...
|
|
|
|
13.06.2007, 17:04
|
|
Частый гость
Регистрация: 04.12.2004
Сообщений: 18
Сказал спасибо: 8
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Вот здесь товарисч очень хорошо разжевал про управление ШД, а здесь - реальный пример другого управления.
__________________
И опыт, сын ошибок, трудный...
|
|
|
|
13.06.2007, 21:40
|
|
Заблокирован
Регистрация: 18.12.2004
Сообщений: 630
Сказал спасибо: 0
Сказали Спасибо 11 раз(а) в 9 сообщении(ях)
|
После растекания мысью по древу получается что-то по типу такого алгоритма:
Выходной сигнал с фотодатчика тупо компарируется (АЦ-преобразование как таковое и на фиг не нужно!) по уровню сигнала "+" или "-" от опорного уровня. Примем, что "+" - солнечная батарея ПЕРЕповернута относительно оптимального положения, а "-" - НЕДОповернута. Исходя из принципов автоматического регулирования, следует задать "зону нечувствительности", например, +/- 2 мВ, в пределах которой МК будет "считать", что батарея позиционирована точно. Если эта зона больше (2 мВ взяты "с потолка" - точное значение нужно рассчитать!) - точность позиционирования снизится. Если меньше - могут возникнуть колебательные процессы вокруг точки оптимального положения.
Если внимательно прочитаны рекомендованные материалы, то следует выбрать полношаговый режим управления ШД, т.к. при полушаговом какие-то из обмоток будут постоянно подключены к источнику питания, даже в заторможенном состоянии двигателя.
А дальше - все просто, как угол дома: Если по входу детектируется "-", то на обмотки ШД подаются последовательные импульсы в одной фазе, "доворачивающие" батарею. Если "+" - в противоположной фазе, возвращиющие батарею назад.
При этом вовсе не обязательна высокая частота импульсов, достаточно нескольких герц (момент вращения на валу ШД, в отличие от коллекторного двигателя, практически не зависит от скорости вращения, но только от тока через обмотки), обеспечивающих плавный подход к точке оптимального положения (чтобы вал ШД не "перескочил" ее, иначе возникнут автоколебания): достигли "зоны нечувствительности" - ШД останавливается.
И никаких дополнительных датчиков не нужно!
|
|
|
|
13.06.2007, 22:56
|
|
Частый гость
Регистрация: 04.12.2004
Сообщений: 18
Сказал спасибо: 8
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Перескакивать, IMHO, максимум надо, иначе как найти сам МАКСИМУМ, это ведь не сельсин-система, а шаговые двигатели. Автоколебания не появятся, если нет ошибки в алгоритме обслуживающей программы. Да и сезонные изменения по углу места вторым ШД отслеживать не помешало бы. Дневной азимут солнца ведь не единственное движение светила.
__________________
И опыт, сын ошибок, трудный...
|
|
|
|
13.06.2007, 23:51
|
|
Заблокирован
Регистрация: 18.12.2004
Сообщений: 630
Сказал спасибо: 0
Сказали Спасибо 11 раз(а) в 9 сообщении(ях)
|
Народ, топикавтору послезавтра сдавать курсовик, а мы его грузим теорией. Все правильно, только "Пока солнце взойдет - роса очи выест". Никто не будет построчно проверять программу, лишь бы не было явных "косяков".
Сообщение от GeorgeScar
|
Перескакивать, IMHO, максимум надо, иначе как найти сам МАКСИМУМ, это ведь не сельсин-система, а шаговые двигатели
|
А на кой ляд нужен этот максимум? Солнечная батарея будет направлена на Солнце +/- несколько градусов. Значение их косинуса практически не повлияет на КПД батареи. Солнце чуть-чуть подвинулось - ошибка рассогласования вышла из "зоны нечувствительнотси" - батарея "довернула" за Солнцем. Т.е., теоретически, "по науке", все это действительно надо было бы делать, но практически вырастает псевдопроблема, имеющая для реального девайса ну о-о-очень маленькое значение. Все это есть в книгах по радиуправлению моделями. У меня есть две бумажных, но очень старые - 80-х годов. Описаны еще транзисторные схемы и первые ТТЛ-микросхемы. В Сети, поскольку данной проблемы передо мной не стояло, их не искал.
Пусть простят за флуд, но лет эдак 30 назад видал фотокопию (ксерокса в те годы еще не было) страницы из дипломной работы выпускника военного училища (меня клятвенно уверяли, что КВВИАУ) с такой фразой (цитирую по памяти!): " Поскольку данную курсовую работу все равно читать никто не будет, выбираем в качестве материала для ротора дерево". ![Смешно](images/smilies/icon_lol.gif) Но самая большая примочка была дальше - все прочностные расчеты были действительно сделаны для дерева - т.е., даже с учетом данной хохмы придраться мог ну очень вредный препод.
|
|
|
|
14.06.2007, 09:26
|
|
Прохожий
Регистрация: 10.05.2007
Сообщений: 4
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
СПСБ
Большое-большое СПаСиБо всем кто откликнулся.
Нечто из выложенной теории уже прочитал, нечто - уже когда времени будет.
Это применение не является главной частью дипломки, но послужила бы ягодкой на торте.
ВСЁ!!! Уже запрограмировал (ImageCraft) и засимулировал в Протеусе его по своему, в зависимости от подаваемого сигнала мотор крутится (поставил варистор от которого исходит сигнал: повышаю сигнал на 5% (относительно среднего уровня)- мотор крутится 5 раз по часовой, уменьшаю на 10% - делает 10 оборотов против часовой, и останавливается. Т.Е. реально сигнал на ФД должен был бы уменьшаться от симметричного позиционирования по солнцу, но я его уменьшаю внутри программы МК - ЕТО ДЛЯ ЕКСПЕРИЕНТАЛЬНОЙ МОДЕЛИ НА КОМПЕ.)
Но возникла идея другого алгоритма - при увеличении/уменьшении сигнала мотор будет вращаться в соответствующую сторону пока я этот сигнал вручную не поставлю в инициальном "нулевом" положении - эт тож для экспмодели - КАК ВЫ ДУМАЕТЕ, ЯКОЙ ЛУ4ШЕ??? ИЛИ...?
Для презентации хватит и симуляция на компе, но было бы лучше собрать реально работающую схему. Если и хватит времени (защита 25го числа) соберу, а ШАГОВИГ ПОСТАВЛЮ ОТ ФЛОППИКА или CD-ROM-привода, других нема в Кишиневе.
ВОПРОС: КАКИЕ ХАРАКТЕРИСТИКИ У ВЫШЕУПОМЯНУТЫХ ЩАГОВИКОВ!? (УГОЛ ВРАЩЕНИЯ, ФАЗА, ТОК-НАПР. ПИТАНИЯ...)
ЗА ВСЁ СПАСИБО!!!
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:52.
|
|