Обсуждаем цифровые устройства...
Ответить

Arduino UNO и GPIO

Чт июл 14, 2022 10:26:46

Здравствуйте господа. Вопрос очень делетантский, микроэлектроникой занимаюсь недавно, и чисто как хобби. Кароче.
Придумал себе задачу, есть устройство, которое может отправлять сигнал, и реагировать на команды по принцыпу GPIO. Вот собственно и решил поуправлять с помощью ардуинки. С програмированием проблемы нет, тут все работает. А вот с железной частью прям беда. Изначально собирал схему виртуально, что-то типа virtual circuit, с моделиррованием в реальном времени. Виртуально вроде работает, но терзают сомнения что что-то точно не то. Включать сразу в устройство стремно, боюсь чтонибудь спалить. Уважаемые знатоки, гляньте пожалуйста на схему, будет работать, или таки дал маху.
В руководстве есть описан принцып работы и подключения GPIO:
Изображение
И, собственно моя задумка:
Изображение
Идея в том что подключене через DB25 установленый на устройтве. Пин А0 работает на input D0 соответственно на output.
Если подскажете проще или логичнее варианты релизации буду очень благодарен!!!

Re: Arduino UNO и GPIO

Чт июл 14, 2022 11:40:44

Для ардуино UNO "в начале пути" (и не только) используйте специальный симулятор
UnoArduSim (последняя версия 2.9.2)
https://www.sites.google.com/site/unoardusim/
Помимо адуринки там и имимтация всего возможного набора внешних устройств имеется.
:beer:
Для ардуино специальный раздел на форуме -
viewforum.php?f=66
:wink:

Re: Arduino UNO и GPIO

Чт июл 14, 2022 15:00:41

Идея в том что подключене через DB25 установленый на устройтве. Пин А0 работает на input D0 соответственно на output.
Если подскажете проще или логичнее варианты релизации буду очень благодарен!!!

Если разъём DB25 это само устройство, то судя по рекомендуемому подключению из картинок выходит, что у транзистора Q3, резистор R3 необходимо перенести в базу, то есть выход МК через данный резистор на базу транзистора. А эмиттер транзистора подключается напрямую к общей шине…

Re: Arduino UNO и GPIO

Чт июл 14, 2022 23:54:33

Идея в том что подключене через DB25 установленый на устройтве. Пин А0 работает на input D0 соответственно на output.
Если подскажете проще или логичнее варианты релизации буду очень благодарен!!!

Если разъём DB25 это само устройство, то судя по рекомендуемому подключению из картинок выходит, что у транзистора Q3, резистор R3 необходимо перенести в базу, то есть выход МК через данный резистор на базу транзистора. А эмиттер транзистора подключается напрямую к общей шине…



Да! Все правильно! Спасибо вам за подсказку! В эмуляьторе поменял так как вы написали и виртуальная схема заработала! Теперь, скрестя пальцы, буду пробовать на железе)))

И еще два вопросаж:
1) На сколько я понимаю соединение земли обоих устройств безопасно. Блоки питания, естественно, разные, но вроде как ничего трагического произоййти не должно?
2) Номиналы транзисторов. По сути я ориентировался на те, которые у меня есть в наборе с проводками к ардуинке. Те которые указаны будут нормально работать, или стоит пересмотреть?

Добавлено after 2 hours 23 minutes 46 seconds:
Для ардуино UNO "в начале пути" (и не только) используйте специальный симулятор
UnoArduSim (последняя версия 2.9.2)
https://www.sites.google.com/site/unoardusim/
Помимо адуринки там и имимтация всего возможного набора внешних устройств имеется.
:beer:
Для ардуино специальный раздел на форуме -
viewforum.php?f=66
:wink:


Спасибо вам огромное!!!
UnoArduSim скачал, выглядит прям очень интерессно! Ушел изучать)))

Re: Arduino UNO и GPIO

Пт июл 15, 2022 09:24:33

1) На сколько я понимаю соединение земли обоих устройств безопасно.
Да.
Добавлю, что для вашей схемы это обязательно, иначе не будет работать… вот если бы вы применили бы в место транзистора вторую оптопару, а в первой немного изменили подключение, то тогда можно было бы общие шины используемых блоков питания разъединить.

2) Номиналы транзисторов. По сути я ориентировался на те, которые у меня есть в наборе с проводками к ардуинке. Те которые указаны будут нормально работать, или стоит пересмотреть?

Будут работать нормуль любые маломощные… те что на картинке, одни из них.

Re: Arduino UNO и GPIO

Пт июл 15, 2022 21:09:21

В качестве транзисторов (до 100мА) вполне оправданы старо-добрые КТ315/КТ361.
:wink:

Re: Arduino UNO и GPIO

Пт июл 15, 2022 21:30:39

В качестве транзисторов (до 100мА) вполне оправданы старо-добрые КТ315/КТ361.
:wink:

Спасибо за подсказку! :beer: Обязательно использую в следуюющих проэктах, думаю что они будут, уж очень мне эта тема зашла))) Но в даном случае сильно понравилась идея товарища VNS - развязать земли с помощью второй оптопары вместо транзистора, думаю что уйду в эту сторону. Сейчас сижу, кручу как схему в части первой оптопары изменить чтобы развязатся :lol:

Re: Arduino UNO и GPIO

Пт июл 15, 2022 23:28:04

развязать земли с помощью второй оптопары вместо транзистора, думаю что уйду в эту сторону. Сейчас сижу, кручу как схему в части первой оптопары изменить чтобы развязатся :lol:

Получится это только в том случае, если есть доступ к плюсовой шине того устройства (GPIO) для организации выходного сигнала через оптопару… есть на разъёме DB25 наличия плюсового напряжения?

Re: Arduino UNO и GPIO

Сб июл 16, 2022 03:31:42

Получится это только в том случае, если есть доступ к плюсовой шине того устройства (GPIO) для организации выходного сигнала через оптопару… есть на разъёме DB25 наличия плюсового напряжения?


Блин, нет. Там больше нету выводов, кроме тех, которые описаны в схеме в первом посте... Ну, значит только заменю транзисторы на оптопары, идея хорошая. Получается уот такая схема:
Изображение

Спасибо!

Re: Arduino UNO и GPIO

Сб июл 16, 2022 07:35:33

links,
Схема вполне нормальная и работать будет.
Но вообще, любое GPIO без нормально программного обеспечения вещь почти бесполезная. Многие разработки так и остались только разработками потому, что программного обеспечения для них нет.
Вот пример такой разработки https://cxem.net/mc/mc81.php
И таких мёртвых "разработок" GPIO в интернете полно.

Re: Arduino UNO и GPIO

Сб июл 16, 2022 10:43:44

Получается уот такая схема:

Такая схема (ИМХО) с использованием оптронов, имеет смысл только в том случае, когда МК значительно удалён от GPIO. Если МК находится рядом, то дешевле использовать просто транзисторы… для входа использовать NPN (как у вас было ранее с переносом резистора в базу), а на выходе использовать PNP с резистором база-эмиттер 4,7 кОм и второй резистор база-выход 1 кОм от GPIO. Коллектор PNP транзистора на вход МК. Но значительно лучший вариант (если МК находится рядом), это вообще отказаться от транзистора на выходе GPIO. В таком случае, необходимо подтянуть вход МК резистором к плюсу питания используя при этом или внешний резистор на 4,7 кОм, или внутренний. Таким образом выход GPIO непосредственно напрямую соединяется со входом МК. И контролировать в программе МК появление лог 0, а не лог 1 как в первом варианте. :)

Re: Arduino UNO и GPIO

Сб июл 16, 2022 11:11:58

Основное применение оптронов - организация гальванбаръера между устройствами.
Меньше мороки с развязками по питанию, но больше самих источников питания.
Судя по разъему пытаемся к LPT ПК подключиться?
8)

Re: Arduino UNO и GPIO

Сб июл 16, 2022 11:23:15

VNS,
GPIO без буферов это уже не GPIO. Это уже просто IO.
Смысл GPIO в том, что он многоцелевой по применению.

Re: Arduino UNO и GPIO

Сб июл 16, 2022 12:26:20

Мне нужно было GPIO взять в кавычки или просто писать AW-RP150, так как ТС его упомянул в устройстве со стороны AW-RP150 и чтобы отделить GPIO МК от GPIO AW-RP150 я так и обозначил GPIO (имея ввиду устройство AW-RP150), а МК соответственно контроллер со своим GPIO… получилось масло масленое… но главное, что ТС мою мысль понял правильно… :)

Re: Arduino UNO и GPIO

Пн июл 18, 2022 00:06:02

Действитеольно грамотно поставленая задача, половина решения)))
Нет, подключаюсь не к компьютеру а действительно к пульту управления AW-RP150, задача упростить жизнь оператору зажигая лампочки на пульте и принимая от него номер выбраной камеры. По факту пульт просто замыкает необходимую пару контактов, либо реагирует на замыкание определенной пары. Поэтому даже незнаю можно ли эту систему назвать GPIO или же как упомянули выше "просто IO".

Пульт находится в полуметре от ардуинки, но неглубокие познание в электронике не позволили мне рискнуть соединив все напрямую)))

В любом случае всем спасибо! Уже собрал на макетке часть out - все работает прекрасно!

Re: Arduino UNO и GPIO

Пн июл 18, 2022 01:19:34

Пульт находится в полуметре от ардуинки, но неглубокие познание в электронике не позволили мне рискнуть соединив все напрямую)))

В таком случае можно смело использовать такую схему подключения… резистор 4,7 кОм можно не ставить если использовать внутренний резистор данного вывода МК…
1.png
(11.5 KiB) Скачиваний: 56

Но я бы пошёл дальше и убрал бы вообще транзистор со входа AW-RP150… и подключил бы вход AW-RP150 с выходом МК напрямую… при этом управление выходом МК заключался бы в следующем… вывод МК настроен на вход, а если нужно подать сигнал на AW-RP150, то вывод МК просто переводим на выход и пин выхода МК прижимает входной вывод AW-RP150 к общей шине…
Если программу пишите для ардуины сами, то не вижу ни каких препятствий в данном подключении…
Ответить