Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить

прблемы с режимом сна в sim800L

Пт май 05, 2023 12:40:36

Друзья.
Вот так вот выясняешь одну проблему, как появляется другой и куда же обратится если не к форуму.
Нужно перевести gsm модуль sim800L в режим сна.
Естественно, прошолся по материалам и узнал ,что управлять сном и бодрствованием можно через контакт DTR. Для активации этого режима необходимо однократно отправить АТ команду "AT+CSCLK=1" на ножку Rx и для усыпления модуля - подать высокий уровень (около +3В) на контакт DTR.
Вроде как, написано черным по белому.
Сделал все на совесть ,но как был ток 11мА так он и остался.
Как тут ,быть куда поддатся?Нужен совет.
Заранее благодарен.

Re: прблемы с режимом сна в sim800L

Сб май 06, 2023 00:01:22

Может есть какие то нюансы?

Re: прблемы с режимом сна в sim800L

Сб май 06, 2023 01:01:05

нюансы написаны там же: никаких прерываний, ни по воздуху, ни по линиям. Только неактивный модуль переходит в спящий режим. Есть соединение по GSM/GPRS - нет спящего режима. Есть дерганье микроконтроллером - нет спящего режима.

Re: прблемы с режимом сна в sim800L

Сб май 06, 2023 09:48:31

Для активации этого режима необходимо однократно отправить АТ команду "AT+CSCLK=1" на ножку Rx и для усыпления модуля - подать высокий уровень (около +3В) на контакт DTR.
Всё верно, только сначала высокий уровень на DTR, потом убедиться, что модуль в IDLE (нет никаких не завершённых действий), потом AT+CSCLK=1
Ну, и этих модулей китайцы наделали миллион вариаций, не факт, что у Вас функциональность сна по DTR вообще реализована. Через AT+CSCLK=2 работает сон?

Re: прблемы с режимом сна в sim800L

Сб май 06, 2023 14:57:01

Друзья ,примите мою искренную благодарность за желание помочь.

Martian
Вы пишете; "Есть дерганье микроконтроллером - нет спящего режима"
Как же тогда подавать команду "AT+CSCLK=1" ,
Вот я беру модуль и даю питание(больше ничего)
потом посылаю "AT+CSCLK=1" на Tx и после DTR +3в
Во время подачи усыпляющих сигналов модуль обсолютно спокоен.

AAX
А как определить что модуль в IDLE?
AT+CSCLK=2 не пробовал ,но сделаю тоже ,раз вы упомянули об этом.

Re: прблемы с режимом сна в sim800L

Сб май 06, 2023 15:36:45

Ну может там в микроконтроллере кто-то написал постоянное дерганье 800, типа "эй, ты там как? есть для меня че? может отправишь че? а, ты спишь? а, уже не спишь?", может. по другим ногам его дергает. фиг знает.

Sleep Mode 1 (AT+CSCLK=1)
Customer can control SIM800H&SIM800L module to enter or exit the sleep mode (AT+CSCLK=1) by DTR signal. When DTR is in high level and without interrupt (on air and hardware such as GPIO interrupt or data in serial port), SIM800H&SIM800L will enter sleep mode automatically. In this mode, SIM800H&SIM800L can still receive paging or SMS from network but the serial port is not accessible.

Re: прблемы с режимом сна в sim800L

Сб май 06, 2023 17:49:06

Дорогие Martian и AAX
Разрешите отчитатся по результатом проверки.
И так ,включаю адаптер 220-12в 3А и даю модуле 4в через китайский 3-х амперный регулятор.
Контроллирую общий ток потребления от 12в ,который в месте смодулем( который уже зарегистрировался в сеть )составил 12,8мА.
Без модуля китайский преобразователь потребляет 6мА от 12в, значит модуль потребляет 6,8мА в спокойном режиме.
Теперь руководствуясь советом AAX с перва подаю +3в на вывод DTR и затем посылаю команду (AT+CSCLK=1) на Tx без надежды ,что что то произайдет(ведь в даташите вроде наоборот).
Ну вот чудо!!!!!!!!!!!!!!!!!потребление сразу уменьшилось до 6,8мА (до потребления преобразователя 12-4в) и значит потребление модуля ументшилось до нуля.
Пока не могу придти в себя. Буду пробовать и пробовать усыплять и пробуждать.
Спасибо огромное.

Добавлено after 1 hour 29 minutes 52 seconds:
Да ,я многократно проделал это и все работает.
И так по AAX вход и выход в режим сна выглядит так;
-вход в сон.
-подаем +3в на вывод DTR и затем посылаем команду (AT+CSCLK=1) на Tx.
-снимаем +3 с DTR.
----------
-выход из сна.
-подаем землю на вывод DTR и затем посылаем команду (AT+CSCLK=0) на Tx.
-снимаем землю с DTR.
----------
Я бы с удовольствием назвал эту процедуру ,процедурой AAX.
Спасибо ему от имени всех любителей sim.

Re: прблемы с режимом сна в sim800L

Сб май 06, 2023 18:56:30

ну так и назвать
Код:
unsigned char function Aax (unsigned char sleep)
{

}

:wink:

Re: прблемы с режимом сна в sim800L

Вс май 07, 2023 02:49:44

Martian, я бы предпочёл ростовой памятник в бронзе. И табличку: "AAX vs долб*бизм. 0:1"
А как определить что модуль в IDLE?
У Вас должна быть реализована машина состояний, и должен быть способ получить текущее состояние. Соответственно, если модуль не занят выполнением Ваших команд, нет активной сессии голосовой или передачи данных - это состояние простоя, IDLE.
ickatel писал(а):И так по AAX вход и выход в режим сна выглядит так;
нет, не придумывайте.
Я бы описал процесс примерно так:
1. Подаём на DTR высокий уровень.
2. Проверяем, что модуль ничем не занят. Если мы в своём уме, и идём спать, а модуль занят - это какая-то активность со стороны сети. Входящий звонок, или СМС. Нужно дождаться окончания этой активности. Сбросить звонок. Прочитать СМС, если это важно :) Для этого опускаем DTR в низкий уровень, и возвращаемся без сна.
3. Если модуль в IDLE, отправляем AT+CSCLK=1
4. Если вернулось OK - делаем своё ничего. Выключаем остальную периферию, усыпляем мк и т.д по потребностям.
Пока мы держим DTR высоким, модуль спит.
Если от модуля нужна только неторопливая передача - СМС, данных, исходящие звонки - можно в начале процедуры засыпания скомандовать AT+CFUN=0, это выключит радио-часть, и позволит сэкономить батарейку.
Чтобы проснуться, делаем следующее:
1. Опускаем DTR в низкий уровень
2. Не допуская пауз длиннее 50-ти мс отправляем нужные AT-команды
3. Когда вся нужная работа проделана, поднимаем DTR снова.
Чтобы проснуться основательно, например для какой-то двусторонней коммуникации, когда нужно что-то передать, и понятно, что должен прийти ответ, подаём на DTR низкий уровень, и не позже, чем через 50 мс передаём AT+CSCLK=0. После "OK" пофиг, что будет на DTR, режим сна модуля отключён.
Если отключали коммуникации по AT+CFUN=0, не забываем поднять радио-часть при помощи AT+CFUN=1. Тут нужно включать ещё и голову, т.к. поиск сетей и регистрация достаточно энергоёмкий процесс. И если Вам нужно часто засыпать/просыпаться, отключением функциональности радио Вы только высадите батарею сильнее. А цена вопроса около 1 мА потребления :) Но если у Вас модуль раз в сутки выходит на связь - это позволит сэкономить 24 мА/ч батарейки. Ну, и нужно помнить, что поиск сетей и регистрация - процесс не мгновенный, по этому если Вам нужно ASAP передавать что-то - лучше радио не выключать.
Судя по тому, что Вы пишете, Вам подойдёт режим сна AT+CSCLK=2, он чисто программный, DTR не задействуется.
ickatel писал(а):Я бы с удовольствием назвал эту процедуру ,процедурой AAX.
Обычная история: сеешь разумное, доброе, вечное. Потом смотришь, что за концепции тебе приписывают - и охреневаешь :)

Re: прблемы с режимом сна в sim800L

Вс май 07, 2023 04:04:34

AT+CSCLK=2 оставляет UART активным, возможно, несущественно, а возможно, за год на лишнюю недельку батарейки наберется...

Re: прблемы с режимом сна в sim800L

Вс май 07, 2023 05:05:33

Так и режим AT+CSCLK=1 не выключает UART. Разницы потребления я не замечал. ТС так и подавно не заметит - модуль с включенным радио ест примерно миллиампера 2 с периодическими всплесками до примерно 0,2 А в момент перерегистрации в сети. А ТС видит ноль потребления :) Впрочем, как говорилось выше, китайцы штампуют эти модули кто во что горазд :( и что там будет работать, что не будет - большая китайская загадка. Разгадать которую можно только экспериментально.

Re: прблемы с режимом сна в sim800L

Вс май 07, 2023 11:29:10

вроде, в даташите упоминалось, что в первом случае UART отключается, благодаря управлению DTR. Точнее, там было написано, что он перестает быт активным. Возможно, они имели ввиду, что просто игнорирует команды, тогда да, вообще разницы нет.

Re: прблемы с режимом сна в sim800L

Вс май 07, 2023 17:19:18

А Вы этот модуль использовали? Или только даташит? ;-)
Просто в даташите там действительно написано, что нужно сперва передать AT+CSCLK=1, а потом подавать высокий уровень на ногу DTS. Но суть топика в том, что оно нихрина так не работает ;-)
И этот модуль шо в одном, шо в другом режиме сна, если не отключить радиотракт продолжает принимать входящие звонки и СМС. И передавать в UART так называемые Непрошенные Сообщения ;-), если они не отключены. Когда сеть теряется/находится. Когда звонок приходит, или СМС.

Re: прблемы с режимом сна в sim800L

Вс май 07, 2023 20:24:48

Если звонки и смс не нужны, тогда AT+CFUN=2 поможет. Будет спать как убитый :tea:

Re: прблемы с режимом сна в sim800L

Вс май 07, 2023 20:55:49

AAX, я давно использовал и без L, сейчас по даташиту смотрел. На различие в очередности да, обратил внимание.
Ответить