GSM модем SIM900

К ряду побывавших в моих руках GSM модемах недавно добавился небезызвестный SIM900.

Отладочная плата SIM900

Отладочная плата SIM900

В статье речь пойдёт об отладочной плате для него.

Почему SIM900? Т.к. много слышал о нём и много, где его видел, давно захотелось ознакомиться с ним и его функционалом. Особенно заинтересовал он после статьи из журнала «Беспроводные технологии» «Все в одном или что нового в GSM-модуле SIM900». И один проект.

Основные характеристики:

  • Четыре диапазона GSM 850/ 900/ 1800/ 1900 МГц;
  • Класс передачи данных GPRS 10/8;
  • Класс мощности 4 (2Вт в диапазонах 850.900 МГц);
  • Класс мощности 1 (1Вт в диапазонах 1800/1900 МГц);
  • Управление AT-командами (GSM 07.07, 07.05 + AT команды от SIMCom);
  • Аудиокодеки HR, FR, EFR, AMR, подавление эха;
  • CSD до 14,4кбит/сек;
  • PPP-стек;
  • Встроенный стек TCP/IP, UPD/IP;
  • MUX (07.10);
  • Протоколы HTTP и FTP;
  • Напряжение питания 3,2-4,8В;
  • Температурный рабочий режим -30 +80 °С;
  • SIM карты поддерживает с напряжением 1,8 и 3,3В;
  • Размеры: 24* 24 * 3 мм
  • Вес 4 гр.

Характеристики взяты из той статьи и даташита к модулю.

Перейдём к получившемуся отладочному или демонстрационному модулю. За основу разработки взял свои наработки от GSM модема M10. Вот что вышло:

Схема

Схема

В схеме были применены следующие упрощения от рекомендаций из даташита:

  1. Источник питания лучше применит более мощный (что может отдавать токи до 2А), например импульсным, на основе какой-нибудь 3А LM2576, но должно хватить и 1,5А LM1086CT-ADJ. Кратковременные пики должен будет сгладить большой конденсатор.

    Рекомендуемый стабилизатор питания

    Рекомендуемый стабилизатор питания

  2. Светодиоды рекомендовалось включить через ключ:

    Рекомендуемое включение статус светодиодов

    Рекомендуемое включение статус светодиодов

  3. Из цепи антенны были удалены элементы согласования. На коротких расстояниях от модуля до антенного разъема допускается.

    Рекомендуемое подключение антенны

    Рекомендуемое подключение антенны

  4. Есть несколько вариантов питания часов реального времени в модуле. В отладочном варианте применил самый простой – конденсатор емкостью от 4,7мкФ – поставил 10 мкФ.

    RTC с использованием конденсатора

    RTC с использованием конденсатора

    Но не стоит забывать ещё о двух способах, которые предусматривают сохранения показания и работы часов внутри модуля при отключение питания:

    RTC с использованием аккумулятора

    RTC с использованием аккумулятора

    RTC с использованием батарейки

    RTC с использованием батарейки

  5. Из цепи SIM карты выкинул шоттки диоды.

    Рекомендуемое подключение СИМ карты

    Рекомендуемое подключение СИМ карты

  6. Шоттки были убраны не только из цепи СИМ карты.

  7. Слегка упрощена аудио цепь.

Эти упрощения не критичны, но при использование модуля в более жестких условиях или в железе, где на него будет возложена большая ответственность, о них забывать не стоит.

Теперь о том, что реализовано:

  1. Питание от 5В (что удобно при работе от USB или в 5В микроконтроллером) до 7-8В, стало возможно благодаря LM1086CT с низким падение напряжения;
  2. UART – для отладки или подключения к МК;
  3. + выведен I2C (не забываем про согласование уровней, если подключать к 5В логике, в отладке их не заложил);
  4. Кнопка и спец. вывод (5 пин на UART интерфейсе, включение высоким уровнем), как для ручного запуска модуля, т.к. и для его включения с микроконтроллера;
  5. Аудио вход и выход, для экспериментов, где может понадобиться голосовая связь.
  6. 2 статус диода, для отображения режимов работы модуля;
  7. Джампер JUMP1, который замыкает стабилизатор и позволяет питать модуль от 3,3-4,7В, что в свою очередь позволяет его напрямую запитать, например от литий-ионной батареи. Во время сборки и проверки не оказалось под рукой стабилизатора, питал от одной 18650 банки;
  8. Разведены дополнительные земли для удобного подключения периферии;
  9. Разведена SMD площадка линии NRESET, для возможности добавлении цепи перезагрузки модуля.

Печатка выглядит следующим образом:

Печатка

Печатка

Плата выполнена на одностороннем стеклотекстолите размером 61х49мм. Основа – GSM модуль SIM900 (B09). Стабилизатор VR1 LM1086CT-ADJ в корпусе ТО-220. Держатель симкарт Sim card SCV-W2523X-08 или Sim card SCV-W2523X-06. Светодиоды любые в корпусах 0603 или 0805 с малым током потребления. Единственный транзистор VT1 – BC847 или подобный. Резисторы R1 и R2, токоограничители статус светодиодов, по 510Ом 0805. R3 4,7кОм, R4 47кОм, R5-R6 1кОм все типоразмера 0805. R7 0805 68Ом, R8 1206 10Ом. R8-R10 по 22Ома в корпусах типоразмера 0805. R12 1кОм, R13 10кОм, оба 0805. Конденсаторы C2-C3, C7-C8 по 33пФ, С4 22пФ, C5 1мкФ, С6 10пФ, С9,С10, С12 0,1мкФ, все они типоразмера 0805. Конденсатор C1 10мкФ чип-тантал типоразмера A. С10 100мкФ не менее 16В, C13 470-680мкФ не менее 10В, плату разводил под EPCOS: 100мкФ бочонок размера 8х11,5мм и 470-680мкФ той же серии размера 10х12,5-20мм. Кнопка S1 – DTSM13-5.0N (в пормэлектроннике), возможно её настоящее название – DTSM13-4.3N. Антенна любая на GSM диапазон с разьемом SMA-M, на плате SMA-F гнездо. Штыри PLS5 и 3х PLS2 + для перемычки JUMP1 нужны PLS3 и сам джампер с шагом 2,54. Аудио разъемы Jack 3,5 — CK3-101B, ставил, что было в наличии, не удачный вариант, лучше поставить какие-нибудь моно гнёзда.

Вид платы снизу

Вид платы снизу

Вид платы сверху

Вид платы сверху

Читайте далее:

Скачать печатку

Схема обновлена 2 октября 2013 года

31 комментарий »

Alex_EXE | 22.09.2013 | Связь | 29 592 просмотров

31 комментарий на « GSM модем SIM900»

  1. Igor_UA пишет 23.09.2013 в 20:46 #

    Уважаемый Алекс!
    Спасибо за отличную статью!
    Я собираю сейчас самодельную GSM-дистанционку на DTMF управлении, уже работает, (правда на столе, «на соплях»), но применение старого мобильника не приносит эстетического удовольствия. Хочеться одноплатного устройства. Осмелюсь задать несколько ламерских вопросов:
    1. Работает ли SIM900 «из коробки» в Вашей схеме, или его нужно как-то программировать? (Пока любое программирование пугает:-))
    2. Можно ли реализовать включение модуля при подаче питания? Например транзисторным ключом и электролитом.
    3. Как аппаратно реализовать «Подъём трубки» при входящем звонке?
    4. Если GSM покрытие хорошее, то можно ли просто «вытравить» антену на обратной стороне печатной платы, взяв за образец антену старого мобильника?
    5. Если микрофон в устройстве не нужен, то можно ли оставить соответствующие ноги «висячими» или их необходимо «подтянуть»?
    Жду продолжения и заранее СПАСИБО.

  2. Alex_EXE пишет 23.09.2013 в 21:13 #

    1. Работает. Но обычно их одни не применяют, т.к. им нужно управлять, а сам он так мало чего может. Их обычно подключают к управляющему микроконтроллеру или компьютеру.
    2. Можно.
    3. см пункт 1 или искать/делать спец. прошивку.
    4. По антеннам я не специалист и предпочитаю использовать готовые, т.к. их расчёт целая наука, где нужно учитывать: длину, ширину, форму, материал проводника, что его окружает и в какой части устройства он расположен, материал подложки… Но это если делать всё по добру и по науки. А так есть и более простые варианты антенн, даже чертёж GSM антенны на плату без труда находиться в интернете.
    5. Это необязательная периферия, пускай «висят».
    Быстрого продолжения гарантировать не могу.

  3. Igor_UA пишет 24.09.2013 в 13:30 #

    Большое спасибо за быстрый ответ!
    Сильно огорчило отсутствие простой хардовой реалезации «Подъём трубки» при входящем звонке. Пока изучаю похожую тему на http://vrtp.ru/index.php?showtopic=20314 , но там реализация на МК.
    Но SIM900 наверное всё-же выпишу, 10 долларов — не такая критичная сумма для эксперимента. Продолжаю следить за Вашим сайтом. Еще раз спасибо и удачи!

  4. Alex_EXE пишет 24.09.2013 в 13:56 #

    Это модуль, а не готовое устройство.
    На МК это реализуется просто: ловим в UART сообщение «RING» и отвечаем на него «ATA». Но нужно знать МК.
    С другой стороны в этот модуль очень много чего понапихано, может какие-либо отсылки к автоответу есть, но для выяснения этого нужно изучить всю документацию на него.
    Так же, как альтернативный вариант, можно взять сигнал звонка со спикера и при его поступлении «нажать» нужную кнопку на клавиатуре модуля.

  5. Alex_EXE пишет 25.09.2013 в 00:32 #

    Копаясь в даташитах для следующей статьи нашел команду авто подъёма трубки — ATS0.

  6. Igor_UA пишет 27.09.2013 в 23:59 #

    Здравствуйте Алекс!
    Спасибо за ответ. Т.е. я могу через UART прослать команду ATS1 в SIM900 и до перезагрузки либо отсутствия питания он будет автоматически поднимать трубку после одного гудка?
    Возможно это выход, хотя я уже накупил разных МК Atmega, сейчас паяю программатор Громова и пытаюсь найти в памяти (своей), аналогии между FORTRAN-77 , (который когда-то учил в институте), и BASIC в его интерпретации BASCOM-AVR 🙂
    Начитавшись форумов, резко увеличивается уровень «хотелок» от запланированного ранее устройства.
    Ещё раз спасибо, за Вашим сайтом слежу. Игорь.

  7. Игорь пишет 02.10.2013 в 02:15 #

    Сомневаюсь в правильности схемы. Сам сейчас развожу плату под сим900. Ошибка в верхней части пинов, где антена.

  8. Alex_EXE пишет 02.10.2013 в 07:37 #

    Igor_UA
    Точнее не ATS1, а ATS0=2 (2 — количество гудков до поднятия трубки, 0 — выключить), затем сохранить настройки профиля командой AT&W и МК не понадобиться, если нужно только это.
    А МК могут ещё пригодиться для других задач.
    Игорь
    Да, неточности были, исправил. Спасибо, что заметили.

  9. Xojiakbar пишет 23.04.2014 в 21:29 #

    уважаемый Алекс
    как вы паяльи этот модул и чем именно.
    если можно то по поподробнее.
    заранее спасибо

  10. Alex_EXE пишет 23.04.2014 в 22:11 #

    Паял паяльником (паяльной станцией) с тонким игольчатым жалом. Посадочные площадки на плате рекомендую заранее залудить, но площадки должны быть ровные, без комков и заусениц, для этого может пригодиться и оплётка. Сначала плата и края модуля покрываются флюсом, далее тонкий припой (чем тоньше — тем лучше, у меня 0.8-1мм) подносится к каждому контакту и нагревается таким образом, что бы он равномерно распределился по запаянному контакту и площадке на плате.
    Сначала после выравнивания модуля запаиваем первый контакт, далее корректируем модуль, если нужно — то нагреваем уже припаянный первый контакт для удобства корректировки. Далее запаиваем противоположный контакт, что бы модуль был зафиксирован, далее ещё один-пара равноудалённых контактов. Когда модуль будет точно и надёжно зафиксирован то запаиваются все остальные контакты, ну или все необходимые + некоторый запас для прочности.

  11. Xojiakbar пишет 23.04.2014 в 22:42 #

    Большое спасибо за быстрый ответ!

  12. Xojiakbar пишет 29.04.2014 в 19:05 #

    уважаемый Алекс
    Когда Вы пояли модуль паяльной станцией сколка градусов температуры нагрева для паяльника устанавливали.

  13. Alex_EXE пишет 30.04.2014 в 13:31 #

    Около 320, припой ПОС-60 с флюсом.

  14. Xojiakbar пишет 21.05.2014 в 20:15 #

    уважаемы Алекс
    А можнали соединит sim 900 с мк. без уровня согласования?
    P.S: sim900 и мк. оба питаются от напряжения 4.2 в
    заранее спасибо!!

  15. Alex_EXE пишет 22.05.2014 в 15:18 #

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

  16. Дмитрий пишет 08.08.2014 в 14:34 #

    Здравствуйте уважаемый Алекс. Я не сильно разбираюсь в смысле вашей статьи уже простите уровень не тот. Вопрос простой: после сборки этой схемы, то есть сделаю я 2 таких платы без мк, и оно будет работать как переговорное устройство?
    И какую антенну нужно? я так и не понял. спасибо)

  17. Александр пишет 08.08.2014 в 21:31 #

    Как программировать сим карту под данное устройство?

  18. Alex_EXE пишет 09.08.2014 в 04:34 #

    Дмитрий
    В статье представлен GSM модуль, если к нему добавить матричную клавиатуру и специальный дисплей — то Вы сможете получить простой сотовый телефон со всеми вытекающими последствиями, в в виде нужды использования СИМ карты, использования услуг одного из операторов и оплаты своих разговоров и обмена данными. Т.е. проще будет купить самый простой сотовый телефон.
    При добавлении МК, можно получить или, снова, сотовый телефон, или какое-нибудь другое устройство ведущее обмен своими данными по сети сотовой связи, для чего собственно их и используют.
    Александр
    Как программировать не знаю. Можете приобрести у одного из местных операторов или вытащить из своего сотового телефона.

  19. Алексей пишет 07.10.2014 в 14:04 #

    Доброго времени суток, у меня такая проблема возникла.
    Без сим карты модуль работает нормально, но после установки сим карты после запуска работает несколько секунд напряжение на ножке питания порядка 1.8В и выключается.. Что делать подскажите? сим карта новая только что купленная в магазние

  20. Alex_EXE пишет 14.10.2014 в 23:53 #

    К сожалению мало что смогу подсказать. Т.к. с СИМ картами заморочек у меня не было. Могу порекомендовать проверить работоспособность карты в сотовом, проверить разводку модуля карты и обратить внимание на другие разводки её из даташита, и ещё проверить в модуле другую симку.

  21. Никита пишет 13.12.2014 в 18:20 #

    Самая простая схема которую я смог найти за неделю поисков в шаре. Но все же) возможно ли не выводить 19,20,21 ? и как правильно организовать это, если в моем устройстве не используется ни микрофон ни наушники, или все таки обязательно наличие их?

  22. Alex_EXE пишет 15.12.2014 в 00:00 #

    Если не нужны — можете не выводить.

  23. Marat пишет 18.12.2014 в 22:19 #

    Написал программу. Не отсылает СМС. Помогите!!!
    КАК только не пробовал набирать. Перепаивал СИМ900.
    Программа дозвона работает.

    Print «AT+CMGS=» ; Chr(34) ; Phonenumber ; Chr(34) ; Chr(13) ‘в конце перевод строки
    Waitms 500
    Print Otvet
    Waitms 500
    Print Chr(26); ‘для отправки 26
    Wait 1
    Print Chr(13)

  24. Alex_EXE пишет 23.12.2014 в 10:51 #

    Через терминал отправлять СМС пробовали? Номер начинается с +7? Текст СМС в латинице? Режимы работы с СМС настроены верно?
    Примеры и описание AT команд есть в следующей статье цикла по SIM900.

  25. Cергей пишет 21.01.2015 в 22:27 #

    Столкнулся с проблемкой.
    Нет регистрации в сети. Причем регистрация проходит только на мегафоне и только в одном месте. Остальные сим карты операторов не регистрируются в сети. Карта рабочие, питание в норме, модуль рабочий, сим карту видит.

  26. Alex_EXE пишет 22.01.2015 в 01:01 #

    Проверьте уровень сигнала.

  27. Ayaz пишет 03.03.2015 в 13:44 #

    Здравствуйте Алекс Спасибо за отличную статью но у меня проблема на SIM_VDD нету питание и модем не читает симкарту как можете помочь заранее спасибо

  28. Илья пишет 07.06.2015 в 12:54 #

    Здравствуйте, Алекс!

    для этой печатной платы тоже sprint-layout использовался? Вы место под сим-карту и сам модуль вручную прорисовывали или где-то есть готовые макросы?

  29. Alex_EXE пишет 08.06.2015 в 01:36 #

    Да, sprint-layout. Модуль, сим-карту, разъёмы, кнопки — рисовал сам. Если обратить внимание, то можно заметить, что шелкография проходит по контактным площадкам, так нарисовал, т.к. не планировал её делать, т.к. плату делал ЛУТ’ом. Сейчас таких ошибок стараюсь не допускать.
    Для альтиума модельки то же сам рисую. Возможно через месяц-пару, опубликую новые стати с 3D видами новых печатных плат.

  30. Владимир пишет 02.11.2015 в 02:59 #

    Здравствуйте!

    Недавно получил шилд для Ардуино на SIM900, 1137B05SIM900M64_ST_ENHANCE.
    Поначалу вся эта радость (шилд и Ардуино UNO) задумывалась как управление и сигнализация по СМС для дачи.
    Но когда прочитал про функционал SIM900, стало обидно, что столько всего полезного пропадет зря.
    На русском языке информации мало, в основном на форумах.
    Есть идея подключить матричную клавиатуру и LCD дисплей к SIM900, чтобы, например, можно было позвонить с него.
    Или хотя бы получать время из SIM900 и передавать его в Ардуино UNO.
    Можете помочь с этой идеей?
    Читал, что есть SDK с примерами и можно записывать свои программы в SIM900.
    Как можно его получить?

    С уважением,
    Владимир Кудинов.

  31. Alex_EXE пишет 02.11.2015 в 09:49 #

    На счёт SDK для этих модулей не подскажу, дела с ним не имел. Информацию по нему можете попробовать запросить у их официального дилера в России mt-systems.
    Для получения времени, положения по вышкам сотовой связи, другой информации есть специальные АТ команды. Часть из них описана в цикле статей по этому модулю у меня на сайте. Гораздо больше информации Вы можете подчеркнуть из документации к этому модулю, ссылки на которую приведены в некоторых статьях из цикла по этому замечательному модулю.
    Так по памяти команды подсказать не смогу.

Комментарии RSS

Оставьте отзыв