ESpec - мир электроники для профессионалов


Управление самодельным устройством через порт COM или LPT

  Список форумов » Электроника от А до Я
На страницу 1, 2  След.
Следующая тема · Предыдущая тема
АвторСообщение
Odisee 
Завсегдатай
Сообщения: 308
Odisee
 
Сообщение #1 от 25/08/2005 01:35 цитата  

Здраствуйте все! Собираю позиционер для спутниковой тарели. Возникла необходимость сопряжения с компьютером. Нужно включать\выключать два двигателя, управлять направлением их вращения, считать сколько оборотов каждый сделал, и несколько других сигналов типа 1/0. Профи, подскажите какую схему можно собрать для этого. В электронике я зеленоват, поэтому буду рад ссылкам на инфу по теме.
Заранее всем благодарен!
China 
Участник
Сообщения: 162
China
 
Сообщение #2 от 25/08/2005 17:50 цитата  

Сколько же всего получится сигналов? Сколько из них будет входных, а сколько выходных (относительно компа)? Это важно. А софт ваять кто будет?
Vmax 
Форумное привидение
Сообщения: 2916
Vmax
 
Сообщение #3 от 25/08/2005 22:45 цитата  

Через LPT схема проще получится, не понадобится лишнее последовательно-параллельное преобразование.Софт тоже примитивный, на уровне паскаля или С.
Задача для абитуриента техВУЗа..........
johanh 
Передовик
Сообщения: 2816
johanh
 
Сообщение #4 от 25/08/2005 23:49 цитата  

А какой смысл подключать к компу?
Odisee 
Завсегдатай
Сообщения: 308
Odisee
 
Сообщение #5 от 26/08/2005 01:50 цитата  

Софт ваять буду я - с этим у меня проблем практически не возникает. Подключить к компу хочу потому что у меня плата SkyStar2 (спутниковый интернет и т.п.), кроме того модуль управления, с технической точки зрения, проще - никаких ПЗУ для запоминания позиций, и микроконтроллеров с прошивками (ну не разбираюсь я пока в этом) неодобрение Из ваших советов пока понял только одно - управление лучше реализовать через LPT. Но может ктото поможет более конкретными тех. решениями (извините за наглость) или хоть подскажите ссылки на теорию, я в инете искал - почти ничего нет недовольство, огорчение

Добавлено 26-08-2005 02:04

Количество сигналов:
1) направл. вращ. 1-го двиг. -выходной
2) направл. вращ. 2-го двиг. -выходной
3) пуск 1-го двиг. -выходной
4) пуск 2-го двиг. -выходной
5) сколько об. сделал 1-й двиг. (герконовый счетчик) -входной
6) сколько об. сделал 2-й двиг. (герконовый счетчик) -входной
7) тормоз (вкл\выкл блокировки мех. редуктора) -выходной
Кажется все что нужно сумашествие
johanh 
Передовик
Сообщения: 2816
johanh
 
Сообщение #6 от 26/08/2005 02:15 цитата  

Да сейчас за 40-50баков можно приобрести готовый позиционер.И никаких портов.
Включай в разрыв спутникового кабеля и наслаждайся.Расходы на самостоятельную сборку будут выше.СтОит ли это того?
Решай.
PS Сможешь составить алгоритм и программу на 6 каналов порта?
А со схемой разберемся.
2 порта-прием импульсов датчика положения.
2 порта включение питания двигателей
2 порта реверс дигателей.
China 
Участник
Сообщения: 162
China
 
Сообщение #7 от 26/08/2005 06:13 цитата  

Может, человеку, помимо всего прочего, просто интересно сотворить самому такую штуковину. Сигналов немного. Никаких изощрение не потребуется. Обычные ключи или оптронная развязка, если все делать по правилам. В курсе, что винда 2000/XP напрямую работать с портами не даст?
В инете материалов об этом всем куча. Например, примитивные схемы http://kamiaruk.narod.ru/shems/lpt.htm. Суть поймешь и под себя переделаешь.
А здесь http://pccontrol.bib.com.ua/ о программировании портов под NT семейством. Если чего не понятно будет, можешь писать мне на мыло.
Odisee 
Завсегдатай
Сообщения: 308
Odisee
 
Сообщение #8 от 26/08/2005 23:56 цитата  

Большое спасибо China улыбка Инфу обработаю, если будут вопросы - напишу в сюда в форум (может кому-нибудь тоже пригодится)

Добавлено 27-08-2005 00:02

С программой разберусь. Был опыт, правда под W95.
Для меня сомое главное - электронику собрать сумашествие
johanh 
Передовик
Сообщения: 2816
johanh
 
Сообщение #9 от 28/08/2005 00:07 цитата  

Не вопрос подмигивание
Odisee 
Завсегдатай
Сообщения: 308
Odisee
 
Сообщение #10 от 30/08/2005 02:14 цитата  

Еще один немаловажный вопрос: ввод с герконового счетчика. В устройстве стоят двигателя по 4000 об/мин. Герконовые контакты ставить на оси двигателя ? - Поспеют ли за ним герконы? Если ставить на промежуточных осях редуктора - много мороки и потеря в точности установки тарелки. Кто как думает?
China 
Участник
Сообщения: 162
China
 
Сообщение #11 от 30/08/2005 20:04 цитата  

Нда. Трудно сказать. Но, думаю, основная проблема не в этом. Вместо геркона можно прилепить датчик Холла. А вот комп считать все это вряд ли успеет. Винда по своей природе статична. Для работы в реальном времени плохо приспособлена. Если бы это писать в ДОСу и комп только этой задачей и занимался, то базару нет. А так какой-нибудь процесс тормознет комп - и импульсы пропустятся. Все-таки 67 импульсов в сек получается. Думаю, что без дополнительного железа не обойтись. Хотя... Если бы знать приблизительно логику работы всего этого устройства. Постоянно ли нужно следить за датчиками или только дать задачу, мол, крутни в такую сторону на сколько-то оборотов и больше не следить? В этом случае, наверное, можно попробовать.
А проверить успеваемость геркона можно как-нибудь. Слепи простенькую прогу, которая посчитает количество импульсов за минуту работы движка и все дела. Их должно быть около 4000. Работы на минут 15.
Odisee 
Завсегдатай
Сообщения: 308
Odisee
 
Сообщение #12 от 31/08/2005 00:07 цитата  

Да, логика работы устройства как раз такая: по команде отсчитать от текущей позиции столько-то оборотов и остановить движки. Удержане зеркала в заданном положении - дело механики. Для калибровки механизма предусмотрены концевые датчики (нулевое положение).

Добавлено 31-08-2005 00:23

Вот по поводу доступа к порту LPT, цитата с http://emfl.nm.ru/menu/soft/articles/lpt_programming.html#intro :
"Проблема Windows NT и иже с ними

До какого-то момента на сиё явление можно было закрывать глаза, но нынче, когда семейству Win9x отводится всё более и более узкая ниша среди ОС для домашних ПК, следует задумываться и о работоспособности программы под Windows 2000/XP.

Итак, в чём вся трагедия. Пока мы жили под всевозможными DOS'ами и, если можно так выразиться, полудосами (т. е. Windows 95, 98...) мы могли, вышеописанным способом, просто писать по нужному адресу, ни о чём другом не задумываясь. Но вот "власть меняется". Во всех NT-совместимых ОС такие действия не допускаются системой, что делает, казалось бы, практически нереальным перенос "старых добрых" программ на новую платформу.

Самым удобным вариантом решения этой проблемы является, по-видимому, использование драйвера-заглушки. Как выяснилось, их существует великое множество. Один из наиболее популярных – giveio.sys. Этот файл и инструкцию по его установке легко найти через поисковые системы, но я предпочёл – и вам советую – самый "ленивый" способ: скачал замечательную программу для мониторинга системы (и управления вентиляторами) под названием SpeedFan, которая ставит этот драйверок при своей установке. Что называется 2 in 1.

После после установки драйвера в результате выполнения магических строчек

h = CreateFile("\\\\.\\giveio", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);

мы сможем работать, как обычно. Правда, сильно не лишним будет проверить h на INVALID_HANDLE_VALUE улыбка. А то мало ли чего – драйверок не установлен..."

Попробовать еще не успел, сомневаюсь что будет положительный результат.

Может собрать какой-нибудь аппаратный счетчик, чтобы он значение в порт пересылал, или это слишком сложно?

Кстати раскажите про датчик Холла - как устроен, я раньше слышал но на практике не сталкивался.

4000 об/мин - это на холостом ходу, в реале, под нагрузкой - 2500 - 3000 будет.
China 
Участник
Сообщения: 162
China
 
Сообщение #13 от 31/08/2005 07:21 цитата  

Если начать лепить всякое дополнительное железо, то не будет никакого преимущества от использования компа. Тут вся суть в том, чтобы реализовать все программно почти без аппаратуры. А то придется лепить десятки микросхем или писать прошивку контроллера. Думаю и так получится. А датчик Холла - можно сказать грубо, что полупроводниковый аналог геркона. Практически во всех умных устройствах используется, если есть двигатели. Как датчик оборотов, датчик положения ротора, если двигатель бесколлекторный. Что касается шаманских плясок вокруг драйвера GIVEIO.SYS и иже с им, то не сомневайся. Как его установить, я вышлю инструкцию шаг за шагом. А если софт будет на DELPHI, то и строчки из программы, как драйвер пользовать, как писать в порт и читать из него. Там нужно несколько ассемблерных команд. Проблем не будет.
johanh 
Передовик
Сообщения: 2816
johanh
 
Сообщение #14 от 01/09/2005 03:58 цитата  

О каких 4000 идет речь? Это что,двигатель без редуктора!? шок
Там всего-то и нужно около 2048 отсчетов.Это по горизонтали.А повертикали 32 голливудская улыбка
Лично у меня 1 двигатель с 800 отсчетами. улыбка
Как я понял ты и двигатель хочешь собрать.
Геркон 10об/сек свободно потянет.С такой скоростью весь диапазон будет просканирован
за 3мин.Это вполне нормальная скорость и точность.
А у тебя есть опыт в эксплуатации спутникового ТВ?
Датчик Холла-пп элемент изменяющий свое сопртивление под действием магнитного поля.
Odisee 
Завсегдатай
Сообщения: 308
Odisee
 
Сообщение #15 от 02/09/2005 12:00 цитата  

ОК China, установлю сразу напишу тебе. В виду своей чайниковатости софт буду писать именно на DELPHI.

johanh, очень надеюсь что опыт в экспл. СТВ скоро появится, пока только немного теории. А данные по поводу количества отсчетов откуда? они ведь завсят от механики. У меня на руках есть мотор-редуктор (причем редуктор не разборный), мотор в холостую делает 4000, под нагрузкой меньше. Датчики я могу поставить либо прямо на оси мотора, либо на выходе редуктора (там 5 об/мин) что, с точки зрения точности абсолютно неподходит. С вертикальной плоскостью проще - там привод уже готов - там есть доступ к промежуточным осям редуктора.

Вобщем я на время удалюсь (несколько дней) соберу схему, механику и будем пробывать. улыбка
johanh 
Передовик
Сообщения: 2816
johanh
 
Сообщение #16 от 03/09/2005 00:03 цитата  

Odisee.Мы говорим немного о разных вещах.Ты говоришь о азимутально-угломестном ориентировании
антенны,я же о полярной ориентации.При расположении оси вращения антенны паралельно полярной
оси корректировка угла наклона вторым двигателем составляет несколько единиц градусов.
При азимутально-угломестном ориентировании будет затруднен ручной поиск спутников.
Максимальный угол вращения составляет 180градусов(на экваторе улыбка )Это значит,
что твой редуктор должен сделать всего лишь пол оборота за 6 сек улыбка
или же двигатель сделает 400 оборотов улыбка что недостаточно для отсчета ориентации.
Необходима установка дополнительного редуктора 5кратного замедления(не менее).
Надо расчитывать так пол-оборота за 1-3 минуты.Вот и считай какое замедление должно быть.
Odyssey 
Заглянувший
Сообщения: 3
Odyssey
 
Сообщение #17 от 03/09/2005 15:29 цитата  

Пусть безумная идея, не рубите сгоряча...
Почему бы вместо сложных многоступенчатых редукторов (4000 rps) и системы слежения не поставить шаговые двигателя? Для упрощения харда логику управления двигателями можно переложить на софт. Результат -- 4 бита на два двигателя + 2 бита на датчики нулевого положения (оптронные) Аппаратная часть упрощается до безобразия - 4 ключа на транзисторах + 2 усилителя для оптопар - всего около десятка транзисторов. Желательно поставить какой нибудь буфер например 580ВА86 чтобы не вывалить в случае чего LPT-порт.На крайняк можно обойтись эмиттерными повторителями. Набросать схемку сможет даже школьник...
johanh 
Передовик
Сообщения: 2816
johanh
 
Сообщение #18 от 03/09/2005 21:22 цитата  

Без редуктора нельзя улыбка
Антенна это не маленькая вещица.Обладает весом и парусностью.
Это каким должен быть шаговый двигатель,чтобы развернуть такую махину шок
Предположим что он есть! классно!
Тогда простым джентлеменским набором транзисторов не обойтись улыбка бяка
Антенна не должна иметь люфта,так как точность настройки антенны в диапазоне 1градуса.
А чтобы "ловить" "ВСЁ" антенна должна быть ого-го!
Придется тебе побыть и слесарем и токарем и сварщиком и электриком....
и Электронщиком голливудская улыбка браво!
Еще есть Идеи? Эврика !
Odisee 
Завсегдатай
Сообщения: 308
Odisee
 
Сообщение #19 от 04/09/2005 22:14 цитата  

Я вижу теска появился браво! Тарелка у меня 1.5 метровая и местность на сильный ветер не скупится - есть вероятность получения вместо спутниковой тарелки - летающей улыбка И еще раз говорю: механика у меня уже есть.
А вот по поводу буфера пожалуста поподробнее, я сейчас как раз развязкой между LPT и ключем занят, подбираю оптопары (из доступных на рынке). Может есть сборочка какая-нибудь?

Добавлено 04-09-2005 22:24

johanh, ну в таком случае может лучше понизить напряжение питания двигателя - и считать легче и на выходе скорость меньше?
johanh 
Передовик
Сообщения: 2816
johanh
 
Сообщение #20 от 09/09/2005 23:47 цитата  

Питание надо не понижать а подавать порционально (пакетами).
Это я и имел ввиду когда говорил о 6-и каналах.Вначале двигатель работает в полные обороты
а при прближении к конечной точке отсчета скорость уменьшается до нуля.Вот это надо реализовать
в программе.Схемку набросать легко,надо только знать какое питание и мощность двигателей.
Для развязки можно использовать любые оптодиоды и оптотранзисторы.
Полазай по сайтам о спутниковом ТВ.Посмотри какая зона уверенного приема в твоем регионе
на тарелку 150см(если конечно не собираешься ставить побольше)подсчитай на сколько
градусов будет разворачиваться антенна сделай предварительный расчет.
В общем для схемки нужны данные.Выложишь в теме-сляпаем.Удачи. подмигивание

Перейти: 
Следующая тема · Предыдущая тема
На страницу 1, 2  След.
Показать/скрыть Ваши права в разделе

Интересное от ESpec


Другие темы раздела Электроника от А до Я



Rambler's Top100 Рейтинг@Mail.ru liveinternet.ru RadioTOP