Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

SD-Card Adapter Gen7

geschrieben von o-l-l-i 
SD-Card Adapter Gen7
02. July 2012 11:34
Hallo,

ist es möglich auf dem Gen7 Board v1.3.1 in irgendeiner Weise ein SD-Card Adapter zu installieren, damit man von diesem drucken kann? Bin der Meinung ich hätte sowas schonmal gelesen, ich finde es nur nirgens mehr. So langsam zweifel ich das das überhaupt geht sad smiley
Re: SD-Card Adapter Gen7
03. July 2012 04:46
Hi!
Ja, möglich ist alles... Nur am 1.3.1er leider nicht in Plug&Play Manier.
Am GEN7 1.3.1er Board werden die benötigten Pins MISO,MOSI und SCK sowohl vom "Programming Header" als auch von den Endstop Connectoren Y_MIN,X_MAX und X_MIN verwendet.

Möglich wäre es, wenn du Firmwaremäßig deine Endstop PINs umkonfigurierst damit die 3 PINs nicht verwendet werden. Du dir einen passenden Adapter vom Programming Header zum SD Board bastelst (du kannst natürlich auch die Kontakte direkt an MISO, MOSI und SCK anlöten), zusätzlich noch einen PIN vom "MISC Header" als "Chip-Select" verbindest und schlussendlich noch die Stromversorgung sicherstellst.
Je nachdem ob ein Spannungswandler auf deinem SD-Borad vorhanden ist (z.b SD-RAMPS) kannst du es mit 5V oder sonst mit 3.3V betreiben. ATX Netzteile verfügen z.b über einen eigenen 3.3V Ausgang wo du die direkt abgreifen kannst.

Hoffe das ist einigermaßen verständlich :-) ...sonst meld dich einfach nochmal
Re: SD-Card Adapter Gen7
03. July 2012 10:59
Hallo,

vielen dank erstmal! Auch wenn ich dir noch nicht so richtig folgend konnte. Was genau sind die Pins MISO, MOSI und SCK. Und was ist der "Programming Header"? Wo genau muss ich die Pins umdefinieren? Und muss der SD- Adapter über eine extra Stromversorgung verfügen? Kann der nicht vom Board aus versorgt werden?

Fragen über Fragen. Ich hoffe du kannst mir nochmal weiterhelfen.
Re: SD-Card Adapter Gen7
04. July 2012 07:25
Ok....

Zuerst einmal sieh dir den Schaltplan vom GEN7 1.3.1er Board an [reprap.org] an , die PIN Definition vom ATMEGA644 [reprap.org] und auch die PIN Belegung von einer SD Karte:



"Was ist der "Programming Header"
Das ist der rechteckige 6 polige Steckplatz links unterhalb des ATMegas. Über diesen kann ein Programmer angeschlossen werden um z.b den Bootloader aufzuspielen.

"Und muss der SD- Adapter über eine extra Stromversorgung verfügen"
Eine SD Karte arbeitet nicht wie der ATMEGA mit 5V sondern mit 3.3V. Jedes übertragene Signal vom ATMEGA zur SD Karte kommt dort also mit 5V an und könnte die SD Karte zerstören. Um das zu verhindern ist z.B am SD-RAMPS eine Konverter verbaut der die 5V auf den Datenleitungen auf 3.3V herunterregelt.
Die SD Karte an sich muss ebenfalls mit 3.3V versorgt werden. Auch hierfür ist am SDRAMS ein Konverter verbaut.

Somit kann ein SD-RAMPS ohne Probleme direkt über eine 5V Leitung vom GEN7 aus versorgt werden.
Der Hinweis auf den 3.3V Ausgang am ATX Netzteil war für den Fall gedacht, dass du dein SD Karten Board selbst bauen willst... damit ersparst du dir einen Konverter.


"Was genau sind die Pins MISO, MOSI und SCK?"
Das sind deine 3 PINS fürs Hardware SPI die du für die Kommunikation mit deiner SD Karte benötigst.

PIN | Beschreibung | Nummer am ATEMGA
--------------------------------------------------------------------------
MISO | Master In Slave Out | D6
MOSI | Master Out Slave In | D5
SCK: | Tacktung | D7

Verfolge die Leiterbahnen ausgehend von diesen Pins in der GEN7 Skizze und du wirst sehen, dass diese PINs sowohl zum "Programming Header" als auch zu den besagten Endstopanschlüssen führen.Die PINS können natürlich nur für 1 Funktion verwendete werden. Daher ist in der Doku auch extra darauf hingewiesen in keinem Fall einen Programmer zusammen mit angeschlossenen Endstops zu verwenden.... Das Selbe gilt auch für die SD Karte

Neben MISO,MOSI und SCK benötigst du noch einen separaten "Chip Select" Pin um eine SPI Kommunikation zu ermöglichen. Dafür kannst jeden freien PIN am GEN7 auswählen. (Mein Vorschlag ... einen Freien PIN vom MISC Header [D10-14].)

Vergleiche nun die Anschlüsse auf einer SD Karte und du wirst sehen auch hier hast du PINs für Data In, Data Out, CLK (SCK) ,CS (Chip Select). Damit sollte die "Verbindungsfrage" geklärt sein.

Wo genau muss ich die Pins umdefinieren
Die Definition welcher PIN am ATMega welche Funktion besitzt wird in der Firmware durchgeführt. Das ist je nach verwendeter Firmware unterschiedlich. In Marlin z.B: gibts das File "pins.h" wo das gemacht wird. Deine Firmware muss natürlich auch den SD Karten Betrieb unterstützen >grinning smiley<
------------------------------------------------------------------------------

Wie bereits erwähnt... "anstecken und geht" ist am GEN7 1.3.1er Board leider nicht winking smiley. Aber wenn du dich ein bisschen in die Firmwarekonfiguration einliest und die Skizzen vergleichst ist es keine wirklich große Hexerei ein SD-RAMPs zum laufen zu bekommen!! Kannst gerne nochmal Fragen wenns weiterhin unklar ist!
Re: SD-Card Adapter Gen7
05. July 2012 03:20
Vielen Dank für die wirklich ausführliche Erklärung. Ich denke jetzt sollte es wiklich kein großen Problem mehr darstellen smiling smiley
Ich werde dann mal anfangen zu basteln, in den nächsten Tagen. Falls doch noch was unklar ist, melde ich mich noch einmal.

Vielen Dank!
Re: SD-Card Adapter Gen7
05. July 2012 14:29
Ich hab auch was in die Richtung gebaut, allerdings mit einem modifizierten Gen7 Board. Ist alles auf Github
Lässt sich nicht direkt übernehmen, der Schaltplan könnte für dich aber trotzdem interessant sein. Dürfte eigentlich alles kein proplem sein solange du keine max-Endstops verwenden willst. Wenn ich noch ein paar mehr Drucke damit gemacht habe werde ich es auch noch ordentlich Dokumentieren, damit alle was davon haben.
Re: SD-Card Adapter Gen7
06. July 2012 05:34
Hi Alfons!
Ahhh!!! Von dir stammt also der GEN7 Mod ;-). Vielen Dank dafür!!! Hab bei mir ebenfalls schon seti längerem deinen MOD in Betrieb! Dein "Extension Header" war damals ja fast revolutionär >grinning smiley<
Das einzige womit ich Probleme hatte war dein Widerstandbasierter Levelconverter auf deinem SD Board. Das hat bei mir nur sporadisch funktioniert... Ich hab stattdessen einen 74HC4050 verbaut. Jetzt läuft das ohne Probleme!
Wenn ich mal die Zeit finde werd ich fürs neue GEN7 1.4er Board ein paar Extension Boards (LCD; SD Karte; ...) posten.
Re: SD-Card Adapter Gen7
11. July 2012 11:47
Ich habe nochmal eine Frage zur "Verbindungsfrage". Habe mir jetzt den SD Ramps besorgt. Auf dem .dxf-File erkennt man nun die einzelnen Anschlüsse. Der Adapter hat 12 pins, 4 davon sind NC, +5V, ALT_SS, MISO, MOSI, SCK, SS und 2mal GND.
MOSI, MISO und SCK sind klar. Aber:

1. mit welchem von denen verbinde ich den CS? Hätte jetzt auf SS getippt.
2. wo kann ich am Gen7 die +5V zur Stromversorgung abgreifen?
3. Was ist mit den restlichen Pins? wohin schalte ich die? oder lasse ich die leer?

Und wie genau mache ich das mit der Pin definition? Wo definiere ich welcher pin welcher bei der SD karte ist? Die Endstops verlegen bekomme ich hin, das war klar. Ich hoffe ihr versteht was ich meine confused smiley

Und zu allerletzt: Womit kann ich die .pcb und .sch dateien aus dem GitHub öffnen? Die sind mir schon öfters über den weg gelaufen, aber ich konnte nie etwas damit anfangen

Vielen Dank wenn ihr mir nochmal helfen könnt smiling smiley
Re: SD-Card Adapter Gen7
12. July 2012 01:17
1. CS (client select) und SS (slave select) sind das Gleiche
2. z.B. am dem jeweils untersten Pins für die Endstops
3. du musst alles außer die vier NC und ALT_SS verbinden, die fünf Kontakte bleiben einfach leer

Die Pins werden in der Firmware definiert. Bei der Repetier-Firmware zum Beispiel in der Datei Pins.h

Für die .pcb und .sch Dateien brauchst du geda, was aber nicht unter Windows läuft.
hd
Re: SD-Card Adapter Gen7
12. July 2012 03:24
in der firmware ausser den pins nicht vergessen in der config.h unter
Communication configuration
#define SDSUPPORT 1 setzen.
gruss hd
Re: SD-Card Adapter Gen7
12. July 2012 10:53
Nochmal zur pin-Definition. So richtig komme ich damit nicht klar. (Ich nutze übrigens die Repetier-Firmware)

" #define SDSUPPORT 1 setzen."
Das ist geschehen. War ja nur auskommentiert.

Folgendes steht nun in der pin.h Datei (der Teil für die Gen7 1.1 und höher):

#if MOTHERBOARD == 7
#define KNOWN_BOARD 1

#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__)
#error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu.
#endif

//x axis pins
[...]
#define X_MIN_PIN 7
#define X_MAX_PIN -1

//y axis pins
[...]
#define Y_MIN_PIN 5
#define Y_MAX_PIN -1

//z axis pins
[...]
#define Z_MIN_PIN 1
#define Z_MAX_PIN -1

//extruder pins
[...]

#define SDPOWER -1
#define SDSS -1 // SCL pin of I2C header
#define LED_PIN -1

#define FAN_PIN 31
#define PS_ON_PIN 15
#define E0_PINS E_STEP_PIN,E_DIR_PIN,E_ENABLE_PIN,
#define E1_PINS

//our pin for debugging.

#define DEBUG_PIN 0

//our RS485 pins
#define TX_ENABLE_PIN 12
#define RX_ENABLE_PIN 13

#endif
____________________________________________________________

Ich habe folgendes geändert:

#define X_MIN_PIN 2
#define Y_MIN_PIN 1
#define Z_MIN_PIN 0
um die Endstops zu verlegen (auf die drei linken Anschlüsse). Somit habe ich jetzt die drei rechten Anschlüsse, die MOSI, MISO und SCK beinhalten frei.

Was bedeutet die -1 bei X/Y/Z_MAX ? ich habe jetzt mal vermutet, dass das dann nicht belegt/definiert ist.

Nun zum SD Adapter: Was genau muss ich da definieren? das einzige was ich gefunden habe, was mit SD zu tunhat waren:
#define SDPOWER -1
#define SDSS -1 // SCL pin of I2C header
#define LED_PIN -1
wobei das letzte auch nicht eindeutig ist.

Muss ich JEDEN pin (MOSI,MISO,SCK,+5V,CL,...) zuweisen? Oder was genau muss ich machen???
Re: SD-Card Adapter Gen7
13. July 2012 01:47
eigentlich musst du nur "#define SDSS -1" zu dem Pin ändern den du mit SS von der SD-Karte verbindest. dafür kannst du eigentlich alle freien digitalen Ausgänge vom Atmega nehmen, es muss nicht das SS vom Atmega sein. MISO, MOSI und SCK brauchst du nicht zu definieren, weil es nur eine Möglichkeit gibt die anzuschließen und die schon richtig in sd.h definiert ist.
Re: SD-Card Adapter Gen7
13. July 2012 03:41
Ja genau , die -1 bedeutet "nicht definiert"

- SDPOWER beliebt auf -1 ; Ich geh davon aus , dass damit ein PIN auf "Ausgang" gesetzt wird um darüber das SD Board mit Strom zu versorgen. Soweit ich mich erinnern kann würd das bei RAMPS1.2er Boards Sinn machen da hier keine Header für 5V oder GND zur verfügung stehen (kann mich auch irren)

-SDSS : wurde schon erklärt

-LED_Pin: Definiert eine zusätzliche LED ... bleibt auch auf -1

Die PIN Belegung für MISO/MOSI/SCK findest du im File Sd2PinMap.h brauchst aber wie erwähnt nicht ändern.
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen