LINUX.ORG.RU

Default to power on для внешней железки

 , ,


0

1

Имеется некоторая внешняя железка (SATA-шный контейнер для хардов), подконнекченная к микромашинке с целью организации файлопомойки. Соответственно, стоит задача сделать её функционирование совершенно автоматическим. Всё бы ничего, но у железки есть одна неприятная особенность: после потери питания она не включается автоматически. Хотелось бы заставить её это делать.

Отсюда вопрос: если я впаяю параллельно кнопке включения (там обычная тактовая кнопка, без фиксации) резистор+конденсатор с R*C = 1..2, получится то, что мне нужно? Особенно в том плане, что заряду на конденсаторе нужно будет куда-то стечь после потери питания.

★★★★★

Последнее исправление: intelfx (всего исправлений: 2)

Резистор не нужен, потому что там наверняка стоит подтяжка на питание, а кнопка замыкает на землю. Можно попробовать поставить просто конденсатор.

А вообще, есть схемы сброса (супервайзеры питания), можно такую использовать. Можно даже на 555 таймере сделать одновибратор, в интернете есть схемы.

Puzan ★★★★★
()
Последнее исправление: Puzan (всего исправлений: 1)

попробовать можно то ведь.
И еще: есть вероятность, при кратковременном отключении, что конденсатор не успеет разрядиться и тогда устройство не включится.

sehellion ★★★★★
()
Ответ на: комментарий от Puzan

А куда предлагается воткнуть этот одновибратор, прошу прощения за двусмысленность? Другими словами, откуда брать входной импульс?

intelfx ★★★★★
() автор топика
Ответ на: комментарий от sehellion

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

Да, я об этом и говорю.

intelfx ★★★★★
() автор топика
Ответ на: комментарий от intelfx

Другими словами, откуда брать входной импульс?

Проще всего входной отрицательный импульс подать со светодиода-индикатора питания на вход таймера-одновибратора КР1006ВИ1 (NE 555).

quickquest ★★★★★
()

Сбрасывать RC-ячейкой или просто конденсатором не очень хорошая затея, хотя и может сработать. У меня было несколько борд, где при этом ресет не проходил как надо. А именно PC-шная включалась, но не начинала грузиться. Эмпирически было выяснено, что ей очень хочется РЕЗКОГО фронта на ресете/питании. т.е. помимо RC надо впердолить компаратор. Я в итоге плюнул, и воткнул tiny13 в so8 корпусе. Ибо аналог - много компонентов и навесного монтажа. А тут только тинька и резюк с ресета на питание (обязательно! иначе тинька будет ресетится от любого EMI!)

ncrmnt ★★★★★
()
Ответ на: комментарий от ncrmnt

...и прошивка из двух строчек, которая ждёт полсекунды и кидает на заранее заданный пин импульс такой же длины?

intelfx ★★★★★
() автор топика
Ответ на: комментарий от quickquest

отрицательный импульс подать со светодиода-индикатора питания

Не совсем понял. Индикатор на железке зажигается только после нажатия кнопки.

intelfx ★★★★★
() автор топика
Ответ на: комментарий от intelfx

угу, после чего уходит в дипслип. как-то так:

int main() {
_delay_ms(1500);
DDRB|=(1<<3);
PORTD&=~(1<<3);
_delay_ms(2000);
DDRB&=~(1<<3)
set_sleep_mode(<mode>);
sleep_mode();
}

ncrmnt ★★★★★
()
Последнее исправление: ncrmnt (всего исправлений: 1)
Ответ на: комментарий от intelfx

А куда предлагается воткнуть этот одновибратор, прошу прощения за двусмысленность? Другими словами, откуда брать входной импульс?

С блока питания приходит дежурные 5В (они всегда есть, если есть напряжение в сети), вот к нему и подключать.

А вообще, я вдруг подумал, что можно тупо замкнуть 16-й (если я не ошибаюсь) контакт разъёма ATX на землю. Можно даже от платы не отключать, потому что там должет быть открытый коллектор.

После этого компьютер можно будет выключить только выдергиванием вилки.

Puzan ★★★★★
()
Ответ на: комментарий от intelfx

Не совсем понял. Индикатор на железке зажигается только после нажатия кнопки.

Ну, тогда посмотреть осциллографом с какого-нибудь «ненужного» цифрового контакта «железки», где при пропадании питания можно сформировать через простейшее CR-диф.звено короткий импульс для запуска таймера. Прямо с шины питания плохо, ибо оно может исчезать ме-е-е-дленно :)

quickquest ★★★★★
()
Ответ на: комментарий от Puzan

Если не понятно, то это как раз сигнал включения питания. Когда он замыкается на ноль - питание включено, когда не замыкается - выключно. Контроллер ACPI на материнке управляет этим сигналом. Если его жёстко занулить, то питание будет включаться при наличии напряжения в сети, т.е. как раз то, что требуется.

Puzan ★★★★★
()
Ответ на: комментарий от quickquest

На шине питания напряжение скорее всего будет исчезать быстро — там харды, всё такое, блок питания «тривиальный». Но да, спасибо за идею, посмотрю, как будет проще — на таймере или на микрухе по совету Некроманта.

intelfx ★★★★★
() автор топика
Ответ на: комментарий от intelfx

Проще всего на супервайзере питания - есть модели с регулировкой длительности сброса, нужно минимум внешних компонентов, не нужно прошивки.

Вот, например, первый попавшийся: LM809, 3 вывода.

Если хватит 200мс для включения железяки, то вообще ничего кроме этой микросхемы не нужно.

Puzan ★★★★★
()
7 августа 2015 г.
Ответ на: комментарий от CYB3R

Воткнул параллельно кнопке кондей на 100мкФ с резистором на 1кОм. Костыль, держится на соплях, но работает. И заряд куда-то стекает.

Надо воткнуть супервизор, как Puzan советовал, но руки не доходят. Для кого-то дело двух минут, конечно, doch nicht für mich :]

intelfx ★★★★★
() автор топика
Последнее исправление: intelfx (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.