Праивльное ли такое подключение датчиков
- Войдите на сайт для отправки комментариев
Ср, 25/03/2015 - 16:35
Добрый день, коллеги!
Хочу подключить к Arduino Mega 2560 R3 48 датчиков приближения.
Скажите, пожалуйста, правильно ли я составил схему подключения или ее можно упростить или чем-то необходимо дополнить? Нужно ли в моем случае ставить регистр подтяжки как на схеме?
Датчик приближения реагирует на наличие металла в зоне работы. Соответственно либо есть напряжение на выходе либо нет.
Рисунок:
Тема не раскрыта.
Опишите как работает один датчик.
Он активно выдаёт 24 и 0 Вольт? Тогда через диоды по схеме "ИЛИ" на один общий резистор( вернее два- нам ещё делитель нужен)
Есть ли у него, допустим, выход с открытым коллектором? Тогда все выходы параллельно и так далее....
В нормальном состоянии на выходе датчика 0В. При поступлении металла в зону обнаружения на выходе появляется 24В.
Под "0V" я имел ввиду землю... стыжусь
Я бы дополнительно защитил входы контроллера стабилитронами на 5 вольт... (заметьте, не 6, а 5) А резистор, от средней точки делителя, последовательно, чтобы ток от датчика ограничить...
через оптопару - надёжность выше....
резистор, оптопара, резистор коллектора фототранзистора ( вместо него встроенный резистор подтяжки можно )
48 любых диодов носами наружу в одну точку к резистору оптрона, как недавно сказал SU-27-16, а дальше всё ясно, INPUT_PULLUP....
резистор 3,9 kOm
а сколько каналов регистрации? а то ребята собрали все по "или" и вроде как помогли :)
Нет!!!!!!!!!!!!!!! Не включайте!!!!!!!!!!!!!!!!!
Схема то правильная. Только ваши 24 Вольта ( за минусм 0.5 и 2.5 на диодах) - 21 Вольт на 130 Ом - пойдёт ток 160 миллиампер.
Я думаю диод оптрона долго не выживет.
Миллиампер 5-10 бы хватило. Значит резистор 2 - 3 килоома!
И, кстати, катод диода к минусу датчиков , эмиттер транзистора на землю Ардуины, а вместе их лучше не соединять. Совсем не соединять!
Коллеги, спасибо вам за помощь!
Но есть небольшой ньюанс.
Есть стеллаж, на нем 48 ячеек. В каждой ячейке находится датчик. Каждый датчик (в моем представлении) подключается к своему входу на плате. При появлении сигнала на датчике ардуина через СОМ порт пишет номер датчика и далее, софт на компе отображает эту инфу.
Простите что сразу не оговорил данный момент.
Я правильно понимаю, что мне необходимо в данном случае распаять на плате 48 оптронов по схеме предложенной SU-27-16?
Я правильно понимаю, что мне необходимо в данном случае распаять на плате 48 оптронов по схеме предложенной SU-27-16?
Да ,правильно,сколько каналов,столько и оптронов.
А если сработает сразу несколько датчиков?
Ардуина передаст номера сработавших датчиков через запятую (1,9,13,26 например), а комп уже распарсит
SU-27-16
Не могли бы вы сказать, в какой программе вы рисуете такие схемы?
Спасибо.
,
Коллеги, спасибо вам за помощь!
Но есть небольшой ньюанс.
Есть стеллаж, на нем 48 ячеек. В каждой ячейке находится датчик. Каждый датчик (в моем представлении) подключается к своему входу на плате. При появлении сигнала на датчике ардуина через СОМ порт пишет номер датчика и далее, софт на компе отображает эту инфу.
Простите что сразу не оговорил данный момент.
Я правильно понимаю, что мне необходимо в данном случае распаять на плате 48 оптронов по схеме предложенной SU-27-16?
А может от каждой ячейки (через срабатывание геркона, например) сигнал подавать на резистивную матрицу, далее ардуина с помощью АЦП вычислит какие ячеки открыты и через СОМ порт (посредством оптопары), отправит на ПК результат вычислений? В таком случае 48 входов не надо (проводов меньше). Достаточно и четырёх аналоговых входов (на каждый по 12-ть ячеек).
SU-27-16
Не могли бы вы сказать, в какой программе вы рисуете такие схемы?
Спасибо.
вот такую недавно начал тестить, очень даже стандартный вариант :)
прога встала и начала работать с первого раза :) , инструкции можно найти на этом сайте:
http://arduino.ru/forum/processing/primer-%E2%84%96-1-vizualizatsiya-vkhodyashchikh-dannykh-mnogo-teksta
А если сработает сразу несколько датчиков?
Вы наверное не читали топик? прочитайте пост № 8
http://arduino.ru/forum/apparatnye-voprosy/praivlnoe-li-takoe-podklyuchenie-datchikov#comment-106933
Нет!!!!!!!!!!!!!!! Не включайте!!!!!!!!!!!!!!!!!
вы похоже тоже не читали :)
резистор 3,9 kOm
А может от каждой ячейки (через срабатывание геркона, например) сигнал подавать на резистивную матрицу, далее ардуина с помощью АЦП вычислит какие ячеки открыты и через СОМ порт (посредством оптопары), отправит на ПК результат вычислений? В таком случае 48 входов не надо (проводов меньше). Достаточно и четырёх аналоговых входов (на каждый по 12-ть ячеек).
R2R ЦАП - очень легко гуглиЦа, принцип работы описан до запятой, вот только младший бит не очень стабилен. Похоже у ТС опыта не хватит собрать его.
зато если собрать по "И" с диодами... один вход - сигнал; второй - строб. Корпусов добавится, появится защита МС , алгоритм прост и понятен станет... , блин, не просто, их тепер достать не просто :)
http://www.openmusiclabs.com/learning/digital/input-matrix-scanning/shif...
Коллеги, я правильно понимаю, что вы предлагаете выводить сигнал с 12 датчиков по такой схеме (грубая реализация)?
А как в этом случае ардуина поймет что в данный момент работают датчики, например, 1,4, 10?
Пока не могу представить программу, которая бы обрабатывала данные сигналы.
Буду очень признателен если скинете примерчик или ссылку.
Спасибо.
Если я правильно понял статьи в интернете, то в данном случае выходное напряжение будет расчитываться по формуле
Uвых=V*∑(Ai*1/2n-i)
Минимальный шаг напряжения будет = Vвх*1/2n-i
Далее я читаю val=analogRead(A0) и смотрю какие биты активны и в соответствии с этим пишу данные порт.
Правильно?
Вы все правильно поняли вот только R25 = 2к, а не 1к. Очень низкая вероятность правильного определения младшего бита (R12) при большой разрядности (чем выше разрядность, тем ниже вероятность). Примера у меня нет - только теория (сам собираюсь решать обратную задачу - управление скоростью вращения CD). В этой матрице необходимо будет согласовывать уровни и еще куча прелестей - хотя идея очень интересная.
А почему Вы не хотите 20й пост применить? HC165 - http://www.chipdip.ru/product/sn74hc165n/ - надежнее в плане доставерности.
Со сдвиговыми регистрами Вам достаточно сделать макет с одним регистром, а потом каскадно наростить, соответственно изменяя алгоритм - это в десятки раз проще.
Миллиампер 5-10 бы хватило. Значит резистор 2 - 3 килоома!
И, кстати, катод диода к минусу датчиков , эмиттер транзистора на землю Ардуины, а вместе их лучше не соединять. Совсем не соединять!
выше картинки тест - резистор 3,9 kOm ( ток 6 mA ) :)
с развязкой земель - согласен ! если юзать оптопару - то и землю уж тогда отвязать :)
Коллеги, я правильно понимаю, что вы предлагаете выводить сигнал с 12 датчиков по такой схеме (грубая реализация)?
А как в этом случае ардуина поймет что в данный момент работают датчики, например, 1,4, 10?
Пока не могу представить программу, которая бы обрабатывала данные сигналы.
Буду очень признателен если скинете примерчик или ссылку.
Спасибо.
48 датчиков, матрица R2R - преобразование 48-ми разрядного кода в напряжение....
....чтобы потом аналоговым входом перевести в цифру ?
при чём существует неоднозначность преобразования :(
с датчиков через резДелители сигналы приводим к уровню 4...4,5 V , подаём на 6 параллПослед регистров ( по схеме trembo из #20 ) - итого = 96 резисторов , 6 регистров , программа - всё !
24 V через делитель на ардуину - есть вероятность попадания 24 V на ардуину.... :( жалко
с делителя на регистр - я бы не заморачивался заботой о безопасности регистров - малы вероятность повреждения регистра и цена регистра :)
kast2k , "рисовалка" - Proteus часть ISIS
Т.к. разрешение АЦП 10 бит и измерения будут производится относительно 5-ти вольт, поэтому изменение показаний на 1 соответствует фактическому напряжению ~5/1023=4.9мВ. То есть средствами встроенного АЦП я смогу измерить напряжение с точностью до 4.9мВ.
А если я буду отбрасывать младшие 2 разряда (val = analogRead(A0)>>2), то получается шаг ~5/255=19.6мВ.
Будет ли мне достаточно такого шага ? Или все равно мало для 8 битной матрицы? (идея разбить на 6 матриц)
с датчиков через резДелители сигналы приводим к уровню 4...4,5 V , подаём на 6 параллПослед регистров ( по схеме trembo из #20 ) - итого = 96 резисторов , 6 регистров , программа - всё !
пойду знакомиться :) спасибо :)
TO: SU-27-16 ......с датчиков через резДелители сигналы приводим к уровню 4...4,5 V......
Опять-же - ничего ни к чему не приводим! 48 резисторов, 48 оптронов, 6 регистров.
TO: SU-27-16 ......с датчиков через резДелители сигналы приводим к уровню 4...4,5 V......
Опять-же - ничего ни к чему не приводим! 48 резисторов, 48 оптронов, 6 регистров.
миня душит жаба трат на оптопары.... для сбережения каких-то регистров.....
для надёжности - да, самое то 48+48+6
с матрицей R2R будут ошибки определения сработавшего датчика.....
trembo , вопрос по ходу.....
нужны АОТы с фототранзистором на выходе... а MOC30хх - смогут выполнить ту же работу ?
Нееееееееет! Для сбережения всего!
Кто, как и какие блоки питания к датчикам подключал?
Ведь датчики могут получить корпусную землю где угодно.
А на каждой земле может тоже быть что угодно.
И пойдут токи между этими землями....
И разверзнутся эти регисты с белым дымом......
.........нужны АОТы.........
А 817-ые чем плохи? Раздирайте любые АТХ блоки питания. Их там есть.
Если доктор мне не врёт- 2 доллара полсотни:
http://www.ebay.com/itm/50PCS-OPTOCOUPLER-SHARP-DIP-4-PC817C-PC817-/400592885148?pt=LH_DefaultDomain_0&hash=item5d4532559c
Для начала хватит.....
А MOC30хх это вроде-бы с симистром на выходе. Не пойдут для постоянного тока......
спасибо :)
сухой остаток последних постов:
1) гальванической рвзвязки не избежать - ее можно реализовать в 2 местах. а) развязаться от датчиков, тогда контроллер остается на стороне компьтера (по питанию). б) обычным делителем или регистрами снимаем показания (общее питание с датчиками, зависит от их исполнения) и развязка интерфейса с комьпьютером.
2) подавать на входы АЦП через r2r не оптимально, предпочтительнее работать с цифрой. Регистры позволят наростить схему до бесконечности (в ущерб времени опроса). Развязавшись оптопарами от датчиков - повысится надежность схемы.
3) Цена вопроса не высока, можно рассматривать комбинацию решений.
Я ничего не забыл?
про ущерб от времени опроса - можно забыть :)
у ТС скорость перемещения чего-то относительно датчиков гораздо меньше чем скорость опроса 1......24-ёх регистров разов в 100...10000
Огромное всем спасибо! :)
Пошел покупать компоненты. :)
Гриша,
Вы совершенно правы.
Огромное всем спасибо! :)
Пошел покупать компоненты. :)
Гриша,
Вы совершенно правы.
не повторите вот эту ошибку:
http://arduino.ru/forum/obshchii/optorazvyazka-ardurino-i-draivernoi-chasti?page=1#comment-68837
там просто человек недопонял и ошибся с питанием, почитайте эту тему.
Да и чего Вы так спешите! Правильно нарисованная схема - половина решения поставленной задачи! Схема где? Здесь обсуждили концепцию, по который Вы должны были принять решение и нарисовать схему.
SU-27-16, может Вы и спаяете для ТС? Не всегда полезно "кормить рыбой", гораздо полезнее подарить "удочку"... в разное время к нам на работу устраивались 3 "работника" с высшим образованием, связаным с электроникой (микроэлектроник, АСУшник и т.п.). Так их работа начиналась с изучения школьного курса физики - закона Ома. Слова типа "поставь интегратор" или "посчитай RC цепь" просто убивали их разум... А приборы они включали "по картинке" - им показали, они зарисовали. Токовый сигнал 4-20 мА на нагрузке 200 Ом вообще не расчитывался, даже после изучения закона Ома... :)
SU-27-16
Не могли бы вы сказать, в какой программе вы рисуете такие схемы?
.....значит пока ещё не может, но моя тоже за дарение не "удочки" , а "лески" хотя бы :)-
Опять не правильно. GND каждого датчика отдельно.
То есть от каждого датчика к нам идут 2 провода.
Перечитайте выше про высокую вероятность появления напряжения между " землями" , корпусами и разными блоками питания, особенно в промышленных условиях.
И люди давно узнали, что при соединении проводником двух точек с разными потенциалами в проводнике начинает течь ток.
Наша задача- не дать ему течь, то есть удалить этот проводник.
А потенциалы пусть будут какие есть- мы для этого ( для надёжности) оптроны и ставим....
Опять не правильно. GND каждого датчика отдельно.
проглядел..... :)
Опять не правильно. GND каждого датчика отдельно.
То есть от каждого датчика к нам идут 2 провода.
Перечитайте выше про высокую вероятность появления напряжения между " землями" , корпусами и разными блоками питания, особенно в промышленных условиях.
И люди давно узнали, что при соединении проводником двух точек с разными потенциалами в проводнике начинает течь ток.
Наша задача- не дать ему течь, то есть удалить этот проводник.
А потенциалы пусть будут какие есть- мы для этого ( для надёжности) оптроны и ставим....
ну, да.... как в авиации - лучше перебздеть, чем недобздеть ! :)
...или как в префе - заложиться на 4-го вальта :)
поддерживаю-согласен полностью ! никто не знает как там с землями у каждого из 48-ми датчиков....
trembo прав - защиту от дурака надо всегда иметь в виду....
....как от миня , например :)
SU-27-16
Не могли бы вы сказать, в какой программе вы рисуете такие схемы?
.....значит пока ещё не может, но моя тоже за дарение не "удочки" , а "лески" хотя бы :)-
Т.к. программ по рисованию схем в интернете море , а именно в ваших схемах мне понравился дизайн вот я и поинтересовался.
"Удочки" уже было достаточно :) Благодаря вашим (все участники) ответам я практически разобрался в теме.
Но за последнюю схему вам Спасибо!
не последняя !!!!!!!!!!!! ...крайняя :)
...авиационный слэнг :)
...щас поищу установочный пакет на эту "рисовалку" , найду - выложу
trembo - ПРАВ ! :)
Основываясь на предудущих ответах нарисовал так.
я, вообще, предпочитаю на листке бумаги рисовать , а здесь "по быстренькому" в ворде слепил
http://arduino.ru/forum/apparatnye-voprosy/datchik-urovnya-vody-v-akvarium?page=1#comment-106576
Мой брат в Paint рисовал не заморачиваясь - почти весь инверторный сварочник... :)
Вы не могли бы пояснить назначение R3 и R4? Не совсем понимаю :(
Ведь у ардуино уже есть свое питание, зачем его же подавать на выход оптрона?