06.12.2009, 23:27 | #1 |
Новый Пользователь
Регистрация: 11.11.2008
Возраст: 54
Регион: 77, 97, 99, 177
Сообщений: 6
|
помогите со схемкой подкл. нормально замкнутого датчика
имеем инсталированный датчик уровня масла который в нормальном состоянии замкнут (разомкнут когда уровень масла падает)
подключение его на контрольную лампочку выполнено, в настоящий момент так: то есть через реле Обнаружился "дребезг" датчика, вернее даже не "дребезг", а тенденция к кратковременному размыканию, так как при разгоне/торможении автомобиля масло в поддоне "плещется"... то есть требуется задержка при подаче 12В на контрольную лампу примерно 5-7 секунд, при пропадании сигнала - задержка не нужна Почитал форум - нашел несколько схем задержки подачи напряжения, но так и не понял что же лучше применить так как они для задержки включения мониторв и/или блоков питания, и я не уверен что они выдержат многократное вкл/выкл на входе (практически "дребезг")... Кроме того возник вопрос - а нельзя ли собрать простую схемку без участия реле, которая будет выполнять необходимые функции: на входе нормально замкнутые контакты, при кратковременном размыкании которых (3-7 секунд) на выходе ничего не происходит, при длительном размыкании этих контактов имеем на выходе схемы +12В (на контрольную лампочку или другое устройство), при следующем замыкании этих контактов (на входе, контакты датчиков) на выходе +12В пропадает сразу, без задержки... Заранее спасибо братцы, а то своих знаний не хватает |
06.12.2009, 23:37 | #2 |
Старший Пользователь
Регистрация: 13.11.2008
Возраст: 37
Город: Москва
Регион: 77, 97, 99, 177
Машина: 2000\Basin\2111
Сообщений: 250
|
Возьми за основу схему включения камеры заднего хода на пике, предложенную Chipом.
Тогда можно будет точно задавать времена включения/отключения. Вместо реле можно использовать полевой транзистор. Какой - зависит от лампочки. Если нужен просто факт наличия 12В или повесить светодиод, то обычный биполярный. |
06.12.2009, 23:50 | #3 | |
Новый Пользователь
Регистрация: 11.11.2008
Возраст: 54
Регион: 77, 97, 99, 177
Сообщений: 6
|
Цитата:
|
|
06.12.2009, 23:55 | #4 |
Старший Пользователь
Регистрация: 13.11.2008
Возраст: 37
Город: Москва
Регион: 77, 97, 99, 177
Машина: 2000\Basin\2111
Сообщений: 250
|
угу. или соседняя картинка
|
07.12.2009, 00:03 | #5 |
Новый Пользователь
Регистрация: 11.11.2008
Возраст: 54
Регион: 77, 97, 99, 177
Сообщений: 6
|
а на каких элементах лучше собирать ?
и это так сказать задержка прихода напруги на лампочку (лампочка в приборке уж не знаю сколько ватт) а кто бы схемку начертил без использования реле ? что б при размыкании управляющего контакта на выходе появлялось бы 12 вольт с задержкой 5-7 секунд, а при замыкании управляющего (входного) контакта на выходе пропадало 12В без задержки, то есть сразу... |
07.12.2009, 00:22 | #6 |
Administrator
Регистрация: 15.06.2005
Город: Москва
Регион: 77, 97, 99, 177
Машина: Lexus RX400h
Сообщений: 832
|
Электролитический конденсатор параллельно лампочке , и диод в разрыв цепи
__________________
Все для arduino. |
07.12.2009, 00:33 | #7 |
Новый Пользователь
Регистрация: 11.11.2008
Возраст: 54
Регион: 77, 97, 99, 177
Сообщений: 6
|
|
07.12.2009, 00:34 | #8 |
Старший Пользователь
Регистрация: 13.11.2008
Возраст: 37
Город: Москва
Регион: 77, 97, 99, 177
Машина: 2000\Basin\2111
Сообщений: 250
|
Программку вот эту подергать надо (hi-tech C): Код:
//------------------------------------------------------------------------// #include <htc.h> //------------------------------------------------------------------------// //------------------------------------------------------------------------// // БИТЫ КОНФИГУРАЦИИ //------------------------------------------------------------------------// __CONFIG(INTIO & WDTDIS & PWRTDIS & MCLREN & BORDIS & UNPROTECT & UNPROTECT & RCCLK); //------------------------------------------------------------------------// // Oscillator = Internal RC no Clockout // Watchdog Timer = Off // Power Up Timer = Off // Master Clear Enable = External // Brown Out Detect = Off // Code Protect = Off // Data EE Read Protect = Off // Bandgap Calibration Bits = Highest Bandgap Voltage //------------------------------------------------------------------------// //------------------------------------------------------------------------// // ВРЕМЕННЫЕ ЗАДЕЖКИ ЗМЕНЕНИЯ СОСТОЯНИЙ //------------------------------------------------------------------------// #define TIMER_COUNTS_BEFORE_SWITCH_ON 30 #define TIMER_COUNTS_BEFORE_SWITCH_OFF 150 //------------------------------------------------------------------------// //------------------------------------------------------------------------// volatile unsigned char state = 0; // Переменная номера состояния volatile unsigned char timerCounts = 0; // Счетчик таймера //------------------------------------------------------------------------// //------------------------------------------------------------------------// // ФУНКЦИЯ ПРЕРЫВАНИЙ //------------------------------------------------------------------------// void interrupt my_isr(void){ // Прерывание от таймера if((T0IE)&&(T0IF)) { T0IF=0; // clear event flag // Инкрементация счетчика таймера timerCounts++; // Если состояние "реле включено, камера выключена" if (state == 1) { // Если срок включения вышел, переодим в стабильное состояние if (timerCounts >= TIMER_COUNTS_BEFORE_SWITCH_ON) state = 2; } // Если состояние "реле выключено, камера включена" else if (state == 3) { // Если срок выключения вышел, переодим в стабильное состояние if (timerCounts >= TIMER_COUNTS_BEFORE_SWITCH_OFF) state = 0; } } } //------------------------------------------------------------------------// //------------------------------------------------------------------------// // ИНИЦИАЛИЗАЦИЯ ОБОРУДОВАНИЯ //------------------------------------------------------------------------// void init(void){ // Включение прерывания таймера INTCON = 0b00100000; // Ножка 1 на вход, прочие на выход TRISIO = 0b00000010; // Делитель 128, внутренний генератор сигнала OPTION = 0b00000110; // Обнуление таймера TMR0 = 0; // Непосредственное включение прерываний ei(); } //------------------------------------------------------------------------// //------------------------------------------------------------------------// // ГЛАВНАЯ ФУНКЦИЯ //------------------------------------------------------------------------// void main(void) { init(); // Первичная инициализация while (1) // Бесконечный главный цикл { // Если состояние "все выключено" if (state == 0) { GPIO0 = 1; // Отключаем камеру if (GPIO1 == 0) // Если включилось оптореле... { state = 1; // переходим в следующее состояние timerCounts=0; // и обнуляем счетчик таймера } } else if (state == 1) { if (GPIO1 == 1) state=0; } // Если состояние "все включено" else if (state == 2) { GPIO0 = 0; // Включаем камеру if (GPIO1 == 1) // Если оптореле выключилось... { state = 3; // переходим в состояние пятисекундной задержки timerCounts=0; // обнуляем счетчик таймера } } else if (state == 3) { if (GPIO1 == 0) state=2; } } // Конец главного цикла } //------------------------------------------------------------------------// |
07.12.2009, 00:40 | #9 |
Новый Пользователь
Регистрация: 11.11.2008
Возраст: 54
Регион: 77, 97, 99, 177
Сообщений: 6
|
не через чур для просто задержки включения лампочки ?
____________________________________________ а оптопары бывают с задержкой включения ? |
07.12.2009, 00:54 | #10 |
Старший Пользователь
Регистрация: 13.11.2008
Возраст: 37
Город: Москва
Регион: 77, 97, 99, 177
Машина: 2000\Basin\2111
Сообщений: 250
|
Зато точно по времени и ничего подбирать не надо)
Я такой, люблю точность до нанограммов. Конденсатор не даст всегда одинакового времени. Можно городить на NE555, уже интереснее, но у меня с этими микросхемами нелюбовь. |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|