Комментарии 29
Я не пользуюсь ARDUINO IDE, пишу в Atmel Studio, прошиваю такие-же платки USB-ASP-ом напрямую.
Делал и GSM, и управление мощным двигателем (от индукции в обмотках двигателя — мосфет и диод) и ни разу никаких проблем не было с ребутом. Может дело в питании все-таки? А не в помехах?
Ну или платки все-таки разные :)
ИМХО — запаянный электролит и керамика по питанию 90% проблем с помехами решают.
Ничего нет лучше правильно разведенной и платы. И вочдога))
Керамический резонатор выпаял для проверки, показалось что слишком уж все гладко.
В этих платах фильтры по питанию и так есть:
И потом, в текущей конструкции СМС-весов у меня модуль связи с солнечной батареей в отдельном выносном блоке, на 5-метровом проводе.
Как только в момент активности GSM-модуля расстояние до микроконтроллера сокращается меньше метра — он ребутится.
Конденсаторов 10 + 0.1 мкФ для потребления 3-4мА более, чем достаточно.
И контроллер один мелкий на Atmega32U4 уже лет 7 в машине ездит и выполняет одну простую задачу и тоже никогда не зависал.
ЗЫ: извиняюсь, это было на сообщение ancc, промахнулся
Я в свое время для тестирования на помехоустойчивость клал мобилу на плату и делал вызов на нее и с нее. Ничего не сбивалось, только измерения плыли, но это неудивительно. Ну и печальный опыт на первых разработанных платах после института, когда на столе все работало, а на объекте сбоило (это было еще до мк, на 555 логике) научило внимательно относиться к трассировке. Да, и отключать контроль питания это зло. Надо разбираться с проблемой, а не отключать защиту.
ЗЫ: извиняюсь, это было на сообщение ancc, промахнулся
Измерения плывут — мама-не-горюй — у меня до 1.5Кг на HX711 при включенном модуле GSM разброс. Потому и и меряю сейчас когда связь "спит"
Отключать контроль питания — возможно я перегнул, просто согласно графику
стабильная работа контроллера на 8MHz лежит ниже 2.7В
А Brown-Out либо 2.7, либо 1.8 вольт.
Хотя я и на 2.7В 16-мегагерцовые гонял.
К тому-же если напряжение батареи опускается ниже 3.4В, то модули связи даже из режима сна не выходят, так что тут все в порядке на мой взгляд.
стабильная работа контроллера на 8MHz лежит ниже 2.7В
График вообще не так читается) Это максимальная частота от напряжения. Следовательно, при 2,7В он работает на любой частоте до 10МГц. А при 4,5 можно взять любую частоту до 20 МГц. 8 МГц тоже будет работать стабильно.
стабильная работа контроллера на 8MHz лежит ниже 2.7В
Почти так, но наоборот
стабильная работа контроллера на 8MHz начиная с ~ 2.5В и выше
Думаю, тут проблема в чем-то другом. Когда-то давно я баловался с GSM шилдом на ардуине, и что-то не припомню никаких зависаний.
Зависаний не было, а вот прерывания на ровном месте (на ноге, к коротой был подключен датчик расстояния) были. В результате имелись ложные срабатывания системы — ловились "призраки".
При передаче данных о срабатывании через UART ложных срабатываний не было.
Минус — точность таймеров +-5%Если система позволяет работать с такой точностью временных отсчетов — то и фиг с ним. Но вот использовать UART (а с GSM модулем Вы же через него работаете) с такой погрешностью тактовой частоты — это можно даже не заикаться о надежности.
Скажем так, SIM800L сам не отличается стабильностью работы.
Вот ради интереса, включал систему на 4.2В и 3.5В — смс приходят.
Датчики DHT22 и температуры DS18B20 работают, вес меряет.
Сейчас поставил в холодильник на пару часов, потом — засуну в духовку на 55 градусов ;-)
Я не утверждаю, что работа UART с таким разбросом — хорошо, но ведь все можно проверить.
И да, еще есть возможность калибровки внутреннего RC-генератора до 1%
Скажем так, SIM800L сам не отличается стабильностью работы.Я не работал конкретно с SIM800L, но очень много работал с TC65 (Siemens, позже Cinterion), G510 (Fibocom), SIM800C (SIMCom), и из них SIM800C оказался самым стабильным. Под «много работал» я подразумеваю не сборку нескольких любительских поделок, а создание промышленных распределенных систем мониторинга на сотни удаленных узлов. Поскольку SIM800C мало чем по внутренним потрохам отличается от SIM800L, то думаю, что и последний тоже весьма стабилен в работе. Возможно, как говорится, «Вы просто не умеете их готовить»? Под «Вы» я здесь подразумеваю не Вас лично, а и китайского производителя платок «для детского творчества», которые Вы используете в своих проектах (если бы Вы не использовали готовую плату, то вряд ли выбрали бы именно SIM800L по целому ряду причин).
Поймите, что GSM модуль — очень «тяжелый» компонент в использовании для схемотехника, так как он сочетает в себе ряд трудносовместимых свойств:
- Потребляемый ток имеет характер импульсов с амплитудой до 2А, но при этом имеются достаточно жесткие требования по допустимым просадкам напряжения питания (кстати, модули SIMCom в этом смысле самые «либеральные» из тех, что я использовал — допускают пульсации аж целых 350мВ, а у других модулей это обычно десятки мВ)
- Модуль содержит в себе достаточно мощный передатчик (до 2Вт на 900МГц), наводки от которого при неудачной разводке вполне способны вызывать сбои даже цифовых схем
- Модуль содержит в себе довольно чувствительный приемник (порядка -105дБм), который, опять же, при неудачной разводке может забиваться наводками от «цифры»
В общем, создать стабильно работающее устройство, содержащее GSM модуль — серьезная задача для опытного схемотехника. Открывайте документ Hardware Design на Ваш модуль, и в первую очередь проверяйте, насколько Вы выполняете требования по питанию. Кстати, модули SIMCom имеют вывод RF_SYNC, что очень упрощает синхронизацию осциллографа с работой передатчика модуля. Думаю, что после этого Ваше мнение насчет «не отличается стабильностью работы» кардинально изменится.
ПС: кстати, если вдруг понадобиться — на официальном китайском сайте информация по SIM800L отсутствует, но ее можно найти на эстонском сайте
Поскольку в Вас, несомненно, широкий опыт работы с GSM-модулями, не подскажете, какой модуль умеет net monitor? Задача — отлавливать ближайшие БС-ки ОПСОСов с привязкой к местности (да, я в курсе, что есть база таких данных, но это не интересно).
Хотелось бы стабильного, шустрого монитора, за рубль килограмм и в минимальных габаритах.
Далее на примере AT команд SIM800.
AT+CNETSCAN — Сканирует сеть и показывает все видимые соты, как своих, так и чужих операторов. Выполняется долго (десятки секунд), но выдает полный список подробной информации.
AT+CELLLIST — Аналогично предыдущей команде, но может выполняться автоматически в фоновом режиме с заданным периодом.
AT+CENG — Переводит модуль в инженерный режим, в котором можно в реальном времени получать информацию об обслуживающей соте и 6 соседних.
Но ни одна из описанных команд не выдает привязку к местности в виде координат (есть Lac — Location Area Code, но это не координаты). В принципе, по полученной информации можно получить координаты через API Google (давно не пользовался) или Яндекса. Так же у какого-то модуля (наверное, у того же SIM800, но это не точно) попадалась команда, имеющая опцию выдачи прямых координат, но она в наших сетях не работала (да особо и не заморачиваля).
Открываем раздел "Вредные советы". Вместо того, чтоб разобраться с разводкой "вороньего гнезда", конфигураций МК и питанием — лепим благоглупости…
Вот, был такой клоун с "дурино нано для промышленных применений": http://caxapa.ru/748942.html?todo=full
Хорошо, скажу так, чтобы стало всем понятно.
Я ВЕДУ КУРСЫ АРДУИНО.
Вы предложите детям на занятиях делать разводку печатных плат?
Когда на первом уроке изучается скетч Blink, а объяснение работы ШИМ для восьмилеток — это отдельный цирк с конями.
То что плохого в моем методе хоть как-то сделать детские конструкции стабильней?
Вы же в статье не написали, что ваша статья для восьмилеток. Вот её и восприняли всерьёз.
Для восьмилеток — "правленные" ардуинки.
Меня просто поражает, как все возбудились на отключение BOD-а.
В мануале написано НЕ ОТКЛЮЧАТЬ данный режим — нет!
Никто процессора не разгонял?
Так те статьи — норм!
Про порнхаб — норм — годно прямо и православно для Хабра.
А то, что BOD отключается в режимах сна (по доке)- тоже ересь?
Поэтому лучше сразу всё правильно делать:) особенно там где могут дети подсмотреть, а они такие умницы порой — всё замечают
ps «вёл» радиокружок, осознал, раскаиваюсь и теперь беспокоюсь о других
Вот чесно, мне нравится работать с детьми и платформой ардуино.
Дети менее циничны, чем хабровчане (но не всегда), а Atmega порой прощает ошибки потив STM32, за esp-шки вообще молчу — черный ящик в буквальном смысле слова.
Но на самом деле, с Хабра я не ухожу по другой причине — и как не странно, это критика!
Обыно, ошибки айтишника оцениваются временем и деньгами.
Ошибки электропчеловода оцениваются сотнями тысяч жизней… пчелиных.
Автор ты свой текст хоть читал? У тебя мысль прыгает даже не от абзаца к абзацу, а от предложения к предложению.
Чукча конечно не читатель ....
UPD: А, так на этих недо-платках даже разъема нормального нет
Если уж решили избавляться от основного кварца (странное решение, вообще-то, но дело ваше), почему бы не заменить его на часовой? Когда нужны точные интервалы времени (увы, на интерфейсах это не скажется) запускаем асинхронный таймер и меряем все что нужно.
Повышение помехоустойчивости Arduino