Lector tarjeta SD no inicializa [SOLUCIONADO]

Me desdigo, después de ver algún que otro datasheet the varios fabricantes los picos de consumo que tienen, aunque varian entre fabricante y fabricante, oscilan estre 40 u 80 mA. Con lo que un consumo de 400mA es mucho.

Una cosa, la mochila esa, tiene un regulador, supongo que los 5V le estarán llegando al regulador verdad?

Otro sospechoso habitual pueden ser los condensadores y un PCB defectuoso. Lo que me rechina es por qué a 5V la cosa parece funcionar. Algo no me cuadra nada.

Cheyenne

No conectes 3v3 por tu cuenta, te lo decia antes y es que segun datasheet del fabricante del regulador LM1117-3.3 dice entre otras cosas:

When a output capacitor is connected to a regulator and the input is shorted to ground, the output capacitor will discharge into the output of the regulator.

Esto significa que si le metes 3.3v por tu cuenta a la salida del regulador, este absorbera dicha corriente por eso tienes consumo extra y lo que se calentara de la placa sera el regulador.

Mejor que emplees la alimentacion de 5v que para eso lleva el regulador integrado.

Como proteccion se emplean unos diodos para que no pase la corriente hacia atras y proteger el integrado, evitando que sea el circuito de salida del regulador el que se coma la carga:

No tengo ni idea del efecto que hara las resistencias de pullup que lleva esa placa con las que tu conectas, sigo aconsejandote que no te compliques, eliminalas y emplea las tuyas exteriormente, te quitaras historias.

Yo tenia la primera waveshield con resistencias como divisor de tension y funcionaba, ese divisor como el otro que te he puesto debe de funcionarte a ti igualmente.

EN algunos sitios coinciden que dependiendo de marcas, las SD pueden consumir unas mas que otras.

Cheyenne:
Tengo que verificarlo con más tiempo pero me ha dado la impresión de que si conecto el módulo con la primera fila de pines simplemente no va. Y si lo conecto con la segunda fila además de no ir la placa se calienta mucho, la zona es en donde el regulador de tensión.

He reflexionado con esto que pones y pienso, es posible que la primera hilera sea para conectar o desconectar mediante un jumper los 3v3 dejando al aire el regulador ¿porque no metes polimetro y sacas el esquema de conexiones? es que no he encontrado foto donde se distinga el camino de las pistas y no tiene sentido dos hileras de pines.

Vale, he encontrado una imagen de tu placa, compañero, segun imagen la primera hilera no tiene conexion a ningun sitio a menos que este unida por la cara top del pcb y no se ditingue por el conector de doble hilera.

Te toca meter polimetro y confirmar conexiones...

fm: sí, los 5 V van a la entrada del regulador que lleva el módulo.

Heke: valiosa información la del regulador, no pensé que pudiera ser nada así ya que en las características indican: "Support 5V/3.3V input.". Al parecer no es así.

He comprobado el módulo sin nada conectado ni tarjeta y en principio está bien. Alimento con 5 V y tengo 3,3 V, el regulador está bien y no hay ninguna pista que alimente directamente que se encuentre en corto. Consumo sobre 1 mA. Así que veo que sólo puedo hacer la sugerencia de Heke, quitar las pull up.

Si, creo que la prueba de quitar los pull-ups va a ser la más apropiada. Ya nos contarás.

No Heke, el comentario que hice de las dos filas era por el despiste del calentamiento que ha resultado ser si alimentaba con los 3,3 V. Las dos filas tampoco sé por qué estarán pero lo tengo comprobado que sí están comunicadas las patillas dos a dos.

Y para más cosas raras decir que el módulo que has puesto coincide exacto con el mío en la disposición de componentes pero no coincide para nada el dibujo de las pistas de ninguna de las dos caras. Pongo una foto.

Cheyenne yo enviaria un mail al señor que vende esos engendros por ebay. Por lo que veo muchos te piden que si algo no funciona les preguntes lo que sea o sino le pones voto negativo. En teoria esa shield deberia funcionar como caja negra no ? pones +5 donde pone +5, gnd en gnd, etc...

Nada, he quitado las pull up y sigue sin funcionar. Ya sólo me queda pensar en algún fallo de contactos entre la microSD y el adaptador a SD. No es que crea que es eso pero ya no sé qué puedo mirar. La otra opción es que esté cometiendo algún fallo de los gordos gordos tan elemental que nadie puede pensar en algo así.

Que nadie se tome nada a mal es una ocurrencia que propone una intento de perdidos al río... Prueba en postear sobre esto en los foros en inglés. Insisto no porqué sepan mas o sean mejores sino porqué hay mas gente ergo mas posibilidades de alguien que tenga esa breadboard y una posible solución.

Pd: sigo pensando en que habría que pedir explicaciones al fabricante, mas cuando sabéis de que habláis.

Al final, al quitar el Pullup ¿que resistencias has puesto externas como divisor?

¿No habra algun problema con el arduino que usas en el patillaje de miso, mosi y demas?

Esto tiene el mecanismo de un botijo, una sd y unas resistencias, no hay mas...

Solo queda pensar, o patillaje del arduino, libreria, o Sd mal.

Tambien puedes comprobar si le llega los 3v a la sd en la pata correspondiente.

Esto se resiste, pero saldra... seguro.

Empiezo a sospechar de la uSD. El caso es que yo andaba a vueltas con una uSD y un conversor de niveles y he observado un comportamiento muy errático.

Ayer escribí al vendedor solicitando información ampliada de conectar el módulo con Arduino y muy amablemente me ha enviado justo la misma información que ya venía en la publicidad de su producto en eBay :slight_smile: Indica que si necesito algo más que se lo diga pero no sé si sacaré mucho más por esa vía.

Al quitar los pull up puse resistencias externas como divisor de valores 1k2 y 2k2 (ésta última a GND, claro). El patillaje lo he comprobado y parece estar todo bien. A las patillas de la "cápsula" de la SD le llegan bien las señales, en MOSI y CS mido 3,3 V (aproximado), en SCK no recuerdo si medía algo, las dos patillas correspondientes a alimentación también mido 3,3 V. MISO lo tengo directo sin divisor resistivo.

Yo también estoy empezando a sospechar de la MicroSD y/o el adaptador. Intentaré hacerme con una SD normal para probar, el problema es que ahora es más difícil encontrarlas ya que suelen ser de 4 GB o más (SDHC).

Por último sobre la librería estoy usando la que viene en el IDE, simplemente abro el ejemplo de CardInfo y lo cargo (he probado a cambiar sobre el ejemplo el pin SS entre el 4 y el 10 por si acaso pero nada).

¡Aleluya! He rescatado una SD de 2 GB que he recordado que tenía en la Wii, la he formateado a FAT16 y ha funcionado a la primera. La configuración final ha sido quitando las 4 resistencias de pull up (aunque creo que sin quitarlas también funcionaría), conectar MISO directo y MOSI, SCK y CS a través de divisor resistivo con 1k2 y 2k2 aunque con valores mayores proporcionales seguro que funciona tal y como viene en muchos esquemas por internet.
Lo anoto como solucionado porque he conseguido que funcione pero si consigo averiguar algo más concreto lo pondré. Quiero mirar si el problema está en el adaptador de MicroSD a SD o si es la misma MicroSD que tal como dices fm como poco necesita de un conversor de niveles. Claro que no sé cuándo podré hacer esa prueba ya que el conversor de niveles que tengo de Sparkfun es con divisor resistivo :~

Gracias a todos por la ayuda técnica y moral, en concreto esto de Heke "Esto se resiste, pero saldra... seguro." me produjo subidón de adrenalina para seguir :slight_smile:

Eres un crack!! Lo mejor de estas sitiuaciones es cuando olvidas lo malo y te entra esa "euforia" de haberlo conseguido y verlo todo mucho mas trivial. Me alegra que lo hayas conseguido.

Gracias miniduino. Anoto alguna información más para consultas de otros usuarios.

El adaptador microSD a SD funciona bien (lo he probado en el ordenador) así que para que funcione con Arduino sólo me queda el tema del adaptador de niveles.

Y otra cuestión sobre la librería SD de Arduino. El enlace es éste: SD - Arduino Reference
Resulta que todas mis búsquedas por internet para conectar la SD a Arduino ponen énfasis en que la tarjeta sea de 2 GB como máximo y se formatee a FAT16. Pues como podéis leer en la documentación de la librería la actual versión (no sé desde cuándo será así) admite también tarjetas SDHC y formateo FAT32. Lo he probado con una SDHC de 4 GB y funciona bien reconociendo los 4 GB. No sé cuál será el máximo que reconozca o pueda manejar.

He seguido leyendo más sobre este tema, expongo las conclusiones a las que he llegado.
He encontrado un post muy clarificador, éste: http://arduino.cc/forum/index.php/topic,58643.0.html

Fundamentalmente hablan de lo que ya indicó @fm, que adaptar los niveles de tensión con resistencias no es un buen método. Unas tarjetas funcionarán, otras puede que no. Concretamente habla un usuario que ha desarrollado varias librerías SD indicando que mayoritariamente los problemas que le indican los usuarios se deben a este tema. Las tarjetas SD tienen dos buses de comunicación, uno rápido y "complicado" (para microcontroladores) que es el 4-bit SD bus y el lento y sencillo bus SPI. Los fabricantes esperan que las tarjetas sean usadas mediante el primer bus y concretamente en las class 10 implementan un bus SPI "pobre". Como resultado si no queremos tener problemas se impone añadir un "low level shifter" tal y como algunos fabricantes ya hacen en sus lectores SD o µSD. Los que nombran para esto son:

  • 74AHC125N
  • 74HC4050N
  • 74LCX245

Hay que fijarse bien en todas las letras ya que integrados parecidos no sirven. Por ejemplo el 74HC125 aunque hay sitios en los que se ve que se monta realmente no está indicado (la tensión de entrada máxima que admite es Vcc + 0,5 que serían 3,8 V y sin embargo desde Arduino vamos a meterle 5 V). Lo gracioso del tema es que esto lo he averiguado justo después de haber pedido un par de estos en ebay :roll_eyes:
Por otra parte los tres chips de arriba no los he encontrado por ebay a precios razonables. El 74HC4050N por ejemplo está en Farnell a un precio reducido pero con los portes no sale a cuenta. Así que ya sé por dónde tirar para hacer alguna prueba pero no sé dónde conseguir un par de alguno de esos chips sin que se vayan de precio.

Aquí en bcn puedes pedirlos en rs-online y te los dejan en la central de mrw asi te ahorras los portes.

Si conoces a alguien te lo podría enviar por correo ordinario.

Algunas veces he hecho pedidos a allí, si pides varias cosas los portes ya no son tan importantes. Como no me urge ya que por el momento sería para hacer pruebas (con una SD ya me funciona) de momento esperaré para cuando tenga alguna otra cosa que pedir. Gracias por la idea.

Buenos dias:

Acabo de hacer funcionar(gracias a este post) este modulo SD en concreto.

En mi caso lo que me ha hecho estrellarme ha sido la tarjeta, ya que tal cual viene funciona con tarjatas SD y SDHC (2 y 4 GB). Mi error fue empezar a probar con esta tarjeta(la de izquierda que es supervieja creo que de 64 mB o asi la otra es de 2 GB).

Ademas que como utilizo una placa mega no me coinciden los pines. En este post encontre la solucion al tema de los pines : http://arduino.cc/forum/index.php/topic,31497.0.html

Saludos y gracias.