Mega2560R3 + SD + Питание от внешнего источника.

ScrewDriver
Offline
Зарегистрирован: 16.09.2013

Добрый день, пришлось регистрироваться, поскольку ничего подобного не нашел.

Есть мега и GPS шилд с SD карточкой. На шилде стоит стабилизатор 3.3В для питания карты с обвязкой керамикой - питание на него берется с 5В меги.

При запитки меги от USB порта все отлично работает - карта читается и пишется.

При питании от разъема внешнего питания (черный круглый 5.5мм джэк) - подаю туда 8В от пары АКБ 18650 получаем проблему - SD initialization failed.

Есть внешний стабилизатор 5В и 3В с керамикой - попробовал запитать его от этого же АКБ и от него уже мегу и плату с SD - Все заработало. Перекинул с него стабилизатор 5В и керамику на мегу, с меги обратно на него - результат не изменился - при подключении АКБ к Меге - не работает SD. Электролиты на меге тоже местами поменял - без результатно

Компаратор судя по всему отрабатывает - поскольку если питать одновременно от USB и АКБ инициализация SD карточки так же не проходит - т.е. питание производится от АКБ.

Проблема осложняется тем, что нет осциллографа и посмотреть помехи по питанию не могу.

Куда копать товарищи? Остается только mosfet и компаратор, я правильно понимаю? На 5В шину посадил доп. 100пФ, мельче пока что нету - без результатно.

Может кто распечатать placement элементов в PDF - Не хочется eagle ставить из-за этого ?

 

Заранее спасибо.

ScrewDriver
Offline
Зарегистрирован: 16.09.2013

Апдейт: карточка SD HC на 4 Gb, есть 2 штуки.

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

Отформатированы в FAT32, библиотека SD.h стандартная.

форматирование не помогает - initialization failed и привет....

комп карту видет, через ридер.

АПД2: чтение восстановилось - пока нес на работу проводок оторвал в кармане.

Что делать с питанием от АКБ, может у кого-то был опыт или есть какие-нибудь тонкости??

АПД3: Чудеса на виражах - то не удаляет файл, иногда читает мусор из файла, постоянно при периодическом чтении раз на 20-й флешка отваливается (читаю раз в 3 секунды) - помогает только SD.begin() заново. никакой стабильности.

АПД4: Поскольку получил кучу советов в тему =)))

В общем гугление дало вот какой результат - можно использовать либо аппаратный SPI интерфейс на MEGA - это ноги 50,51,52,53, либо! можно в конфиге /SD/utility/Sd2Card.h изменить параметр на отличный от нуля (у меня в примере уже изменено:

 * Define MEGA_SOFT_SPI non-zero to use software SPI on Mega Arduinos.
 * Pins used are SS 10, MOSI 11, MISO 12, and SCK 13.
 *
 * MEGA_SOFT_SPI allows an unmodified Adafruit GPS Shield to be used
 * on Mega Arduinos.  Software SPI works well with GPS Shield V1.1
 * but many SD cards will fail with GPS Shield V1.0.
 */
#define MEGA_SOFT_SPI 1

Тогда никакие провода не нужны, т.к. используются 10,11,12,13 пины как на всех шилдах и программный SPI.

Инициализируется просто - SD.begin();

Тест программного SPI дал положительный результат - пропали ошибки чтения данных из файла и ошибки открытия файла. Совсем! Программная реализация работает лучше аппаратной, весело..

Сейчас поставлю счетчик ошибок - на пару часов оставлю, посмотрим что насчитает - при использовании аппаратного SPI ошибки выскакивали раз в несколько секунд (скорость чтения файла 500мс).

Клапауций
Offline
Зарегистрирован: 10.02.2013

ScrewDriver пишет:

Программная реализация работает лучше аппаратной, весело..

Где-то было на форуме, что при питании от внешнего источника неправильно работает подтяжка для SD-карты, что-то с питанием 3.3 вольта связано.

ScrewDriver
Offline
Зарегистрирован: 16.09.2013

Клапауций пишет:

ScrewDriver пишет:

Программная реализация работает лучше аппаратной, весело..

Где-то было на форуме, что при питании от внешнего источника неправильно работает подтяжка для SD-карты, что-то с питанием 3.3 вольта связано.

 

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

АПД: За полтора часа ни одной ошибки считывания - считка идет раз в 500 мс.

Клапауций
Offline
Зарегистрирован: 10.02.2013

ScrewDriver пишет:

АПД: За полтора часа ни одной ошибки считывания - считка идет раз в 500 мс.

Ниочём не говорит, если

ScrewDriver пишет:

При запитки меги от USB порта все отлично работает - карта читается и пишется.

Проблемма явно аппаратная и кроется в особенностях схемы питания данной платы.

*здесь видел #5

ScrewDriver
Offline
Зарегистрирован: 16.09.2013

Клапауций пишет:

Проблемма явно аппаратная и кроется в особенностях схемы питания данной платы.

*здесь видел #5

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

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

А может и стабилизатор на плате gps в раскачку входит..... Хоть осциллограф покупай блин.

Плата вот такая используется.

ftp://imall.iteadstudio.com/IM120417017_Arduino_GPS_shield/SCH_IM120417017_ArduinoGPSshield.pdf

Вечером буду дальше ковырять...

АПД: На АКБ с программной реализацией заработало, видимо дело в обвязке SPI интерфейса самой меги при питании от внешнего разъема - ковырять лень, работает и ладно.