Nagits's Blog

programming, fizfak science, etc…

GSM-модуль SIM300DZ: быстрый старт

SIM300D

Управление GSM-модулем SIM300DZ с помощью компьютера и контроллера AVR

1. Подключаем SIM300DZ к компьютеру по интерфейсу COM (RS232)

Вначале необходимо сказать несколько слов о том, что собранная мною схема применима только к ознакомительным целям. Т.е. я хочу сказать, что она отлично подойдет для новичков в области продукции SIMCOM, для тех кому охота побыстрее соорудить девайс, потратив минимум усилий. Для серийных же производств, конечно, нужно неукоснительно придерживаться даташитов, в данном случае даташита на GSM-модуль SIM300DZ. Это касается и питания, и входа POWER_KEY для включения\выключения модуля.

Итак, по даташиту необходимо 4-вольтовое питание, причем источник должен уметь давать ток 2А, иначе наш модуль и не подумает включаться. Также в рекомендациях указана и батарея Li-Ion, которую можно применить в качестве источника напряжения — это 3.7 В, 650-900 мА. У меня как раз оказался аккумулятор от старенького сименса с подходящими характеристиками (3.7 В, 750 мА). + и — батареи подключается к выводам VBAT и GND модуля соответственно. Для включения модуля достаточно (для ознакомительных целей) на вход POWER_KEY повесить кнопку, а другой конец на землю (рекомендую посмотреть в даташите, как правильно организовать цепь для POWER_KEY). Нажатие кнопки в течении < 5 секунд приводит к подскакиванию напряжения на выходе STATUS с 0 до 3 В. Это сигнализирует о том что ваш модуль работает. Очень важно, не вырубайте модуль отсоединением питания (батареи)! Выключайте модуль таким же зажатием кнопки или специальной командой (см. далее). Цитирую производителя:

Снятие питания с вывода VBAT без корректного выключения модуля

может привести к разрушению содержимого FLASH памяти.

Шаг второй — подключение к компу.

Логика COM-порта и TTL-логика модуля различаются достаточно сильно, поэтому без преобразователя уровней напряжений не обойтись. Использовал я распространенную микросхему MAX3232, но подойдут и более дешевые аналоги типа SP3232. MAX3232 запитывайте напряжением 2.8 — 3.0 В.

По даташиту микросхемы подсоединяем нужные конденсаторы, ножки T1IN и R1OUT идут к TXD и RXD модуля соответственно. Со стороны COM-порта RXD и TXD соединяем с T1OUT и R1IN, ну и не забудьте конечно про GND.

В принципе, этого уже достаточно для обмена информацией с модулем. Но нужно помнить важное замечание, цитирую:

Категорически запрещено присутствие входных сигналов до появления сигнала STATUS.

Это приводит к «фантомной» запитке модуля и его непредсказуемому поведению.

Поэтому присоединяйте проводочки RXD и TXD со стороны GSM-модуля только после его включения.

GSM-модули SIMCOM умеют автоматически определять скорость обмена, поэтому вы можете настраивать любую стандартную скорость вашего COM-порта. Обычно делают 115200 или 9600 бод.

Проверить обмен информацией можно самой простой командой «AT». При посылке «AT/r» модуль должен ответить «OK». Если не отвечает, проверяйте напряжение на STATUS и на Vcc микросхемы преобразователя напряжений (MAX3232). Если все равно тишина, то проверьте сам com-порт и программу (Terminal): замкните RX и TX, информация отправляемая с компа должна возвращаться на него обратно.

Есть команда для GSM-модуля, с помощью которой можно зафиксировать определенную скорость обмена — «AT+IPR=9600/r«. Проверка этого параметра — «AT+IPR?/r«. Если модуль отвечает, что IPR равен нулю, значит настроено автоопределение скорости. Кстати этот параметр не запоминается, сбрасывается при перезагрузке модуля.

Выключить модуль можно командой «AT+CPOWD =1/r», а можно и кнопкой, но перед этим отключите провода RXD и TXD модуля ввиду замечания от производителя (см. выше).

В серийном производстве необходимо обратить внимание на выводы RTS, CTS, DTR и др. GSM-модуля. О подсоединении их рассказано и показано в даташите.

Шаг третий — подключаем SIM-карту.

Ну, здесь все по схеме от производителя, за исключением супрессора, он заменен на стабилитроны 5.1 В ввиду нераспространенности первого в продаже.

По даташиту между Vcc и GND сим-карты ставится конденсатор на 220 нФ. Ставить можете любой, но емкостью меньше или равно 220 нФ. Я поставил 0.01 мкФ. Самое главное не более 220 нФ, поскольку тогда сим-карта может не успеть инициализироваться и ответить модулю, в таком случае модуль посчитает, что сим-карта не вставлена и прекратит подачу напряжения на нее.

Насчет подачи напряжения на сим-карту можно и поконкретней: после включения GSM-модуля, он дает на сим-карту 3 импульса 1.8В и 3 импульса 2.84В в течение 220 мс.

Инициализация симкарты. Вывод Vcc(SimCard)

Если модуль инициализируется успешно, то на Vcc наблюдается постоянное напряжение, а на выводе I/O карточки видны быстрые импульсы (смотрим осциллографом) (они сливаются, и кажутся кучей вертикальных полос) обмена информацией. В противном случае на выводе Vcc карточки уровень 0, на I/O тоже 0.

Проверить инициализацию карточки можно командой «AT+CSMINS?/r». Ответом будет два числа: «0,1» — в случае успешной инициализации карточки, «0,0» — в противном случае.

Если у вас все отлично получилось, то подсоединяете (припаиваете проводок 4 см, для ознакомительных целей) антенну к модулю и можете посылать sms или проверить баланс счета.

Проверка баланса по номеру *102# выглядит следующим образом: «ATDT *102#/r». Остальные команды смотрите в даташите.

Напоследок самое главное — моя схема:

Схема подключения Sim300dz

2. Подключение SIM300DZ к контроллеру AVR.

Стоит сказать сразу, если есть возможность питать контроллер 3-мя вольтами, то так и делайте — вы обойдете многие проблемы, с которыми столкнулись ну просто очень много людей (достаточно побывать на форумах по электронике). В случае 3-вольтового питания вы можете выводы TXD и RXD модуля соединять напрямую с соответствующими ножками контроллера без всяких преобразователей напряжения.

В случае питания контроллера 3.3 В, нужно поставить резистор 150-200 Ом перед ресивером (RXD) модуля, а также и на RTS и DTR, если они задействованы.

Если же ваш контроллер питается от 5-ти вольт, то нужно делать все в точности по даташиту или схемам, приведенным в семинаре «Особенности схемотехники при разработке устройств на модулях SIM300C, SIM300D» за 2008 год , иначе, еще раз повторюсь, не наберетесь ошибок: либо модуль не будет реагировать на команды, либо не будет отвечать, либо данные будут приходить на контроллер в искаженном виде и т.д. и т.п.


Самая простая съема согласования (для контроллеров с питанием Vcc>3.3 V) — на транзисторах, безо всяких микросхем:

Схема согласования уровней напряжений контроллера и SIM300

Мной проверено, работает. У SIM300DZ нет вывода VDD_EXT, поэтому вам нужно дополнительно сформировать это напряжение (Vmax=3.0V Vmin=2.75V Vnorm=2.93V Imax=60mA)

Удачи с покорением gsm-высот!

Все документы, которые я упоминал в статье, а также схема в исходном разрешении лежат в «Моих документах» в папке AVR\SIMCOM

Advertisements

Written by nagits

Сентябрь 2, 2010 в 23:56

Опубликовано в AVR, GSM

Tagged with , , ,

комментария 3

Subscribe to comments with RSS.

  1. Обьяните пожалуйста простому смертному принцип схемотехники работы подключаемой кнопки для включения/выключения модема.
    1.Она (кнопка) является нормально разомкнутым контактом или нормально замкнутым?
    Ведь внутри модема этот пин работающих как вход подтянут к питанию роезистором.
    2. Ведь по вашей схеме получается что на этот вход подается отрицательный импульс или всё-таки нет?
    3. Отрицательный импульс на вход и прижать к земле этот пин это одно и то же или нет/не совсем?
    Заранее спасибо за ответ!

    goremyka

    Май 21, 2012 at 12:44

  2. очень замечательная статья. не могли бы вы подсказать чем можно заменить max3232 что бы подключить схему к USB. FT232RL известный мне имеет 5V в TTL. Подходит ли он и как можно перейти к 3 вольтам и есть мб другой способ?

    заранее благодарен

    tarpedo

    Март 22, 2011 at 18:04

    • Схема согласования уровней напряжений контроллера и SIM300 в конце статьи – не что иное, как преобразование 3V – 5V. Ставьте эту схему между ЖСМ и FT232RL..

      nagits

      Март 22, 2011 at 18:14


Обсуждение закрыто.

%d такие блоггеры, как: