Страница 1 из 1

Программа для простого таймера-сторожа на МК

Добавлено: Пт май 21, 2010 07:50:59
Vet-RX
Здравствуйте! Вопрос к бывалым Котам.
Помогите с программой для простого таймера-сторожа.
алгоритм работы такой: при подаче питания таймер начинает отсчёт какого то промежутка времени
(10 мин), на выводе 6 МК строго лог. 0
Если за этот период времени на базу транзистора приходит импульс, таймер начинает отсчёт времени опять.
Если же импульса не было то МК включает реле на 0,5-1 сек, и снова начинает отсчет.
Язык программирования BasCom или C, я пока еще в программировании дуб :cry: , но стараюсь научиться. Заранее спасибо!
И еще МК может быть другим.

Re: Программа для простого таймера-сторожа на МК

Добавлено: Пн май 24, 2010 22:26:57
BOB51
попробуй на ассемблере :)

Re: Программа для простого таймера-сторожа на МК

Добавлено: Ср май 26, 2010 10:20:51
kybertech
Vet-RX писал(а):Здравствуйте! Вопрос к бывалым Котам.
Помогите с программой для простого таймера-сторожа.
алгоритм работы такой: при подаче питания таймер начинает отсчёт какого то промежутка времени
(10 мин), на выводе 6 МК строго лог. 0
Если за этот период времени на базу транзистора приходит импульс, таймер начинает отсчёт времени опять.
Если же импульса не было то МК включает реле на 0,5-1 сек, и снова начинает отсчет.
Язык программирования BasCom или C, я пока еще в программировании дуб :cry: , но стараюсь научиться. Заранее спасибо!
И еще МК может быть другим.



Скинь в личку мыло или аську! С программой помогу !

Re: Программа для простого таймера-сторожа на МК

Добавлено: Ср май 26, 2010 10:42:58
ARV
господи, да какой там алгоритм, какая програ!? 2 микро-переделки в схеме (базу транзисторного ключа реле посадить дополнительно резистором на землю, а "синхронизирующий" транзистор подключить к входу сброса контроллера) и программа становится такой:

Код: Выделить всё

int main(void){
   // изначально на базе ключа реле 0 из-за резистора
   DDRB = 1; // теперь на базе 0, т.к. на выходе МК тоже 0
   while(1){ // бесконечно (если не придет сброс) делаем следующее:
      for(int i=0; i<10; i++){ // ждем 10 минут - тупо циклом
         delay_ms(60000);
      }
      PORTB = 1; // после задержки выдаем на ключ релюшки единичку
      delay_ms(1000); // в течение 1 секунды
      PORTB = 0; // после чего опять нолик
   // если сброс так и не пришел - повторяем снова и снова, а если пришел,
   // то где бы мы ни находились в программе - все начнется сначала
   }
}

Re: Программа для простого таймера-сторожа на МК

Добавлено: Ср май 26, 2010 10:50:20
kybertech
ARV писал(а):господи, да какой там алгоритм, какая програ!? 2 микро-переделки в схеме (базу транзисторного ключа реле посадить дополнительно резистором на землю, а "синхронизирующий" транзистор подключить к входу сброса контроллера) и программа становится такой:

Код: Выделить всё

int main(void){
   // изначально на базе ключа реле 0 из-за резистора
   DDRB = 1; // теперь на базе 0, т.к. на выходе МК тоже 0
   while(1){ // бесконечно (если не придет сброс) делаем следующее:
      for(int i=0; i<10; i++){ // ждем 10 минут - тупо циклом
         delay_ms(60000);
      }
      PORTB = 1; // после задержки выдаем на ключ релюшки единичку
      delay_ms(1000); // в течение 1 секунды
      PORTB = 0; // после чего опять нолик
   // если сброс так и не пришел - повторяем снова и снова, а если пришел,
   // то где бы мы ни находились в программе - все начнется сначала
   }
}


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

Re: Программа для простого таймера-сторожа на МК

Добавлено: Ср май 26, 2010 11:07:09
ARV
kybertech писал(а):Если все будет именно так как выглядит на схеме то полностью согласен ! Но мне кажеться на МК ещё какую нить задачу положат и сброс резетом делать будет нежелательно.

положить можно на все, в том числе и на сброс :)))

Re: Программа для простого таймера-сторожа на МК

Добавлено: Ср май 26, 2010 11:22:35
kybertech
ARV писал(а):положить можно на все, в том числе и на сброс :)))

:)))

Re: Программа для простого таймера-сторожа на МК

Добавлено: Пн май 31, 2010 01:05:42
Vet-RX
нет на МК других задач не будет, подождал 10 мин. если входного импульса нет, то включил реле и все с начала.
А вся эта затея для компьютера. Ночью качаю через торенты, и комп иногда зависает! :cry: вот и надо чудо девайс для авто перезагрузки. Вход подключить к светодиоду, а релле параллельно кнопке ресет. Всем кто ответил спасибо , буду пробывать шаманить :beer:

Re: Программа для простого таймера-сторожа на МК

Добавлено: Пн май 31, 2010 07:19:26
BOB51
совсем народ мысли лишился... :shock:
автоперезагрузку легче организовать при помощи программного обеспечения того же ПК- только там надо книжки почитать но уже по разделу компьютерных программ :)))

Re: Программа для простого таймера-сторожа на МК

Добавлено: Пн май 31, 2010 09:08:45
truebest
Супервизор человеку нужен...Я как понимаю какой-то девайс за 10 минут должен послать импульс на супервизор, если он его не послал то рубим питалово и включаем вновь, как в том фильме (если я не вернусь через 10 мин взрывайте все нах) не ужели у вас такая мошьная нагрузка что вы реле применяете?

блять сначала написал потом тему прочитал...есть у меня подобная схема...

Re: Программа для простого таймера-сторожа на МК

Добавлено: Пн май 31, 2010 19:39:33
BOB51
"А вся эта затея для компьютера. Ночью качаю через торенты, и комп иногда зависает! вот и надо чудо девайс для авто перезагрузки. Вход подключить к светодиоду, а релле параллельно кнопке ресет. "
ммдааа... :shock:
Выключить современный ПК с какой-нибудь WINью при помощи сетевого выключателя (или кнопкой reset) - по меньшей мере "синий экран" с автоматическим включением "скандиска" при последующем запуске :)))
Этот фокус только под DOS и то при закрытых программах проходил - так можно и жестких дисков недосчитаться... :roll:
Бывают, правда, иногда и исключения - некоторые (крайне редко) нормально сеанс закрывают по reset, но это как большое исключение, а у других и этой волшебной кнопочки уже нет...
Для нормального отключения\перезагрузки надобно на клавиатуре последовательно несколько кнопочек нажать или мышей поводить(тоже раза три левую кнопку придушить прийдется).
Так что лучше и легче поискать специализированное ПО для данного случая иль какую-нибудь прогу нарисовать под сигнал от LPT или GAME входа...

Re: Программа для простого таймера-сторожа на МК

Добавлено: Вт июн 01, 2010 08:03:21
Vet-RX
Ну почему? Перезагрузку производим только если комп завис!! То есть чтоби не просыпаться ночью
и не нажимать кнопку ресет самому, все делает автоматика и не надо придумывать никаких программ для Windows и т. п.

Re: Программа для простого таймера-сторожа на МК

Добавлено: Вт июн 01, 2010 08:20:25
ARV
во-первых, если файловая система NTFS, то никакого синего экрана и т.п. эффектов не будет, во всяком случае их вероятность стремится к нулю.
во-вторых, если комп завис - то ему уже по барабану, будет хард-сброс или софт-перезагрузка, точнее, перезагрузки вообще не будет.
однако возникает вопрос: а чего он виснет-то? может, не там копаете?

Re: Программа для простого таймера-сторожа на МК

Добавлено: Вт июн 01, 2010 22:11:49
Vet-RX
Зависает по разному: бывает несколько раз на ночь, а бывает вообще ни разу. Сейчас сканирую диск с помощью HDDScan, может Windows какая то кривая :shock: но это уже другая тема.

Re: Программа для простого таймера-сторожа на МК

Добавлено: Пт ноя 11, 2011 16:05:04
BOB51
змечание по поводу "непоняток" с ПК:
провести профилактическую чистку от пыли и грязи, включая и обратную сторону плат "материнки" и блока питания
заменить все даже чуток "вздувшиеся" конденсаторы на материнке, желательно "низкоимпедансными" и с вдвое большим напряжением
(касается практически всех плат на базе intel815e)
самого осенью задолбало... сначала порграммы начинают "выделываться", затем "виснет" причем совершенно бессистемно...
провел профилактику - вие исчезло! 8)