Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Освоение GSM на базе модуля SIM900D


				

	
	
	
Дата: 14 Февраля 2013. Автор: Алексей


	
	
Отладочная плата на базе SIM900D


Здравствуйте!
Встала тут задача по управлять загородным домом, последить за температурой, дверями, окнами. И тут же возник вопрос о среде передачи данных. Ну провода и радиоканал отпадают из-за дороговизны, ВОЛС просто мечты, а вот GSM то что нужно. Сначала пал глаз на старые телефоны “Motorola”, “Nokia”, “SonyEricsson”. Посмотрел, повертел и передумал. Первое, не хотел подпаиваться к контактам кнопок, да и обратной связи нет. Второе, разбираться с ПО телефона, ну это совсем не в кассу. В общем в творческих раздумьях и плавая в просторах всемирной паутины, изловив пару вирусов был найден компромисс. И работа с ПО и без всяких кнопок. Все это предлагает модуль SIM900D. Чем он мне приглянулся.


  - Первое это простота монтажа. В этом вы убедитесь позже.
  - Второе это общение через UART. (Это значит МК + SIM900D = нормальная связь)
  - Третье это питание модуля от 3 до 4.8 вольт. Хош AVR, хош ARM. По вкусу.

Ну лирики хватит, пора по делу.


Выглядит сей модуль так.




По поводу монтажа. Как видите модуль заточен на поверхностный монтаж. Размеры контактных площадок достаточно большие даже для ЛУТа. Ниже картинка моего устройства.




Как видите ничего сложного. Теперь давайте поговорим о схеме подключения этого чуда. Глядим мануал. И видим распиновку.




Да, много всего, но все использовать не будем. Первое что нам потребуется это обвязать все выводы “GND”. Если глянуть на правый верхний угол, то можно заметить три отдельных вывода. Два “GND” и “ANT”. Эти выводы расположены таким образом не просто так. Глянем в документацию на картинку подключения антенны.


59 и 61 контакты должны находиться как можно ближе к выводу антенны. Дополнительные схемы выделенные пунктиром, нужны для подключение антенн с кабелем. Поэтому я впаял SMA разъем как можно ближе к выводам 59, 60, 61 и не стал заморачиваться со схемой согласования, при этом с антенной на 3-х метровом кабеле и в месте очень плохого приема, выжал из модуля 13 балов из 31. Разъем видно на картинке выше. Точнее ноги от него)) Сам разъем с другой стороны. При этом контакты 59 и 61 как бы обнимают антенну. Ну как-то так. Далее давайте поговорим о SIM-карте. Для ее установки я использовал вот такой разъем (SIM ICA-501-006-01-F7)




Самое интересное то что я нашел 3 варианта распиновки SIM-карт. Какую использовать? Не буду вносить интриги, а для простоты привожу распиновку данного разъема. Вид сверху.


Но это еще не все. Если глянуть в монуал на схему включения SIM-карты, то там можно увидеть некую микросхемку под названием SMF05C . Эта микросхема содержит защитные диоды аж 5 штуков. Нужна для зашиты контактов SIM-карты. Конечно можно ее и не ставить, но тогда будьте внимательны и не трогайте контакты пальцами!!! Я как грешный человек за себя не ручаюсь, поэтому микруху припоял. А вот и сама схема.




Она конечно приведена для 8-и контактной SIM-карты, но для 6-ти будет тоже самое. Есть правда две засады с этой микросхемой. Первая это то что ее хрен где сыщешь. А вторая то что размер ее… Я когда получил заказ и достав положил ее на стол… Короче на втором рисунке сверху она впаяна между SIM-картой и батарейкой. Для сравнения резисторы 0805. Ну а справа транзистор в корпусе SOT-23. Так ну вроде с SIM-картой разобрались, поехали дальше. А дальше светотехника. Вообще говоря это на любителя. Так как все эти сигналы можно завести прямо в МК и он там сам пускай разбирается. Я все их вывел из чувства к прекрасному. Так что решайте сами.
- Первое это сигнал включен модуль или нет (STATUS) лог 1 - Второе это сигнал наличия регистрации сети (NETLIGHT) лог 1/0 (мигает) Если мигает с одинаковой частотой, значит не зарегистрировался в сети Если длинный промежуток, значит есть конект к сети. - Третье это сигнал звонка/sms (RING) лог 0 Горит если есть входящий звонок и моргнет при получении sms-сообщения.
Первые два сигнала нужно подключать через NPN транзистор в ключевом режиме.




А третий сигнал (RING) нужно подключать через PNP транзистор. Еще один не мало важный сигнал, это кнопка включения и выключения модуля. (куда же без нее). Вот что нам предлагает мануал.


То есть подали лог 1 на базу транзистора на 1 секунду и модуль включился.


Теперь давайте поговорим о питании. Да, я бы ща от хорошей тарелочки борьща не отказался бы, а вы? Ну ладно, едем дальше. Питается модуль напругой от 3 до 4.8 вольтов. Вроде все просто, да не так. В момент звонка, передачи sms, поиска сети модуль может потребовать аж до 2А. Во как. Так что любители LM7805 и КРЕНок могут огорчиться. К счастью в мануале присутствуют две схемы на микросхемах MIC29302 (я так в продаже ее и не нашел) и LM2596 (эту купить можно). Но я лениииивый и собирать питалово с таким большим количеством обвязки просто не захотел. Я пошукал в интернете и нашел. Есть такой хороший стабилизатор для процессоров типа “Пень”, “AMD” на 3.3в и до 7.5А. Во, думаю то что надо и ARM запитать можно и модуль. Вот схема этого чуда.


А вот как это выглядит в собранном виде.




Радиатор поставил со страху, в принципе микросхема не греется даже во время звонка. И последнее на что следует обратить внимание, это на батарейку. Она нужна для поддержания жизни часов реального времени. Самое важное что оставлять этот вывод в воздухе нельзя. Лично я сошелся на подключении батарейки чего и вам желаю. Можно конечно две АА влепить)) но как-то крупновато, а вот в форме таблетки 2032 на 3v то что надо. Благо они стоят не дорого и отсеки паять можно прям на плату. По моему это самое простое решение. Решать вам. Ну вроде и все. Вот как это все безобразие выглядит вместе и в работающем состоянии.




В следующей статье я расскажу как ломал этот модуль но уже программно через терминал при помощи АТ команд.


Выкладываю схемы в PCAD-2006


Архив с файлами модуля GSM.
Архив с файлами блока стабилизации.


Продолжение цикла статей о GSM модуле.
AT-Команды.
Связь модуля с ATmega8515.


Отладочная плата на базе SIM900D

Foli    14.03.13

хотелось бы подробней о АТ командах, UARTу и непосредственно работы с этим в CodeVision


Алексей    15.03.13

С АТ командами разбираюсь. Не хочу выкладывать половину работы, так как есть некоторые вопросы. А с UARTтом и CVAVR там все просто. Как только разберусь с АТ командами сразу выложу и какие команды и как из CVAVR их подать.


Anatok    04.11.13

Все это красиво . А вот если сигнализация работала хотя бы при минус 30-и градусах и зарядилась скрытыми солнечными батареями особенно зимой , то желающих иметь такой аппарат было бы очень много .


Алексей    04.11.13

GSM модуль жрет до 2А при регистрации в сети или звонке или связи по GPRS. Для таких ресурсов требуется хороший аккумулятор, а при -30 АКБ долго не проживет. Даже в метеостанциях на уличных датчиках рекомендуют использовать простые батарейки.


Мишка    11.11.13

Если еще актуально и интересно…помотри на EAT для SIM900. В нем внутри ARM и есть SDK в котором можно загружать приложения в SIM900 из которых можно много всего делать…например посылать те-же AT команды…+клавиатура + SPI дисплей… + 2 АЦП :) Нескучного вечера:)


Мишка    11.11.13

А све-таки для него очень красиво делать для него питание на L5973D. Да про 2А написана в даташите…но практически это очень кратковременные импульсы. У меня он прекрасно работает например с Arduino Mega которая сама питается от USB порта (у которога ток 0.5 А)


Алексей    11.11.13

В этом-то и загвоздка. Я тоже по началу питал от 7805, все работало, а потом бац… И при подключении к сети все гаснет, а потом в рестарта идёт. Видимо сторожевая собака по припадке питания рестартует. А с L7953D будет красиво, но где её взять и скопа она будет стоить 🙂 Поэтому я перешёл на IRU1075


Алексей    11.11.13

Прошу прощения за ошибки, это чертов ГУДРОЙД горбыли лепит за меня. Думает он умнее. Не буду править, пусть Гуглу стыдно будет за их работу.


дядяМиша    24.12.13

У меня при регистрации в сети атмега в перезагруз уходит. Хотя стоит импульсный dcdc. Конденсаторов на 200мкф. А бывает, работает стабильно. Замучался уже.


Алексей    25.12.13

Схему в студию. Со слов довольно сложновато понять проблему.


дядяМиша    25.12.13

[url=http://ybex.com/d/tk7kgiefpklpeujb1zb l4lo5mrkf7ayvci04ouq3.html] [img=http://ybex.com/t/tk7kgiefpklpeujb1zb l4lo5mrkf7ayvci04ouq3.png][/img][/url]


дядяМиша    25.12.13

http://ybex.com/d/tk7kgiefpklpeujb1zbl4lo5 mrkf7ayvci04ouq3.html МК запитан от 2.8 (пробовал даже 3.7) Вольт, чтобы не городить преобразователь уровня.


Алексей    25.12.13

По ссылке не открывается картинка. Может перейдем на форум?


сергей    19.07.14

Алексей здравствуйте! у вас есть готовые платы с сим900, можно ли купить?


Алексей    19.07.14

В каком смысле готовые? Сам модуль уже собран и остается под конкретный девайс изготовить плату с требуемыми выходами и входами. Та что в данной статье это лишь демо плата для отладки программ. Для конкретного девайса требуются размеры, расположение разъемов, выходов на наушники и микрофон. Где будет антенный разъем. Дайте более подробную информацию о том что Вам нужно.


Андрей    28.09.14

Я так понимаю это прототип той платки которую я жду не дождусь. Только в коммерческом варианте её поженили с блоком питания и облагородили аудио выходами. Что есть большой гуд.


Алексей    28.09.14

Собственно так и есть. Я просто сразу убил несколько зайцев. Решил извечную проблему с питанием и согласованием уровней на UART. И для шика добавил аудио вход и выход. Фактически готовый сотовый телефон.


Андрей    28.09.14

Хотел бы внести рацуху на будущее. по сути данная плата законченный узел. И её ПРАКТИЧЕСКИ можно использовать в готовом изделии. однако есть одно НО. При мезонном навесе её по любому лучше ставить сверху (разъем антены, доступ к симкарте) поэтому вполне целесообразно параллельно всем штырькам для “периферии” оставлять отверстия для таких же штырьков с возможностью впайки оных направлением “вниз”. Т.е. захотел я данный девайс насадить на плату микроконтроллера, развёл под твой, запаял ответные разъемы в него и состыковал. Ещё и с


Андрей    28.09.14

Сожрало полмессаги, но мысль надеюсь понятна-)


Алексей    28.09.14

Я думаю эту тему лучше перенести на форум. Я создал ветку по плате. Для обсуждения идем сюда
Сергей    01.02.15

Подскажите почему модуль греется и неловит сеть?


Алексей    01.02.15

Здесь есть несколько причин. Первая, превышено питание. Второе, не попал ли плюс на общий. Нужно внимательно посмотреть ножки питания. Третье, не касается ли модулю брюхом питающих линий. На брюхе есть несколько технологических контактов которые должны быть изолированны от каких либо проводников. Четвертое, не замкнут ли вывод антенны с общим выводом. А если быть точнее, то необходимо смотреть плату. Сбросьте мне плату на почту и я посмотрю, может там что-то не так.


Сергей    01.02.15

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


Алексей    01.02.15

Довольно сложно сказать. Схема заводская, надо по плате полазить. Из документации видно что на плате нет рекомендуемых защитных диодов для SIM-карты. Сама карта и разъем по пинам совпадают? 300 модуль старый и по моему он работает только с симками 5 вольтовыми, а сейчас они все на 3в. Но я могу и ошибаться. Надо смотреть саму плату, так сложно что-то сказать. Если симптом на обеих один и тот же, то я бы какпал в сторону разъема и вольтажа симок. Еще раз, современные симки на 3-х вольтовые.


Сергей    01.02.15

Стоит sim900D…диодов нет.Когда вставляю карту появляется питание на модуле и он начинает греться,но на симку напр. с 9 ноги не идёт..


Сергей    01.02.15

изначально работали нормально..потом что то коратнуло…не могу понять что..


Сергей    01.02.15

Можно как то проверить модуль не выпаивая?


Алексей    01.02.15

А что именно коротнуло? Если питание на симку не идет, то я боюсь сдохла линия для симки. А симка сколько ног? 6 или 8? Для проверки можно не вставляя симки пообщаться с модулем по шине UART 3, 4 ноги. Если откажется принимать АТ команды, то я думаю можно его хоронить.


АНОНИМ    01.02.15

что коротнуло точно незнаю..ног 8 ..а как пообщаться то?


Алексей    01.02.15

А на разъеме тоже 8? Берем микросхему FT232RL, собираем переходник USB<->TTL, припаеваемся к UART модуля, запускаем терминал, например Putty, пишем AT и давим ентер. Если вернет ОК, значт еще не все потеряно. Если тишина… На помойку. А да, какие светодиоды а плате? как определяется наличие регистрации в сети?


Сергей    02.02.15 03:12

На разъёме тоже 8..на плате два светодиода зелёный и красный,наличие сети определяется по морганию зелёного раз в три секунды…можно как то вставить фото платы?


Алексей    02.02.15 07:42

Проще перейти на форум.


Сергей    02.02.15 14:02

Если не вставлять симку значит нужно подать питание на модуль?


Алексей    02.02.15 15:48

Я не могу гадать на кофейной гуще. Мне нужна либо схема, либо плата. И причем тут питание модуля и сим карта? Там скорее всего еще с каким-то микроконтроллером пересекается. Он и подает питание. В общем нужна схема. А так это как диагноз по телефону ставить.


Сергей    02.02.15 15:56

где на форуме можно выложить схему?


Сергей    02.02.15 15:57

Питание на модуль приходит только когда вставляешь симку


Алексей    02.02.15 19:27

Ну нет такого у модуля SIM900D. Для включения модуля необходимо удержать низкий уровень на ножке 12, а потом поднять. Сим карту вообще нельзя вставлять или вынимать при включенном модуле, есть вероятность сжечь порт. Если посмотреть документацию, то можно там найти рекомендации по установке защитных диодов на линии порта сим карты. На форуме здесь. Создать тему и выложить фото.
Евгений    08.09.15 12:04

У меня при подаче напряжения на модуль, на 12 ноге присутствует положительный потенциал, на 5 ноге так же положительный (при условии, что данные ноги висят в воздухе). Подскажите пожалуйста, ведь на 5 ноге вроде должен быть ноль? Если не так, пожалуйста поправьте меня.


Алексей    08.09.15 13:21

12 ножка это включения модуля. На ней при подаче питания висит 1. Для включения модуля нужно прижать на пару секунд 12-тую ножку к общему проводу, то есть подать 0. При подаче питания на модуль 5 ножка должна быть подтянута к общему проводу двумя резисторами (это видно из схемы включения транзистора в ключевом режиме) и на ней должен быть 0, так как базу нужно подтянуть к нулю для полного закрытия транзистора. После прижатия 12 ноги к нулю, на 5 ножке должна появится 1, а через некоторое время меандр с указанием статуса наличия и подключения к сети.








www.avrki.ru

GSM/GPRS модуль SIM900 / Деталька / Сообщество EasyElectronics.ru

Иногда возникает желание по управлять объектом на расстоянии или получить от него данные. Причем расстояния могут быть весьма значительными. Одним из способов осуществить эту мечту — использовать возможности сотовой связи. При этом не потребуются мощные передатчики, разрешения соответствующих органов и прочие дорогостоящие вложения. Нужно только правильное железо и нахождение в зоне покрытия оператора. Одной из таких правильных железок является модуль Sim900 от компании Simcom. К весьма важным достоинствам модулей относится, помимо богатых возможностей самих железок, также минимальная обвязка, простая в изготовлении плата, возможность легко приобрести и относительно низкая цена (я брал по 731р за штучку).
Так как про эти модули можно написать очень много всего и разного, то будет 2 или 3 статьи. Первая будет железная, вторая софтовая и если во вторую все не поместится, то третья с отдельным описанием работы с сетью.

+Бонус:) Куда же без него. Последняя версия B07 прошивки для sim900.

У нас продаются 3 типа модулей. Все они имеют 4 диапазона 850/900/1800/1900МГц, умеют передавать/принимать голосовые вызовы, работать с смс, делать ussd запросы и работать с сетью через GPRS, с поддержкой ftp, http или tcp/udp.

1. Основной, рекомендуемый к использованию Sim900. Небольшой (24х24мм), паябельный корпус, единственный поддерживающий протокол I2C.

2. Второй модуль — это Sim900B. Размер 40х33мм, крепление к плате через 60 контактный разъем с весьма мелким шагом. Предназначен для замены модулей sim300. В общем самый неудачный вариант для домашнего применения.

3. И последний модуль — Sim900D. Тоже небольшой (33х33мм), хорошо подходящий для пайки на плату, единственный имеющий цепи контроля и заряда для литий-ионных аккумуляторов. Предназначен для замены модулей sim340DZ, с которым совместим по выводам. Было мнение, что это переходная модель, которая будет сниматься с производства. Но производитель заявил, что это не совсем так. Точнее совсем не так и прекращать выпуск они не планируют.

В основном я буду писать про sim900D, т.к. у меня есть именно он и разница между разными модулями незначительная.

Питание
Для модулей необходимо питание от 3.2 до 4.8В. Номинальное значение 4.0В. Питание заводится на выводы VBAT. Ток потребления сильно зависит от текущего режима работы и может колебаться от 20-30мА до 500мА. При этом также возможны кратковременные скачки до 2-3А, особенно в процессе поиска сети или при приеме/передачи данных. Так что для питания необходимо использовать подходящие блоки питания и не экономить на электролитах. Можно использовать рекомендуемую производителем схему на MIC29302WT.

Так же им необходима дополнительная поддержка для часов реального времени, вывод VRTC. Для нее можно поставить батарейку, ионистор или просто конденсатор с емкостью не меньше 4.7мкФ.

Слева подключение ионистора/конденсатора, справа батарейки.
Важно! Оставлять висеть этот вывод в воздухе нельзя.
Для включения производитель рекомендует следующую схему:

Длительность импульса должна быть не меньше 1с.

Сим-карта
Сим-карта подключается к соответствующим выводам модуля по схеме из даташита. Лучше всего использовать специальные холдеры для монтажа на плату, благо стоят они недорого (~30р). Также что бы модуль понял, что к нему подключили карту нужно посадить на землю вывод sim-present. У модуля sim900D этот вывод совмещен с выводом KBR0. Использовать или нет защитные диоды личное дело каждого, но лучше перестраховаться.

Важно! Все модули работают только с сим-картами на 1.8 или 3В. Одна из ошибок, почему мой модуль по началу не ловил сеть, как раз была в том, что я вставлял свою старую карточку на 5В.

COM порт
В модулях реализован полный набор интерфейсных выводов для подключения по usart. В зависимости от настроек, управление потоком может быть аппаратное с использованием RTS,CTS,DTR,DCD и RI. Так же можно использовать режим без управления, когда используются только RXD и TXD. Программное управление (XON/XOFF) использовать не рекомендуется из-за наличия ошибок в его реализации. Неиспользуемые выводы нужно оставить висеть в воздухе, все необходимые подтяжки уже есть внутри.

Выход RI работает независимо от выбранного режима. В дежурном режиме он находится в «1». При поступлении звонка или наборе номера выход переходит в «0» и остается в нем до поднятия трубки абонентом/модулем или отбоя. При поступлении смс на нем появляется импульс «0» с длительностью 120мс.

Модуль может работать на скоростях от 1200 до 115200. При включении устанавливается режим авто-настройки скорости от 1200 до 57600, 8 бит данных, без четности и 1 стоп битом. Для синхронизации необходимо выждать 2-3с после включения и послать команду «AT» (обязательно большими буквами).
Если скорости одинаковые, то модуль при включении выдаст:
00 49 49 49 49 FF FF FF FF (в шестнадцатеричном режиме)
RDY
+CFUN: 1

Если на карте нет пин кода:
+CPIN: READY
Если пин код установлен
+CPIN: SIM PIN
Для продолжения работы нужно ввести пин: AT+CPIN=pin
Затем выдается:
Call Ready
Модуль готов к работе, хотя сеть может быть еще не найдена.

Важно №1 Основная проблема с использованием заключается в том что максимальное напряжение на них может быть 3.0В и если управляющий контроллер имеет питание больше 3.0В, то необходимо использовать согласующие цепи. Подключать напрямую или ставить только последовательно резистор крайне нежелательно. Есть вероятность спалить вывод или грохнуть прошивку. Я делал обычный резистивный делитель.
Важно №2 Сначала я использовал Terminal V1.9 от Br@y++. С ним почему то все работало э-эм, в общем неправильно. Ответы от модуля приходили не все, команды возвращались просто эхом. Почему не знаю, но помогло использование вместо него putty. Кто сидит под ХР могут использовать встроенную терминалку.

Аудио
Во всех модулях есть как минимум 1 вход микрофона и 1 выход на динамик. В зависимости от модели так же может присутствовать линейный вход и выход звонка. Мне все эти богатства особо не нужны, поэтому приведу только схемы подключения из даташита.
Подключение микрофона:

Подключение динамика:

Дополнительные входы/выходы
Сначала выходы. У модулей два информационных выхода — STATUS, который загорается после включения модуля и NETLIGHT, который мигает в зависимости от состояния сети.
Возможные режимы (Горит/Не горит):

  • 64мс/800мс — сеть не найдена
  • 64мс/3000мс — сеть найдена
  • 64мс/300мс — идет обмен по gprs
Рекомендуемая схема подключения светодиодов такая:

Так как всю информацию о состоянии модуля (и с большими подробностями) можно получить по шине данных, то использовать эти выходы нужно только для удовлетворения эстетического чувство прекрасного:)
Еще один полезный выход — выход PWM, на котором можно программно получить сигнал с частотой от 200Гц до 5кГц.
Полезных входов в модуле только один — вход ADC, который полностью соответствует своему названию и может измерять напряжение до 2.8В с частотой 200кГц и разрешением в 10бит.

Антенна
Тут все просто. Есть рекомендованная схема согласования, есть значение нужного сопротивления в 50 ом и есть мнение, что при длине проводника от ножки до разъема антенны меньше 2см никаких особых мер по согласованию не требуется. Я выбрал последний вариант:) Но на всякий случай схема согласования:

Результат
И вот что у меня получилось в итоге:


На данный момент модуль умеет звонить, принимать и отправлять смс, читать и писать в сим-карту, делать ussd запросы, читать и писать в файл на ftp сервере.
В архиве схема, плата и компоненты холдера для сим-карты и sim900D. Ссылка на народе для diptrace 2.1

Прошивка
Вот и обещанный бонус — последняя на данный момент прошивка для Sim900, версия B07. Также в архиве лежит B06, сама программа, pdf с инструкцией по прошивке и изменениями. Скачать с народа. Размер 3.86 МБ
Схема для прошивки модуля:

На плюс подключается, если для включения питания используется рекомендованная схема с транзистором
Если для связи с компом используется одна из разновидностей max232, то скорость лучше выбрать 115200. Я шил с такими параметрами:

Для прошивки — выбираем файл, меняем скорость и номер порта, замыкаем кнопку наглухо и жмем старт. В нижнем окне лога будет информация о ходе процесса.

Статья получилось какой-то слишком общей. Зато во второй части воды будет мало, зато будут основные команды управления модулем. На данный момент черновик уже весит в блокноте 12кБ.

we.easyelectronics.ru

GSM модуль SIM900D « схемопедия

 Важной составляющей автоматизации любого объекта является система мониторинга и контроля. Если управлять объектом на небольших расстояниях (до нескольких сот метров) не вызывает больших проблем – можно использовать индивидуальные маломощные приемо-передатчики. То с мониторингом удаленных объектов такой прием не прокатит, организовать собственный радиоканал, скажем на 100 км, так просто не выйдет. Но тут есть один выход – можно использовать развернутые повсеместно сети сотовых операторов. Для этого есть даже специализированные GSM-модули, прикидывающиеся в сети опсоса простым мобильником. Один из таких GSM-модулей SIM900D попал ко мне в руки (за что спасибо товарищу RD3AVJ), о нем и пойдет речь.

 SIM900D по сути является законченным устройством, который способен задействовать большинство услуг сотовой связи: совершать и принимать звонки, слать и получать SMS и MMS, использовать GPRS и заходить на FTP. Плюс такие плюшки как встроенный контроллер заряда Li-Ion батарей, часы реального времени, выход ШИМ интерфейс для подключения дисплея и аналогово-цифровой преобразователь (АЦП).

 Для начала работы модуля нужно минимум внешних элементов и питание, но обо всем по порядку. 

 ПИТАНИЕ

 Модуль необходимо запитывать постоянноым напряжением в диапазоне 3,2-4,5 вольта. Плюс питания подводится к выводам 38-39 (VBAT). Земля подводится ко всем выводам GND. Потребление в режиме ожидания составляет всего 1мА, но следует учитывать что во время регистрации сети или при плохом сигнале модуль задирает мощность и потребление кратковременно может подниматься до 2 А. Источник питания должен быть готов к этому и электролиты на пару тысяч микрофарад здесь лишними не будут.  В апноте на модуль приведена рекомендуемая схема питания на стабилизаторе MIC29302WT:

 В случае автономной работы рекомендуется использовать Li-Ion аккумуляторы, которые модуль может сам и подзаряжать.  Для этого имеется встроенный контроллер заряда. Чтобы модуль мог контроллировать процесс заряда, имеется вход TEMP_BAT (27 вывод). К этому выводу подключается третий вывод аккумулятора (это вывод встроенного в аккумулятор термистра) и в случае перегрева акка, зарядка будет прекращена. 

     

 Источник питания для заряда аккумулятора подключается к выводу VCHG (28 вывод). Напряжение источника может находиться в диапазоне 5-6 Вольт с возможностью тянуть ток до 750 мА.  Заряд начинается автоматически при подаче напряжения на вывод VCHG, поэтому в управляющей программе следует организовать опрос состояния батареи и при необходимости подавать напряжение заряда, например, через транзисторный ключ. 

 ПОДКЛЮЧЕНИЕ SIM-КАРТЫ

Следующим основным элементом является сим карта. Это ключ ко входу в сеть опсоса 🙂 Для работы с модулем необходимы сим карты с напряжением питания 3 или 1,8 вольт (старые пяти вольтовые симки работать не будут). Общая схема подключения ниже.  

     

 Подключается она к выводам SIM_x (выводы 6-9). Для того чтобы на выводе SIM_VDD появилось питающее напряжение необходимо прижать вывод KBR0 (вывод 10) к земле.  Для защиты линий от статики рекомендуют  использовать специальные TVS диоды типа SMF05С. Но их фиг где найдешь, поэтому можно оставить без них, главное поменьше трогать руками эти выводы. А при запайке, если нет паяльной станции, паять отключенным паяльником. 

 АНТЕННА

Тут вроде все просто, она подключается к выводу 33 (ANT). Желательно использовать специальную антенну GSM диапазона, от ее качества будет зависеть потребляемая мощность передатчика, и как итог – время автономной работы модуля. У меня на отрезок дорожки на плате длиной 7 мм уровень сигнала был 4 из 31, тоесть ловится но очень слабо. Но это при условии что репитер GSM находился на соседнем здании.

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

 

 ЧАСЫ РЕАЛЬНОГО ВРЕМЕНИ

В модуле имеется собственный RTC, способный вести время даже при отсутствии основного питания. Для этого к выводу VRTC (вывод 15) должен быть подключен источник резервного питания, например 3-х вольтовая батарейка CR2032 или ионистр. В случае подключения незаряжаемого источника (как простая батарейка) необходимо использовать диод Шоттки, для ограничения обратного тока. Ниже приведены две схемы, слева подключение ионистра; справа – батарейки. 

 ИНДИКАЦИЯ

Для индикации собственного состояния в процессе работы, у модуля есть несколько выводов для подключения светодиодов. Первый из них вывод NETLIGHT (вывод 41). На этом выводе при работающем модуле появляется меандр, с частотой зависящей от состояния подключения к сотовой сети: во время поиска и регистрации высокий уровень на этом выводе появляется с периодом 800мс, после регистрации сети – с периодом 3 сек. Подключать светодиод к этому выводу можно только через транзисторный ключ:

 

 Для индикации работы модуля есть еще один вывод – STATUS (5 вывод). На нем появляется высокий уровень когда модуль находится в рабочем режиме. Светодиод к этой ноге подключается также как и к выводу NETLIGHT (через NPN транзистор).

 Вывод RING (вывод 11) служит для индикации входящих звонков и текстовых сообщений. Этот вывод удобно использовать с внешним прерыванием контроллера, для оперативного реагирования на события. В отличии от двух предыдущих на выводе RING активным уровнем явлется низкий, поэтому если сюда цеплять светодиод, то в качестве ключа нужно использовать PNP транзистор:

 

 ЗАПУСК МОДУЛЯ

 Модуль запускается при отрицательном импульсе длинной не менее 1 сек. на ноге PWRKEY (вывод 12). Для подачи импульса рекомендуется использовать следующую схему:

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

 АУДИО

У модуля SIM900D имеется по два входа для микрофона и выхода на динамик. Для подключения используются выводы с 18 по 26. Схема согласования ниже.

Подключение микрофона:

Подключение динамика:

Опять же желательно использовать защиту линий от статического электричества.

 ШИМ и АЦП и остальные порты I/O

 Помимо основных функций, модуль умеет по команде генерировать ШИМ сигнал в диапазоне 200-5000 Гц с разрешением 10 бит. Выход для ШИМ находится на ноге PWM (47 вывод). К нему  можно подключить буззер и запрограммировать на проигрывание монофонической мелодии. 

 Еще одной полезной фишкой модуля является встроенный 10-битный АЦП, способный измерять напряжения до 2,8 В с частотой выборок 200кГц. Вход для преобразователя находится на выводе 29 – ADC0.

 Остальные выводы представляют меньший интерес. Например, выводы 13,14,16 являются линией для подключения дисплея по SPI интерфейсу, но стандартная прошивка модуля не позволяет использовать эту функцию.  Перепрошивка модуля выполняется через специальную программу, которую можно скачать с офф сайта производителя. Для прошивки модуля используются выводы DBG_RXD (1) и DBG_TXD (2).

 И теперь самое главное и интересное – УПРАВЛЕНИЕ. Управление модулем происходит через стандартный UART, посредством AT-команд. Здесь я их описывать не буду, это тема отдельной статьи, скажу лишь что модуль может работать на скоростях от 1200 до 115200 бод. При включении устанавливается режим авто-настройки скорости от 1200 до 57600, 8 бит данных, без четности и 1 стоп битом. Для синхронизации необходимо выждать несколько секунд после включения и послать команду «AT». В ответ модуль отправит «ОК». В дальнейшем можно запрограммировать общение модуля на фиксированной частоте. Для подключения к микроконтроллеру или компьютеру используются выводы RXD (3) и TXD (4). Важным моментом является то, что на этих линиях может быть напряжение не более 3В и если используется контроллер с большим напряжением питания, необходимо использовать согласующие цепи.

Даташит на SIM900D (описание хардверной части)

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

shemopedia.ru

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *