К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Как сделать простой в управлениии таймер на 1 и 2 минуты? можно с механическим таймером

Гость
0 - 03.06.2014 - 17:39
Есть идея некого устройства,с потреблением 500-1000 вт.
скажем - печка,нужен вариант простой и удобной установки на две фиксированные позиции 1 минута и две миниуты.
Поискал в инете- ничего не нашел подходящего.То ли нужно нажать кучу мелких кнопочек,то ли это механический таймер,где 1-2 мин это маааааленькие рисочки в самом начале шкалы,пользоваться такой крайне неудобно,ибо она расчитанна на большие показатели .
В идеале вижу два варианта- либо как в управлении микроволновки-где поворачиваем ручку и выставляем время в минутах ( механический )
,либо это некоя кнопочка или даже две- 1 и 2 мин соответственно.
Хочется простое и надежное решение.
Может кто подскажет ?



Гость
1 - 03.06.2014 - 17:43
а напряжение?
Гость
2 - 03.06.2014 - 17:46
Хотя, какая разница. Если релюхой управлять, то напрашивается небольшая схемка с RC и компаратором.
Всё.
Гость
3 - 03.06.2014 - 18:38
220 в
что такое "небольшая схемка с RC и компаратором."
Гость
4 - 03.06.2014 - 18:43
продаются реле времени промышленные устанавливаемые в электрощиток на дин рейку, там задается время в секундах или минутах. Подается питание 220 вольт и через заданное время реле срабатывает, отключает нагрузку. Дешево и сердито.
Можно испоьзовать механические от стиральных машин или микроволновок. Можно сделать самому, аналоговое или цифровое простое, есть такие микросхемы.
Но это нужно делать.
Смысл делать самому если серия нужна приборов, а так нет смысла возиться.
Гость
5 - 03.06.2014 - 19:08
проще всего конечно на микроконтроллере, а кнопки можно поставить и большие.

Код:
/*****************************************************
Chip type               : ATtiny2313
AVR Core Clock frequency: 1,000000 MHz
*****************************************************/
#include <tiny2313.h>

#define button0 PIND.3
#define button1 PIND.4
#define output PORTD.6

#define A PORTB.0
#define B PORTB.1
#define C PORTB.2
#define D PORTB.3
#define E PORTB.4
#define F PORTB.5
#define G PORTB.6
#define DP PORTB.7
#define A0 PORTD.0
#define A1 PORTD.1
#define A2 PORTD.2

unsigned char display_buffer[3]; 
volatile unsigned char display_counter;
volatile unsigned int counter_s, timer0;
eeprom unsigned int ee_counter_s[20], position;
volatile bit display_nc, counter_nc, con;
enum btn_states {b_prs, b_rls, b_hold** btn0, btn1;


void ports_init ()
**
PORTB=0x00;
DDRB=0b11111111;
PORTD=0b00011000;
DDRD=0b01100111;
**
void tcnt0_init()
**
  TCCR0 = 0;
  TCCR0 |= 1<<CS01; //1MHz/8   
  TIMSK = 0; 
  TIMSK |= 1<<TOIE0;
**

void convert_data ()
**
 char i;
 unsigned int cnt_tmp;
 
 cnt_tmp=counter_s; 
 for (i=0;i<3;i++)
 **
  display_buffer[i] = cnt_tmp%10; cnt_tmp /=10; 
 **

 if(!display_buffer[2])
 **
    display_buffer[2]=10;
    if(!display_buffer[1]) {display_buffer[1]=10;**
 **
**
void display_data ()
**
(display_counter>0)?(display_counter--):(display_counter = 2);
A0 = 0; A1 = 0; A2 = 0;
  switch (display_buffer[display_counter])
 **
  case 0: A=0; B=0; C=0; D=0; E=0; F=0; G=1; break;
  case 1: A=1; B=0; C=0; D=1; E=1; F=1; G=1; break;
  case 2: A=0; B=0; C=1; D=0; E=0; F=1; G=0; break;
  case 3: A=0; B=0; C=0; D=0; E=1; F=1; G=0; break;
  case 4: A=1; B=0; C=0; D=1; E=1; F=0; G=0; break;
  case 5: A=0; B=1; C=0; D=0; E=1; F=0; G=0; break;
  case 6: A=0; B=1; C=0; D=0; E=0; F=0; G=0; break;
  case 7: A=0; B=0; C=0; D=1; E=1; F=1; G=1; break;
  case 8: A=0; B=0; C=0; D=0; E=0; F=0; G=0; break;
  case 9: A=0; B=0; C=0; D=0; E=1; F=0; G=0; break;
  case 10: A=1; B=1; C=1; D=1; E=1; F=1; G=1; break; 
  default: A=1; B=1; C=1; D=1; E=1; F=1; G=0; break;  
 **   
   
   switch (display_counter)
 **
  case 0: A0 = 1; /*if(d_point_position == 0) {DP = 0;** else{DP = 1;***/ break;
  case 1: A1 = 1; /*if(d_point_position == 1) {DP = 0;** else{DP = 1;***/ break;
  case 2: A2 = 1; /*if(d_point_position == 2) {DP = 0;** else{DP = 1;***/ break;
 ** 

**
void skan_keys ()
**
static unsigned char count0,count1,count2,count3;

if (btn0 == b_rls){count2 = 0;**
if (btn1 == b_rls){count3 = 0;**

if (!button0) {count0++;** else {count0 = 0; btn0 = b_rls;**
if (!button1) {count1++;** else {count1 = 0; btn1 = b_rls;**

if ((count0 > 250)&&(btn0 != b_hold)) {btn0 = b_prs; count0 = 0; count2++;**
if ((count1 > 250)&&(btn1 != b_hold)) {btn1 = b_prs; count1 = 0; count3++;** 

if ((count2 > 10)&&(btn0 == b_prs)) {btn0 = b_hold; count2 = 0;**
if ((count3 > 10)&&(btn1 == b_prs)) {btn1 = b_hold; count3 = 0;**
**
void write_eeprom (unsigned int eest)
**
#asm("cli")
 m:
 if((ee_counter_s[position]!=eest)||(ee_counter_s[position+1]!=eest))
 {ee_counter_s[position]=ee_counter_s[position+1]=eest;** 
 if (ee_counter_s[position]!=ee_counter_s[position+1])
 {if(position<19){position++; goto m;**else{position=0;**** 
#asm("sei")
**
unsigned int read_eeprom ()
**
if(ee_counter_s[position]!=ee_counter_s[position+1])
{ee_counter_s[position]=ee_counter_s[position+1];**
if(ee_counter_s[position]!=ee_counter_s[position+1]) 
{if(position<19){position++;ee_counter_s[position+1]=ee_counter_s[position];****
return ee_counter_s[position];
**

void modes_operation ()
**
 static bit tr0=0,tr1=0,tr2=0;
 static enum modes {set, reset, stop, run** mode = stop; 
  
 if((btn0==b_hold)&&(btn1==b_hold)&&(!tr0)&&(mode != set)){mode = set;tr0=1;counter_s=ee_counter_s[position];**
 else if((btn0==b_prs)&&(btn1==b_prs)&&(mode!=set)){mode = reset;**
 else if((btn0==b_prs)&&(mode!=set)){mode = stop;**
 else if((btn1==b_prs)&&(mode!=set)){mode = run;**
 
 switch (mode)
 **
  case set: 
  ** 
  output=0;
  con=0;
  DP = 0;
  timer0 = 5000;
  
  if(btn0==b_rls){tr0=0;tr1=1;**
  if(btn1==b_rls){tr0=0;tr2=1;**   
  if((btn0==b_prs)&&(tr1)){tr1=0; timer0 = 5000; if(counter_s<999){counter_s++;**else{counter_s=0;****
  if((btn1==b_prs)&&(tr2)){tr2=0; timer0 = 5000; if(counter_s){counter_s--;**else{counter_s=999;****
  if((btn0==b_hold)&&(btn1!=b_hold)&&(counter_nc))
  {timer0 = 5000;counter_nc=0; if(counter_s<989){counter_s++;**else{counter_s=0;****
  if((btn1==b_hold)&&(btn0!=b_hold)&&(counter_nc))
  {timer0 = 5000;counter_nc=0; if(counter_s){counter_s--;**else{counter_s=999;****
  if((!timer0)||((btn0==b_hold)&&(btn1==b_hold)&&(!tr0))) 
  {write_eeprom(counter_s); mode=stop; btn0=b_rls; btn1=b_rls; DP = 1;** 
  if (display_nc){display_nc=0;convert_data();** 
  break;
  **
  case reset: 
  **
  output=0;
  con=0;
  counter_s=read_eeprom();
  if (display_nc){display_nc=0;convert_data();**  
  break;
  **
  case stop: 
  **
  output=0;
  con=0;
  if (display_nc){display_nc=0;convert_data();**
  break;
  **
  case run:
  **
  con=1; 
  if(counter_s){output=1;**else{output=0;**
  if (display_nc){display_nc=0;convert_data();**
  break;
  **
  default: break;
 **
**

interrupt [TIM0_OVF] void t0_ovf_isr()
**
static unsigned char n1;
static unsigned int counter_hs;
TCNT0=0x5;

if (counter_hs){counter_hs--;** 
else {counter_hs=500; display_nc=1; if((counter_s)&&(con)){counter_s--;****
if(n1){n1--;** else{n1=50; counter_nc=1;**

if(timer0){timer0--;**
**

void main(void)
**
 ports_init();  
 tcnt0_init();
 con=0; 
 output = 0; 
if(ee_counter_s[0]==0xff){ee_counter_s[0]=100;**
if(ee_counter_s[1]!=ee_counter_s[0]){ee_counter_s[1]=ee_counter_s[0];**
if(position==0xff){position=0;**
counter_s = ee_counter_s[position];
 DP=1;
 UCR=0;
 #asm ("sei");
                                                                                         
while (1)
      **   
      display_data();
      skan_keys ();
      modes_operation ();
      **
**
Гость
6 - 03.06.2014 - 19:48
5-8pin > И не лень было?
Гость
7 - 03.06.2014 - 20:08
Если надо всего проще и дешевле, то - диод, сопротивление, конденсатор, неонка, реле. Сопротивление только подбирать придётся.
Гость
8 - 03.06.2014 - 21:24
NE555
Гость
9 - 03.06.2014 - 22:21
то 7 так-так,можно попроще и с картинками?
то 4 - смотрел,те штуки,кот встраиваются в щиток-но там все кнопуси малюсенькие и их ( нажатий) требуется много-неудобно,а если механика- то опять неудобно- на маленькие цифры -минута или две не попасть.
Гость
10 - 04.06.2014 - 09:11
7-drdrdr > Подозреваю, что не будет простым этот вариант )))
Гость
11 - 04.06.2014 - 11:18
бгггг
в гипер-магните электронный таймер с дисплеем 370 руб.
шаг - 1 минута
Гость
12 - 04.06.2014 - 11:19
ну или мульвибратор с реле
Гость
13 - 04.06.2014 - 11:48
из схемы в 5 выкинуть индикацию, и строк в 10 можно уложиться - проще некуда. RC цепи и компараторы в сад...
Гость
14 - 04.06.2014 - 11:50
5-8pin > а зачем нужен зеленый диод?
Гость
15 - 04.06.2014 - 13:07
для наглядности
Гость
16 - 04.06.2014 - 13:46
зачем он вообще там?
Гость
17 - 04.06.2014 - 14:31
для красоты однако
Гость
18 - 05.06.2014 - 08:21
Взять два промышленных реле. Настроить на 1 и на 2 минуты.На каждое реле вывести по кнопке. Кнопки соответственно красиво надписать "1 минута", "2 минуты":-).
Гость
19 - 05.06.2014 - 09:47
18- о!!!
то что нужно- где взять эти промышленные рэле- небось размером с полкирпича?
20 - 05.06.2014 - 11:41
19-klamer > вы точнее напишите логику работы.
все выключено, нажали кнопку "1 мин", нагрузка подключилась через минуту (или включилась сразу и через минуту выключилась ???)
то же для 2 минут.

Или как-то иначе ?
21 - 05.06.2014 - 11:46
Если то, что в скобках, включить по команде и через заданное время выключить, то

Finder http://kipservis.ru/finder/tajmery_80.01.htm
режим BE или DE, на "сингал" повесить кнопки.
Гость
22 - 05.06.2014 - 13:59
Цитата:
Сообщение от Директор Правды Посмотреть сообщение
7-drdrdr &gt; Подозреваю, что не будет простым этот вариант )))
Чего там сложного? Проще только таймер для фотопечати купить на барахолке.
23 - 05.06.2014 - 17:53
з.ы. не совсем проще но. ОВЕН ПР110 8 входов 4 выхода.
1 вход используем для старт/стоп остальные 7 для задачи времени (например запрограммированных режимов).Комбинаций из 7 входов дофигища. Можно любой шаг сделать, например 10 секунд или 30 секунд.

127 комбинаций задержки с шагом 10 секунд
CK
24 - 06.06.2014 - 14:15
...если супер точность не нужна, то я бы поискал крутилку с микроволновки.
Выкупить незадорого в ремонтной мастерской или поискать на рынке.
Гость
25 - 06.06.2014 - 14:17
устройство простое- коробка,в ней галогеновый прожектор на 500 вт ( или два прожектора по 500 вт)
на аппарате две кнопки 1 и 2 мин .
кнопка не виксированная.
нажали- лампа загорелась ,поработала минуты ,отключилась.
если надо еще- нажимаем кнопку и так сколько потребуется.
Хочется просто одного касания,а не задавать программы и тд
Гость
26 - 06.06.2014 - 17:30
25-klamer > За трёшку мои студенты Вам сделают.
Если устраивает, пишите в личку.
Гость
27 - 06.06.2014 - 19:53
вопрос не в деньгах-есть и готовые аппараты,но у меня конструкция именно такая,как мне хочется и мне хочется самому разобраться- а так же осилить корпус красивый,и постараться сильно не колхозить-если получится кошерный девайс,будет самому приятно.
Гость
28 - 06.06.2014 - 20:03
Что-то в этом духе http://www.smartron.ru/katalog/smart...-otkljuchenija
Гость
29 - 06.06.2014 - 20:43
прикольно,но хочется что то покомпактнее,их то две штуки должно быть
30 - 07.06.2014 - 12:43
29-klamer > покомпактнее, чем предложено в 28 ?
наивняк полный
Гость
31 - 08.06.2014 - 01:01
нашел простое изящное китайское решение- ,а тут.... простая механика на небольшую экспозицию,до того попадались с большими цифрами,выставить минуту-две было сложно
http://ru.aliexpress.com/item/free-s...615753937.html
а где здесь найти такой девайс-неохота заказывать,неужели в ших магазинах не найти такое?
32 - 08.06.2014 - 09:50
31-klamer > "изящное китайское решение" гы :)
минималльное время - 20мин., а тебе ведь на 1...2 минуты нужно?
Простая механика - понадёжней будет китайских поделок...
Гость
33 - 08.06.2014 - 11:35
видел-видел,потом уже прочитал...
вот нашел там же чудо девайс
http://ru.aliexpress.com/item/China-...869935981.html
только не понял-почему именно такие значения и можно ли их менять-настраивать
Гость
34 - 08.06.2014 - 11:53
так китайцам захотелось, нельзя менять похоже...
Гость
35 - 15.06.2014 - 14:13
Свежих идей ни у кого не появилось?
Гость
36 - 15.06.2014 - 14:35
35-klamer > А шо, ещё не спаяли???
Гость
37 - 15.06.2014 - 14:54
36-Директор Правды >это из той серии, когда не очень то и надо.. разве что подарят)
38 - 15.06.2014 - 17:19
35-klamer > автор, вы совсем попутали ? давно бы уже сделали на чем-то...
учитывая вашу нагрузку - 500 Вт или 1000 Вт, маленьким оно не будет никак.
Гость
39 - 18.10.2014 - 21:45
можно использовать таймер 555 счетчик кмоп какой нбудь,
опторару moc симмисторную и мощный симмистор типа bta12 или bta16 ну пару кнопок. Это если есть желание сделать самому.
А в далеком прошлом это делали на шаговых искателях и лампе 6н8с. экзотично получалось.
Можно использовать дистанционные перключатели типа рпс32, к нему добавить rc цепочку и неоновую лампочку.
В одну обмотку импульс на включение через кнопку, а другая от RC цепочки через неонку ( или динистор лучше). Как только конденсатор зарядится, динистор откроется и подаст импульс на выключение.

Конечно конденсатор нужно будет большой, микрофарад на 30 не электролит, резистор несколько мегом, зато никакой электроники почти нет. дело вкуса.


К списку вопросов






Copyright ©, Все права защищены