implex
Apr 15 2013, 00:46
Здравствуйте!
С согласованием уровней разобрался. Решил остановиться на питании МК от LDO стабилизатора. Теперь прошу помочь с выбором схемы питания. Самое доступное для меня это зарядка и аккумулятор от мобильника. Пока приглядываюсь к микросхемам заряда АКБ BQ24070 и MCP73871. В этих микросхемах есть выход на нагрузку.
1. Возможно ли питание схемы с этих выводов?
2. При подключенном зарядном и АКБ ток будет браться с АКБ или в зависимости от нагрузки?
novchok
Apr 15 2013, 04:01
Не надо никуда приглядываться, скачайте одну из тысяч схем мобильников и посмотрите как там сделано. На питании там стоят ширпотребные чипы.
Falkon_99
Apr 15 2013, 04:14
корпуса у этих микросхем не очень паябельные... но работают. а их главное приемущество, что модуль питается от сети, а АКБ висит в дежурном режиме, так вы продлеваете жизнь самой АКБ
implex
Apr 15 2013, 19:44
Цитата(Falkon_99 @ Apr 15 2013, 07:14)

корпуса у этих микросхем не очень паябельные... но работают. а их главное приемущество, что модуль питается от сети, а АКБ висит в дежурном режиме, так вы продлеваете жизнь самой АКБ
Есть возможность запаять под микроскопом. А в случае, если зарядка на 500мА, а во время включения схемы модуль проверяет источник на 2А микросхема переключится на АКБ безболезненно?
CADiLO
Apr 16 2013, 06:39
Например MCP73831T умеет отключаться от АКБ если от батареи берется ток больше зарядного.
Falkon_99
Apr 16 2013, 15:05
BQ24070 тоже умеет, короче при любых раскладах на её входе, на выходе будет стабильно отдаваться до 2А! Конечно при подключенной батареи)
implex
Apr 16 2013, 22:45
Пока что изучаю даташит MCP73871. Нужно ли на выходе из этой микросхемы ставить какой-то стабилизатор, или достаточно будет конденсатора на 1000мкФ? В модуле не будет использоваться GPRS, только голосовые вызовы и SMS.
Для чего стабилизатор? Зарядка идет током, который задается и контролируется этими чипами. Зачем ещё и 1000мкф? У AKБ ёмкость куда большая.
implex
Apr 17 2013, 10:34
Где-то на форуме читал что рекомендуется конденсатор и запаивать его необходимо ближе к контактам питания GSM модуля. Возможно эта рекомендация для схемы питания без АКБ. В любом случае проверю на практике. Всем спасибо за ответы.
CADiLO
Apr 17 2013, 10:36
Эта рекомендация для линейных стабилизаторов.
Для AKБ или синхронных PWM большая емкость там даже вредна.
implex
Apr 24 2013, 15:50
Собрал проверочную платку на MCP73871. Возникло несколько вопросов.
1. При подключенном блоке питания на 5В в моменты, когда ток внешней нагрузки меньше зарядного тока, на выходы OUT подается около 4.8 В. Судя по Functional Block Diagram в даташите так и должно быть. В моменты когда ток нагрузки больше - подключается батарея. При подключенном блоке питания не устраивает выходное напряжение, т.к. при >4.7 модуль начнет выдавать сообщения о превышении напряжения. Как решить данную проблему? Пока в голову приходит только снизить напряжение блока питания до 4.5В (MCP73871 это позволяет), но хотелось бы использовать стандартный блок питания на 5В.
2. На что влияет резистор, подключаемый к PROG3? Понял только что это как-то связано с окончанием зарядки и его величина рекомендуется от 5кОм до 100кОм.
С предыдущими вопросами разобрался)
Посоветуйте, пожалуйста, транзистор на отключение модуля с возможностью управления им от МК, запитанного от 3В.
Цитата(implex @ May 8 2013, 06:40)

Посоветуйте, пожалуйста, транзистор на отключение модуля с возможностью управления им от МК, запитанного от 3В.
Я использую IRLML6402, а вообще обычно микросхема стабилизатора имеет вход управления.
QUOTE (viakon @ May 8 2013, 06:10)

Я использую IRLML6402, а вообще обычно микросхема стабилизатора имеет вход управления.
Так использовать не получается, тут же не "Мюнхаузен, который себя за волосы из болота вытаскивает". После импульсника получаем 4.2В,
затем LDO 3В для питания процессора, затем этот IRLML6402, вкл/выкл модема. Управлять импульсником некому. На два импульсника никто раззоряться не хочет, да и не нужно. Никакие LDO от входного питания не интересны если питание внешнее. А если это батарейная запитка, то там другое.
Запитка батарейная. Контроллер заряда на MCP73871 с выходом на нагрузку (LDO с МК и модуль с транзистором). В случае отключения контроллера заряда МК тоже отключится, по этому выбрал ключ на транзисторе. Спасибо за ответы.
Единственное за что переживаю - зависание МК. Железно ничего не предусмотрел - постараюсь программно уйти от бесконечных циклов.
Какие есть способы железного отслеживания зависания МК?
vassabi
May 8 2013, 18:00
Цитата(implex @ May 8 2013, 20:15)

Какие есть способы железного отслеживания зависания МК?
"Железнее" собаки трудно придумать.
_Артём_
May 8 2013, 19:01
Цитата(implex @ May 8 2013, 20:15)

постараюсь программно уйти от бесконечных циклов.
Недостижимо... Программа в МК как правило после старта и инициализации крутится в бесконечном цикле или нескольких циклах. Или вы предлагаете новую методику написания программ для МК.
QUOTE (implex @ May 8 2013, 20:15)

Запитка батарейная. Контроллер заряда на MCP73871 с выходом на нагрузку (LDO с МК и модуль с транзистором). В случае отключения контроллера заряда МК тоже отключится, по этому выбрал ключ на транзисторе. Спасибо за ответы.
Единственное за что переживаю - зависание МК. Железно ничего не предусмотрел - постараюсь программно уйти от бесконечных циклов.
Какие есть способы железного отслеживания зависания МК?
Смотря какой проц. Вочьдог внешний или внутренний. И через какое-то время перезагрузка полюбому, стартовать заново, ...чтобы чего-то небыло. Хотя каждый имеет свой наработанный годами подход, и еще зависит от тз.
vassabi
May 8 2013, 21:14
Имхо, писать нужно так, чтобы даже собака не понадибилась
QUOTE (vassabi @ May 9 2013, 00:14)

Имхо, писать нужно так, чтобы даже собака не понадибилась

НУ---У как же без неё, повиснит когда нибудь и что делать?
velaskes
May 9 2013, 04:09
Есть, есть один способ. Вечный рестарт. Программа пишется так, чтобы в любой момент сброс никак не повлиял на ее работу. Внешний таймер сбрасывает программу раз в 10 минут.
Для GSM модуля особенно актуально, когда он не хочет отвечать, а ехать до него далеко. Для переменных использовать энергонезависимую вечную память Ramtron.
QUOTE (velaskes @ May 9 2013, 07:09)

Есть, есть один способ. Вечный рестарт. Программа пишется так, чтобы в любой момент сброс никак не повлиял на ее работу. Внешний таймер сбрасывает программу раз в 10 минут.
Для GSM модуля особенно актуально, когда он не хочет отвечать, а ехать до него далеко. Для переменных использовать энергонезависимую вечную память Ramtron.
Это то о чём я выше и писал - перезагрузка полюбому. Только вот время выбирается не всегда фиксированное, ... иначе подход.
implex
May 10 2013, 07:01
Цитата(_Артём_ @ May 8 2013, 22:01)

Недостижимо... Программа в МК как правило после старта и инициализации крутится в бесконечном цикле или нескольких циклах. Или вы предлагаете новую методику написания программ для МК.
Я имел в виду например после АТ команды ждать прогнозированный ответ не бесконечно долго, а определенное время.
А оно там разное и секунды и минуты могут быть. Влияет, смотря как программа написана, и какая реакция от оператора сс. Можно разным делать в зависимости от того гда находиться программа и тп.
Falkon_99
May 10 2013, 08:35
у меня тоже так. Если нет ответа на команду определенное время(вычесленное по терминалке, плюс запас) то ошибка. Обработка ошибки: идет запрос командой АТ если модуль не завис и отвечает, то пытаюсь снова пробится ТОЙ командой. либо перезапуск. Если еще глубже идти, то получится уже интелектуальноя система.
_Артём_
May 10 2013, 10:21
Цитата(implex @ May 10 2013, 10:01)

Я имел в виду например после АТ команды ждать прогнозированный ответ не бесконечно долго, а определенное время.
Ждать бесконечно долго ответ от модема? Как такое вообще может в голову прийти?
Причем тут бесконечно долго? Если у вас есть опыт работы с модемами и опсосами, то такое подвисание часто бывает особенно по GPRS из-за ошибок в прошивке модема, из-за разных задержек оператора, у конечного провайдера сети.
... Или у вас все идеально?
_Артём_
May 10 2013, 11:31
Цитата(Aner @ May 10 2013, 13:31)

подвисание часто бывает особенно по GPRS из-за ошибок в прошивке модема, из-за разных задержек оператора, у конечного провайдера сети.
Понятно что команды выполняются разное время. Некоторые до 2-3 минут.
Всё что длится дольше можно считать зависанием модема с соответствующими орг.выводами - сброс модема, отключение питания и тп.
Falkon_99
May 10 2013, 14:13
Вопрос такой...
Во время ожидания ответа контроллер что то делает, или тупо висит в цикле???
Если еще чтото нужно обработать в реальном времени...
vassabi
May 10 2013, 14:20
Цитата
Вопрос такой...
Во время ожидания ответа контроллер что то делает, или тупо висит в цикле???
Если еще чтото нужно обработать в реальном времени...
Про RTOS слышали? Она как раз для решения подобных задач.
_Артём_
May 10 2013, 14:36
Цитата(Falkon_99 @ May 10 2013, 17:13)

Во время ожидания ответа контроллер что то делает, или тупо висит в цикле???
Это не взаимоисключающие друг друга вещи: программа может висеть в цикле и обрабатывать что-то (используя прерывания).
Цитата(Falkon_99 @ May 10 2013, 17:13)

Если еще чтото нужно обработать в реальном времени...
Можно использовать разные способы: конечные автоматы, кооперативная многозадачность и ОСРВ (RTOS).
viakon
May 10 2013, 15:02
Что мешает кждый раз при подаче команды инициализировать downcount счетчик в соответствии с временем выполенения команды, если нет ответа в заданное время переинициализировать модуль.
Не все так просто, от задачи зависит. Может нужны длит ожидания, может нет. Открыли сокет и ждёте. Если по быстрому передать то открыли закрыли. Если опсос берёт оплату за одно открытие/закрытие, то считать нужно, чтоб платить по меньше. Вообщем задача с несколькими неизвестными. Если проц с RTOS, а это часто требуется, то контроль питания или даже нескольких питаний нужен.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.