 |
|
17.03.2013, 16:53
|
|
простейший таймер
Придивляюся
Реєстрація: 16.12.2012
Звідки Ви: Украина
Дописи: 68
сказав Дякую: 7
сказали Дякую 20 раз(и) в 14 повідомленні

17.03.2013, 16:53
Рейтинг:
(1 голосов - 5,00 средняя оценка)
Аквариум у меня 3 месяца. Сначала света я давал побольше, часов 12-14.
Появились водоросли зеленые и черная борода. Уменьшил свет и стало
лучше. Теперь встал вопрос как регулировать этот свет без помощи
домашних. С работы прихожу вечером, свет пора выключать, а посмотреть
на аквас надо. Буду перерыв делать - выключать свет днем на пару часов.
Тогда вечером свет можно будет подольше держать. Назрел вопрос
таймера для акваса. Надо чтобы было недорого, гривен 50, дорогой мне не
нужен. Чтобы перерыв был, ну и компрессор у меня жужжит постоянно,
пусть этот таймер выключает его на время. 
|
Переглядів: 24348
|
17.03.2013, 20:33
|
#16
|
Придивляюся
Реєстрація: 16.12.2012
Звідки Ви: Украина
Дописи: 68
сказав Дякую: 7
сказали Дякую 20 раз(и) в 14 повідомленні
|
Re: простейший таймер ===www.aquaforum.ua===
Схема практически готова
|
|
|
18.03.2013, 06:20
|
#17
|
Бан за нарушения
Реєстрація: 06.11.2007
Звідки Ви: Донецк, зона АТО
Дописи: 19.780
сказав Дякую: 5.789
сказали Дякую 17.705 раз(и) в 6.926 повідомленні
|
Re: простейший таймер ===www.aquaforum.ua===
Неясно как задается время включения / выключения (часы, минуты).
__________________
[I][B][COLOR=blue]С уважением, Сергей Таранченко[/COLOR][/B][/I]
|
|
|
18.03.2013, 18:18
|
#18
|
Придивляюся
Реєстрація: 16.12.2012
Звідки Ви: Украина
Дописи: 68
сказав Дякую: 7
сказали Дякую 20 раз(и) в 14 повідомленні
|
Re: простейший таймер ===www.aquaforum.ua===
Задавать время буду переключателями - 3 dip переключателя на 2, 3 и 4 ячейки
соответственно. Принцип простой;первый тумблер включен - 1час ,второй - 2часа
оба включены - 3часа и т.д. Схему немного доработаю сыровата.
|
|
|
18.03.2013, 19:59
|
#19
|
Бан за нарушения
Реєстрація: 21.06.2010
Звідки Ви: Харьков
Дописи: 775
сказав Дякую: 115
сказали Дякую 463 раз(и) в 234 повідомленні
|
Re: простейший таймер ===www.aquaforum.ua===
Цитата:
Допис від teist
Принцип простой;первый тумблер включен - 1час ,второй - 2часа
оба включены - 3часа и т.д.
|
чего час или два, отчего, от какой точки отсчет?
Совсем тяжеловато, проще уже двоичным. 
Может хотя бы зуммер на нажатие, но все равно не понятно откуда плясать.
|
|
|
18.03.2013, 21:32
|
#20
|
Придивляюся
Реєстрація: 16.12.2012
Звідки Ви: Украина
Дописи: 68
сказав Дякую: 7
сказали Дякую 20 раз(и) в 14 повідомленні
|
Re: простейший таймер ===www.aquaforum.ua===
время задается переключателями и их положение видно (не меняется)
чтобы определить какое время задано нужно посмотреть на переключатели
и те что в 1 сложить. Первый тумблер =1, второй =2, третий =4 и т.д.
Да это фактически похоже на двоичный код, но для аэрации будут
минуты ; оба переключателя в "0" =аэрация 15 минут, первый включен
30 минут, второй =45 минут и оба в "1" = аэрация непрерывная. Кажется
сложно но это я объяснятель неважнецкий - все очень просто.
|
|
|
18.03.2013, 22:17
|
#21
|
Придивляюся
Реєстрація: 07.03.2013
Звідки Ви: Молочанск
Дописи: 17
сказав Дякую: 19
сказали Дякую 14 раз(и) в 8 повідомленні
|
Re: простейший таймер ===www.aquaforum.ua===
У меня стоят два таймера Expert. Брал по 54 грн. в "Эпицентре". Правда они со временем начинают спешить, но для меня не проблема раз в две недели немного подкорректировать. Посмотрите по интернету, может найдете дешевле. 
|
|
|
cказали "Дякую" Владислав Д. за цей допис:
|
|
19.03.2013, 08:31
|
#22
|
Бан за нарушения
Реєстрація: 21.06.2010
Звідки Ви: Харьков
Дописи: 775
сказав Дякую: 115
сказали Дякую 463 раз(и) в 234 повідомленні
|
Re: простейший таймер ===www.aquaforum.ua===
Вот теперь более менее, начало отсчета, я так понял, от точки сброса.
По свету разобрались.
А какая логика такого включения компрессора, поставьте кнопку выключения компрессора на время кормления. Допустим собрались покормить, нажали на кнопку, течение воды успокоилось (корм не носится по аквариуму), прошло допустим 20 мин и компрессор сам включился. Просто в таком случае управление тактовой кнопкой, куда удобнее чем тумблерами клацать.
Все остальное время компрессор работает. А то что гудит, так нужно покачественнее купить. Даже при тотальной экономии нервы дороже.
Востаннє редагував klimnet: 19.03.2013 о 08:43..
Причина: Добавил
|
|
|
cказали "Дякую" klimnet за цей допис:
|
|
19.03.2013, 18:02
|
#23
|
Придивляюся
Реєстрація: 16.12.2012
Звідки Ви: Украина
Дописи: 68
сказав Дякую: 7
сказали Дякую 20 раз(и) в 14 повідомленні
|
Re: простейший таймер ===www.aquaforum.ua===
по схеме у тиньки есть свободные выходы, еще есть у меня пару
мощных (10вт) светодиодов. Мож удастся рассвет - закат сделать.
Только это для меня поле неизвестности... Кто уже делал подскажите
пжлст куда смотреть, с чего начать 
|
|
|
19.03.2013, 23:16
|
#24
|
Бан за нарушения
Реєстрація: 21.06.2010
Звідки Ви: Харьков
Дописи: 775
сказав Дякую: 115
сказали Дякую 463 раз(и) в 234 повідомленні
|
Re: простейший таймер ===www.aquaforum.ua===
teist, в программировании МК честно признаюсь БАРАН, но все впереди.
Посмотрите этот проект, тем более он с исходниками http://radiokot.ru/circuit/digital/home/102/.
Уже стоимость растет, а хотели за 50грн.
|
|
|
cказали "Дякую" klimnet за цей допис:
|
|
20.03.2013, 05:21
|
#25
|
Придивляюся
Реєстрація: 16.12.2012
Звідки Ви: Украина
Дописи: 68
сказав Дякую: 7
сказали Дякую 20 раз(и) в 14 повідомленні
|
Re: простейший таймер ===www.aquaforum.ua===
Цитата:
Допис від klimnet
Уже стоимость растет
|
Ну это прицел на будущее, чтобы потом плату не переделывать. Таймер только
команду давать будет, а схему соберу на дополнительной плате или даже в
отдельном корпусе. Ссылку Вашу смотрел, но не программист я. Немного могу на
ассемблере в AVR Studio, в смысле простые устройства...
Востаннє редагував teist: 20.03.2013 о 05:22..
Причина: правка
|
|
|
20.03.2013, 10:06
|
#26
|
Модератор Сумского клуба аквариумистов
Реєстрація: 14.04.2004
Звідки Ви: Сумы, Украина
Дописи: 2.779
сказав Дякую: 3.547
сказали Дякую 1.461 раз(и) в 857 повідомленні
|
Re: простейший таймер ===www.aquaforum.ua===
teist, если поможет, код для Ардуины
Скрытый текст
class led_ligths {
public:
boolean isOn,isNowOn;
byte hourOn,hourOff,minuteOn,minuteOff,maxPWM;
byte startP,firstP,secP,thirdP,fourP,finishP;
byte nowPWM;
};
led_ligths dayLigth;
byte second, minute, hour, dayOfWeek, dayOfMonth, month, year; //Перемнные для работы с RTC
void ExecutiveProcedure()
{//установим ШИМ для дневных светиков
i=round (dayLigth.nowPWM*2.55);
analogWrite (LIGHT_PWM,i);
}
boolean inTimeRange (byte h,byte m,byte he,byte me)
{
float tBeg,tNow,tEnd;
tBeg=h+((float)m/100);
tNow=hour+((float)minute/100);
tEnd=he+((float)me/100);
if ((tBeg<tEnd)&&(tBeg<=tNow)&&(tNow<tEnd)) { return (true); }//без перехода через сутки
if ((tBeg>tEnd)&&(tBeg<tNow)&&(tNow>=tEnd)) { return (true); }//до перехода через сутки
if ((tBeg>tEnd)&&(tBeg>tNow)&&(tNow<=tEnd)) { return (true); }//после перехода через сутки
return (false);
}
float getPersentInTimeRange (byte h,byte m,byte he,byte me)//возвращаем % прошедшего времени с начала промежутка
{
float tBeg,tNow,tEnd,rLength;
tBeg=h+((float)m/60); //получим часы в целых, в дробных % прошедшегго часа, прим. 30 мин = 50%
tNow=hour+((float)minute/60)+((float)second/3600);
tEnd=he+((float)me/60);
if (tBeg < tEnd) //для промежутка без перехода через сутки, когда время_начала<времени_конца
{ rLength=tEnd-tBeg; //длина всего временного промежутка;
f=tNow-tBeg;} //длина прошедшего промежутка;
if (tBeg > tEnd) //для промежутка с переходом через сутки
{ rLength=24-tBeg+tEnd; //rLength=tBeg-tEnd;
if (tNow>tBeg) { f=tNow-tBeg; } //до 00:00
else { f=24+tNow-tBeg; } //после 00:00 включительно
}
return ((float)(f*100)/rLength);//возвращаем % прошедшего времени с начала промежутка
}
void setLEDLightStatus() //принимаем решение о включении/выключении дневной светодиодной цепочки и уровне ШИМа для нее
{
byte p_begin,p_end;
float persentOfRange;
//если мы не внутри времени работы или свет запрещен, ставим ШИМ=0 и вываливаемся...
if (!dayLigth.isOn||!inTimeRange(dayLigth.hourOn,dayL igth.minuteOn,dayLigth.hourOff,dayLigth.minuteOff) )
{ dayLigth.nowPWM=0; light_status="Ночь "; return; }
//если свету быть, вычисляем нужный промежуток и ШИМ
persentOfRange=getPersentInTimeRange(dayLigth.hour On,dayLigth.minuteOn,dayLigth.hourOff,dayLigth.min uteOff);
//test=persentOfRange;
if ((persentOfRange>=0)&&(persentOfRange<20)) { f= persentOfRange*5; p_begin=dayLigth.startP; p_end=dayLigth.firstP; light_status="Рассвет "; }
if ((persentOfRange>=20)&&(persentOfRange<40)) { f=(persentOfRange-20)*5; p_begin=dayLigth.firstP; p_end=dayLigth.secP; light_status="Утро "; }
if ((persentOfRange>=40)&&(persentOfRange<60)) { f=(persentOfRange-40)*5; p_begin=dayLigth.secP; p_end=dayLigth.thirdP; light_status="День "; }
if ((persentOfRange>=60)&&(persentOfRange<80)) { f=(persentOfRange-60)*5; p_begin=dayLigth.thirdP; p_end=dayLigth.fourP; light_status="Вечер "; }
if ((persentOfRange>=80)&&(persentOfRange<=100)) { f=(persentOfRange-80)*5; p_begin=dayLigth.fourP; p_end=dayLigth.finishP; light_status="Закат "; }
//зная ШИМ в начале точки и ШИМ в конце точки, а также % пройденного от начальной до конечной точки промежутка, вычислим текущий ШИМ
f1=(float)(p_end-p_begin)/100; dayLigth.nowPWM=round(f1*f+p_begin);
dayLigth.nowPWM=max(dayLigth.nowPWM,1); //минимум 1
dayLigth.nowPWM=min(dayLigth.nowPWM,dayLigth.maxPW M); //ммаксимум maxPWM
}
В Loop-е выполним пару строчек (я выполняю их 2-3 раза в секунду)
setLEDLightStatus(); //вычислим ШИМ для дневных светиков. Если ШИМ 0, драйвер потушит питание на светики.
ExecutiveProcedure();//включим и выключим нужные пины, процедура общая, для всех таймеров, ШИМов яркости и контраста
Комментарии родные )))
Я делю весь световой день на 5 равных по времени отрезков (Рассвет, утро, день, вечер, закат). Уровень ШИМа для каждой точки задается отдельно, текущий уровень во время работы высчитываем как точку на прямрй между предыдущим заданным уровнем и следующим, собственно 6 точек. Это позволяет организовать и рассвет/закат, и, если очень хочеться, устроить затемнение во время светового дня.
__________________
☺
__________________ 
|
|
|
cказали "Дякую" manulo за цей допис:
|
|
20.03.2013, 19:06
|
#27
|
Придивляюся
Реєстрація: 16.12.2012
Звідки Ви: Украина
Дописи: 68
сказав Дякую: 7
сказали Дякую 20 раз(и) в 14 повідомленні
|
Re: простейший таймер ===www.aquaforum.ua===
Cейчас занимаюсь печатной платой . Сверху на коробке будут две
розетки поэтому коробка получается не маленькая. Сама плата где-то
140х70. Конечно ее можно раза в три уменьшить, но моя технология
утюжная любит побольше и линии потолще. 
|
|
|
22.03.2013, 19:41
|
#28
|
Придивляюся
Реєстрація: 16.12.2012
Звідки Ви: Украина
Дописи: 68
сказав Дякую: 7
сказали Дякую 20 раз(и) в 14 повідомленні
|
Re: простейший таймер ===www.aquaforum.ua===
Плату нарисовал в Sprint Layout 6.0,
как оказалось зарядка для мобилки допускает токи 0.5А при выходном
напряжении 5 - 5,5В. Вполне можно использовать реле. Те что годятся
на 220В кушают 60 - 80мА. Два реле будут потреблять где то 0,15А. 
Что то не грузится файл с платой
|
|
|
22.03.2013, 19:50
|
#29
|
Придивляюся
Реєстрація: 16.12.2012
Звідки Ви: Украина
Дописи: 68
сказав Дякую: 7
сказали Дякую 20 раз(и) в 14 повідомленні
|
Re: простейший таймер ===www.aquaforum.ua===
в jpg
можно упростить схему отказаться от МОС 3082 и тиристоры поставить самые маленькие и маломощные
будет дешевле на гривен 8-10, но опасаюсь что надежность снизится. Так получилась схема без
изысков, дубовая. Вроде все по даташиту значит должно работать
Востаннє редагував teist: 22.03.2013 о 20:03..
Причина: добавил
|
|
|
22.03.2013, 23:44
|
#30
|
Бан за нарушения
Реєстрація: 21.06.2010
Звідки Ви: Харьков
Дописи: 775
сказав Дякую: 115
сказали Дякую 463 раз(и) в 234 повідомленні
|
Re: простейший таймер ===www.aquaforum.ua===
teist, пока есть схема и печатка, а прошивки нет!!! я не прошу, у меня другое, просто вопрос, ее написать нужно, а без - схема и устройство не рабочее.
|
|
|
 |
|
Тут присутні: 1 (учасників - 0 , гостей - 1)
|
|
Ваші права у розділі
|
Ви не можете створювати теми
Ви не можете писати дописи
Ви не можете долучати файли
Ви не можете редагувати дописи
HTML код Вимк.
|
|
|
Часовий пояс GMT +3. Поточний час: 23:54.
|