Умный Дом по Ethernet

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
maxxir
Сообщения: 32
Зарегистрирован: 15 апр 2011, 12:42
Откуда: Тольятти

Re: Умный Дом по Ethernet

Сообщение maxxir » 23 июн 2011, 23:41

THK писал(а):Не все оказалось так безоблачно.
При тестировании вылезли некоторые глюки:
Скачут показания АЦП (+- 10 единиц), начал разбираться обнаружил, что происходит ложное срабатывание входов. На данный момент амплитуда пульсаций выходного напряжения стабилизатора около 20 мВ (было около 100), но глюки все равно остались...
Буду рад услышать любые мысли по теме... Очень не хочется отказываться от импульсного стабилизатора.
Вот здесь человек столкнулся с аналогичной проблемой: http://electronix.ru/forum/index.php?showtopic=87360
У Вас грубая ошибка в трассировке - шина земли на микроконтроллер идет через всю схему - т.е. на нее накладываются наводки от Ethernet контроллера и тд.. Прямо от выводов С10-С11 кидайте 2 перемычки ввода питания на вход микроконтроллера - на 3.3 V и GND не надо вот таких петель водить.
Хорошая статья на <Альма-Матер> эмбеддеров России по данной теме Помехоустойчивые устройства
PS.
Совет выучите что-то посерьезнее Layout это несерьезно даже для радиолюбительства.
Из бесплатного: Eagle, или DeepTrace. Читать по основам работы в них на Easyelectronics

THK
Модератор
Сообщения: 588
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

Re: Умный Дом по Ethernet

Сообщение THK » 24 июн 2011, 10:41

У Вас грубая ошибка в трассировке - шина земли на микроконтроллер идет через всю схему - т.е. на нее накладываются наводки от Ethernet контроллера и тд.. Прямо от выводов С10-С11 кидайте 2 перемычки ввода питания на вход микроконтроллера - на 3.3 V и GND не надо вот таких петель водить.
Спасибо за совет!
Хотя он привел не к тем результатам, которые ожидались, направление мысли верное. Теперь по порядку...

1. Обрезал земляную дорожку от С11 и бросил перемычку непосредственно на "-" конденсатора фильтра питания. Результат - проц не на что не реагирует, ENC28J60 сеть не видит.

2. Обрезал земляную дорожку от С10 и бросил перемычку на "-" конденсатора. Результат - проц обрабатывает нажатие кнопок, ENC28J60 сеть видит, устройство по сети не отвечает.

Далее мысля пошла таким образом, если правильные и логичные методы не работают, надо прибегнуть к "неправильным". :)

Восстановил свою топологию, проверил - работает (подглючивает) как раньше.
Бросил перемычку с 8 ноги АВРа на 40 вывод разъема (образовался замкнутый виток максимальной длинны) и о чудо все заработало как с линейным стабилизатором! Любые отклонения приводят к худшим результатам.

Вопрос: Можно-ли полагаться на устройство, которое "завелось" с таким трудом? Насколько оно надежно?

PS Сейчас хочу попробовать стабилизатор на LM2576-3.3. Травлю плату... О результатах напишу.

maxxir
Сообщения: 32
Зарегистрирован: 15 апр 2011, 12:42
Откуда: Тольятти

Re: Умный Дом по Ethernet

Сообщение maxxir » 24 июн 2011, 15:31

Еще вариант:
Только на AVCC и AGND AtMega8 (аналоговое питание) завести вот также, как Вы делали выше питание проводочками от отдельного линейного стабилизатора, например LM317 предварительно отрезав эти выводы от всей остальной схемы, и прямо на эти входа повесить блокировочный керамический конденсатор 0.1-1 mF.

THK
Модератор
Сообщения: 588
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

Re: Умный Дом по Ethernet

Сообщение THK » 24 июн 2011, 20:32

maxxir писал(а):Еще вариант:
Только на AVCC и AGND AtMega8 (аналоговое питание) завести вот также, как Вы делали выше питание проводочками от отдельного линейного стабилизатора, например LM317 предварительно отрезав эти выводы от всей остальной схемы, и прямо на эти входа повесить блокировочный керамический конденсатор 0.1-1 mF.
Вы правы, полагаю по задумке Atmel именно так и надо делать, но это неоправданное усложнение схемы и на данный момент уже неактуально.

И так, небольшой отчет о проделанной работе... :D
Собрал вариант устройства с питанием на LM2576-3.3.
CPU & LM2576-3.3 800x600.GIF
CPU & LM2576-3.3 800x600.GIF (73.64 КБ) 39273 просмотра
Все сразу заработало, применять этот инструмент не потребовалось... Даже не интересно. :)

Все таки частота преобразования 500 кГц у TPS5430 - это слишком много и в домашних условиях изготовления ПП, ее лучше не применять. На 4-х слойной ПП работает на ура, а на однослойной возникли проблемы...

Вот чертеж платы и схема:
CPU & LM2576-3.3.rar
(83.47 КБ) 2565 скачиваний
Нумерация элементов исправлена и теперь схема и плата соответствуют друг другу.

Добавлено
Погонял устройство 2 дня, глюков или каких либо замечаний не обнаружил.
Потребляемый устройством ток при напряжении питания 12 V - 56.5 mA.
Ток по цепи 3.3 V - 176.5 mA.
КПД преобразователя получается более 83 %, что на мой взгляд, очень даже не плохо.

2 Andrey_B
Андрей, возник вопрос по АЦП.
Внутренний источник опорного напряжения меги имеет напряжение 1,1 В, значение АЦП = 255 получается при входном напряжении 3,3 В. По идее значение АЦП = 255 должно получатся при входном напряжении 1,1 В.
Это я что-то неправильно понял или неверно сконфигурирован АЦП?

Добавлено THK. В схеме ошибка: вывод 15 ENC должен быть подключен к +3.3В.
На печатке все правильно. Спасибо karimm'у.
Последний раз редактировалось THK 03 дек 2011, 20:41, всего редактировалось 5 раз.

maxxir
Сообщения: 32
Зарегистрирован: 15 апр 2011, 12:42
Откуда: Тольятти

Re: Умный Дом по Ethernet

Сообщение maxxir » 25 июн 2011, 11:27

THK писал(а):
maxxir писал(а):Еще вариант:
Вы правы, полагаю по задумке Atmel именно так и надо делать, но это неоправданное усложнение схемы и на данный момент уже неактуально.
Это традиционная схема питания микроконтроллера с аналоговым интерфейсом:
- Шины питания аналоговой части AVCC - AGND отдельно
- Шины питания цифровой части VCC - GND отдельно
- Вместе шины земли соединяются через резистор номиналом несколько десятков Ом, как правило
в одной точке возле стабилизаторов.

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Умный Дом по Ethernet

Сообщение Andrey_B » 27 июн 2011, 09:38

THK писал(а):Андрей, возник вопрос по АЦП.
Внутренний источник опорного напряжения меги имеет напряжение 1,1 В, значение АЦП = 255 получается при входном напряжении 3,3 В. По идее значение АЦП = 255 должно получатся при входном напряжении 1,1 В.
Это я что-то неправильно понял или неверно сконфигурирован АЦП?
В качестве опорного напряжения используется 3,3В, которое берется с пина AVCC.
В прошивке настраивается это так:

Код: Выделить всё

ADMUX |= (1 << REFS0);

THK
Модератор
Сообщения: 588
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

Re: Умный Дом по Ethernet

Сообщение THK » 27 июн 2011, 14:59

В качестве опорного напряжения используется 3,3В, которое берется с пина AVCC.
А в чем смысл использовать напряжение питания в качестве опорного? Внутренний источник опорного напряжения точнее...
В прошивке настраивается это так...
Спасибо, для себя подправлю. Планирую подключать датчики 4-20 mA и напряжение ИОН 1,1 В будет удобнее.
К стати, не планируете увеличить разрядность преобразования, если нет, то по каким причинам?

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Умный Дом по Ethernet

Сообщение Andrey_B » 27 июн 2011, 17:01

Виктор, да так получилось. Это ведь отладочная плата. Да и АЦП в ней скорее фича, относительно той задачи, которую планировалось решить.
Когда опорное напряжение слишком большое или слишком маленькое, можно использовать нормирующие усилители или делители для измеряемого напряжения.
Разрядность можно увеличить в любой момент. Внесу позже изменения.

THK
Модератор
Сообщения: 588
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

Re: Умный Дом по Ethernet

Сообщение THK » 27 июн 2011, 19:36

Виктор, да так получилось. Это ведь отладочная плата. Да и АЦП в ней скорее фича, относительно той задачи, которую планировалось решить.
Но фича очень полезная. ;) В частность на этом и на других форумах не раз поднимался вопрос о резервировании сервера. Так вот, если самые важные датчики и исполнительные устройства вынести на это устройство, проблема мастер/слейв у 1-Wire уйдет на второй план и появится возможность резервирования на уровне операционной системы.
Когда опорное напряжение слишком большое или слишком маленькое, можно использовать нормирующие усилители или делители для измеряемого напряжения.
Нормирующие усилители это конечно хорошо, но зачем огород городить? Делитель поставить и всего делов! Только закрадывается мысль, а не придется-ли при измерении тока 4 - 20 mA "сдвигать" напряжение на измерительном резисторе к ближе нулю. Есть преобразователи для датчиков Pt100, диапазон от 0 до 150 градусов в ток 4 - 20 mA. Надо измерять температуру от ~20 до 90-100 градусов. Верхний предел сдвинуть легко, а вот с нижним либо разрядность повышать, либо операционником 0 двигать.
Разрядность можно увеличить в любой момент. Внесу позже изменения.
Обнадежили, спасибо! Я, честно говоря, опасался что вылезут проблемы с разрядностью больше 8 бит...

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Умный Дом по Ethernet

Сообщение Andrey_B » 03 июл 2011, 23:04

Изменил прошивку для вывода 10-битного значения АЦП.

THK
Модератор
Сообщения: 588
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

Re: Умный Дом по Ethernet

Сообщение THK » 04 июл 2011, 07:14

Спасибо!
Сегодня попробую.

THK
Модератор
Сообщения: 588
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

Re: Умный Дом по Ethernet

Сообщение THK » 12 июл 2011, 14:57

Начал "внедрять" контроллер, в процессе конфигурации пинов, удалось вырубить ему сеть :D ...
Скорее всего допустил опечатку, после этого контроллер перестал отвечать по сети.
Вот дамп EEPROM:
Bad_eeprom.rar
(264 байт) 1566 скачиваний
Конфигурация такая:
0-5 - Input (во время записи команды на одном из них, произошел глюк)
6-11 - Output
12 - ADC
IP - 192.168.100.114
Сервер не прописан.

Появилась пара идей, как сделать интерфейс удобней.
При конфигурировании пина, после нажатия кнопки "Save", мы попадаем на страницу с единственной ссылкой "Back". Почему-бы не отправлять пользователя на главную страницу или не обновлять текущую? В случае с входами, лучше оставаться на текущей странице, т.к. еще надо записать команду...

PS Совсем забыл, прошивка последняя от 03.07.2011.

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Умный Дом по Ethernet

Сообщение Andrey_B » 12 июл 2011, 23:30

Интересно, у меня ни разу не получалось "убить" девайс конфигурированием.
После сбоя устройство удалось перепрошить?
Предполагается опечатка в синтаксисе сценария по умолчанию? Вполне допускаю, что парсинг вводимых данных в каком-нибудь случае может некорректно отработать. Не знаю, поможет ли дамп EEPROM. Мы ведь работаем через EEMEM, а значит, насколько я понимаю, компилятор сам распределяет ячейки EEPROM, с которыми работает. То есть данные могут быть сегментированы.
Если девайс восстанавливается перепрошивкой, очень нелишним было бы выяснить на чем он спотыкается. Мой сейчас в полноценной работе и так сказать подключен по полной программе. Не очень удобно все отсоединять.
Насчет кнопки Back. После того, как мы нажали "Сохранить", выводится надпись Back, после которой контроллер перезагружается. Это необходимо, так как именно в начале работы микропрограммы делается настройка IO, задается адрес сервера, включается АЦП. То есть на эту же страницу выбросить можно, но через промежуточную, в которой к примеру стоит пауза в 2 секунды и редирект. Но это дополнительные накладные расходы. Back в этом смысле экономичнее. Ну а на центральную можно.

THK
Модератор
Сообщения: 588
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

Re: Умный Дом по Ethernet

Сообщение THK » 13 июл 2011, 08:37

После сбоя устройство удалось перепрошить?
Да. Перепрошился без проблем, работоспособность восстановилась.
Если девайс восстанавливается перепрошивкой, очень нелишним было бы выяснить на чем он спотыкается.
Когда читал дамп убогим программатором CodeVision, заметил "%" вместо ":", хотя не понимаю, как я мог допустить такую опечатку (всегда, для ввода ":" пользуюсь клавишей с буквой "Ж"). Не могу найти редактор, который корректно открывает Intel-HEX формат.
То есть на эту же страницу выбросить можно, но через промежуточную, в которой к примеру стоит пауза в 2 секунды и редирект. Но это дополнительные накладные расходы. Back в этом смысле экономичнее. Ну а на центральную можно.
Думаю, что переход на стартовую страницу будет удобнее.

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Умный Дом по Ethernet

Сообщение Andrey_B » 13 июл 2011, 10:15

Символ "%" теоретически мог привести к сбою.
Все дело в том, что с помощью этого символа в URL могут кодируются спецсимволы и прочие пробелы.
В websrv_help_functions.c присутствует функция urldecode, которая и могла стать причиной сбоя.
Нужно проверить эту догадку и как-то предусмотреть обработку этой ситуации.

THK
Модератор
Сообщения: 588
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

Re: Умный Дом по Ethernet

Сообщение THK » 13 июл 2011, 13:05

Нужно проверить эту догадку и как-то предусмотреть обработку этой ситуации.
Догадка не подтвердилась. Пробовал разные варианты, даже "6%3" но...

Вот дамп EEPROM:
2011-06-12_084436.png
2011-06-12_084436.png (17.26 КБ) 39574 просмотра
Извиняюсь, что в таком виде.

Мой IP был 192.168.100.114 (в шестнадцатеричном виде - C0.A8.64.72) Первые 4 байта - это, как я понимаю, IP и по каким то причинам он стал 2.168.100.114. Не работала только сеть, команды "5:2" и "5:2;6:2" выполнялись.

Можно попробовать залить глючный дамп обратно в мегу и обратиться к ней по адресу 2.168.100.114, но что это даст, для выяснения причин сбоя?

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Умный Дом по Ethernet

Сообщение Andrey_B » 13 июл 2011, 13:52

То есть причина в том, что данные в EEPROM, которые отвечают за IP-адрес устройства оказались некорректными.
Интересно. В момент конфигурирования порта ячейки EEPROM, в которых содержится IP-адрес никак не трогаются программой.
Возможно, все дело в каком-то аппаратном сбое. В некоторых сериях AVR вообще не рекомендовалось использовать некоторый сегмент EEPROM вначале. Но, по-моему, эта проблему в Atmel давно решили. Насколько я понимаю, сбой повторить не получилось?

THK
Модератор
Сообщения: 588
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

Re: Умный Дом по Ethernet

Сообщение THK » 13 июл 2011, 16:22

Насколько я понимаю, сбой повторить не получилось?
Нет, не получилось.
Сейчас контроллер, на котором произошел сбой, "на прогоне", будем надеяться на повторение...

Raw_mat
Сообщения: 27
Зарегистрирован: 04 июл 2011, 14:53

Re: Умный Дом по Ethernet

Сообщение Raw_mat » 13 июл 2011, 17:09

Товарищи....

В общем спасибо за умные мысли и огромный труд (120 кБ диферамбов скиппед)

пытаюсь повторить Ваш девайс, правда решил забабахать это дело на смд-компонентах, но наткнулся на интересный вестчь, судя по схеме выложенной на сайте, и по тому разъему для витухи что я смог найти - выводы малость не совпадают... опять же судя по даташитам на этот разъемчик (схема из даташита во вложении)
Вложения
rj45.JPG
rj45.JPG (35.02 КБ) 35627 просмотров

THK
Модератор
Сообщения: 588
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

Re: Умный Дом по Ethernet

Сообщение THK » 13 июл 2011, 22:33

Вот на этой схеме цоколевка разъема LTU1T516-43LF.
rainbow11s_sch_Ethernet.rar
(91.74 КБ) 1691 скачивание
Проверенно, мин нет! :)
Последний раз редактировалось THK 14 июл 2011, 12:04, всего редактировалось 1 раз.

Ответить