Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

Gen7 Marlin Panelolu 2

geschrieben von Tommesy 
Gen7 Marlin Panelolu 2
19. May 2015 15:41
Hi
Hab mir eine Generation7 Elektronik (mit Atmega1284P-PU) selbst gebaut. Über i2c das Panelolu 2 mit 20x4LCD angeschlossen.


Atmega Pin
Pin23 PC1 (D 17) SDA I2C LCD
Pin22 PC0 (D 16) SCL I2C LCD

Encoder Kontakt EN_A und EN_B
Pin17,D11 EN_A
Pin16,D10 EN_B


Vom Encoder den "Click" (EN_C)Kontakt habe ich an Pin23 MCP23017 angeschlossen. Die anderen beiden Kontakte habe ich nicht über das IC ans laufen bekommen, deswegen direkt an Pin17,D11und Pin16,D10 vom Atmega1284 angeschlossen. Es ist eigentlich egal welcher Pin am Atmega benutzt wird, er muß nur in der Pins.h eingetragen werden.


Die Zeilen Auskommentieren, die nicht eingerückt sind.

Configuration.h
//LCD and SD support
#define ULTRA_LCD //general LCD support, also 16x2
//#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family)
#define SDSUPPORT // Enable SD Card Support in Hardware Console
//#define SDSLOW // Use slower SD transfer mode (not normally needed - uncomment if you're getting volume init error)
#define SD_CHECK_AND_RETRY // Use CRC checks and retries on the SD communication
//#define ENCODER_PULSES_PER_STEP 1 // Increase if you have a high resolution encoder
#define ENCODER_STEPS_PER_MENU_ITEM 5 // Set according to ENCODER_PULSES_PER_STEP or your liking
//#define ULTIMAKERCONTROLLER //as available from the Ultimaker online store.
//#define ULTIPANEL //the UltiPanel as on Thingiverse
//#define LCD_FEEDBACK_FREQUENCY_HZ 1000 // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
//#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click

und etwas tiefer
//I2C PANEL
// PANELOLU2 LCD with status LEDs, separate encoder and click inputs
#define LCD_I2C_PANELOLU2 in dieser Zeile die // entfernen
#ifdef LCD_I2C_PANELOLU2

#define LCD_I2C_TYPE_MCP23017
#define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander
#define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD
#define NEWPANEL
#define ULTIPANEL
#define SDSUPPORT
#define LCD_WIDTH 20
#define LCD_HEIGHT 4
#endif

#ifdef LCD_USE_I2C_BUZZER
#define LCD_FEEDBACK_FREQUENCY_HZ 1000
#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100
#endif

in der Pins.h im Abschnitt Motherboard=13
müssen die Encoder Kontakte und die SD Card eingetragen werden

Pins.h
/**************************************************
* LCD Panelolu *
***************************************************/
#define BTN_EN1 11
#define BTN_EN2 10
#define BTN_ENC -1 // -1 deswegen, weil der Click ja am IC MCP23017 angeschlossen ist


/**************************
* SD-Karte *
***************************/
#define SDPOWER -1
#define SDSS 20 // CS Pin for SD Card support
Re: Gen7 Marlin Panelolu 2
19. May 2015 16:17
Re: Gen7 Marlin Panelolu 2
19. May 2015 16:30
habe ich beim oberen Beitrag vergessen
in der Configuration.h am Anfang
#include //Library für PANELOLU2 Panel




Hallo,
Marlin Sled Probe mit Gen7 Elektronik.
Auto Bed Leveling mit Elektromagnet anstatt Servo.

Elektromagnet über MosFet Schlatung (so wie bei Hotend/Hotbed) an Pin4,D3 Atmega.


Configuration.h

#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
#ifdef ENABLE_AUTO_BED_LEVELING

#define AUTO_BED_LEVELING_GRID

#ifdef AUTO_BED_LEVELING_GRID

// set the rectangle in which to probe
#define LEFT_PROBE_BED_POSITION 130
#define RIGHT_PROBE_BED_POSITION 0
#define BACK_PROBE_BED_POSITION 87
#define FRONT_PROBE_BED_POSITION 0


#define AUTO_BED_LEVELING_GRID_POINTS 2

#endif // AUTO_BED_LEVELING_GRID

// these are the offsets to the probe relative to the extruder tip (Hotend - Probe)
#define X_PROBE_OFFSET_FROM_EXTRUDER 4.9
#define Y_PROBE_OFFSET_FROM_EXTRUDER 18.7
#define Z_PROBE_OFFSET_FROM_EXTRUDER -4.2

#define Z_RAISE_BEFORE_HOMING 1

#define XY_TRAVEL_SPEED 3000
#define Z_RAISE_BEFORE_PROBING 16 //How much the extruder will be raised before traveling to the first probing point.
#define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between next probing points

#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.



In Pins.h unter Eurem Motherboard eintragen:

/********************************************************************
* Elektromagnet (Sled) *
*********************************************************************/
#ifdef Z_PROBE_SLED
#define SERVO0_PIN 3
#endif



Der Elektromagnet wird bei X-Max + DOCKING_OFFSET angefahren. Das heist wenn die X-Achse Ihre Home Position links hat, muss der
Schlitten mit dem Elektromagnet ganz rechts sein.
das ermitteln der PROBE_OFFSET_FROM_EXTRUDER Werte, kann man genau so wie beim Servo machen.
Auf Github gibt es Marlin mit der Sled Probe zum Download. Da sind neue G-Codes drin, sonst geht es nicht.
[github.com]
G29 - Z probe mit Magnet.
G31 - Magnet holen (if enabled)
G32 - Magnet abschalten (if enabled)


Ich hoffe das hilft einigen Leuten weiter......

Tschö mit "ö"
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen