прошу помощи компьютерщиков

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
Мудрый кот
Аватара пользователя
Сообщения: 1733
Зарегистрирован: Чт авг 21, 2008 22:03:30
Откуда: Одесса(Украина)

Сообщение РадиоЛоматель »

Нужно сделать так, чтоб конденсатор разряжался через обмотку. Тут уж без транзистора не обойтись.
(*tmp) &= ~( ( (param1 & (1<<PARAM1_BIT6)) || ((param2==PARAM2_TRUE)&&(--param3)) ) ? (param1 & (~param2)) : (Func1() | FUNC1_FLAGS) );
Люблю Си...
Контактная информация:
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 540
Зарегистрирован: Пт фев 20, 2009 12:26:26

Сообщение Yftul »

GaPik писал(а):Yftul , спасибо за совет с кондером и реле! отлично работает, вот теперь бы придумать, как сделать так, чтоб при выключении питания магнитолы комп выключался, то есть еще раз чтоб релешка срабатывала?
Сделать так, чтобы релешка срабатывала второй раз, если у Вас нет опыта работы с электроникой будет достаточно сложно. Простым выходом из этой ситуации в Вашем случае будет взять реле с двумя группами контактов, одну группу оставить как есть, то есть коммутировать контакты питания материнской платы через конденсатор, вторую группу поставить на коммутацию блока питания материнской платы. Необходимо, чтобы при отключении реле отключался и блок питания. При таком подходе возможно придется несколько увеличить емкость исходного конденсатора, так как некоторое время после включения матплаты она не будет реагировать на состояние переключателя питания, однако конденсатор уже будет заряжаться. Думаю увеличения раза в два будет достаточно, а может увеличивать и не придется - экспериментируйте. При таком варианте ОС не будет размонтировать файловые системы, что чревато потерей данных, уменьшить эту вероятность можно с помощью использования журналируемых ФС(ntfs,ext3,reiser итп.) и максимального использования ФС, смонтированных только для чтения.

ЗЫ: а теперь немного подумал и нашел верное, как мне кажется, решение для общего случая:)
Просто возьмите реле, с переключающей группой контактов. Общий контакт подведите к одному контакту питания матплаты, а переключающие контакты - через такие же конденсаторы, как в предыдущем случае - ко второму, разряжающие резисторы - обязательно. При включении реле будет подключаться один конденсатор, при выключении - второй :) Вуаля :)
ЗЗЫ: Недостатком такой схемы пожалуй будет возможность рассинхронизации при сбоях питания во время включения-выключения, потому я бы таки вывел кнопку питания куда-нибудь, где ее случайно не нажмут, просто на всякий случай. Кроме того, для уменьшения вероятности сбоев добавил бы простой фильтр в цепь питания обмотки реле, состоящий из большой ёмкости(несколько тысяч мкФ, подобрать, т.к. зависит от типа реле) параллельно обмотке и обычного диода, не дающего возможности разряжаться конденсатору не в обмотку. В таком случае включение стартера и провалы напряжения по иным причинам не будут приводить к сбоям в работе схемы.
Реклама
Мудрый кот
Аватара пользователя
Сообщения: 1733
Зарегистрирован: Чт авг 21, 2008 22:03:30
Откуда: Одесса(Украина)

Сообщение РадиоЛоматель »

Вот что я вам посоветую. (Работает, уже проверил)
(*tmp) &= ~( ( (param1 & (1<<PARAM1_BIT6)) || ((param2==PARAM2_TRUE)&&(--param3)) ) ? (param1 & (~param2)) : (Func1() | FUNC1_FLAGS) );
Люблю Си...
Контактная информация:
Вымогатель припоя
Сообщения: 584
Зарегистрирован: Чт янв 07, 2010 16:58:11

Сообщение b612 »

GaPik писал(а):Yftul , спасибо за совет с кондером и реле! отлично работает, вот теперь бы придумать, как сделать так, чтоб при выключении питания магнитолы комп выключался, то есть еще раз чтоб релешка срабатывала?
убери диод
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)

Сообщение DX168B »

Сделай на простеньком микроконтроллере.
Если правильно составить программу, то работать будет чётко. ))) :))
Вот кусок программы для AVR AT90S2313:
reset: ;Начало
ldi stack, RamEnd ;Инициализация стека
out SPL, stack
ldi temp, 0b00000000
out DDRB, temp
ldi temp, 0b11111111
out DDRD, temp
rjmp run11 ;Переход к первой п\программе опроса порта В
run1: ;Первый цикл
rcall on ;Вызов п\п одновибратора
run11: ;1я п\программа опроса порта PB
in temp, PinB ;Принять в РОН значение порта
cpi temp, 0b00000001 ;Сравнить и проверить на наличие напряжения
breq run2 ;Если есть напряжение, то ко второму циклу
rjmp run11 ;Иначе в начало 1ой п\программы опроса
run2: ;Второй цикл
rcall on ;Вызов одновибратора
run22: ;2я п\программа опроса порта В
in temp, PinB ;Принять в РОН значение порта
cpi temp, 0b00000000 ;Сравнить и проверить на наличие напряжения
breq run1 ;Если нет напряжения, то к первому циклу
rjmp run22 ;Иначе в начало 2ой п\программы опроса
on: ;ОДНОВИБРАТОР
sbi PortD, 1 ;Установка бита на выводе PD1
rcall delay ;Вызов задержки
cbi PortD, 1 ;Сброс бита на выводе PD1
ret ;Выход из одновибратора
delay: ;ЗАДЕРЖКА
dec temp ;декремент значения
brne delay ;Если не ноль, то повторить
dec temp1
brne delay
ret ;Выход из задержки

При подаче напряжения на вывод PB1 на выводе PD1 проскакивает импульс,
длину которого можно задать в программе.
При снятии этого-же напряжения с вывода PB1 на выводе PD1 опять-же проскакивает
такой-же импульс.
Регулировать длину импульса можно по разному: подбирая одну из
стандартных тактовых частот МК, увеличением количества циклов с декрементом,
задействованием встроенного таймера МК, но программа будет выглядеть уже по другому.
Контактная информация:
Реклама
Ответить

Вернуться в «Интеграция с ПК»