Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: sim900 и антенна на печати
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
Страницы: 1, 2
Acvarif
Пытаюсь соорудить GSM охрану на базе sim900 и Atmega8L. Вернее переделать уже существующую которая работала в комплекте со стареньким c35. Все вроде внешне получается, но никак не могу определиться с антенной. Пока выбрал антенну на печати.
Подскажите пожалуйста как ее правильно расположить? Расположил прямо под sim900. Но в сети читал, что близкое соседство антенны с sim900 это плохо. Лучше располагать ее просто рядом. Направьте меня пожалуйста на путь истинный. Картинка расположения элементов приложена
Нажмите для просмотра прикрепленного файла
Aner
Только на краю платы, под антенной и рядом никаких полигонов земли. Чем больше площадь отдадите под антенну тем эффективнее. Испоьзуйте лучше F-антенну, диаграмма немного получше, да и двух диапазонка получается на меньшей площади.
Aner
Да, и только в одном слое. В вашем варианте на разных слоях 900/1800 мешают друг-другу. И где вы такое нашли?
Acvarif
Цитата(Aner @ Jun 3 2013, 20:57) *
Да, и только в одном слое. В вашем варианте на разных слоях 900/1800 мешают друг-другу. И где вы такое нашли?

Спасибо. Я так понял, что размещать антенну под sim900 нельзя принципиально?
Антенну нашел в сети на каком-то форуме. Поскольку с sim900 пока не работал вообще то и по поводу антенны ничего толком не пойму. Не понятно зачем у нее два слоя. Причем красный слой вообще ни с чем не связан. Может это ошибка?
Нажмите для просмотра прикрепленного файла
Буду признателен за рисунок на печати любой другой антенны для sim900.
RadikX
Если делаете промышленный вариант, а не "для себя", то лучше использовать выносную антенну. Неустойчивый сигнал (а прибор обычно засовывают в дальний незаметный уголок) может привести к такому геморою...
Methane
Цитата(Acvarif @ Jun 3 2013, 21:13) *
Спасибо. Я так понял, что размещать антенну под sim900 нельзя принципиально?


Рядом с антенной нельзя размещать ничего что проводит электричество. Совсем.

И наберите в гугле sim900 antenna design
CADiLO
Атмегу сколько вольт питает, как с модулем по уровням стыкуете ?
Где ключ на POWERKEY?
Почему STATUS не опрашиваете на предмет готовности модуля?
Какой конденсатор на VRTC ставите ?

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

Антенну на двухслойке проблематично нормальную получить. Не заморачивайтесь - ставьте угловой SMA разъем и что-то
типа такого http://www.microchip.ua/pictures/ap22.jpg вдоль платы.

Ну или вот мы с конца месяца будем предлагать такое
http://taoglas.com/images/product_images/o...%2003162010.pdf
CADiLO
Красиво - но бестолково.

А если еще бы на диаграмки посмотреть - усиление, КСВ, отраженка..... Особенно как углы которые под 45 градусов светятся.

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

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

Хотя я воткнул бы туда керамическую чип антенну на уже посчитаное посадочное место.

Интересно - контроллер через разъем цепляется или на EAT сделано? Ну и для двух карт туда SIM900DS так и просится sm.gif
Aner
SIM900DS дороже, а SIM900 + 4053 комутатор дешевле. Да и потом для SIM900 13-я ревизия на подходе, а для DS ... только-только анонс был.
Так что там многое правильно, ... согласен кроме антенны. Но ваше предложение по керамическим антеннам хуже, чем у них ... просто проверено измерениями.
Acvarif
Цитата(CADiLO @ Jun 4 2013, 08:33) *
Атмегу сколько вольт питает, как с модулем по уровням стыкуете ?
Где ключ на POWERKEY?
Почему STATUS не опрашиваете на предмет готовности модуля?
Какой конденсатор на VRTC ставите ?

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

Антенну на двухслойке проблематично нормальную получить. Не заморачивайтесь - ставьте угловой SMA разъем и что-то
типа такого http://www.microchip.ua/pictures/ap22.jpg вдоль платы.

Ну или вот мы с конца месяца будем предлагать такое
http://taoglas.com/images/product_images/o...%2003162010.pdf

AtMega8L питается от батареи (3.6В)
Схемка до конца еще не готова. Но основные компоненты уже определены. Все делаю в pcad2002. Вместе с библиотекой архив в аттаче. Размещение компонентов на плате определяется готовым корпусом (ограничение по высоте 12мм). Схема предполагает полностью мобильный вариант. Питается от батареи Li-ion которая при наличии электричества подзаряжается от сети (5v) через mcp73812. Схема имеет преобразователь 3в в 12 (60ma) для питания датчика движения и т. п. Буду признателен за рекомендации и замечания. Во всяком случае в прошлом в составе с С35 это все работало неплохо. Нажмите для просмотра прикрепленного файла
CADiLO
Не буду с этим спорить - это как вариант. Американцам виднее... sm.gif

Но то что надо развернуть антенну, это таки факт. Лишняя там длинная дорожка.

А по керамике...

Тут от специалиста зависит - можно так посчитать антенну на плате что после изготовления она все назад отражать будет sm.gif

Да и потом опять же - если делать саму плату на нормальном производстве то будет повторяемость антенны, а если считали для FR-4 а производитель сделает плату на CTФ, то потом может оказаться что на 8 см провода будет лучше рабоать чем на печатную антенну.

Поэтому если знаний и опыта маловато, то лучше готовое поставить. Но это ИМХО.


>>>>Схемка до конца еще не готова. Но основные компоненты уже определены.

Ну первые 4 вопроса уже сразу возникли - озвучены выше.

Не забывайте что на цифровые входы SIM900 максимум 3 вольта
и при отключеном модуле там не должно быть сигналов до появления STATUS

Как дорисуете схемку лучше предварительно покажите.
Если можно то в PDF или JPEG.

У меня Ваш файл во вьювере не открылся - не нашел фонт "quality"
Aner
QUOTE (CADiLO @ Jun 4 2013, 11:46) *
...
Но то что надо развернуть антенну, это таки факт. Лишняя там длинная дорожка.
...

Нет не лишняя, хитрость в том, что при не подключеной антенне, включили модуль и в сеть - то есть передача, то на этом условном фидере получаем, при не сильно большом ксв более-менее какое то излучение, и как ни странно с низким RSSI конектимся и регимся в сети.
Своего рода защита от дурака. Работает, но только не в дальних зонах от соты.

Насчет полного отражения ... ну оч сложно его получить при таких конструктивах. Это только когда у вас фидер, кабель, все в экранах в идеале. Тут длина волны не такая как например на кв.
CADiLO
Ладненько, подтянется еще народ, послушаем все мнения. На форуме уже не первый раз РCB антенну обсуждают - и споры так и не заканчиваются...
Falkon_99
Вот такую антену часто видно в интернете
Не знаю что у неё с КСВ, но говорят работает)
http://progects.narod.ru/Shems/GSM_GPRS_mo..._GPRS_modem.htm
Acvarif
Цитата(CADiLO @ Jun 4 2013, 11:46) *
Не буду с этим спорить - это как вариант. Американцам виднее... sm.gif

Но то что надо развернуть антенну, это таки факт. Лишняя там длинная дорожка.

А по керамике...

Тут от специалиста зависит - можно так посчитать антенну на плате что после изготовления она все назад отражать будет sm.gif

Да и потом опять же - если делать саму плату на нормальном производстве то будет повторяемость антенны, а если считали для FR-4 а производитель сделает плату на CTФ, то потом может оказаться что на 8 см провода будет лучше рабоать чем на печатную антенну.

Поэтому если знаний и опыта маловато, то лучше готовое поставить. Но это ИМХО.


>>>>Схемка до конца еще не готова. Но основные компоненты уже определены.

Ну первые 4 вопроса уже сразу возникли - озвучены выше.

Не забывайте что на цифровые входы SIM900 максимум 3 вольта
и при отключеном модуле там не должно быть сигналов до появления STATUS

Как дорисуете схемку лучше предварительно покажите.
Если можно то в PDF или JPEG.

У меня Ваш файл во вьювере не открылся - не нашел фонт "quality"

Да, виноват. Приаттачил схемку для pcad2006 без фонта "quality" Нажмите для просмотра прикрепленного файла
Должна открыться. Если что, попробую еще чего-нибудь придумать. Пытался открыть схему в Altium (оттуда можно сделать хорошую картинку) - пока открывается только пустой лист.

Добавлю на схему разъем sma-jr.

За цифровые входы спасибо. Тупо не знал. Придется atmeg_у запитать 3.3 В. Подойдет 3.3 В для sim900 или многовато будет? Или все-же 3В максимум? Нет, не так. Очевидно нужно стабилитроны на 2.7 В ставить. А питание AVR не менять.

Цитата
Не забывайте что на цифровые входы SIM900 максимум 3 вольта
и при отключеном модуле там не должно быть сигналов до появления STATUS

Тут я не совсем понял. Все что поступает с AVR должно быть в 0? Или не должно быть изменяющихся сигналов?
Aner
Похожа, работает не плохо на двух диапазонах, если под ней ничего нет. То есть воркуг куска печатной платы не должно ничего быть расположенного. Поскольку ближняя зона. Как только что-то появляется в окружении эффекивност падает резко.

Вот вам еще одна. Можете на плате делать или отдельно. Компактнее, получше с параметрами.
CADiLO
>>> Придется atmeg_у запитать 3.3 В. Подойдет 3.3 В для sim900 или многовато будет? Или все-же 3В максимум?

3 вольта максимум - номинал 2.8-2.9
Напрямую нормально стыкуется например PIC18/PIC24 питающийся 3 вольта. При 3.3 могут быть чудеса.

>>>Тут я не совсем понял. Все что поступает с AVR должно быть в 0? Или не должно быть изменяющихся сигналов?

Выходы контроллера идущие на входы модуля до появления STATUS держим в третьем состоянии.

Еще раз напомню - на POWERKEY транзисторный ключик - никаких виртуальных открытых коллекторов.
Acvarif
Цитата(CADiLO @ Jun 4 2013, 14:05) *
>>> Придется atmeg_у запитать 3.3 В. Подойдет 3.3 В для sim900 или многовато будет? Или все-же 3В максимум?

3 вольта максимум - номинал 2.8-2.9
Напрямую нормально стыкуется например PIC18/PIC24 питающийся 3 вольта. При 3.3 могут быть чудеса.

>>>Тут я не совсем понял. Все что поступает с AVR должно быть в 0? Или не должно быть изменяющихся сигналов?

Выходы контроллера идущие на входы модуля до появления STATUS держим в третьем состоянии.

Еще раз напомню - на POWERKEY транзисторный ключик - никаких виртуальных открытых коллекторов.

Все понятно.
Спасибо.
Схемку придется подкорректировать. После приаттачу.
Да, а сколько максимально можно подавать на VBAT sim900. Я так понимаю, что не более 4.2 В?
CADiLO
R22 не нужен
С17 перевесить на SIMVDD

На вход UART модуля можно поставить преобразователь уровня на полевичке отсюда
http://we.easyelectronics.ru/Shematech/sog...-ustroystv.html

Если на резистор и затвор со стороны модуля подать с модуля Vext, то STATUS можно не опрашивать. Vext появится в правильное время.


По питанию. Если отключить защиту то после 4.8 вольт имеет право сдохнуть.

Поэтому

The module software monitors the VBAT voltage constantly.

If the voltage ≤ 3.3V, the following URC will be reported:
UNDER-VOLTAGE WARNNING

If the voltage ≥ 4.7V, the following URC will be reported:
OVER-VOLTAGE WARNNING

If the voltage < 3.2V, the following URC will be reported, and the module will be automatically powered down.
UNDER-VOLTAGE POWER DOWN

If the voltage > 4.8V, the following URC will be reported, and the module will be automatically powered down.
OVER-VOLTAGE POWER DOWN
Frolov Kirill
Цитата(Acvarif @ Jun 3 2013, 20:55) *
Пытаюсь соорудить GSM охрану на базе sim900 и Atmega8L.


Помимо прочего, в таком объёме памяти, как программной, так и оперативной, невозможно разместить осмысленное ПО прибора.

Цитата
Лучше располагать ее просто рядом. Направьте меня пожалуйста на путь истинный.


Если известно как лучше, то зачем делать как плохо? Возьмите рекомендации по применению типовой чип антенны, там вкратце объясняется про то как её размещать, на каком минимальном расстоянии, и о том, что нужен большой земляной полигон для противовеса.


Цитата(CADiLO @ Jun 4 2013, 15:05) *
Еще раз напомню - на POWERKEY транзисторный ключик - никаких виртуальных открытых коллекторов.


Не надо плодить маразм.


Acvarif
Цитата
R22 не нужен
С17 перевесить на SIMVDD
Сделано.
Цитата
На вход UART модуля можно поставить преобразователь уровня на полевичке отсюда
http://we.easyelectronics.ru/Shematech/sog...-ustroystv.html

Если на резистор и затвор со стороны модуля подать с модуля Vext, то STATUS можно не опрашивать. Vext появится в правильное время.
Что такое Vext?
Цитата
По питанию. Если отключить защиту то после 4.8 вольт имеет право сдохнуть.
Я так понимаю, в модуле для собственного питания имеется свой стабилизатор на 3...3.3 В
CADiLO
Кирилл, это не маразм. К сожалению практика показала что это требование нужно выполнять.
Рассказы "ну у меня же работает" тут не годятся.
Есть четкая рекомендация ставить туда ключ и есть реальные случаи когда в партии часть изделий
работала с виртуальным ОК, а часть глючила. Экономим копейку - и можем получить головной боли на рубли.


>>>Что такое Vext?

15 ножка модуля - VDD_EXT - выход внутреннего стабилизатора. Появится когда модуль пройдет внутреннее тестирование и порты будут готовы к общению с внешним миром. Появляется одновременно со STATUS что позволяет использовать его с преобразователями уровней
или для запитки VIO USB преобразователей.

Falkon_99
Цитата(Frolov Kirill @ Jun 4 2013, 14:26) *
Помимо прочего, в таком объёме памяти, как программной, так и оперативной, невозможно разместить осмысленное ПО прибора.

rolleyes.gif та ладно вам rolleyes.gif
CADiLO
Соглашусь - разместить можно. Все зависит как и на чем писать. И от требуемого функционала.
Acvarif
Цитата(CADiLO @ Jun 4 2013, 14:38) *
15 ножка модуля - VDD_EXT - выход внутреннего стабилизатора. Появится когда модуль пройдет внутреннее тестирование и порты будут готовы к общению с внешним миром. Появляется одновременно со STATUS что позволяет использовать его с преобразователями уровней
или для запитки VIO USB преобразователей.

Понятно. Полезная ножка.
Можно-ли с пом. VDD_EXT запитать atmeg_у. Какой ток она может потянуть? atmega8L потребляет не больше 4 ma в активном режиме на частоте 4 мГц.
Цитата
Соглашусь - разместить можно. Все зависит как и на чем писать. И от требуемого функционала.

В прошлом варианте все заняло половину программной памяти. Если разгуляться с функционалом то можно и mega168 поставить. Вобщем все поместится однозначно. Даже scmRTOS можно поставить.
CADiLO
Vdd_ext - 10 мА максимум.

Но я бы не питал так контроллер - модуль можно усыпить или выключить, а контроллер будет смотреть за окружающим миром.
Frolov Kirill
Цитата(CADiLO @ Jun 4 2013, 15:38) *
Кирилл, это не маразм. К сожалению практика показала что это требование нужно выполнять.


Цитата
Рассказы "ну у меня же работает" тут не годятся.


Рассказы "у меня не работает" -- не годятся тем более. Или вы можете обосновать, чем транзистор внутри микросхемы отличается от дискретного, или это всё словоблудие.

Да, нужен 5V-tolerant выход, нужно правильное программирование, и всё такое прочее.

Цитата(CADiLO @ Jun 4 2013, 15:59) *
Соглашусь - разместить можно. Все зависит как и на чем писать. И от требуемого функционала.


Функционал там будет на уровне включить-выключить. И не надо сказок про волшебный ассемблер.

Цитата(Acvarif @ Jun 4 2013, 16:13) *
В прошлом варианте все заняло половину программной памяти. Если разгуляться с функционалом то можно и mega168 поставить. Вобщем все поместится однозначно. Даже scmRTOS можно поставить.


Нехитрый расчёт. Строка C кода занимает ~6-8 байт для 8-битного микроконтроллера (в программной памяти). Что можно уместить в ~1000 строк кода (там ж ещё и константы нужны)?
Да практически ничего. Простейший printf займёт "половину памяти" в этой атмеге. А чтоб принять SMS-ку потребуется более половины ОЗУ. Реальный проект, например, с ограниченным функционалом, превышает 30 тыс. строк (без сторонних библиотек, RTOS и т.п.) Речь либо о гениальности, либо о дилетантстве.
CADiLO
>>>Или вы можете обосновать, чем транзистор внутри микросхемы отличается от дискретного, или это всё словоблудие.

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

Вот когда у вас там будет чесный ОК - например как RA4 в PIC16F628 где только нижний ключ и вход без защитных диодов.
Или на Альтере есть такие выходы.

А PIC24 с его виртуальным ОК который не способен отключить модуль, так как сам сдурел я уже видел.

И видел STM32F100 когда его усыпить пытались при отключеном модуле но на входе было напряжение с внутренней подтяжки POWERKEY и контроллер сходил с ума .

Написано в доках ставить ключ с чистым ОК - значит есть причина и непфиг выделываться.


>>> И не надо сказок про волшебный ассемблер.

А не нужен ассемблер - я сравнивал дизассемблированые куски кода после XC08 Compiler с включеным оптимизатором (регистрированая версия) и с отключеным (шаровая) - так вот после прохода оптимизатора там красивый читаемый асм. А без оптимизатора куча операций через стек и лишние NOP.



Frolov Kirill
Цитата(CADiLO @ Jun 4 2013, 17:19) *
>>>Или вы можете обосновать, чем транзистор внутри микросхемы отличается от дискретного, или это всё словоблудие.

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


Микроконтроллеры 10-20 летней давности с 5-вольтовым питанием и прочей спецификой не рассматриваю.

Я специально уточнил -- 5V tolerant. Использование "нетолерантных" выводов ведёт к втеканию тока через защитные диоды вывода.

Верхный ключ включать не нужно. Его включение, как и "нетолерантные" выводы нежелательно и для МК, и для модуля.

Резисторы подтяжки в современных МК отключаются. И если они в какой-то момент случайно включены, сразу после сброса, например, то ничего страшного не произойдёт.

Цитата
А PIC24 с его виртуальным ОК который не способен отключить модуль, так как сам сдурел я уже видел.


Несколько раз перечитал -- ничего не понял. Излагайте мысль ясно, или промолчите.
В PIC24 как и у прочих PIC есть TRIS и LAT регистры. Как и у практически любого современного МК. Достаточно отключить pull-up, записать в LAT ноль, а в TRIS что требуется.

Цитата
И видел STM32F100 когда его усыпить пытались при отключеном модуле но на входе было напряжение с внутренней подтяжки POWERKEY и контроллер сходил с ума .


См. выше. Схемотехника защиты выходов МК различается и это нужно учитывать.
Кто-то что-то сделал через ()() и вы из этого делаете выводы космических масштабов.
Нет, это проблемы конкретных авторов и не нужно обобщать.

Цитата
Написано в доках ставить ключ с чистым ОК - значит есть причина и непфиг выделываться.


В доках написано как включать. Замыканием POWEKEY на землю. Хоть релюшкой. Не надо притягивать за уши биполярные транзисторы.

Цитата
>>> И не надо сказок про волшебный ассемблер.

А не нужен ассемблер - я сравнивал дизассемблированые куски кода после XC08 Compiler с включеным оптимизатором (регистрированая версия) и с отключеным (шаровая) - так вот


Не рассказывайте о вкусе устриц, ок? Если речь про XC8, то им невозможно собрать проект собираемый в hitech-C 9.51pl2. Это сырая и глючная версия. И с отключенным оптимизатором этим никто не пользуется. С отключенным оптимизатором будет по полсотни байт на строчку кода, что ни в какой контроллер не влезет. Цифра порядка 8 байт на строчку кода -- она, на самом деле, весьма оптимистичная, если речь не о ARM в thumb режиме.
_Артём_
Цитата(Frolov Kirill @ Jun 4 2013, 16:17) *
Простейший printf займёт "половину памяти" в этой атмеге.

Не нужен там printf, даже простейший.

Цитата(Frolov Kirill @ Jun 4 2013, 16:17) *
А чтоб принять SMS-ку потребуется более половины ОЗУ.

Многовато как-то.
Максимальная длина смс - 160 байт + телефонный номер 14 байт. Остаётся ~800 байт ОЗУ.

Цитата(Frolov Kirill @ Jun 4 2013, 16:17) *
Реальный проект, например, с ограниченным функционалом, превышает 30 тыс. строк

Так и есть. На мега8 реально не сделать. Минимум mega64/128 нужно.
Frolov Kirill
Цитата(_Артём_ @ Jun 4 2013, 18:14) *
Не нужен там printf, даже простейший.


Таки дилетантство. Он потребуется даже в AT+CMGS.

Цитата
Многовато как-то.
Максимальная длина смс - 160 байт + телефонный номер 14 байт. Остаётся ~800 байт ОЗУ.


Максимальная длина SMS -- 140 байт (160 7-битных символов). Что занимает около 600 байт ОЗУ: 140 * 4 ибо передача в HEX и UCS2. Плюс заголовок и т.п... И это только один сегмент. На запрос баланса их запросто пара-тройка придёт.
CADiLO
Вам поспорить так хочется? Или нахамить? Зря....
Последний год думал, что заразился по..измом, пока не узнал, что это называется стрессоустойчивость. sm.gif

Объясню - кроме Вас еше сотни пользователей которые делают на разных контроллерах в том числе и на 10 летней давности.
Вы можете делать как Вам хочется и на чем хочется. Для остальных я объясняю с чем они могут столкнуться.

Итак документ http://microchip.ua/simcom/SIM900x/SIM900/...esign_V2.04.pdf
Страница 18 рисунок 1 - рекомендуемая схема поверкея.
Это не я придумал. Не хотите - не придерживайтесь.
Но при отступлении от документа Симком рассматривает это как не выполнение рекомендаций и вопросы к рассмотрению не принимает.
А вот шанс получить глюки - имеется.

Ну и еще - сами говорите о новизне, а пользуетесь древним, неподдерживаемым hitech-C 9.51pl2
При том что Хайтек давно продался Микрочипу.
Кошек еще уметь готовить нужно прежде чем говорить что XC глючные.

Я уже пару раз приводил пример проекта сделаного на асме. Если повторите на том же контроллере на C - ставлю ящик коньяка.

>>>>Максимальная длина SMS -- 140 байт (160 7-битных символов). Что занимает около 600 байт ОЗУ: 140 * 4 ибо передача в HEX и UCS2.

А конвертировать на лету не пробовали? Или тоже дилетанство?

Тогда могу дать прикольный проект конца 80х на 580ВМ80 - часы с подачей звонков в школе - ОЗУ НЕТ ВООБЩЕ - все на регистрах процессора.
С индикатором кстати - от часов которые в виде конструктора продавались на 145 серии.
Математика плюс правильный алгоритм. В Днепропетровске в свое время стояли в 16 школах и 2 техникумах.
_Артём_
Цитата(Frolov Kirill @ Jun 4 2013, 17:27) *
Он потребуется даже в AT+CMGS.

Что без принтф строчку в UART послать никак-чтоли?


Цитата(Frolov Kirill @ Jun 4 2013, 17:27) *
Максимальная длина SMS -- 140 байт (160 7-битных символов). Что занимает около 600 байт ОЗУ

160 байт занамают 600 байт? sm.gif
Цитата(Frolov Kirill @ Jun 4 2013, 17:27) *
около 600 байт ОЗУ: 140 * 4 ибо передача в HEX и UCS2. Плюс заголовок и т.п...

Кодировать в PDU можно не всю сразу а по мере отправки. Тогда 600 байт не надо.
CADiLO
>>>Таки дилетантство. Он потребуется даже в AT+CMGS

Дилетанство это тратить память и ресурс на вызов не нужной функции, когда можно из таблицы побайтно в порт/из порта в цикле.
Как вариант. Есть и другие решения и тоже без стандартных функций.
Frolov Kirill
Цитата(CADiLO @ Jun 4 2013, 18:31) *
Итак документ http://microchip.ua/simcom/SIM900x/SIM900/...esign_V2.04.pdf
Страница 18 рисунок 1 - рекомендуемая схема поверкея.
Это не я придумал. Не хотите - не придерживайтесь.


Если они в схеме нарисуют рекомендуемый контроллер -- что, всем точно такой же ставить? Или рекомендуемую батарейку. А у них ещё рекомендуемый источник питания. Всем на таком делать? Не надо чепухи. Рекомендуемая схема даётся для примера, а не для обязательного повторения.

Цитата
А вот шанс получить глюки - имеется.


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

Вариант с транзистором и аж тремя резисторами через-чур расточительный по габритам. У них там по-приличней вариант был с одним MOSFET, на это ещё можно пойти и, не буду спорить, проще лишний транзистор, чтоб не забивать голову всякой чепухой. Но повторюсь -- принципиальной разницы между транзистором встроенным в МК я не вижу, за исключеним ряда ньюансов. Дьявол кроется в мелочах, как всегда.

Цитата
Ну и еще - сами говорите о новизне, а пользуетесь древним, неподдерживаемым hitech-C 9.51pl2
При том что Хайтек давно продался Микрочипу.
Кошек еще уметь готовить нужно прежде чем говорить что XC глючные.


Кошки уже давно изготовлены, ещё до того как. А XC8 просто не работает, как и не работала никогда PRO версия со сколько-нибудь большими проектами -- это суровая правда жизни. Как и то, что микрочипу на это наплевать. Кому нужно пользуют STD версии. Не работает оно на выражениях x=y со словами "too complex expression", я уж не знаю что тут упрощать. Насколько я понимаю, люди из hitech software не осилили свой "omniscent optimizer" и сейчас там проект не поддерживают, а больше поддерживать его некому. И XC8 -- это лишь переименованная и перекрашенная на новый лад всё та же старая PRO версия. Changelog это прекрасно подтверждает -- никаких принципиальных изменений за последние три года, добавили новые .h файлы и такие мелочи всё больше. Подталкивают потребителей на PIC24.

Любите сравнивать -- сравните любой код с плавающей точкой STD версии и PRO. Будете неприятно поражены... Это вот где был нужен ассемблер.

Цитата
Я уже пару раз приводил пример проекта сделаного на асме. Если повторите на том же контроллере на C - ставлю ящик коньяка.


Есть какая-то неуловимая всё разница, между проектами для реальной жизни и чемпионскими достижениями на ассемблере, не находите? Последние хороши только для соревнований.

И ящика определённо мало. Столько я не выпью.

Цитата
>>>>Максимальная длина SMS -- 140 байт (160 7-битных символов). Что занимает около 600 байт ОЗУ: 140 * 4 ибо передача в HEX и UCS2.

А конвертировать на лету не пробовали? Или тоже дилетанство?


Таки да, дилетанство. Овчинка определённо не стоит выделки. Вагон коньяка никто за это не предложит. Для Apollo Guidance Computer -- такое решение имело бы смысл. Но у нас тут не NASA и сейчас не 1966 год. Можно было бы и процессор свой сделать на микросхемах 1533 серии. Но зачем? Так и в странной архитектуре ПО, где все слои смешаны, смысла нет. Проще поставить достаточное количество ОЗУ и сократить время разработки.


Цитата(CADiLO @ Jun 4 2013, 18:55) *
>>>Таки дилетантство. Он потребуется даже в AT+CMGS
Дилетанство это тратить память и ресурс на вызов не нужной функции, когда можно из таблицы побайтно в порт/из порта в цикле.
Как вариант. Есть и другие решения и тоже без стандартных функций.


Стандартные функции существуют для того, чтобы не изобретать свои самодельные велосипеды с кривыми квадратными колёсами. Дилетанство -- это отрицать этот очевидный факт. В объёме реального проекта, я приводил цифры, объём printf'а не заметен.




Цитата(_Артём_ @ Jun 4 2013, 18:38) *
Что без принтф строчку в UART послать никак-чтоли?


printf нужен для преобразования из числовой формы в текстовую. Для HEX-кодов и десятичных чисел (в CMGS параметром идёт длина PDU).

Цитата
Кодировать в PDU можно не всю сразу а по мере отправки. Тогда 600 байт не надо.


Я про приём. Для отправки 160 байт нужно вообще 140 байт (плюс заголовок). И для отправки 70 символов русского текста те же 140. Возможно 280, потому, что поддержка извращения с кодированием (не в PDU, только HEX) на лету занимает сильно непропорционально больше программной памяти, чем экономит ОЗУ.

В обратную сторону так просто не получится потому, что чтобы разбирать PDU нужно вначале разделить ответы модема. Есть конечно теория, которая говорит нам, что любой недетерминированный конечный автомат можно превратить в детерминированный с очень большим числом состояний -- но проверять это на практике: овчинка выделки точно не стоит.
_Артём_
Цитата(Frolov Kirill @ Jun 4 2013, 18:26) *
Я про приём.

Приём тоже на лету можно делать без проблем.

Цитата(Frolov Kirill @ Jun 4 2013, 18:26) *
Для отправки 160 байт нужно вообще 140 байт (плюс заголовок). И для отправки 70 символов русского текста те же 140. Возможно 280, потому, что поддержка извращения с кодированием (не в PDU, только HEX) на лету занимает сильно непропорционально больше программной памяти, чем экономит ОЗУ.

Русский язык не рассматриваем - на мега8 это не сделать.
Frolov Kirill
Цитата(_Артём_ @ Jun 4 2013, 19:53) *
Приём тоже на лету можно делать без проблем.


Можно, но бессмысленно и абсурдно.

Цитата
Русский язык не рассматриваем - на мега8 это не сделать.


А без русского языка оно всё не нужно никому --> ЧТД.
Acvarif
Спасибо за подсказки. Дорабатываю схемку. Думаю придется поставить MCP1702t-3002 (стабилизатор 3v) для питания atmega8L. мега L может работать от 2.7 v на частоте до 8 мГц. Это даст возможность напрямую стыковать sim900 и мегу.
По поводу споров по программе - думаю они лишние, поскольку в конечном итоге все зависит от функционала. На данное простое устройство достаточно 4кбайт программы. SMS вообще располагаю в программной памяти. Когда нужно вывести они выводятся побайтно. printf в микроконтроллере - анахронизм для новичков. Пользуюсь IAR много лет. Устраивает.
CADiLO
>>>Спасибо за подсказки. Дорабатываю схемку. Думаю придется поставить MCP1702t-3002 (стабилизатор 3v) для питания atmega8L. мега L может работать от 2.7 v на частоте до 8 мГц. Это даст возможность напрямую стыковать sim900 и мегу.

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

Рекомендую предусмотреть полевик с малым падением (схема на форуме обсуждалась) для аварийного перезапуска модуля по питанию.
Могут встретиться ситуации когда модуль зависет и только передернуть питание останется. Очень редко но бывает.


Acvarif
Цитата(CADiLO @ Jun 5 2013, 10:26) *
Если питание будет только от аккумулятора посмотрите на потребление самого стабилизатора.
В Вашем случае 1 полевик и 1 резистор на согласование уровней могут оказаться экономичнее как по деньгам так и по потреблению, а атмегу оставить питаться от аккумулятора и при необходимости просто усыплять и модуль и контроллер.

Рекомендую предусмотреть полевик с малым падением (схема на форуме обсуждалась) для аварийного перезапуска модуля по питанию.
Могут встретиться ситуации когда модуль зависет и только передернуть питание останется. Очень редко но бывает.

Резонно. Нужно подумать.
Вообще мега при наличии сети будет питаться от источника на Lm2574. Я предположил, что можно последовательно еще добавить и MCP1702t-3002(согласовать уровни). Стоит она в пределах 1 бакса. Вроде недорого. От акб мега будет запитываться только при пропадании сети. Развязка одним маломощным диодом шотки (малое падение). Тоесть когда есть сеть и соответственно есть 5 В то на MCP1702t-3002 поступают 5 В. Если сеть пропала то на MCP1702t-3002 через диод будет подано напряжение от акб. При наличии сети (поскольку есть диод) от акб на MCP1702t-3002 (соответственно на мегу) ничего не пойдет пскольку 5 В больше 4.2 В
При этом sim900 будет питаться только от акб который периодически будет подзаряжаться через mcp73812.
Для перезапуска питания симки поствлю полевик. Наверняка можно применить irf7304 (0.5 бакса) Спасибо за подсказку.
CADiLO
>>>MCP1702t-3002(согласовать уровни). Стоит она в пределах 1 бакса.

MCP1703T-3002E/CB - 54 цента. sm.gif

>>>Вообще мега при наличии сети будет питаться от источника на Lm2574.
>>>При этом sim900 будет питаться только от акб

Лучше гляньте на синхронник ST1S10 или MCP16323T-ADJ - не нужно по выходу больших емкостей, меньше места, быстрее реакция на изменение тока потребления. И есть ножка отключения для перезапуска модуля.

Модуль тоже питайте от сети - переход можно сделать несколько иначе. Посмотрите пример в семинаре.
Верхние полевики меняем на стабилизатор с управлением....

Вобщем идея такова что на АКБ только при аварии переходим.

Если Вы из Украины, черкните в личку куда Вам перезвонить.
Maratt
Про антенны совсем забыли.
Для себя сделал такую - см. рисунок.
Это из:
http://www.microchip.ua/simcom/SIM900x/App...B%20Antenna.pdf
Впечатления:
Субъективные - регистрируется в сети быстрее, чем с проволочной (спиральной) антенной.
Объективные - устанавливал ограничение по току на источнике питания 500mA при 4,2В. Тридцать включений - выключений модема, ни одной повторной перезагрузки и отказа включаться, регистрироваться в сети.
Вопрос.
Кто как делает "полевые" условия (плохую связь) для модема в лабораторных (домашних) условиях, не отключая антенну?

С уважением.
Acvarif
Цитата(CADiLO @ Jun 5 2013, 11:51) *
>>>MCP1702t-3002(согласовать уровни). Стоит она в пределах 1 бакса.

MCP1703T-3002E/CB - 54 цента. sm.gif

>>>Вообще мега при наличии сети будет питаться от источника на Lm2574.
>>>При этом sim900 будет питаться только от акб

Лучше гляньте на синхронник ST1S10 или MCP16323T-ADJ - не нужно по выходу больших емкостей, меньше места, быстрее реакция на изменение тока потребления. И есть ножка отключения для перезапуска модуля.

Модуль тоже питайте от сети - переход можно сделать несколько иначе. Посмотрите пример в семинаре.
Верхние полевики меняем на стабилизатор с управлением....

Вобщем идея такова что на АКБ только при аварии переходим.

Если Вы из Украины, черкните в личку куда Вам перезвонить.

Спасибо за инфу. Думаю примерно так
1. Питать все от электричества через ST1S10 (нормальный ток и возможность перезапуска) - но при этом lm2574 сохранить для заряда батареи через mcp73812.
2. Согласование уровней через полевики. Хотя у меня в одном из программаторов и на стабилитронах rs канал номально работал. Но наверное рисковать не стану.
3. При пропадании электричества питать все от батареи.
4. Для антенны поставлю разъем sma-jr но и наплате оставлю антенну.
Схемку подправлю и приаттачу.

В личку черкнул.
CADiLO
А входное напряжение сколько планируете ?
Acvarif
Цитата(CADiLO @ Jun 5 2013, 16:44) *
А входное напряжение сколько планируете ?

Обычно 9...15 В от сети (Внешний трансформаторный источник 0.5...1 А). Или АКБ 12В
CADiLO
А если использовать входное 6 вольт - меньше греть стабилизаторы, да и зарядное тогда отдельно не нужно питать ?
Или есть вариант в машину ставить? Тогда прийдется подумать над входным LC фильтром + супрессор....
Frolov Kirill
Цитата(Acvarif @ Jun 5 2013, 11:01) *
На данное простое устройство достаточно 4кбайт программы. SMS вообще располагаю в программной памяти. Когда нужно вывести они выводятся побайтно. printf в микроконтроллере - анахронизм для новичков. Пользуюсь IAR много лет. Устраивает.


Цитирую ещё раз: Стандартные функции существуют для того, чтобы не изобретать свои самодельные велосипеды с кривыми квадратными колёсами. Дилетанство -- это отрицать этот очевидный факт.

Особенно смешно про новичков слышать от адептов AVR в дип корпусах, как и рассуждения на тему что нужно, а что не нужно в микроконтроллере. Я его 10 лет назад последний раз в руках держал, атмегу8, ага в дип. AVR как признак дурного вкуса уже и дичайшего любительства. Arduino ещё не хватало для полноты впечатлений... http://habrahabr.ru/post/172517/



Цитата(CADiLO @ Jun 5 2013, 11:26) *
Рекомендую предусмотреть полевик с малым падением (схема на форуме обсуждалась) для аварийного перезапуска модуля по питанию.
Могут встретиться ситуации когда модуль зависет и только передернуть питание останется. Очень редко но бывает.


Зависать может не только модуль: транзисторов на каждый чих не напасёшься. Считаю, разумным сделать функцию кратковременного отключения питания всего прибора вообще. Часто микросхема стабилизатора имеет вывод "enable", "shutdown" и т.п. -- его и использовать. И, разумеется, предусмотреть метод разряда конденсаторов, которые сами по себе за пару секунд могут не разрядиться.
Slonofil
Цитата(Frolov Kirill @ Jun 5 2013, 17:27) *

Вы меня, конечно, простите, но Ваш тон вкупе с приведённой Вами статьёй даёт повод усомниться в Вашей же компетентности. С чисто психологической точки зрения, так сказать.

Цитата(Frolov Kirill @ Jun 5 2013, 17:27) *
И, разумеется, предусмотреть метод разряда конденсаторов, которые сами по себе за пару секунд могут не разрядиться.

Зачем "метод разряда конденсаторов"? Раз уж контроллер управляет питанием SIM900 через какой-нибудь enable преобразователя, то кто ему мешает после перезагрузки всего питания системы подержать этот самый enable хоть с десяток секунд в сбросе?..
Aner
QUOTE (Maratt @ Jun 5 2013, 16:19) *
Про антенны совсем забыли.
Для себя сделал такую - см. рисунок.
Это из:
http://www.microchip.ua/simcom/SIM900x/App...B%20Antenna.pdf
Впечатления:
Субъективные - регистрируется в сети быстрее, чем с проволочной (спиральной) антенной.
Объективные - устанавливал ограничение по току на источнике питания 500mA при 4,2В. Тридцать включений - выключений модема, ни одной повторной перезагрузки и отказа включаться, регистрироваться в сети.
Вопрос.
Кто как делает "полевые" условия (плохую связь) для модема в лабораторных (домашних) условиях, не отключая антенну?

С уважением.

В Post #17 антенна получше по параметрам, поменьше площадью, и двух-диапазонная. С верхним диапазоном у приведенной вам антенны не очень.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.