С целью избавиться от
этой самодельной страхоты, был заказан отдельный модуль. Он позволяет подключать MicroSD-карту по протоколу SPI к Ардуино.
Товар был доставлен в Украину за 36 дней, заказывал во время акции, цены указаны со скидкой и текущая…
Приехало, завёрнутое в пупырку:
запаяно в плотном пакете:
Первое впечатление: устройство слишком большое!
можно было бы разместить элементы с обратной стороны платы — уменьшить размеры раза в два.
Вставленная карточка выпирает, кажется, на 0.2мм:
Имеется удобный механизм, благодаря которому карточка выщелкивается,
аки крышка в телевизоре «Берёзка» — стандартная фишка любого нормального разъема SD-карт.
Толщина ~4мм, если не считать штыревые контакты:
припаяли бы элементы с обратной стороны — получили бы 5мм. По-моему, в самоделках для компактности лучше +1мм к толщине, чем +25мм в длину платы. Для сравнения:
зелёная плата слева используется для тех же целей, снизу — GPS-модуль.
Ну да ладно, для изучения пойдёт, а кому надо — сам плату от
ЛУТит.
Заявлено
«SDHC(high-speed card)», вероятно, это означает поддержку карт 32 ГБ =)
Схема
Конкретно для этого модуля схему не нашел, но принцип работы, думаю, такой —
www.pighixxx.com/test/wp-content/uploads/2014/10/200.png
LVC125A —
docs-europe.electrocomponents.com/webdocs/12e1/0900766b812e1075.pdf
Заявленные характеристики:
напряжение работы: 1.65-3.6В,
напряжение на входе: до 5.5В,
AMS1117-3.3 —
www.ams-semitech.com/attachments/File/AMS1117_20120314.pdf
Завяленные характеристики:
выходной ток до 1А,
входное напряжение: 4.8 — 10.3В,
выходное напряжение: 3.234 — 3.366В,
греется до 125 градусов по Цельсию,
при монтаже выдерживает нагрев до 300,
имхо, 4.8В многовато для нижнего предела.
Проверка
Для проверки скорости были использованы две карты памяти:
SanDisk на 2ГБ, шедшая в комплекте со старым смартфоном
И SanDisk Ultra Class 10 на 16ГБ
отформатированы они обе были под FAT32, с размером кластера 16КБ.
Они поочерёдно размещались то в подключенный модуль, то в GPS-логгер, где производились тесты записи и чтения. Код теста скорости —
gist.github.com/ircphp/5df3ec8319fc5de1b3e877e261e5eada
W/R, Kbps
Модуль Страхотень
2GB: 860/179 859/179
16GB: 893/180 924/180
Склоняюсь ко мнению, что скорость ограничивается быстродействием самой Ардуино. Следовательно, лучше собрать устройство для работы с SD-картой самому на делителях, не потому что так может быть дешевле и быстрее, а главным образом, потому что можно сделать компактнее. Да, на плате имеется мощный линейный стабилизатор (хоть я и не уверен в его качестве), но можно обойтись и без него, запитавшись от другого устройства.
С другой стороны, эта плата поможет, если нужен мощный линейник на 3.3, а взять его негде. Аккуратно подпаяться можно, например, сюда:
Стресс-тест до потери пульса устраивать не хотелось, ограничился сопротивлением 5 Ом — 600 мА:
напряжение при этом падало до 3.14В:
на этом же мультиметре без нагрузки показывает 3.2В. Нагрелся стабилизатор не сильно, градусов до тридцатипяти.
Когда на входе 4.56В и ниже, напряжение на выходе начинает постепенно опускаться.
В общем, смутные сомнения в душе моей. Может, с другим микроконтроллером данный модуль и даст какие-то преимущества, но в моём случае никаких преимуществ, по сравнению с тем, что есть, к сожалению, я не увидел.
Кстати, среди Ардуин, для нормальной работы с SD-картами, подходит микроконтроллер не ниже Atmega328. Atmega168 работает на сторонней библиотеке только с файловой системой FAT16; эту библиотеку я тоже использовал, на Atmega328, в надежде сэкономить память, однако иногда терялись файлы — решил использовать стандартную.
Ставить данный модуль в GPS-логгер пока не буду, собираюсь заменить пятивольтную версию Atmega328 на трёхвольтную. Спасибо за внимание. Удачи в самоделках.
С наступающими праздниками!
А вообще можно так:
или так:
Может, там везде стоят понижающие стабилизаторы до 3.3 В?
Атмелы нервно закурили…
Имея две, я бы мог и 5-вольтную переконфигурировать, но лучше сначала готовую попользую.
В планах освоить эти самые фьюзы, но не для понижения до 5В, а для повышения до 20 мГц; приедет кварц — посмотрю.
Может пониженное напряжение так влияет? С модуля GPS данные идут как надо, проверял подключая на ходу к компу.
И сразу ещё вопрос, не очень шарю в коде, тут размер файла как-то ограничен? Или если хватает батарей и памяти, то пишется один огромный файл?