Специалист
Регистрация: 24.06.2012
Адрес: Сочи
Сообщений: 1,586
Репутация: 343
![]() ![]() ![]() ![]() |
Смотря какой курятник! Мои 10 кур (+\-5) живут своей жизнью, и ни разу не требовали ни какого освещения, с осени по весну бродят по всей территории, иногда и в дом врываются, преодолевая запуганных собак (мною запуганных) и даже не против отведать всяких там Вискасов и пр., правда и помирают в основном от собственной наглости, а на сезон урожая приходится их загонять в загон и обрезание делать... но... у меня морозы - редкость! А если делать капитальный тёплый курятник, я бы для себя делал бы самое простое, что-нидь на элементарной логике, возможно с часами и фотореле, и меньше всего думал о времени плавного включения, а вот для аквариума - это ДА! Наверно это потому, что от моей руки ни одна кура ещё не пострадала... ну рука не поднимается, когда их с цыплячьего возраста знаешь в лицо...
Ещё раз поздравляю всех с прошедшим праздником - 7 МАЯ !!! |
||
Оценка
|
Знаток
Регистрация: 06.01.2010
Адрес: Львов
Сообщений: 256
Репутация: 143
![]() ![]() |
Если Вам нужно, могу поделиться своим кодом. Это проект 9-канальной ЦМУ на лампах накаливания, делался лет 5 назад. В схеме 73-й PIC, кварц на 16 МГц, 160 дискретных уровней яркости, используются "сетевые" прерывания (т.е. логика работы посложнее, чем в выложенном mnashe проекте). Нужен Вам такой код?
И ещё (может Вы не в курсе, на всякий случай напишу), по ионисторам. Если впаяете ионистор в схему, а затем проведёте эксперимент по времени работы RTC от него, результат изначально может оказаться весьма неутешительным (не более 8 - 12 часов автономной работы) - из-за больших начальных токов утечки. Однако, если ионистор долго (до 3-х суток) постоит под рабочим напряжением, ток утечки очень заметно (в 20 - 30 раз!) снижается, и часы смогут работать заметно дольше! Сам сейчас делаю проект, в котором будут широко использоваться ионисторы, и каждый из них предварительно выдерживаю по 3-е суток под рабочим (это у меня чуть ниже максимального) напряжением. Для sergo1968: "Простые задачи нужно решать просто" - согласен! Однако, что подразумевается под простой решения? Итоговая схема и/или затраченное на разработку время? Схема на контроллере может оказаться проще, чем на таймерах. Со временем - хуже, здесь возни больше, чем чисто с "железом", даже если в запасе уже есть готовые решения. Но - и интересно же! Потому люди и "циклятся" на контроллерах, что интересно это.
Последний раз редактировалось Guaho; 08.05.2014 в 10:39.
|
||
Оценка
|
Знаток
Регистрация: 12.11.2010
Адрес: Владимир
Сообщений: 245
Репутация: 114
![]() ![]() |
Цитата:
Если Вам нужно, могу поделиться своим кодом. Это проект 9-канальной ЦМУ на лампах накаливания, делался лет 5 назад. В схеме 73-й PIC, кварц на 16 МГц, 160 дискретных уровней яркости, используются "сетевые" прерывания (т.е. логика работы посложнее, чем в выложенном mnashe проекте). Нужен Вам такой код?
Цитата:
И ещё (может Вы не в курсе, на всякий случай напишу), по ионисторам. Если впаяете ионистор в схему, а затем проведёте эксперимент по времени работы RTC от него, результат изначально может оказаться весьма неутешительным (не более 8 - 12 часов автономной работы) - из-за больших начальных токов утечки. Однако, если ионистор долго (до 3-х суток) постоит под рабочим напряжением, ток утечки очень заметно (в 20 - 30 раз!) снижается, и часы смогут работать заметно дольше! Сам сейчас делаю проект, в котором будут широко использоваться ионисторы, и каждый из них предварительно выдерживаю по 3-е суток под рабочим (это у меня чуть ниже максимального) напряжением.
Цитата:
Для sergo1968: "Простые задачи нужно решать просто" - согласен! Однако, что подразумевается под простой решения? Итоговая схема и/или затраченное на разработку время? Схема на контроллере может оказаться проще, чем на таймерах. Со временем - хуже, здесь возни больше, чем чисто с "железом", даже если в запасе уже есть готовые решения. Но - и интересно же! Потому люди и "циклятся" на контроллерах, что интересно это.
Последний раз редактировалось dimmich; 08.05.2014 в 13:04.
|
||
Оценка
|
Знаток
Регистрация: 06.01.2010
Адрес: Львов
Сообщений: 256
Репутация: 143
![]() ![]() |
В моём коде этого нет, хотя такая мысль изначально была. Делал только преобразование по скорости нарастания яркости, с помощью таблицы. И Вам рекомендовал бы использовать таблицу - самый простой и главное быстрый способ, к тому же поддающийся корректировке (ведь даже идеальное "логарифмическое" преобразование может дать результат, отличный от желаемого). Сделайте расчёт отдельно, потом из полученных значений создайте таблицу. Кстати, для данного приложения это может оказаться вообще не нужным - ведь яркость будет меняться очень медленно, а значит, минимальными шагами яркости, а раз так, нелинейность будет незаметной, ИМХО.
|
||
Оценка
|
Знаток
Регистрация: 12.11.2010
Адрес: Владимир
Сообщений: 245
Репутация: 114
![]() ![]() |
Согласен. Я тоже так думаю. Ну просто хотел бы научиться реализовывать это. Пока конечно склоняюсь не к таблицам, а к линейному изменению яркости. Вот схемку наворотил. Сейчас учусь общаться с LCD.
|
||
Оценка
|
Новичок
Регистрация: 20.12.2011
Адрес: Новосибирск
Сообщений: 446
Репутация: 65
![]() |
Цитата:
А на 555-х или 556-х таймерах не пробовали? С делителями. Минимум затрат. По-моему, люди зациклились на контроллерах. Простые задачи, ИМХО, надо решать просто. Курятник довольно большое сооружение, и миниатюризация, мне так кацца, ни к чему. Плюс заморочки с программированием. Ну, разве что, радиоканал с домом. А можно использовать дистанционку от ТВ. Еще раз - это только мои предположения.
Поскольку все разговоры про интерес при одном и том же контроллере именно в программе, то они пытаются навертеть функций выше головы, когда их просят только плавно свет погасить ![]() |
||
Оценка
|
Новичок
Регистрация: 03.01.2013
Сообщений: 40
Репутация: 16
![]() |
Прикольно, тоже 160, как и у меня
![]() Цитата:
Прерывания используются как для собственно ШИМ (прерывания 16-битного Timer1), так и для обратного отсчёта заданных промежутков времени (сколько проигрывать каждую ступень), на 8-битном Timer0. Цитата:
И ещё (может Вы не в курсе, на всякий случай напишу), по ионисторам. Если впаяете ионистор в схему, а затем проведёте эксперимент по времени работы RTC от него, результат изначально может оказаться весьма неутешительным (не более 8 - 12 часов автономной работы) - из-за больших начальных токов утечки. Однако, если ионистор долго (до 3-х суток) постоит под рабочим напряжением, ток утечки очень заметно (в 20 - 30 раз!) снижается, и часы смогут работать заметно дольше! Сам сейчас делаю проект, в котором будут широко использоваться ионисторы, и каждый из них предварительно выдерживаю по 3-е суток под рабочим (это у меня чуть ниже максимального) напряжением.
Цитата:
Для sergo1968: "Простые задачи нужно решать просто" - согласен! Однако, что подразумевается под простой решения? Итоговая схема и/или затраченное на разработку время? Схема на контроллере может оказаться проще, чем на таймерах. Со временем - хуже, здесь возни больше, чем чисто с "железом", даже если в запасе уже есть готовые решения. Но - и интересно же! Потому люди и "циклятся" на контроллерах, что интересно это.
Просто когда уже есть программа, и она использует от силы 5% возможностей контроллера, то так и тянет чего-нибудь ещё туда добавить, не очень нужного. |
||
Оценка
|
Новичок
Регистрация: 03.01.2013
Сообщений: 40
Репутация: 16
![]() |
Цитата:
В варианте для контроллеров с аппаратным ШИМом всё совсем просто: таблица задаёт период (в 8-битных числах, которые аппаратный ШИМ увеличивает на 1 и умножает на 4), а duty cycle внутри этого периода — это всегда степень двойки: первые 16 ступеней — 512, следующие 16 ступеней — 256, последние 16 ступеней — 1. В варианте для программного ШИМа алгоритм сложнее: там для некоторых их 16 ступеней используется по два варианта — для начала и для конца шкалы. Зато точность выше, что позволило с лихвой скомпенсировать в восемь раз меньшую дискретность (минимальная частота аппаратного ШИМа — цикл тактовой частоты, минимальная частота программного — две операции, то есть 8 циклов тактовой частоты). |
||
Оценка
|
Новичок
Регистрация: 03.01.2013
Сообщений: 40
Репутация: 16
![]() |
А зачем?
Выглядит это очень некрасиво, многими уже проверено. А логарифмическое изменение реализуется очень просто при наличии аппаратного ШИМа — посмотрите, какой простой и короткий код реализует его в моей программке. |
||
Оценка
|
Обратная связь РадиоЛоцман Вверх |