SPI модуль управления мощностью сетевой нагрузки
- Войдите на сайт для отправки комментариев
Ср, 18/09/2013 - 01:03
ради практического и одновременно академического интереса сделал автономный модуль управления мощности сетевой нагрузке управляемый по SPI
в свое время как раз на нашем форуме читал обсуждение как управлять нагрузкой и решил, что куда проще будет встраивать в проекты готовый модуль
работа с ним проста - кидаем по SPI число от 0 до 255 - это аналог мощности, при 0 нагрузка будет обесточена, при 255 включена постоянно, все остальные значения - промежуточные между 0 и 255.
пока выкладываю фото и видео, как опубликуют мою статью - дам ссылки на все документы
повторить модуль можно дома за несколько часов при наличии минимального набора радиолюбителя
http://www.youtube.com/watch?v=1dTRJhfWw3A
забыл написать - в основе tiny13
тут все детали http://radiokot.ru/konkurs/70/
По I2C и 1-Wire было бы практичнее - потому что каждое SPI устройство отнимает по 1 выводу(CS) контроллера.
програмная реализация 1wire весьма сложная и требует обвязку вокруг МК - точно не очень хороший вариант
а I2C можно будет сделать как еще один вариант
Если в проекте есть хоть одно устройство SPI для модуля потребуется всего один вывод - совсем не много
в случае i2c выигрышь будет только если в проекте несколько устройств i2c, точнее если их больше двух
На сколько метров Ваше устройство может отстоять от источника управления по SPI?
На сколько метров Ваше устройство может отстоять от источника управления по SPI?
это обычный SPI, никаких особенностей, все как у любого SPI - все будет зависеть от того какие помехи будут в ваших линиях и какая у них будет емкость
помехи могут привести к ложным срабатываниям - при длинных линиях нужно использовать экранированный провод и позможно ставить дополнительные подтажки к плюсу питания по шинам основного МК SCK/MOSI/SS - чем длинее провода тем меньше сопротивления вплоть до максимальных токов на выходах
что касается емкости - этим можно управлять увеличивая задержку при передаче по SPI, в моем тесте задержка задается SPI_DELAY. При высокой емкости нужно увеличивать задержку, чтобы линии успевали перезаряжаться
Для линий более 1м уже нужно использовать RS485
Кроме помех для SPI еще имеет значение паразитная емкость кабеля
Для линий более 1м уже нужно использовать RS485
Кроме помех для SPI еще имеет значение паразитная емкость кабеля
про емкость написано выше. Согласен - SPI обычно применяется для внутрисхемных взаимодействий с короткими линиями. Для внешних соединений нужны протоколы расчитанные на помехи
Вобщем устройство это люди захотят воткнуть прямо в 220 линию - в коробку выключателя к примеру и поставить по всему дому - штук 20 - и работать это не будет потому что тянуть тучу проводов сложно - удобнее подключать все в шину которая позволяет паралельное подключение устройств. RS485 тут оптимален + на него наложить адресный протокол c поиском типа I2C или 1-Wire
Вобщем устройство это люди захотят воткнуть прямо в 220 линию
это не конечное устройство. Это модуль для подключения к МК или ардуино. Его смысл такой же как например в релейном модуле, только в отличие от реле этот модуль не включает и выключает, а еще может задавать промежуточные значения
RS485 тут оптимален + на него наложить адресный протокол c поиском типа I2C или 1-Wire
Да зачем что то придумывать, есть же открытый протокол modbus
RS485 тут оптимален + на него наложить адресный протокол c поиском типа I2C или 1-Wire
Да зачем что то придумывать, есть же открытый протокол modbus
это модуль, не супер-пупер устройство!)
за ссылку спасибо, тема интересная. Вот если бы сделать шлюз не как в теме TCP->MODBUS->RS485, а TCP->MODBUS->RADIO)) я считаю провода это не вариант для умного дома - радио вот выбор
Да зачем что то придумывать, есть же открытый протокол modbus
Можно подумать, что первые два - закрытые. :)
RS485 тут оптимален + на него наложить адресный протокол c поиском типа I2C или 1-Wire
Да зачем что то придумывать, есть же открытый протокол modbus
это модуль, не супер-пупер устройство!)
за ссылку спасибо, тема интересная. Вот если бы сделать шлюз не как в теме TCP->MODBUS->RS485, а TCP->MODBUS->RADIO)) я считаю провода это не вариант для умного дома - радио вот выбор
Провода или радио, для протокола modbus не имеет значения
Да зачем что то придумывать, есть же открытый протокол modbus
Можно подумать, что первые два - закрытые. :)
modbus это готовое решение
прошу прошения за вопрос начинающего, задержку между битами или пакетами?
прошу прошения за вопрос начинающего, задержку между битами или пакетами?
можете сами исходник посмотреть, там все достаточно просто. Задержка стоит в двух местах.
1. после того как на SS выставлен ноль - так как в tiny13 SPI програмный то после того как SS выставлен в ноль tiny13 должна выполнить несколько строчек кода, это по времени совсем не много, но пауза нужна, так как код для мастера содержит меньше строк кода и при условии равной частоты атмега8 уже "обгонит" tiny13. Эта задержка по сути то, что вы назвали задержка между пакетами (байтами, пакет из одного байта)
2. между битами - tiny13 как ведомое устройство после появления положительного фронта на CLK обазана успеть выстаивить следующий бит статуса на пине DOUT и после этого прочитать DIN. Опять получается строк кода на ведомом несколько больше, чем на мастере - нужна задержка. Теоретически вместо _delay можно вставить буквально несколько nop(), но так как скороксть обмена с моим модулем совершенно не критична я такой тонкой подгонкой не занимался да и код с _delay получается более универсальный для разных МК и разных частот
Спасибо. Хочу посмотреть такое же толковое описание протокола SPI, как и для Nordic 24L01 (картинку с алгоритмом привел для примера) с блок-схемами аглоритмов обмена, описаниями данных и временными диаграмами ? Пока нашел это http://www.microcontrollerov.net/microcontrolleri/mega/AVR151-Inicializa...
, будет достаточно или tot где-то в Atmel спрятан раздел "Errata" ?
зачем вы себя сами грузите? Цель перед вами какая стоит? Изучить SPI?
Написать программу для работы с NRF24Lo1 и для этого изучить SPI, я писал об этом здесь
http://arduino.ru/forum/programmirovanie/rabota-s-spi
Я бы рад не грузиться лишней информацией, но мне трудно работать с устройством не зная его принципов
используйте готовые библиотеки Mirf или RF24 - нет необходимости вникать в SPI, вы и так не мало времени потратите в то как работать с ntf24l01 даже если не будете сами писать библиотеку
1) где взять Mirf ?
2) она заменяющий аналог для RF24?
3) посоветуйте пожалуйста простой проект на NRF24L01 который можно просто повторить начинающему
Mirf на любителя, я ее не использовал. Ссылку на RF24 вам дали, постааьте, там в комплекте есть готовые примеры
https://github.com/maniacbug/RF24/
что-то я не догоняю, как она структурно устроена, там несколько авторов, публикующих в ветках (branch) свои версии библиотек? какая из версий стабильная и Вы ее использовали ?
Вы пренебрегаете советом перечитать тему nrf24 на этом форуме, это характеризует не очень хорошо, пренебрежительно к участником форума
я лично использовал master, но в теме были ссылки и на другие версии
я лично использовал master, но в теме были ссылки и на другие версии
Поиск на форуме работате не понятно, искал внешним через яндекс, нашел много тем c NRF24.... У вас сложилось ошибочное мнение, не пренебрег, а просто не знаю, какую из них читать. В некоторых темах есть домыслы и ошибки, которые трудно обнаружить начинающему.
Вы какую качественную тему имели ввиду?
http://www.arduino.ru/forum/proekty/peredacha-temperatury-s-datchikov-dh... http://www.arduino.ru/forum/apparatnye-voprosy/nrf24l01meganano http://www.arduino.ru/forum/programmirovanie/nrf24l01 http://www.arduino.ru/forum/programmirovanie/ne-rabotaet-nrf24l01 http://www.arduino.ru/forum/obshchii/nrf24l01-vozmozhnosti-proshu-soveta http://www.arduino.ru/forum/programmirovanie/raskodirovat-tekst-pri-pere... http://www.arduino.ru/forum/programmirovanie/pomogite-svyazat-arduino-i-... http://www.arduino.ru/forum/programmirovanie/ethernet-udlinnitel-na-nrf2...
моя рекомендация две темы http://arduino.ru/forum/programmirovanie/nrf24l01 и http://arduino.ru/forum/proekty/platforma-dlya-upravleniya-umnym-domom-n...
спасибо, изучу
Доброго времени суток, у меня вопрос к автору. Как расчитывается мощьность резистора на фильтре из конденсатора 0.01мк и сопротивления 39Ом. Я только начинаю постигать схемотехнику, и не нашел нигде упоминания того как это сделать, видимо это относится к элементарным вещам в которых у меня пробел.
К вас на фото, я не нашел каких либо мощных резисторов. И правильно ли я понимаю, конденсатор должен быть расчитан на 220в ?
параметры у автора с даташита к оптрону, а кондер надо брать с хорошим запасом. На 630 ставьте, не ошибетесь
что-то у меня http://radiokot.ru/konkurs/70/ не открывается.
где посмотреть что и с чем у автора этой темы.
Michal за меня уже ответил) спасибо
gregoryl,
Конденсатор и резистор о которых идет речь это цепочка так называемого снуббера. Его задача предотвратить рост напряжения в импульсах самоиндукции на индуктивных нагрузках. Сам не владею техникой ее расчета, номиналы действительно взяты из даташита. На проф форумах говорят, что при малых нагрузках или при отсутствии индуктивного харрактера нагрузки цепочку можно не ставить. В частности пытался ее ставить при управлении светодиодными светильниками - пришлось убрать. Ток протекающий черех цепочку при закрытом симисторе достаточен чтобы заставлять светильники если не гореть, то периодически вспыхивать
kentik,
там что то куда то переносили на сайте и ссылки пострадали, но всегда работает поиск. рбочая ссылка http://radiokot.ru/circuit/digital/automat/74/