>> Résolu << : MEGA + lecteur de carte SD "LC studio" ne fonctionnent pas...

LibertyCareche:
La connectique est la suivante :
MEGA pin 50 --> miso (Master In) du lecteur de carte "LC studio"
MEGA pin 51 --> mosi (Master Out)
MEGA pîn 52 --> sck (Serial Clock)
MEGA pin 53 NC au final
MEGA pin 6 --> CS (Chip Select) puis à rien au final (CS lecteur à la masse)

Sur ma Mega ce sont les pin de 50 à 53 (incluses) qui sont utilisée et pas la 6.

Ici un code de tom Igoe avec les mêmes pin que chez moi :

Le pin 53 doit être en out pour que l'ATMEGA soit en mode Maitre. mais rien n'oblige de l'utiliser. On peut par exemple sélectionner plusieurs carte en parallèle sur miso mosi. Les oscillogrammes le montrent par ailleurs, le pin 53 réagit et le 6 aussi juste par instruction de la bibliothèque SD. Troisième élément, je n'oublie pas que je vois le Maitre "coser" et l'esclave lui répondre. Alors... la transaction ne se déroule pas comme il faut... ou-bien (j'y crois moins) il y a un bug dans la biblio...

J'ai commencé à mettre en doute la véracité du descriptif du lecteur de Carte SD. L'examen du circuit imprimé révèle qu'il y a quatre résistance de 10Ko de tirage (pull up) (Résistance de rappel — Wikipédia) au Vcc de 3,3V. Le 3,3 V peut être alimenté directement ou en 5V car il y a un régulateur AMS1117 (http://bbs.ednchina.com/images/attachments/201208/20120831094241621.pdf) implanté sur la carte (avec les condensateurs "qui vont bien").

L'oscillogramme n°2 (cf. photo orange très haute) indique qu'une tension ... "bizarre" se produit quand le pin 53 ... ou 6 essaye de commander le CS de la SD card.

Il me semble que de tels signaux n'indiquent rien de bon quand au comportement de l'ensemble. Je cherche là-dessus...

comment est faite l'adaptation 5V/3V3 des signaux SPI sur cette carte ?

Il n'y a pas d'adaptation (cf. 7ième ligne du problème)

Il semble que beaucoup de description de la toile s'en passe aussi aberrant que cela paraisse (cf. schéma trouvé sur la toile parmi d'autres). Si le problème persiste, Trois pont diviseur et un ampli transistor en base commune devraient suffire...

2059aeef.jpg

Alors pourquoi cela marcherais bien sur une duemilanove?

C'est là le point crucial de la question :slight_smile:
Tolérance des SD et DueMilaNove... !?

Est ce que tu as lu ce topic ?

http://arduino.cc/forum/index.php/topic,75761.0.html

Oui Jean-François, je l'avais lu. Simplement j'ai commandé le lecteur dont je parle et que j'ai. J'essaye donc d'en faire quelque chose.

Le schéma 1 sans ampli est tangent sur le plan signaux... autant que mon schéma actuel à peu de chose près.
Le schéma 2 est ce qu'il faut sérieusement.

Sinon j'ai lu www.badji.com mêmes problèmes semble t-il mais je n'ai pas fini la lecture. J'ai commencé comme il le dit avec pin 53 au lieu de 6 mais rien n'y fait...
Ceci étant, je set toujours le pin 53 en out pour la compat SD.h (cf. bout de programme).

Et voilà !! Je pense avoir trouvé le HIC !! C'est théorique mais en cherchant à reconstituer le schéma de la carte, j'ai vu, et je suis bien obligé de me rendre à l'évidence... que le régulateur est flottant ! Il semble que la masse de ce régulateur ne soit pas connecté à la masse carte. Electronique Chinoise s'il en est !! Cela pourrait bien expliquer le pourquoi des signaux bizarres... et le prix de cette carte.
Je vais faire une modification de la carte et ré essayer la com.

ça pourrait expliquer le problème effectivement.

J'ai de meilleurs signaux et de loin. Je tente une nouvelle adaptation en niveau mais... toujours pas de réponse positive du programme.
Voici des photos de la modif...

Ils ont l'air d'y arriver eux lol
http://www.element14.com/community/message/56085

oui ... c'est crispant :slight_smile:

En même temps, il y a beaucoup,... beaucoup de gens qui parlent mais en pratique... c'est du flanc !! Mais bon... positivons, il y en a surement qui ont fait marcher l'affaire !

Ci-joint les nouveaux scopes

Bon j'ai essayer leur code ça ne marche pas .... que faire.
Car pour mon projet serre si j'utilise le lecteur de carte plus assez de place :sleeping:

LibertyCareche:
. que le régulateur est flottant ! Il semble que la masse de ce régulateur ne soit pas connecté à la masse carte.

Probablement relié à la masse par le pad de dissipation

non! mesuré à 52Ko au multimètre Fluke 185. 52000<>0 ! ( voir les 5 photos de la réparation jointes plus haut ) .

Par ailleurs je viens de trouver un post à ce sujet semble-t-il récurent : Arduino Forum

Voici le schéma d'aptation en tension des entrées. Cela fonctionne malgré le seuil de tension des diodes . Des diodes Schottky sont meilleures mais des 1N4148 suffisent (correction après avoir élucidé le problème : voir fin). Quand à la sortie, un CMOS intercalé suffit histoire le cas échéant de s'assurer de la transmission du signal MISO.

Grande nouvelle... Je ne suis pas (encore) sénile !!

J'ai essayé sur un Arduino Uno. Les premiers tests m'ont laissé penser que je devrai prendre une retraite anticipée ... mais finalement j'ai échangé la carte SD 64Mo encore une fois avec la 32Go et... miracle,... j'ai eu le "grand" bonheur de lire ceci :

Initializing SD card...Wiring is correct and a card is present.
Card type: SDHC
Could not find FAT16/FAT32 partition.
Make sure you've formatted the card


Après le premier problème d'ordre électronique, je me demande si :
1) le MEGA associé à une carte SD peut être un problème pour SD.h
2) une carte de 64Mo peut être un problème pour SD.h
3) une carte de dix ans d'âge qui fonctionne très bien (Je la teste une fois par heure) peut être un problème pour SD.h
4) contrairement à ce que l'on peut lire sur le site officiel, la FAT16 peut être un problème pour SD.h

voir réponse de fat16lib sur >> Resolved << : MEGA with cardinfo.h and "LC studio" SD card reader dont work - #2 by system - Storage - Arduino Forum


_ _ _ _ _ /_ _ _ _ _ /_ _ _ _ _ /_ _ _ _ _ Subsequemment , pourquoi SD.h ne peut trouver la FAT? _ _ _ _ _ /_ _ _ _ _ /_ _ _ _ _ /

Certaines cartes pas assez récentes ne sont pas reconnues, j'avais eu le même soucis, je n'y pensais plus :grin:

Nouvelle encourageante s'il en est, mais puisque mon Intel i5 avec Windaube 7 arrive à l'exploiter (la carte SD de 64Mo) il est juste de supposer que SD.h n'est pas au point !?