Я чего боюсь... Может этот многохавающий GSM приводит к помехам по питанию МК? Ибо когда они в связке, то МК выдаёт чушь. а отдельно всё норм. Навесь на него по питанию отдельно электролит, и немного керамики. А в идеале бы ещё и пару дросселей организовать...
Может этот многохавающий GSM приводит к помехам по питанию МК?
Да с питанием там жуткая проблема.
У меня в данный момент установлен танталовый на 220 мкф и параллельно ему электролит 470 мкф. ( по датащиту этого не достаточно ) При питании от USB, в связке FTDI+GSM-модуль - этого оказалось достаточно. Емкость придется добавить, керамику тоже прикошачу, а дроссель последовательно запихнуть в линию питания +5V ? Или еще куда?
Вот видео снял. Оператор - дочурка, по этому пришлось переснимать и один чёрт сняла криво косо... Смотрите оба видео ( в одном видно плату, а в другом текст на экране ) https://youtu.be/Kzhpd7z6B_c https://youtu.be/po6CxesLJFQ
немного слов о командах, которые я посылаю с компьютера в микроконтроллер: Микроконтроллер читает что ему пришло, и если это оказывается буква "K" или символ ">" то он воспринимает это как "успех" Если в ответ приходит что угодно другое, то он считает это ошибкой. Буква "K" это моя лень, на самом деле это слово "OK" В дальнейшем, я переключу модуль в режим ответа цифрами, для упрощения написания кода.
Обратил внимание что COM Port Toolkit 4.0 дописывает точки в конце команд, и не всегда одну... Бывает что и по три и по четыре... Подозреваю, что он таким образом показывает возврат каретки и перенос строки... ( Ну собственно в этом я уверен - я же hex вижу ) К чему я все это - Я не обратил внимания как отвечает GSM-модуль. Шлет ли он в ответ возврат каретки и перенос строки... Думаю что шлет - нужно проверить... Возможно придется код подправить, хотя это не должно вроде влиять... Щас покумекаю...
_________________ не зная броду не лезь к вольтмоду
Опять привет, читал то я внимательно, я только не смотрел Ваш код тогда. Вот мельком глянул и не нашёл места, где Вы после отправки номера ждёте ">". Также не видел, где Вы настраиваете модем (типа AT+IPR, AT+CMUX). Я понимаю, Вы скажете "через ПК работает", но кто мешает всё же настроить модем на нужный Вам бодрейт? По умолку он есть 115200 В коде он не указан (или я недосмотрел), а считать из установок УАРТа лень.9600.... И ещё. Прежде чем пытаться отправить СМС надо дождаться готовности модуля. (ок. минуты) Это готовность СИМ и успешная регистрация в сети. Для этого есть соответствующие АТ команды. Не отрицаю, м.б. и питание. P.S. я пользую терминалку Realterm
_________________ Я всё-всё узнAю и стану профессором.
не нашёл места, где Вы после отправки номера ждёте ">".
однако жду...
Цитата:
Также не видел, где Вы настраиваете модем
настраиваю так: AT+CMGF=1 включить текстовый формат AT+CSCS="GSM" кодировка ASCII ( приходит текст ) и этого для меня достаточно. Скорость 9600 почему не нравиться ?
Цитата:
И ещё. Прежде чем пытаться отправить СМС надо дождаться готовности модуля. (ок. минуты)
Это где вы такой тормознутый модуль взяли ? у меня довольно быстро регистрируется в сети.
Цитата:
Не отрицаю, м.б. и питание.
И я не отрицаю - нужно переделать....
Цитата:
P.S. я пользую терминалку Realterm
А у меня набор этих терминалок putty, COM Port Toolkit 4.0, Realterm, Terminal, Termite, hypertrm.......
_________________ не зная броду не лезь к вольтмоду
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
;********************************************* Read_Ph_B_Entry: ldi zl,low(cmdreadphb*2) ldi zh,high(cmdreadphb*2) rjmp send_command hang_up: ldi zl,low(hangup*2) ldi zh,high(hangup*2) rjmp send_command accept_call: ldi zl,low(acceptCall*2) ldi zh,high(acceptCall*2) rjmp send_command send_sms: ldi zl,low(cmdsendsms*2) ldi zh,high(cmdsendsms*2) rjmp send_command NumSend2: ldi zl,low(phNumSendTo*2) ldi zh,high(phNumSendTo*2) rjmp send_command SMS_txt: ldi zl,low(txtToSend*2) ldi zh,high(txtToSend*2) rjmp send_command ;bla bla bla ;********************************************* send_command: lpm tst r0 ;check if its the last character (the zero) breq return ;if yes, return. mov txbyte,r0 rcall byteTx ; adiw zl,1 ;increase zl rjmp send_command ;read next character from flash memory return: ret ;********************************************* byteTx: ;input: txbyte sbis USR,UDRE ;is UART transmitter ready? rjmp byteTx out UDR,txbyte ;sent out char ret ;********************************************* receive: ;You may write Your own routine for receiving byte from UART ;Output: rxbyte ret
;********************************************* ;********************************************* main: rcall Read_Ph_B_Entry rcall wait4Answer ;Wait here for answer either "OK" or "ERR" using receive routine ;If got "ERR" then repeat command ;You may just insert a delay here without checking the answer ;bla bla bla rcall hang_up rcall wait4Answer ;bla bla bla rcall accept_call rcall wait4Answer ;bla bla bla rcall send_sms ldi txbyte,'"' ;I am not sure here if it is nessesary to send ' " ' rcall byteTx rcall NumSend2 ldi txbyte,'"' rcall byteTx wait: rcall receive cpse rxbyte,'>' rjmp wait rcall SMS_txt ldi txbyte,$1A ;ESC sequence, end of SMS rcall byteTx ldi txbyte,$0D rcall byteTx
rjmp main ;*************************************************** ;************************** THE END *****************
hangup, accept Call вставил для общего понимания, Вам этого не надо. Все команды здесь для Сименса, ставьте что подходит Вам.
_________________ Я всё-всё узнAю и стану профессором.
Решил провести такой тест. В разрыв линии данных идущих с GSM модуля в микроконтроллер вставил терминалку компа. То есть фактически смотрел что отвечает GSM модуль и дублировал его ответы. Задавая тем самым паузу между командами.
что говорит о том, что GSM модуль все-таки какого-то черта перезагружается! И это не смотря на то что теперь в цепи его питания стоит танталовый на 220 мкф, два электролита - по 470 мкф каждый и керамика на 0,1 мкф. Общая емкость получается 1160,1 мкф... Питание брал и с USB и с LM7805, которая питается от 12ти вольтового БП ( 12V 1А ) Ну и чего это он перезапускается ?????
оставил его в покое и понаблюдал. Перезапуск происходит каждые 30 секунд ( питание брал от LM7805 и от usb - результат одинаковый )
А если исключить отладочную плату, то проблема остается.... Странно... - Раньше ( когда емкость была меньше ) я такого глюка не замечал!
_________________ не зная броду не лезь к вольтмоду
Пока модуль ничего в GSM сеть не шлёт, количество фарад мало влияет. А не мешаете ли Вы общению МК с модулем, вклиниваясь с ПК? Нзн. А убрав конды перегружается? Почему не сделать для этого ещё один, программный уарт? А что делает модуль в течении этих 30 сек? Отвечает на команды?
_________________ Я всё-всё узнAю и стану профессором.
Пока модуль ничего в GSM сеть не шлёт, количество фарад мало влияет.
Возможно он регистрируется в сети
dgrett писал(а):
А не мешаете ли Вы общению МК с модулем, вклиниваясь с ПК? Нзн.
Нет. Я уверен. ( Сейчас уже отладочная плата отключена. GSM включен в USB через FTDIпереходник )
dgrett писал(а):
. А убрав конды перегружается?
Убрал один на 470 и все равно перезагружается. Раньше этого небыло. Возможно это началось после того как на ночь оставил включенным в USB, но это не факт.
dgrett писал(а):
А что делает модуль в течении этих 30 сек? Отвечает на команды?
Я же говорю, что я ничего с ним не делаю. Я ни чего в него не шлю в этот момент. Оно просто лежит на столе. При чем свою отладочную плату я из схемы уже исключил. Напрямую подключил GSM к FTDI-переходнику и включил терминал.
_________________ не зная броду не лезь к вольтмоду
https://youtu.be/TjZIzKZc6ts думаю видео лучше чем фото.
Самое плохое то... что всё вроде бы хорошо. Очень так аккуратно, и в общем-то по месту поставлены конденсаторы. Причём цельный "букет". Даже и не знаю что сказать...
О чем это Вы ? В режиме эхо все работало нормально - когда работало. И сейчас работает...
самое странное то, что у моего приятеля работает с перемычкой между boot и gnd и он ни чего не передергивает. перемычка запаяна.
Эврика! контакты GND - разные!!! Несмотря на то, что они звонятся мультиметром и сидят на общей шине. Крайний контакт ( который подписан как .GND ) это контакт питания, а тот что рядом с BOOT нужен для того что бы на него повесить перемычку. Скорей всего все дело в разводке. Китайцы развели плату так как им было удобнее.
_________________ не зная броду не лезь к вольтмоду
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 35
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения