Прошивка MegaD-328 (релизы, обсуждения, предложения)
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
VladF, спасибо за программу. В целом работает, но есть ряд вопросов.
1. Поскольку мы имеем дело с десктопным приложением, возможно удобнее было бы запускать сканирование устройств при старте программы.
2. Список устройств отсортировать по IP (сейчас 110 стоит выше 14)
3. Если устройство не выбрано и нажать кнопку "Авто" - программа выпадает.
4. Возможно было бы нелишним на кнопки "Прошивка", "Авто", "Загрузить" повесить предупреждающие попап окна, потому что одно неловкое движение и пользователь может немного подпортить конфигурацию Умного Дома.
5. После серии операций программа перестает выполнять действия на нажатие кнопки "Прошивка"
6. Окно журнала нужно то ли расширить, то ли как-то иначе с ним работать. Часто бывает, что не видно что происходит.
7. Есть проблемы с загрузкой конфигурации. Загружается неправильно. Конфигурационный файл сильно отличается от того, что генерирует megad-cfg. Например, на чистом устройстве после считывания и записи конфигурации доп. ADC порты превращаются в IN. В megad-cfg считывание конфигурации основано на парсинге HTML-форм.
1. Поскольку мы имеем дело с десктопным приложением, возможно удобнее было бы запускать сканирование устройств при старте программы.
2. Список устройств отсортировать по IP (сейчас 110 стоит выше 14)
3. Если устройство не выбрано и нажать кнопку "Авто" - программа выпадает.
4. Возможно было бы нелишним на кнопки "Прошивка", "Авто", "Загрузить" повесить предупреждающие попап окна, потому что одно неловкое движение и пользователь может немного подпортить конфигурацию Умного Дома.
5. После серии операций программа перестает выполнять действия на нажатие кнопки "Прошивка"
6. Окно журнала нужно то ли расширить, то ли как-то иначе с ним работать. Часто бывает, что не видно что происходит.
7. Есть проблемы с загрузкой конфигурации. Загружается неправильно. Конфигурационный файл сильно отличается от того, что генерирует megad-cfg. Например, на чистом устройстве после считывания и записи конфигурации доп. ADC порты превращаются в IN. В megad-cfg считывание конфигурации основано на парсинге HTML-форм.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
http://ab-log.ru/files/File/ip_manager3 ... _beta3.zip
http://ab-log.ru/files/File/ip_manager3 ... a3-hex.zip
Это пробная бета, так как я не вполне уверен в целесообразности (а точнее в логике работы) новой функции.
В этой прошивке реализован функция плавного включения/выключения ШИМ портов.
В данной прошивке плавное включение/выключение происходит как для команд сервера, так и для сценариев по умолчанию.
И хотя основное назначение ШИМ (управление освещением), я не исключаю ситуаций, когда потребуется неплавная установка конкретного значения ШИМ порта или, к примеру, другая скорость изменения значения при управлении сервером. Возможно для плавной (или напротив неплавной) регулировки потребуется добавление семантического модификатора.
Какие есть мысли у общественности?
http://ab-log.ru/files/File/ip_manager3 ... a3-hex.zip
Это пробная бета, так как я не вполне уверен в целесообразности (а точнее в логике работы) новой функции.
В этой прошивке реализован функция плавного включения/выключения ШИМ портов.
В данной прошивке плавное включение/выключение происходит как для команд сервера, так и для сценариев по умолчанию.
И хотя основное назначение ШИМ (управление освещением), я не исключаю ситуаций, когда потребуется неплавная установка конкретного значения ШИМ порта или, к примеру, другая скорость изменения значения при управлении сервером. Возможно для плавной (или напротив неплавной) регулировки потребуется добавление семантического модификатора.
Какие есть мысли у общественности?
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Чтобы получить плавную регулировку яркости, например, светодиодных ламп нужно использовать специальную нелинейную функцию. Если этого не делать (т.е. использовать "линейное" изменение), то свет будет сильно "бить" по глазам. Т.е. либо эту табличную функцию "запихивать" в прошивку, либо её будет задавать сам сервер и плавность включения шим портов не нужна.
Выглядит табличная функция примерно так (значения "яркости" 0-255 - это индекс массива, а сами значения записываются в таймер PWM) :
Выглядит табличная функция примерно так (значения "яркости" 0-255 - это индекс массива, а сами значения записываются в таймер PWM) :
Код: Выделить всё
#include <avr/pgmspace.h>
#define PWM_LOG(a) (pgm_read_word_near(pwm_table + a))
/*
In the table below, the index 0 value corresponds to absence
of light. The 16 bit value 65535 at index 0 corresponds to the
match value that should be applied for inverse PWM at this
light value, i.e. "fully off"
*/
const uint16_t pwm_table[] PROGMEM = {
65535, 65515, 65495, 65475, 65455, 65436, 65416, 65396,
65376, 65356, 65336, 65316, 65294, 65271, 65247, 65222,
65195, 65168, 65139, 65108, 65077, 65044, 65009, 64973,
64936, 64898, 64858, 64817, 64774, 64730, 64684, 64637,
64588, 64538, 64487, 64434, 64379, 64323, 64265, 64205,
64144, 64082, 64018, 63952, 63884, 63815, 63745, 63672,
63598, 63522, 63445, 63365, 63285, 63202, 63117, 63031,
62943, 62854, 62762, 62669, 62574, 62477, 62378, 62277,
62175, 62071, 61965, 61857, 61747, 61635, 61521, 61406,
61288, 61169, 61047, 60924, 60799, 60671, 60542, 60411,
60278, 60143, 60005, 59866, 59725, 59582, 59436, 59289,
59140, 58988, 58835, 58679, 58521, 58361, 58200, 58035,
57869, 57701, 57531, 57358, 57183, 57007, 56827, 56646,
56463, 56277, 56090, 55900, 55707, 55513, 55316, 55118,
54916, 54713, 54507, 54300, 54089, 53877, 53662, 53445,
53226, 53005, 52781, 52555, 52326, 52095, 51862, 51626,
51389, 51148, 50906, 50661, 50413, 50164, 49912, 49657,
49400, 49141, 48879, 48615, 48348, 48079, 47808, 47534,
47258, 46979, 46698, 46414, 46128, 45839, 45548, 45254,
44958, 44659, 44358, 44054, 43748, 43439, 43128, 42814,
42497, 42178, 41857, 41533, 41206, 40877, 40545, 40210,
39873, 39534, 39191, 38847, 38499, 38149, 37796, 37441,
37083, 36722, 36359, 35993, 35624, 35253, 34879, 34502,
34123, 33741, 33356, 32968, 32578, 32185, 31790, 31392,
30991, 30587, 30180, 29771, 29359, 28944, 28527, 28106,
27683, 27257, 26829, 26397, 25963, 25526, 25086, 24644,
24198, 23750, 23299, 22845, 22388, 21929, 21466, 21001,
20533, 20062, 19588, 19112, 18632, 18150, 17664, 17176,
16685, 16191, 15694, 15194, 14691, 14186, 13677, 13166,
12651, 12134, 11614, 11090, 10564, 10035, 9503, 8968,
8430, 7889, 7345, 6798, 6248, 5695, 5139, 4580,
4018, 3453, 2885, 2314, 1740, 1163, 583, 0
};
-
- Сообщения: 400
- Зарегистрирован: 21 сен 2013, 00:38
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
В этой прошивке плавное включение всегда? Т.е. любое включение ШИМ порта будет плавное?
Буду пробовать, думаю что функция будет востребована, сам хотел такую делать программно.
Буду пробовать, думаю что функция будет востребована, сам хотел такую делать программно.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
dimonix, ну любое плавное включение будет бить по глазам меньше, чем когда сразу 100%. Но я соглашусь с вами. Если использовать линейную функцию, то субъективно яркость в самом начале цикла нарастает быстрее, чем в конце. Я не думаю, что в МК стоит использовать табличную функцию. Полагаю, можно обойтись каким-нибудь алгоритмом попроще. Только вот есть опасения, что увеличивая таймаут в начале цикла глаз будет фиксировать ступенчатость изменения яркости.
kod.begemot, в данной версии да. Любое изменение (не только включение/выключение) происходит плавно. Таймаут между изменением 5 мс. Так сказать, пробный вариант.
В идеале необходимо предусмотреть либо команду, которая задает тип управления (резкое, плавное), что более гибко, либо настройку порта.
kod.begemot, в данной версии да. Любое изменение (не только включение/выключение) происходит плавно. Таймаут между изменением 5 мс. Так сказать, пробный вариант.
В идеале необходимо предусмотреть либо команду, которая задает тип управления (резкое, плавное), что более гибко, либо настройку порта.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
http://ab-log.ru/files/File/ip_manager3 ... _beta4.zip
Данная прошивка уже размещена на сайте.
Добавлена опция в настройке PWM порта, которая называется Smooth. Именно она определяет (когда установлена) производить ли "аппаратное" плавное изменение или нет.
Плавное изменение обеспечивается как для команд сервера, так и для сценариев по умолчанию.
Данная прошивка уже размещена на сайте.
Добавлена опция в настройке PWM порта, которая называется Smooth. Именно она определяет (когда установлена) производить ли "аппаратное" плавное изменение или нет.
Плавное изменение обеспечивается как для команд сервера, так и для сценариев по умолчанию.
-
- Сообщения: 400
- Зарегистрирован: 21 сен 2013, 00:38
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Попробовал
Работает! Но для светодиодов, всё-же походу придётся делать нелинейных форму изменения... Выглядит сейчас при выключении как задержка реакции на команду. А так вообще прикольно получается..
Вопрос ещё - а этой функцией как нибудь командой управлять можно?
P.S. Хотя, если ограничить максимальное значение ШИМ верхним различимым уровнем яркости задержка не так заметна...
Работает! Но для светодиодов, всё-же походу придётся делать нелинейных форму изменения... Выглядит сейчас при выключении как задержка реакции на команду. А так вообще прикольно получается..
Вопрос ещё - а этой функцией как нибудь командой управлять можно?
P.S. Хотя, если ограничить максимальное значение ШИМ верхним различимым уровнем яркости задержка не так заметна...
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
ИМХО Для управления светодиодами достаточно менять шаг приращения яркости по условию в паре точек. Вот здесь можно посмотреть, как реализовано...
Спрошу для интереса, а какая частота ШИМ'а?
Спрошу для интереса, а какая частота ШИМ'а?
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
kod.begemot, а можете вот эту спец версию попробовать?
http://ab-log.ru/files/File/ip_manager3 ... eta4-1.zip
http://ab-log.ru/files/File/ip_manager3 ... -1-hex.zip
Частота ШИМ? Это же надо в даташит лезть.
http://ab-log.ru/files/File/ip_manager3 ... eta4-1.zip
http://ab-log.ru/files/File/ip_manager3 ... -1-hex.zip
Вот именно такая же мысль пришла.THK писал(а):ИМХО Для управления светодиодами достаточно менять шаг приращения яркости по условию в паре точек.
Частота ШИМ? Это же надо в даташит лезть.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Andrey_B, насчет вопросов:
1. Если делать сканирование устройств при запуске программы, то не будет возможности указать IP адрес для сканирования.
2. В следующей версии программы сделаю.
3. Как я и писал, кнопка "Авто" не проверена, в следующей версии все будет исправлено.
4. Если я правильно понял, при нажатии кнопки спрашивать, действительно ли выполнять действие? Сделаю в следующей версии.
5. Если можно, хотелось бы знать каких именно операций, так как программа использует потоки, то она ждет завершения всех действий перед началом следующего.
6. Расширить можно или предложите варианты работы с ним.
7. Да, конфигурация считывается по другому. Когда я ее проверял, то она была идентичной запросам, которые отправляет браузер, а у megad-cfg отличалась. Я взял за основу запросы генерируемые самим браузером(то есть запросы прописанные в прошивке). С дополнительными портами все немного сложнее, могут быть ошибки. Пока не нашел лучшего варианта парсинга HTML средствами C#.
1. Если делать сканирование устройств при запуске программы, то не будет возможности указать IP адрес для сканирования.
2. В следующей версии программы сделаю.
3. Как я и писал, кнопка "Авто" не проверена, в следующей версии все будет исправлено.
4. Если я правильно понял, при нажатии кнопки спрашивать, действительно ли выполнять действие? Сделаю в следующей версии.
5. Если можно, хотелось бы знать каких именно операций, так как программа использует потоки, то она ждет завершения всех действий перед началом следующего.
6. Расширить можно или предложите варианты работы с ним.
7. Да, конфигурация считывается по другому. Когда я ее проверял, то она была идентичной запросам, которые отправляет браузер, а у megad-cfg отличалась. Я взял за основу запросы генерируемые самим браузером(то есть запросы прописанные в прошивке). С дополнительными портами все немного сложнее, могут быть ошибки. Пока не нашел лучшего варианта парсинга HTML средствами C#.
-
- Сообщения: 400
- Зарегистрирован: 21 сен 2013, 00:38
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Хм... Почему-то не шьется у меня "offline", когда напрямую указываю .HEX
Онлайн - шьётся аж бегом, а тут пишет
"Donloading firmware... Ok
Connecting ..."
и всё, так и висит.
Онлайн - шьётся аж бегом, а тут пишет
"Donloading firmware... Ok
Connecting ..."
и всё, так и висит.
-
- Сообщения: 400
- Зарегистрирован: 21 сен 2013, 00:38
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Сорри, это я чего-сь то запутался, сейчас переписал строку в скрипте на оригинал "из учебника", поменяв IP, всё прошлось.
в заголовке пишет "MegaD-328 by ab-log.ru (fw: 3.28b4)"
шил строкой
php megad-cfg.php --ip 10.10.0.203 --fw megad-328.hex -p sec --ee
файл брал из вложения megad-328_328_beta4-1-hex
Визуально - поменялось, но чуть чуть поведение.
Включается - ощущение что мгновенно, выключается с меньшей задержкой и плавно.
Буду тестировать "на кошках", в смысле посмотрим как жене понравится новый вариант.
Идея очень хорошая, будет востребованно, я считаю.
Из пожеланий - регулируемую скорость хотелось бы попробовать. Хотя чую - на это памяти много надо..
Хотя бы не командой а просто текстовое поле...
в заголовке пишет "MegaD-328 by ab-log.ru (fw: 3.28b4)"
шил строкой
php megad-cfg.php --ip 10.10.0.203 --fw megad-328.hex -p sec --ee
файл брал из вложения megad-328_328_beta4-1-hex
Визуально - поменялось, но чуть чуть поведение.
Включается - ощущение что мгновенно, выключается с меньшей задержкой и плавно.
Буду тестировать "на кошках", в смысле посмотрим как жене понравится новый вариант.
Идея очень хорошая, будет востребованно, я считаю.
Из пожеланий - регулируемую скорость хотелось бы попробовать. Хотя чую - на это памяти много надо..
Хотя бы не командой а просто текстовое поле...
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
С точки зрения кода включение/выключение - одинаковый алгоритм.
По времени включение от 0 до 255 занимает чуть больше секунды. С точки зрения бытового использования, как мне кажется, это вполне нормально.
Другое дело, почему у вас выключается плавно, а включается сразу. А если при 0 выставить сначала, скажем, 5, а потом 255? Будет тоже самое?
Регулировка скорости - это чуть сложнее и действительно потребует больше ресурсов.
Но нужна ли она в действительности. В сложных схемах любую специфическую скорость может легко обеспечить сервер.
По времени включение от 0 до 255 занимает чуть больше секунды. С точки зрения бытового использования, как мне кажется, это вполне нормально.
Другое дело, почему у вас выключается плавно, а включается сразу. А если при 0 выставить сначала, скажем, 5, а потом 255? Будет тоже самое?
Регулировка скорости - это чуть сложнее и действительно потребует больше ресурсов.
Но нужна ли она в действительности. В сложных схемах любую специфическую скорость может легко обеспечить сервер.
-
- Сообщения: 400
- Зарегистрирован: 21 сен 2013, 00:38
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Для чего регулировка скорости - ну к примеру... Утром свет в комнате плавно разгорается, иммитируя рассвет? Как идейка?
Или утром вклчаете свет в ванной/туалете/кухне, собираетесь на работу... вначале всё включается на минимуме, постепенно набирая яркость до 100%.
Хотя тут да - согласен - сервер вполне может это сделать, а Мега в данной конфигурации - поможет - сгладив изменения яркости
Насчет резкого включения сейчас - не знаю, может мне так кажется, завтра может ткнусь осциллом или если найду свой стрелочный прибор - посмотрю, что там получается с нарастанием..
Или утром вклчаете свет в ванной/туалете/кухне, собираетесь на работу... вначале всё включается на минимуме, постепенно набирая яркость до 100%.
Хотя тут да - согласен - сервер вполне может это сделать, а Мега в данной конфигурации - поможет - сгладив изменения яркости
Насчет резкого включения сейчас - не знаю, может мне так кажется, завтра может ткнусь осциллом или если найду свой стрелочный прибор - посмотрю, что там получается с нарастанием..
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
http://ab-log.ru/files/File/ip_manager3 ... _beta5.zip
http://ab-log.ru/files/File/ip_manager3 ... a5-hex.zip
В автозагрузку не выкладывал. Здесь пришлось принять ряд мер для оптимизации использования памяти. Нужно тестировать.
Добавлена возможность управлять скоростью плавного регулирования ШИМ.
Здесь величина примерно (ОЧЕНЬ ПРИМЕРНО) соответствует секундам. Это время, за которое ШИМ изменяет свое значение от 0 до 255. То есть 1 - самая быстра скорость.
А можно поставить 200 - будет реальный восход.
В общем, получите и распишитесь.
http://ab-log.ru/files/File/ip_manager3 ... a5-hex.zip
В автозагрузку не выкладывал. Здесь пришлось принять ряд мер для оптимизации использования памяти. Нужно тестировать.
Добавлена возможность управлять скоростью плавного регулирования ШИМ.
Здесь величина примерно (ОЧЕНЬ ПРИМЕРНО) соответствует секундам. Это время, за которое ШИМ изменяет свое значение от 0 до 255. То есть 1 - самая быстра скорость.
А можно поставить 200 - будет реальный восход.
В общем, получите и распишитесь.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Не понятно зачем расходовать память на то что может сделать сервер?
Может все таки стоило сделать контроль перехода через "0"?
Может все таки стоило сделать контроль перехода через "0"?
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
dimik2000, ну как вы это себе представляете в рамках текущей идеологии и модульности?
Между тем:
а) исполнительный модуль с функцией диммирования вовсе не обязательно должен быть построен на симисторах. И здесь не раз приводились работающие схемы.
б) в исполнительном модуле с функцией диммирования может содержаться собственный маленький МК, принимающий сигнал от ШИМ или I2C.
А что касается сервера. Как справедливо замечали тут многие уважаемые пользователи. Зачем нам вообще Web, HTTP, TCP? Ведь все может сервер, зачем тратить память? А ведь на HTML уходит не просто много, а очень много памяти... А затем, что это удобно. Ну вот просто удобно отправить не 255 пакетов с сервера, а один (легче интегрироваться в существующее ПО). Удобно, когда свет плавно регулируется не только при наличии сервера, но и при его отсутствии. Низкоуровневые сервисные функции как раз и задача микроконтроллера. Всевозможные условия, связи, алгоритмы и прочее - вот это надо держать на сервере. А тупо отправлять в цикле сотни пакетов... не уверен.
Между тем:
а) исполнительный модуль с функцией диммирования вовсе не обязательно должен быть построен на симисторах. И здесь не раз приводились работающие схемы.
б) в исполнительном модуле с функцией диммирования может содержаться собственный маленький МК, принимающий сигнал от ШИМ или I2C.
А что касается сервера. Как справедливо замечали тут многие уважаемые пользователи. Зачем нам вообще Web, HTTP, TCP? Ведь все может сервер, зачем тратить память? А ведь на HTML уходит не просто много, а очень много памяти... А затем, что это удобно. Ну вот просто удобно отправить не 255 пакетов с сервера, а один (легче интегрироваться в существующее ПО). Удобно, когда свет плавно регулируется не только при наличии сервера, но и при его отсутствии. Низкоуровневые сервисные функции как раз и задача микроконтроллера. Всевозможные условия, связи, алгоритмы и прочее - вот это надо держать на сервере. А тупо отправлять в цикле сотни пакетов... не уверен.
-
- Сообщения: 400
- Зарегистрирован: 21 сен 2013, 00:38
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Прошил. Работает. Удобно, что можно менять скорость, действительно стало удобнее. Выставляю значение "10" - плавность включения становится заметнее. Но при значении 10 много времени уходит до тех пор, пока не начнется снижение яркости.
Не знаю даже, как правильно тут делать... делать разное время нарастания/снижения? Опять память ++
Или чекбокс "LED+", при котором нарастание происходит медленнее, а снижение быстрее?
Мне вообще хотелось бы иметь возможность как-то растянуть ШИМ-диапазон, но подозреваю что тут чисто программным решением не обойтись.
Но вообще классно, скоро подключу датчики движения, с ними будет "вообще тема"
А касаемо диммера с ловлей нуля - тут согласен с Андреем, нет смысла и сложно пихать это в мега-д.
Ну максимум отдельный девайс - диммер 7i/7o с управлением по LAN. Но при этом, разумеется, отправлять с сервера порт, значение, ну и время, наверное входы - для выключателей, выходы - вход для фазы и 7 выходов "диммированной фазы". А входы - общий (+12 вольт) + входы, а минус 12 вольт на общий входов, тогда меньше проводов и проще подключение - просто кидаем на каждый выключатель один провод от DimMegaD второй провод - на массу, и выходы на лампочки тоже "классические" получатся. Из такого девайса надо убрать всё, что относится к аналоговым портам, к цифровым датчикам DHT, не нужна настройка режимов вход/выход (ну только разве что режимы P/R/P&R), думаю память подосвободится..
Хотя - а насколько оно нужно - в основном пригодится только для ламп накаливания... КЛЛ недиммируемые в большинстве, LED на 220 тоже. Галогенки можно неплохо диммировать, но они часто на 12 вольт - тут ловить 0 и не нужно, пойдет и схема классической меги + модуль на мосфетах (я себе собрал такой для своих LED 12v - очень простой)
P.S. размечтался я, конечно.. у нынешнего камня только 3 ШИМ порта... так что облом
Не знаю даже, как правильно тут делать... делать разное время нарастания/снижения? Опять память ++
Или чекбокс "LED+", при котором нарастание происходит медленнее, а снижение быстрее?
Мне вообще хотелось бы иметь возможность как-то растянуть ШИМ-диапазон, но подозреваю что тут чисто программным решением не обойтись.
Но вообще классно, скоро подключу датчики движения, с ними будет "вообще тема"
А касаемо диммера с ловлей нуля - тут согласен с Андреем, нет смысла и сложно пихать это в мега-д.
Ну максимум отдельный девайс - диммер 7i/7o с управлением по LAN. Но при этом, разумеется, отправлять с сервера порт, значение, ну и время, наверное входы - для выключателей, выходы - вход для фазы и 7 выходов "диммированной фазы". А входы - общий (+12 вольт) + входы, а минус 12 вольт на общий входов, тогда меньше проводов и проще подключение - просто кидаем на каждый выключатель один провод от DimMegaD второй провод - на массу, и выходы на лампочки тоже "классические" получатся. Из такого девайса надо убрать всё, что относится к аналоговым портам, к цифровым датчикам DHT, не нужна настройка режимов вход/выход (ну только разве что режимы P/R/P&R), думаю память подосвободится..
Хотя - а насколько оно нужно - в основном пригодится только для ламп накаливания... КЛЛ недиммируемые в большинстве, LED на 220 тоже. Галогенки можно неплохо диммировать, но они часто на 12 вольт - тут ловить 0 и не нужно, пойдет и схема классической меги + модуль на мосфетах (я себе собрал такой для своих LED 12v - очень простой)
P.S. размечтался я, конечно.. у нынешнего камня только 3 ШИМ порта... так что облом
-
- Сообщения: 77
- Зарегистрирован: 22 ноя 2013, 03:17
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Я когда делал нечто подобное (регулировку яркости подсветки монитора в carpc), изменял каждый раз по-моему на 1/16 от текущего значения, но не меньше чем на 1 и не больше, чем нужно. В итоге имел достаточно плавное регулирование и в полной темноте и на ярком солнце, подобрал, чтобы яркость изменялась в 2 раза за секунду. Понятно, что вместо изменения на 1/16 можно менять на 1/2^n, считается оно просто сдвигом...
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
давно об этом мечтаю =)dimik2000 писал(а):Может все таки стоило сделать контроль перехода через "0"?
схемы действительно есть. точнее работающий вариант один - к1182мп. работает, регулирует.Andrey_B писал(а):а) исполнительный модуль с функцией диммирования вовсе не обязательно должен быть построен на симисторах. И здесь не раз приводились работающие схемы.
"плавное включение-выключение", причём, реализовано железячно.
но у схемы выявился серьёзный недостаток: при отсутствии питании на усройстве, симистр открыт. т.е. когда МегаД выключен, все регулируемые порты с ШИМ светят на полную катушку.
не смертельно, контроллеры всегда включены, но на мой взгляд это неправильно))
а вот именно в рамках текущей идеологии и модульности легко и абсолютно без изменении контроллера:Andrey_B писал(а):dimik2000, ну как вы это себе представляете в рамках текущей идеологии и модульности?
создаётся новый исполнительный модуль (1-IN_S + 6-IN + 7-OUT_PWM) или (1-IN_S + 13-OUT_PWM), т.е. один вход в исполнительном модуле используется для подачи синусоиды в контроллер.
железячно то это очень просто, а вот программно... даже представить сложно.