SD card reader werkend krijgen bij custom 3D printer Marlin

Arduino specifieke Software
Berichten: 51
Geregistreerd: 11 Jun 2016, 12:12

SD card reader werkend krijgen bij custom 3D printer Marlin

Berichtdoor Frankyie » 17 Aug 2016, 10:25

Ik probeer al enige tijd wanhopig de SD card reader werkend te krijgen bij mijn Marlin printer. Het lijkt mij echter niet te lukken.

Om te beginnen. De printer is Prodesk3D met een custom printplaat erin. Er zit een Atmega2560 op.
https://dl.dropboxusercontent.com/u/147 ... kleurd.jpg

De SD card module die ik eraan heb gehangen is de volgende.
Afbeelding

Afbeelding

Hij hang er zo aan
Afbeelding

Software
Wat heb ik gedaan
- SDSUPPORT in Marlin aangezet
- In de pinfile van mijn board de volgende regels toegevoegd (pin nummers kloppen uiteraard, drie dubbel gecontroleerd inclusief de aansluiting naar de SD card reader)
#define SDPOWER -1
#define SDSS 53 (hier heb ik de CS pin van de SD card module op aangesloten)
#define SD_DETECT_PIN -1
- Ik heb twee SD kaarten. Een 4 gig FAT32 en een 16MB FAT16. Beiden werken niet als ik ze in de printer stop.

Ik doe de SD card in de printer, zet hem aan, maak connectie met repetier host en zeg dan mount SD card. Daarna krijg ik de foutmelding "SD init fail" te zien in repetier.

Ik heb met de scoop gekeken en zodra ik klik op SD card mounten in repetier host zie ik heel kort wat signalen voorbij vliegen op de 4 pinnen die naar de SD card reader gaan. Hij doet dus wel iets.

Het grappige is dat ik dezelfde foutmelding krijg als ik de hele SD unit loskoppel. Ook dan krijg ik een "SD init fail".

Elektrisch
Vanuit de Atmega2560 gaan de signalen via een 74HC4050 (Hex high-to-low level shifter) naar de SD card module. Op de SD card module zit dan nog per signaal een pullop weerstand die pin naar 3,3V trekt. De spanning op die signaal pinnen is echter 0V of 4.5V. Dus wat die pullop weerstanden daar doen is mij een raadsel :roll:

Datasheet 74HC4050
https://dl.dropboxusercontent.com/u/147 ... ter%29.pdf

Wie weet wat ik fout doe?

Advertisement

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: SD card reader werkend krijgen bij custom 3D printer Mar

Berichtdoor nicoverduin » 17 Aug 2016, 15:37

Ik zou eerst eens een simpele sketch erin laden die alleen ff de SD leest. Komen daarna wel de Marlin problemen. Eerst uitsluiten dat de SD gewoon goed werkt En werkt dat board op 3.3V of 5V. Indien het laatste, moet je wel de voeding aan de 5V hangen en niet aan de 3.3V op die SD module.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 51
Geregistreerd: 11 Jun 2016, 12:12

Re: SD card reader werkend krijgen bij custom 3D printer Mar

Berichtdoor Frankyie » 17 Aug 2016, 15:47

De printplaat zelf is 5V, maar heeft ook een 3.3V lijn voor de SD module. Dus ik kan de module rechtstreeks aan de 3.3V hangen.

Ik heb even naar die simpele sketch gekeken. Ik vroeg me echter wel af of dat überhaupt wil werken.
Ik kon in die sketch nergens aangeven waar mijn usb op zit. Zonder usb connectie is het volgens mij onmogelijk om te controleren of de SD module gelezen wordt of niet. Communiceren via de ISP connector gaat namelijk niet, want daar gaan de SD card reader signalen ook overheen. :(

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: SD card reader werkend krijgen bij custom 3D printer Mar

Berichtdoor Koepel » 17 Aug 2016, 18:50

De SD module heeft een voltage regulator, dus je kunt 3.3V aan de 3V3 pin hangen, of 5V aan de 5V pin.
De signalen van de SD kaart zijn 3.3V. De 10k pullup resistors op de SD modulen trekken de signalen naar 3.3V.
Weet je zeker dat er een level shifter in de printer zit?

De signalen zouden nooit 4.5V mogen zijn. Kun je eerst dat mysterie oplossen, voordat je er SD kaarten in stopt.

Dit kan heel soms helpen : https://forum.arduino.cc/index.php?topic=228201.0

De 4GB SD kaart is over de grens van 2GB heen, en de 16MB is nogal klein en misschien erg oud. Heb je iets beters ? Een 1GB or 2GB kaartje ?

Dan is er ook nog een mogelijkheid dat iets anders de MISO gebruikt. Dus een andere slave, die de MISO niet vrij laat zodra de ChipSelect het afkoppelt. Of misschien houdt jouw SD module het MISO signaal vast.

Berichten: 51
Geregistreerd: 11 Jun 2016, 12:12

Re: SD card reader werkend krijgen bij custom 3D printer Mar

Berichtdoor Frankyie » 17 Aug 2016, 20:44

Ik heb de spanning even echt goed uitgezocht nu.

De spanning is 5V voor de MISO :shock: Echter, dit enkel als ik via het blink programma MISO aan en uit zet. Als ik hem continu op aan zet is de spanning iets van 3,5V :shock: Ik snap dit niet. De MISO is zo hoog omdat die niet door de level shifter heen gaat.

3.4V voor de SCK, SS & MOSI.

Hier een foto van de printplaat met kleurtjes
https://dl.dropboxusercontent.com/u/147 ... nector.jpg

Volgens mij klopt hier niet veel van :?

Gebruikers-avatar
Berichten: 631
Geregistreerd: 15 Nov 2015, 11:54

Re: SD card reader werkend krijgen bij custom 3D printer Mar

Berichtdoor Gij Kieken » 17 Aug 2016, 21:50

De Sd kaartjes van een paar mega werken niet, heb dat ook al een paar keer geprobeerd.
Vanaf 1 à 2 Gb lukten mijn sketches wel.

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: SD card reader werkend krijgen bij custom 3D printer Mar

Berichtdoor Koepel » 17 Aug 2016, 23:37

@Frankyie, dit wil nog wel eens helpen:
Als je MOSI ziet staan, zeg dan hardop: "Master Out, Slave In".
Als je MISO ziet staan, zeg dan hardop: "Master In, Slave Out".

Wat je hebt gemeten is prima in orde.
De SCK, SS, MOSI gaan blijkbaar inderdaad door een level shifter.
De MISO doet dat niet. Dat is een digitale ingang van de ATmega2560 chip. Misschien staat de interne pullup resistor aan die het naar 5V trekt. Ik weet niet of de SD kaart daar tegen kan. Je kunt misschien een weerstand van 1k proberen tussen MISO naar GND, dan hoort de spanning vrijwel helemaal naar nul te gaan.

Het wordt wel vaker gedaan dat een 3.3V signaal gewoon zo als ingang van een 5V ATmega chip wordt gebruikt. De ATmega chip heeft minimaal 3.0V nodig om het als 'hoog' te zien. Dat lijkt hier ook zo te zijn.
(Opmerking: alleen bij I2C is het anders, dan is het 3.5V, en bij de ATmega32U4 is het anders, die heeft extra lage drempels).

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: SD card reader werkend krijgen bij custom 3D printer Mar

Berichtdoor nicoverduin » 18 Aug 2016, 07:19

Heb je de SD kaarten nog opniieuw getest of ze nog werken? Je hebt tenslotte in de eerste testen 5V op een 3.3v voeding gezet. Kan zijn dat ze nu defect zijn.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 51
Geregistreerd: 11 Jun 2016, 12:12

Re: SD card reader werkend krijgen bij custom 3D printer Mar

Berichtdoor Frankyie » 18 Aug 2016, 20:13

Gij Kieken schreef:De Sd kaartjes van een paar mega werken niet, heb dat ook al een paar keer geprobeerd.
Vanaf 1 à 2 Gb lukten mijn sketches wel.


Na flink zoeken heb ik een 1 gig kaart gevonden. Ook die werkt niet :(

Koepel schreef:De MISO doet dat niet. Dat is een digitale ingang van de ATmega2560 chip. Misschien staat de interne pullup resistor aan die het naar 5V trekt. Ik weet niet of de SD kaart daar tegen kan. Je kunt misschien een weerstand van 1k proberen tussen MISO naar GND, dan hoort de spanning vrijwel helemaal naar nul te gaan.


Ik zal dit eens proberen :)

nicoverduin schreef:Heb je de SD kaarten nog opniieuw getest of ze nog werken? Je hebt tenslotte in de eerste testen 5V op een 3.3v voeding gezet. Kan zijn dat ze nu defect zijn.


Ik heb nooit de 5V voeding op de 3,3V aansluiting gezet. ;)
Alle SD kaarten zijn nog steeds heel. Had ik tussendoor ook al even getest.

Berichten: 51
Geregistreerd: 11 Jun 2016, 12:12

Re: SD card reader werkend krijgen bij custom 3D printer Mar

Berichtdoor Frankyie » 18 Aug 2016, 20:39

Ah, natuurlijk. De MISO is digitale ingang van de ATmega2560 chip. Logisch dat hij om die level shifter heen gaat!
Natuurlijk meet je dus 5V als je een spanning op die pin laat zetten met het blink led programma. Stom stom stom :oops: Dat had ik zelf ook door kunnen hebben.

Als ik de spanning van de MISO meet met de Marlin firmware erin meet ik netjes 3.5V. Niks aan de hand dus.

Maar wat nu. Wat ik meet met de scoop is dat de MISO continu op 3,5V staat. Tenzij ik op mount SD klik in repetier host. Dan zie ik wat signalen voorbij vliegen die van 3.5V naar 0V heen en weer vliegen. Hij doet iets maar nog steeds SD init fail.

Volgende

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 22 gasten