Нестандартное использование COM-порта (Нажмите сюда для просмотра этой темы в обычном формате)



Shturm_13

Отправлено 05.04.2005 - 13:45

Народ, помогите, кто чем может. Дали задание на дипломный проект - создать устройство, подключаемое к COM-порту, позволяющее включать/выключать электричество (проще говоря - управляемый компьютером выключатель). Принцип работы - подключить к COM-порту пару реле и программно подавать на них напряжение или отключать. Есть 2 проблеммы:
1) Какие реле (на сколько вольт) и к каким конкретно ножкам подключать?
2) Как программно подавать на них напряжение и поддерживать его?

Заранее благодарен за любую помощь...

BSV

Отправлено 05.04.2005 - 14:10

Shturm_13 (Apr 5 2005, 14:45) :

Дали задание на дипломный проект


Вообщето с заказами на изготовление дипломов в другую ветку :D
Мда когда то я такие вещи на 3 курсе как курсовую, а тут аж тема диплома :huh: Кашмар.

L'kundu

Отправлено 05.04.2005 - 14:19

Shturm_13 (Apr 5 2005, 14:45) :

Народ, помогите, кто чем может. Дали задание на дипломный проект - создать устройство, подключаемое к COM-порту, позволяющее включать/выключать электричество (проще говоря - управляемый компьютером выключатель). Принцип работы - подключить к COM-порту пару реле и программно подавать на них напряжение или отключать. Есть 2 проблеммы:
1) Какие реле (на сколько вольт) и к каким конкретно ножкам подключать?
2) Как программно подавать на них напряжение и поддерживать его?

Заранее благодарен за любую помощь...

Такое чувство, что в политехе на ЭТФ Кузнецов уже не преподает. У него это была лаба на 3-ем или 4-ом курсе на знаменитых "чемоданах". Причем не какая-то релюшка, а матрица лампочек, подключенная к контроллеру.

ValeriyZM

Отправлено 05.04.2005 - 14:47

L'kundu (Apr 5 2005, 14:19) :

Такое чувство, что в политехе на ЭТФ Кузнецов уже не преподает.

похоже это не с политеха, такая тема диплома??? :lol:

@LEXi$

Отправлено 06.04.2005 - 10:39

1) Какие реле (на сколько вольт) и к каким конкретно ножкам подключать?
2) Как программно подавать на них напряжение и поддерживать его?

Судя по написанному - теории по интерфейсам маловато. Такую работу делают как курсовую и в ПГУ и ПГТУ. Курсе так на 3.

P.S. реле на порты не цепляют - нагрузка большая - для это есть оптопары. или транзисторные ключи.

Shturm_13

Отправлено 06.04.2005 - 14:16

Может, все-таки, что-нибудь по теме скажете...

HoaX

Отправлено 06.04.2005 - 15:05

Распиновка в HwB, подключи реле через транзистор на TxD. В проге используй адрес порта $3F8, $2F8 (вроде бы). Под DOS и Win9x пойдет.

И ваще Eugen, может перенесешь в Электронику?

EUGEN

Отправлено 06.04.2005 - 15:33

Слушаюсь и повинуюсь.

Gigavolt

Отправлено 06.04.2005 - 15:47

Shturm_13 (Apr 5 2005, 13:45) :

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

Это что за извращение? На COM порт можно конечно выдать постоянное напряжение, но только это будет большой изврат и эта ножка точно будет не TXD.

Если речь идет именно об прямом управлении релюшками от компутера, то логичней использовать LPT порт.
В случае с COM портом придется использовать микроконтроллер или городить схемку на микросхемках :) которая будте представлять собой автомат, реагирующий определенным образом на последовательности нулей и единичек из COM порта.

HoaX

Отправлено 06.04.2005 - 17:20

Каюсь, дурак. Но и микрухи ни к чему, передавать эти нули и единички можно постоянно, а потом продетектировать перед ключом (диод+конденсатор). Или я опять не прав?

Shturm_13

Отправлено 07.04.2005 - 10:35

Gigavolt (Apr 6 2005, 15:47) :

Если речь идет именно об прямом управлении релюшками от компутера, то логичней использовать LPT порт.

А что нужно, если использовать LPT порт?

Shamil

Отправлено 07.04.2005 - 11:49

HoaX (Apr 6 2005, 18:20) :

Каюсь, дурак. Но и микрухи ни к чему, передавать эти нули и единички можно постоянно, а потом продетектировать перед ключом (диод+конденсатор). Или я опять не прав?

А сигналы CTS/RTS и DSR/DTR на что даны? :-)

Только чтобы ими из современной винды управлять надо DDK юзать.

добавлено в [mergetime]1112856598[/mergetime]

Shturm_13 (Apr 7 2005, 11:35) :

А что нужно, если использовать LPT порт?

Документацию читать.

ZorG

Отправлено 07.04.2005 - 12:26

Shamil (Apr 7 2005, 12:49) :

Только чтобы ими из современной винды управлять надо DDK юзать

Забабахать схемку на Меге, сцепить ее с компом по уарту. А с Меги уже рулить и выключателями и сигнализацией и кофеваркой...

Shamil

Отправлено 07.04.2005 - 12:49

ZorG (Apr 7 2005, 13:26) :

Забабахать схемку на Меге, сцепить ее с компом по уарту. А с Меги уже рулить и выключателями и сигнализацией и кофеваркой...

А чего меня цитируешь? :-)

Если уж на то пошло, Мега тут излишня, подобрать какой-нибудь Тини с уартом и айда.

ZorG

Отправлено 07.04.2005 - 12:55

Shamil (Apr 7 2005, 13:49) :

А чего меня цитируешь?

А это намек на то, что в написание дров под винду погружаться вовсе не обязательно :)

2Shturm_13:
шутки шутками, но предложенный вариант позволяет неплохо абстрагироваться от ОСи и даже компа в целом. Так что думайте....

Shamil

Отправлено 07.04.2005 - 14:01

ZorG (Apr 7 2005, 13:55) :

А это намек на то, что в написание дров под винду погружаться вовсе не обязательно :)

Попробуй без написания дров управлять CTS/RTS и DSR/DTR, как тебе хочется.

Тёмыч

Отправлено 07.04.2005 - 14:16

Shamil (Apr 7 2005, 13:49) :

Если уж на то пошло, Мега тут излишня, подобрать какой-нибудь Тини с уартом и айда.

Это у какой такой тины UART еззь?

Shamil

Отправлено 07.04.2005 - 14:19

Артемка (Apr 7 2005, 15:16) :

Это у какой такой тины UART еззь?

А шо, ни у одной нету? Не работал, не знаю. Они за сферой моих интересов :-)

Тёмыч

Отправлено 07.04.2005 - 14:22

Shamil (Apr 7 2005, 15:19) :

А шо, ни у одной нету? Не работал, не знаю. Они за сферой моих интересов :-)

Нее, пока еще нету.

Varlok

Отправлено 07.04.2005 - 14:33

HoaX (Apr 6 2005, 15:05) :

В проге используй адрес порта $3F8, $2F8 (вроде бы). Под DOS и Win9x пойдет.


не так давно узнал что в ХР есть режим совместимости с 9х и в нем она позволяет обращаться к портам напрямую (только права администратора нужны) чего низя было сделать на NT\2000

ZorG

Отправлено 07.04.2005 - 14:35

Shamil (Apr 7 2005, 15:01) :

Попробуй без написания дров управлять CTS/RTS и DSR/DTR, как тебе хочется

дык... о том и речь, что управлять не придется. Банальная терминалка уровня VT102 позволит связаться с девайсом. И никаких дров и под любой ОСью...

Артемка (Apr 7 2005, 15:22) :

Нее, пока еще нету

Ну.., благо, пишется не очень сложно :)

Shamil

Отправлено 07.04.2005 - 14:43

ZorG (Apr 7 2005, 15:35) :

дык... о том и речь, что управлять не придется. Банальная терминалка уровня VT102 позволит связаться с девайсом. И никаких дров и под любой ОСью...

Леха, ты не о том пишешь. Я предлагал управлять CTS/RTS, поскольку они позволяют держать уровень, но для этого нужен DDK, чтобы ими управлять. Контроллер в этом случа не требуется и терминалка не поможет.
Внимательнее читать надо.

ZorG

Отправлено 07.04.2005 - 14:53

дипломный проект - создать устройство, подключаемое к COM-порту, позволяющее включать/выключать электричество

Чем тебе контроллер не нравится? Под определение устройства попадает? Попадает.
Раз мол. чел. тут такие вопросы задает, значит он не особо шарящий и дрова писать он замается.
Я же предлагаю разработать устройство, которое можно будет изредка подключать к компу, дабы его, например, перенастроить. Имхо, такой вариант полностью попадает под дипломное задание.

Естессно, вкл/выкл света будет производить уже девайс, а не комп.

Кстати... стоит ешшо подумать в сторону УСБ.

Shamil

Отправлено 07.04.2005 - 15:00

ZorG (Apr 7 2005, 15:53) :

Чем тебе контроллер не нравится? Под определение устройства попадает? Попадает.
Раз мол. чел. тут такие вопросы задает, значит он не особо шарящий и дрова писать он замается.
Я же предлагаю разработать устройство, которое можно будет изредка подключать к компу, дабы его, например, перенастроить. Имхо, такой вариант полностью попадает под дипломное задание.

Очень умно. Дрова писать для управления 4 линиями тяжело, а софт для контроллера и компа - легко. Это во-первых.
Во-вторых, я отвечал не на первоначальный вопрос, а на проблему, поставленную HoaX. Так что зря меня цитировал, не по делу.

HoaX

Отправлено 08.04.2005 - 07:42

Так, живность, нас, радиотехов (СПО), таким материям не учили, кое до чего сам дотянулся. Но вот городить контроллер, по моему не есть гуд, не говоря про USB. Ошизели что-ли - срок явно ограничен, или хотите чтоб он это вам заказал? Про MS-DDK я ваще молчу - надо хоть спросить, на чем он прогу писать будет. Мож он только Бейсик знает? Я, например, знаю Паскаль и могу писать небольшие вставки на Асм.

Shamil

Отправлено 08.04.2005 - 09:36

Что тут скажешь - знаний явно недостаточно для дипломного проектирования :D

HoaX

Отправлено 08.04.2005 - 09:54

2Shamil
Мой дипломный проект включал создание АЦП в виде карты расширения ISA :)
Я, правда, ее только модифицировал, добавив инвертор на -6 Вольт. Но прогу типа осциллографа мне пришлось писать самому. Хорошо, что прога для получения кодов АЦП уже была.

Shamil

Отправлено 08.04.2005 - 10:00

HoaX (Apr 8 2005, 10:54) :

2Shamil
Мой дипломный проект включал создание АЦП в виде карты расширения ISA :)

Я про автора вопроса.

Gigavolt

Отправлено 09.04.2005 - 08:01

Предлагаю другой подход. На готовых компонентах для промышленной автоматизации.

Например:

Контроллер - любой I-7188 с буковкой X (поддержка мезонинных модулей)
http://www.ipc2u.ru/catalog/7/n7.html

и мезонинный модуль дискретного вывода - например x102 - уже с реле на борту.
Если надо больше двух реле, тогда x101 и отдельно промежуточные реле

http://www.ipc2u.ru/catalog/7/nx.html

Но в любом случае задание на диплом не тянет. Да и вообще какое-то оно не "реальное", не жизненное чтоли. Лампочкой можно (и нужно) управлять простой схемой с выключателем или кнопками "вкл/откл". Если надо автоматизировать, то ставить Siemens LOGO! или что-то подобное будет дешевле, надежнее и проще в создании чем с компутером. А так как поставлена задача, едиственная цель которую можно достичь, это получить удовлетворение от интелектуального онанизма :)

Петр

Отправлено 10.04.2005 - 17:12

Для работы с компортом из Win2k/XP DDK знать не обязательно.
Работать с ним можно с помощью WINAPI функций CreteFile, WriteFile, ReadFile, SetCommState. Последняя - для настройки компорта.
Нужно отключить контроль четности и управление потоком. Установить один стоповый бит и скорость=115200 бит/с.
Настроив так компорт, писать в него постоянно байты 0xFF. Так получится, что на ножках (точно не помню, на каких, но распиновка у меня есть) почти постоянно будет держаться напряжение 5В. На какие-то микросекунды (стоповый бит) это напряжение будет падать в ноль.
Если нужно убрать напряжение с реле, подключенного к компорту, писать в порт (с помощью WriteFile) байты 0x00.
Я когда-то на работе писал на С++ программу, котрая все это делает (правда, реле я не управлял, просто передавал данные между устройствами), могу прислать куски из исходника.
Мой ящик: petrkhats@yandex.ru

H O--O K

Отправлено 11.04.2005 - 23:43

Shamil (Apr 7 2005, 12:49) :

Тини с уартом и айда.

А они с УАРТ-ом бывают? Я не видел.. правда я только с 12-й и 13-й работал...

Varlok

Отправлено 12.04.2005 - 08:53

Atmega8 UART имеет, могу поделиться исходником для него (если тот кто эту прогу делал будет непротив)

H O--O K

Отправлено 12.04.2005 - 11:20

Varlok (Apr 12 2005, 08:53) :

Atmega8 UART имеет, могу поделиться исходником для него (если тот кто эту прогу делал будет непротив)

Исходник для УАРТа? Так там же три строки....

добавлено в [mergetime]1113286889[/mergetime]

или я чего-то неправильно понял?