| Регистрация Правила Главная форума Поиск |
| 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
| Чего там сложного? Проще только таймер для фотопечати купить на барахолке. | |
| 23
- 05.06.2014 - 17:53
|
з.ы. не совсем проще но. ОВЕН ПР110 8 входов 4 выхода. 1 вход используем для старт/стоп остальные 7 для задачи времени (например запрограммированных режимов).Комбинаций из 7 входов дофигища. Можно любой шаг сделать, например 10 секунд или 30 секунд. 127 комбинаций задержки с шагом 10 секунд | |
| 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 не электролит, резистор несколько мегом, зато никакой электроники почти нет. дело вкуса. | |
Интернет-форум Краснодарского края и Краснодара |