реклама на сайте
подробности

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Организация входов МК с возможностью программной подтяжки к обоим лог. уровням
Alt.F4
сообщение Jan 2 2012, 05:39
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256



Видел в инструкциях автомобильных сигнализаций возможность настравить вход на активный уровень +12В или GND.
Может кто в курсе, как это сделано?
Спасибо.
Go to the top of the page
 
+Quote Post
Слесарь
сообщение Jan 2 2012, 06:51
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 884
Регистрация: 7-11-09
Из: Ростовская обл.
Пользователь №: 53 484



Решение этого вопроса знает любой начинающий программист. Делай программное сравнение сигнала входа с ранее сохраненным битом, значения активного сигнала.
Go to the top of the page
 
+Quote Post
Alt.F4
сообщение Jan 2 2012, 07:50
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256



Слесарь, что-то я не въехал о чем Вы.
Если юзать делитель а потом на АЦП, то он все равно физически подтянут к земле.
Мне интересно как это сделано в автомобильных сигах.

P.S. Пример: к входу сиги можно подключать датчик багажника, на котором при открытии появляется GND, когда он закрыт - провод болтается в воздухе.
И на этот же вход можно подключать такой же датчик, но с активным уровнем +12В, перед этим сохранив в сиге соответсвующие настройки.

Сообщение отредактировал Alt.F4 - Jan 2 2012, 07:53
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 2 2012, 08:37
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (Alt.F4 @ Jan 2 2012, 09:50) *
P.S. Пример: к входу сиги можно подключать датчик багажника, на котором при открытии появляется GND, когда он закрыт - провод болтается в воздухе.
И на этот же вход можно подключать такой же датчик, но с активным уровнем +12В, перед этим сохранив в сиге соответсвующие настройки.
Вот такая постановка вопроса уже понятна. А на первое сообщение Слесарь ответил верно, каков вопрос - таков и ответ.

По этому вопросу: я бы от всех входов свел резисторы подтяжки в одну точку, которую бы коммутировал парой транисторов то к земле, то к питанию. Контроллером считывал бы состояние входа при обоих вариантах подтяжки и по двум значениям принимал бы решение - висит в воздухе/замкнуто на землю/замкнуто на плюс. А дальше уже, как написано выше, по сохраненной установке принимал бы решение - какой из этих результатов должен вызывать срабатывание.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Jan 2 2012, 11:23
Сообщение #5


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



В бытность работы в автосервисе - способов схемной реализации таких вещей - вагон и две-три маленьких тележки.
Цитата
Если юзать делитель а потом на АЦП, то он все равно физически подтянут к земле.

Не существует в природе проводов ни к чему не привязанных. Как класс. Особенно в автосигнализациях.

В вашем предполагаемом случае с АЦП - просто ставят одинаковую подтяжку сверху и снизу. Тогда легко отличить состояние Земля, Напряжение Аккумулятора, Обрыв. (Это чисто модель для объяснения. Реализация чуть сложнее из-за того, что АЦП имеют рабочее напряжение существенно меньше 12 вольт).


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
Alt.F4
сообщение Jan 2 2012, 11:33
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256



DpInRock, копался в интернете, но так и не нашел ни одной схемы.
Не могли бы нарисовать хотя бы простейшее решение?
Спасибо.
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Jan 2 2012, 11:37
Сообщение #7


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



ВЫ обозначьте ясно свою цель. Ибо очень тупое занятие - рисовать схемы. А потом их объяснять. А потом понять, что дело совсем в другом.


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
Alt.F4
сообщение Jan 2 2012, 11:40
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256



Цель: организовать вход для МК, с помощью которого можно было бы логически определять как наличие +12В на входе, так и GND.
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Jan 2 2012, 11:43
Сообщение #9


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Вот с этого надо было бы начинать. И получили бы массу ответов. По делу.
Осталось выяснить - есть какаой-то контроллер конкретный - или контроллер вообще, абстрактный.
---
Вот теперь, полагаю, Слесарь сможет дать точный ответ.

Виртуально я рисую так.

Один резистор 10K к +3 вольта. Другой к земле. Между собой они соединены. Точка соединения поключается к АЦП контроллера.

От этой же точки резистор 10 K идет наружу. Это вход датчика.
Чтобы защитит входы от краха, параллельно двум первым резисторам ставим диоды (2 штуки). Катодом в сторону плюса.
Параллельно тому резистору что идет к земле - ставим конденсатор 1 mkf 35 вольт.

При обрыве АЦП будет показывать 1.5 вольта. +12 - 3 вольта, землля - и в африке земля (Но покажет 2\3 от 1.5 вольта).

Номиналы резисторов выбираются исходя из многих параметров, часто взаимоисключающих - это потребление и помехозащищенность.

Просьба считать данный текст таким же подробным освещением данной проблемы, насколько подробным можно считать объяснение теории относительности в тексте такого же объема.

Сообщение отредактировал DpInRock - Jan 2 2012, 12:10


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
Alt.F4
сообщение Jan 2 2012, 11:44
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256



AVR
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Jan 2 2012, 12:08
Сообщение #11


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Цитата
AVR

Т.е. абстрактный, но AVR. Ибо авров - как фашистов под Сталинградом.
Тогда текст выше.
Ничуть не сомневаюсь, что кто-то опишет более лучшее решение.
Но мое решение - как иллюстрация, повод к размышлениям и пр.
--
Типа и в том тексте есть определенное количество неточностей. Но смысл должен быть понятен.
Если выбрать первые два резистора на порядок большие, чем третий - то все вообще становится более ясно и прозрачно.
С одинаковыми - не так прозрачно и ясно. Но чем меньше первые два резистора, тем менее чувствительно все к помехам, которых будет больше, чем можно себе представить.

Сообщение отредактировал DpInRock - Jan 2 2012, 12:13


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jan 3 2012, 08:17
Сообщение #12


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Что вы все издеваетесь над ТС сферическими предложениями, в то время как с первого поста прозвучал вполне конкретный вопрос? Ага, нашел: maniac.gif
Вот пример, йакобэ заточенный под IEC61131-2, но если это так, то я - граф Толстой.
Прикрепленное изображение

И есссно, для достижения гибкостей теперь Вам придется такой пуллап/пуллдаун городить чуть ли не на каждый пин. sm.gif
Go to the top of the page
 
+Quote Post
Слесарь
сообщение Jan 3 2012, 08:48
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 884
Регистрация: 7-11-09
Из: Ростовская обл.
Пользователь №: 53 484



Делай переключатель или джамперы подтяжки как в частотниках Омрон для согласования входов с внешними устройствами. На практике, мало когда требуется программно менять тип входа.

Никогда такого не требовалось при разработке. Единственно, когда приспосабливал датчики по запарке купленные с иным выходом, переставлял подтягивающее сопротивление, что можно было сделать джампером заблаговременно. А так вообще, как в первом моем посте.

Обычно, я делаю развязку между контроллером и +12В входом с помощью транзистора. Входящие +12В открывают транзистор и тот закорачивает вход МК на землю. Если необходимо контролировать присутствие земли на входе, просто через джампер и сопротивление притягивать вход к +12В
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jan 3 2012, 08:57
Сообщение #14


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(Слесарь @ Jan 3 2012, 11:48) *
На практике, мало когда требуется программно менять тип входа.

Особенно, если девайс залит уретаном и из него торчит исключительно коннектор, и еще более особенно, если не хочется, чтобы в коробочку часто и кто попало лазал sm.gif
Go to the top of the page
 
+Quote Post
=AK=
сообщение Jan 3 2012, 09:27
Сообщение #15


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



Цитата(Alt.F4 @ Jan 2 2012, 18:20) *
к входу сиги можно подключать датчик багажника, на котором при открытии появляется GND, когда он закрыт - провод болтается в воздухе.
И на этот же вход можно подключать такой же датчик, но с активным уровнем +12В, перед этим сохранив в сиге соответсвующие настройки.

Таким образом, вам требуется схема, способная различить три состояния входа:
- вход висит в воздухе
- вход притянут к земле
- вход притянут к питанию

В простейшем случае это можно сделать при помощи одной линии порта микропроцессора, конденсатора, нескольких резисторов и пары диодов.

К порту подключите один конец резистора R1=330R, а второй конец этого резистора - к земле и питанию МК через обратно включенные диоды. Эта часть схемы обеспечивает защиту порта.

Точку соединения резистора R1 и диодов обозначим "точка А".

Между точкой А и землею включим конденсатор C1 емкостью, скажем, 0.1 мкФ. Между точкой А и внешним входом (точка "Вх") включим резистор R2=10к.

Для считывания состояния входа проделываем следующее:
1) Настраиваем порт на вывод и выводим через него лог.1. Держим лог.1 на выходе в течении времени t1, достаточного, чтобы кондер С1 зарядился xотя бы до 90% напpяжения, т.е. в течении t1 > 2.2*R1*C1
2) Настраиваем порт на вход и ждем период времени t2 достаточно большой, чтобы C1 успел разрядиться через R2 в случае, если Вх сидит на земле; t2 > 2.2*R2*C1. После этого проверяем состояние порта, и если на нем лог. 0, то делаем вывод, что вход сидит на земле. Если же на нем лог.1 - переходим к п.3.
3) Настраиваем порт на вывод и выводим через него лог.0. Держим лог.0 на выходе в течении времени t1, достаточного, чтобы кондер С1 paзрядился xотя бы до 10% напpяжения, т.е. в течении t1 > 2.2*R1*C1
4) Настраиваем порт на вход и ждем период времени t3 достаточно большой, чтобы C1 успел зaрядиться через R2 в случае, если Вх сидит на плюсе.
После этого проверяем состояние порта, и если на нем лог. 1, то делаем вывод, что вход сидит на плюсе. Если же на нем лог.0, то делаем вывод, что вход висит в воздухе.

Способ можно усовершенствовать, если в п.4 брать не один сампл, а несколько. Тогда по времени заряда С1 можно грубо оценить, какова величина напряжения на входе.
Go to the top of the page
 
+Quote Post

3 страниц V   1 2 3 >
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 17th June 2025 - 08:32
Рейтинг@Mail.ru


Страница сгенерированна за 0.01492 секунд с 7
ELECTRONIX ©2004-2016