Страница 1 из 2
					
				реле времени с шим
				Добавлено: 14 авг 2019, 09:44
				 sergii2012
				начинает прибавлять в интервал когда не должно по условию. моя это ошибка или работа логики?! 

 
			
					
				реле времени с шим
				Добавлено: 14 авг 2019, 10:16
				 Phazz
				Опишите ваш алгоритм.
			 
			
					
				реле времени с шим
				Добавлено: 14 авг 2019, 10:19
				 Dryundel
				sergii2012 писал(а): 14 авг 2019, 09:44
начинает прибавлять в интервал когда не должно по условию. моя это ошибка или работа логики?!
 
Ваша ошибка.
Во первых много лишней логики.
Во вторых не понятна логика с генераторами.
Генераторы либо увеличивают ШИМ загоняя счетчик в крайние значения либо уменьшают, со скоростью 1/254 в 7,058 сек. 
Какая логика в целом должна быть?
 
			
					
				реле времени с шим
				Добавлено: 14 авг 2019, 20:38
				 sergii2012
				представил не весь проект. схема (с немного другой логикой) работала стабильно 3 мес потом перестал отрабатывать(перестало отключаться). я перезалил ничего не изменилось. начал пробовать другую логику.
как должно быть: в 7 часов начинается рассвет в течении часа длится от 254 до 0(мосфет работает от "-")
 в 17 часов начинается закат в течении часа от 0 до 254 (остается 1 для подсветки)
при сбое питания в заданный интервал должно установиться нужное значение с 7 до 17 - 0. после 17 до 7 - 254.
в данном куске независимо от времени при резете начинается отсчет от 0.
схема которая работала не осталась.
			 
			
					
				реле времени с шим
				Добавлено: 14 авг 2019, 21:28
				 Dryundel
				sergii2012 писал(а): 14 авг 2019, 20:38
как должно быть: в 7 часов начинается рассвет в течении часа длится от 254 до 0(мосфет работает от "-")
в 17 часов начинается закат в течении часа от 0 до 254 (остается 1 для подсветки)
при сбое питания в заданный интервал должно установиться нужное значение с 7 до 17 - 0. после 17 до 7 - 254.
в данном куске независимо от времени при резете начинается отсчет от 0.
 
Если честно, почти ничо не понял.
Из того что понял:
В 7 часов ШИМ должен увеличиваться в течении часа и оставаться на максимуме до 17 часов.
В 17 часов ШИМ должен уменьшаться в течении часа и оставаться на максимуме до 7 часов.
Так?
 
			
					
				реле времени с шим
				Добавлено: 14 авг 2019, 21:37
				 sergii2012
				доработал. не работает. устанавливается о после 17 вопреки логике 
 Отправлено спустя     3 минуты 5 секунд:
Отправлено спустя     3 минуты 5 секунд:
Dryundel писал(а): 14 авг 2019, 21:28
sergii2012 писал(а): 14 авг 2019, 20:38
как должно быть: в 7 часов начинается рассвет в течении часа длится от 254 до 0(мосфет работает от "-")
в 17 часов начинается закат в течении часа от 0 до 254 (остается 1 для подсветки)
при сбое питания в заданный интервал должно установиться нужное значение с 7 до 17 - 0. после 17 до 7 - 254.
в данном куске независимо от времени при резете начинается отсчет от 0.
 
Если честно, почти ничо не понял.
Из того что понял:
В 7 часов ШИМ должен увеличиваться в течении часа и оставаться на максимуме до 17 часов.
В 17 часов ШИМ должен уменьшаться в течении часа и оставаться на максимуме до 7 часов.
Так?
 
наоборот потому как мосфет работает по низкому уровню
Отправлено спустя     5 минут 23 секунды:
почему то счетчик устанавливает 0 на вход сброса счетчика приходит импульс, хотя по логике стоит блок И от компараторов. импульс сброса на счетчике должен сформироватьсе если часов больше 8 И меньше 17. так?
 
			
					
				реле времени с шим
				Добавлено: 14 авг 2019, 23:47
				 dsfbuy
				[ref]sergii2012[/ref], впервые использую дешифратор.
			 
			
					
				реле времени с шим
				Добавлено: 15 авг 2019, 07:28
				 Berserker
				На картинке есть ошибка везде стоит 17 а на включении стоит 19
			 
			
					
				реле времени с шим
				Добавлено: 15 авг 2019, 11:15
				 Dryundel
				[ref]sergii2012[/ref], предлагаю отказаться от логики и счетчиков, и использовать нелинейное масштабирование.
Ну как то так:
Таймер ШИМ.flp
 
			
					
				реле времени с шим
				Добавлено: 16 авг 2019, 18:19
				 SSSergeich
				[ref]sergii2012[/ref], Вот накидал на логике и счетчике. Вроде работает.
rele pwm no lcd.flp
Код: Выделить всё
Скетч использует 3828 байт (11%) памяти устройства. Всего доступно 32256 байт.
Глобальные переменные используют 250 байт (12%) динамической памяти, 
оставляя 1798 байт для локальных переменных. Максимум: 2048 байт.
 
			
					
				реле времени с шим
				Добавлено: 16 авг 2019, 23:53
				 Dryundel
				SSSergeich писал(а): 16 авг 2019, 18:19
Вот накидал на логике и счетчике. Вроде работает.
 
Логика и счетчик это конечно хорошо. Однако представим что питание контроллера пропало на минуту - электричество вырубили. И что тогда будет с закатом или рассветом? Счетчик начнет сначала или вообще не заработает.
И какой смысл тогда было использовать автономные часы реального времени? Можно было тогда и системные часы контроллера задействовать. Все равно при временном сбое питания алгоритм собьется.
 
			
					
				реле времени с шим
				Добавлено: 17 авг 2019, 01:15
				 SSSergeich
				[ref]Dryundel[/ref], по условиям задачи включится в зависимости от времени суток в то или иное состояние и будет ждать или 7 утра или 17 вечера.
Часы использовал эти, так как они распаяны на моей плате). В моём случае алгоритм не должен сбиться, или я чот не так понял...
Отправлено спустя     24 минуты 30 секунд:
Логика работы, как я понял и пытался сделать.
1. При включении контроллера (после пропадания света, его у нас на Суздалке, и на полдня отключить могут), смотрим время. 
2. Если время в промежутке от 17 до  7, то включается режим ночь с минимальной подсветкой. Если время в промежутке от 7 до 17,  то режим день, с выключенной подсветкой.
3. Переходим в рабочий режим и смотрим время, если это утро, то с 7 утра начинаем гасить свет, если вечер, то с 17 зажигать...
Примерно так я понял ТЗ
Отправлено спустя     22 минуты 42 секунды:
Зона ошибки у меня в момент включения с 7.00 до 7.01 и с 17.00 до 17.01, но если это произойдёт, то будет просто ВКЛ или ВЫКЛ,  без плавного перехода.
Похоже надо в железе собирать и тестировать, а то чот я уже запутался... )))
			 
			
					
				реле времени с шим
				Добавлено: 17 авг 2019, 08:40
				 Dryundel
				SSSergeich писал(а): 17 авг 2019, 01:15Похоже надо в железе собирать и тестировать, а то чот я уже запутался... )))
 
Именно поэтому я и предложил нелинейное масштабирование. В какой бы момент устройсто ни было  включено, если есть опорное время, выставиться нужный режим работы.
 
			
					
				реле времени с шим
				Добавлено: 17 авг 2019, 09:06
				 SSSergeich
				Dryundel писал(а): 17 авг 2019, 08:40
 В какой бы момент устройсто ни было  включено, если есть опорное время, выставиться нужный режим работы.
 
Да, именно по такой логике у меня и сделано
 
			
					
				реле времени с шим
				Добавлено: 17 авг 2019, 09:16
				 Dryundel
				Однако ТС куда то пропал. Возможно актуальность темы пропала.  
 Отправлено спустя     1 минуту 58 секунд:
Отправлено спустя     1 минуту 58 секунд:
SSSergeich писал(а): 17 авг 2019, 09:06Да, именно по такой логике у меня и сделано
 
Да, но только если отключение не произойдет в середине рассвета или заката. 
 Отправлено спустя     4 минуты 6 секунд:
Отправлено спустя     4 минуты 6 секунд:
И с такой логикой сложно перестроить время рассвета и заката. Если к примеру рассвет длится не час а полтора (зимой) или полчаса (летом). Придется пересчитывать генератор со счетчиком.
Отправлено спустя     2 минуты 14 секунд:
А в случае масштабирования даже этот сезонный процесс легко автоматизировать.
 
			
					
				реле времени с шим
				Добавлено: 17 авг 2019, 10:05
				 SSSergeich
				Нуу.. Такое ТЗ было  

 Думаю, что доработать не сложно)
Но, за то, код с логикой в разы меньше  

 
			
					
				реле времени с шим
				Добавлено: 18 авг 2019, 19:10
				 sergii2012
				спасибо за ответы и новые решения. век живи век учись). тема еще актуальна но времени нет пока что. пчеловодный сезон к концу подходит надо все успеть
			 
			
					
				реле времени с шим
				Добавлено: 19 авг 2019, 21:17
				 SSSergeich
				Dryundel писал(а): 17 авг 2019, 09:16
Да, но только если отключение не произойдет в середине рассвета или заката. 
 
Отправлено спустя 4 минуты 6 секунд:
И с такой логикой сложно перестроить время рассвета и заката. Если к примеру рассвет длится не час а полтора (зимой) или полчаса (летом). Придется пересчитывать генератор со счетчиком.
 
IMHO, не очень сложно.. не сложно добавить еще 4 переменные НР КР НЗ КЗ (начало рассвета и т.д... а если уж совсем припрет, то и секунды) и делать проверку включения, если попадаешь в тот диапазон, что время включения превышает НР или НЗ, то пересчет генератора произвести с момента включения...
 
			
					
				реле времени с шим
				Добавлено: 19 авг 2019, 22:38
				 Dryundel
				SSSergeich писал(а): 19 авг 2019, 21:17
IMHO, не очень сложно.. не сложно добавить еще 4 переменные НР КР НЗ КЗ (начало рассвета и т.д... а если уж совсем припрет, то и секунды)...
 
Я не про это писал, а смотрел еще чуть дальше. Есть такое понятие как гражданские сумерки. Ну кроме них еще есть навигационные и астрономические но они в данном случае менее интересны. Для любой географической точки можно посмотреть на онлайн калькуляторе их время на 22 июня и 22 декабря. Так вот если добавить еще два блока масштабирования с опорой на время начала и конца гражданских сумерек в эти даты, тогда и построится полный цикл реальных рассвета и заката. 
Вот это логикой и таймерами Вы точно 
зае... устанете делать.
 
			
					
				реле времени с шим
				Добавлено: 19 авг 2019, 22:48
				 SSSergeich
				Dryundel писал(а): 19 авг 2019, 22:38
Вот это логикой и таймерами Вы точно зае... устанете делать.
 
А какая разница, куда добавлять эти данные? Если это уже переменные?)
Как по мне, так я лучше лишний раз снизойду, да в выключателе кнопочку вручную жмакну, чем займу добрую часть контроллера излишним кодом  
 
 
А еще, бывает, небесная канцелярия, не особо в календарь глазеет, и тааак тучами накроет, что вроде бы рассвет часа два как нагрянуть должен, ан нет, потерялся... Тогда уж лучше к датчику освещенности переехать, наверно)