Questo topic ti aiuterà a utilizzare gli stepper driver Stepstick TMC2130 con la Megatronics. Il setup è abbastanza semplice, ma il cablaggio può dare qualche problema, perché ci sono diversi cavi coinvolti. Il TMC2130 usa SPI per permettere la comunicazione tra il microprocessore e il driver, e per applicare le impostazioni di microstepping, per esempio. Per ulteriori informazioni sulle caratteristiche del chip, fare riferimento alla TMC2130 datasheet.
Prerequisiti
In primo luogo è necessario sistemare il cablaggio. SPI presenta quattro cavi: Dati (Master -> Slave o MOSI), Dati (Slave -> Master o MISO), Clock (SCK) e selezione chip (SS, CSN o CS). Il cavo di selezione chip determina il dispositivo attivo. Può essere attivo un solo dispositivo alla volta, quindi se si sta utilizzando ad esempio un'SD o un LCD non devono essere coinvolti nella comunicazione con uno stepper driver. È presente un solo cavo di selezione chip per ciascun dispositivo, mentre i cavi MISO, MOSI e SCK possono essere collegati in parallelo. Gli Stepstick sono dotati di descrizione sul retro per il collegamento: Dati in (SDI), Clock (SCK), Selezione chip (CSN) e Dati out (SDO). Notare che l'uscita Dati In deve essere collegata a master dati out (MOSI), mentre Dati Out deve essere collegato aMISO.
Megatronics supporta SPI nell'header SDOUT, ma può essere usata per il collegamento di SD o LCD esterni, quindi è più comodo usare l'header ICSP. La selezione chip può essere collegata a qualsiasi I/O digitale e può essere modificata nel firmware. Quindi, potresti usare gli I/O anche dall'header del keypad. In questo esempio, tuttavia, utilizzeremo AUX3. Ecco lo schema di collegamento:
Il cavo blu è MOSI, viola è Clock, verde è MISO e i cavi arancioni sono la Selezione Chip.Il cavo di selezione Chip va ai pin AUX3 3-6 in questo esempio.
Il cablaggio è completo. È però necessario impostare delle cose nel firmware. In questo esempio usiamo MK4Duo, ma diversi altri firmware funzionano praticamente allo stesso modo. Nel file di mappatura dei pin di Megatronics v3 (MK4duo/src/boards/703.h) cambiare le definizioni CS_PIN per ogni stepper driver per gli I/O scelti. Se hai usato lo stesso schema di cui sopra, usa questo codice:
//###X_AXIS
#define ORIG_X_STEP_PIN 58
#define ORIG_X_DIR_PIN 57
#define ORIG_X_ENABLE_PIN 59
#define ORIG_X_CS_PIN 49
//###Y_AXIS
#define ORIG_Y_STEP_PIN 5
#define ORIG_Y_DIR_PIN 17
#define ORIG_Y_ENABLE_PIN 4
#define ORIG_Y_CS_PIN 48
//###Z_AXIS
#define ORIG_Z_STEP_PIN 16
#define ORIG_Z_DIR_PIN 11
#define ORIG_Z_ENABLE_PIN 3
#define ORIG_Z_CS_PIN 46
//###EXTRUDER_0
#define ORIG_E0_STEP_PIN 28
#define ORIG_E0_DIR_PIN 27
#define ORIG_E0_ENABLE_PIN 29
#define ORIG_E0_CS_PIN 47
#define ORIG_SOL0_PIN NoPin
In configuration_feature.h, trova la sezione driver types e modifica il tipo di driver per ciascun asse da sistemare con il TMC2130, in questo modo:
/****************************************************************************
******************************** Driver types ******************************
****************************************************************************
* *
* Set driver type: *
* - A4988 *
* - A5984 *
* - DRV8825 *
* - LV8729 *
* - L6470 *
* - TB6560 *
* - TB6600 *
* - TMC2100 *
* - TMC2130 *
* - TMC2130_STANDALONE *
* - TMC2208 *
* - TMC2208_STANDALONE *
* - TMC26X *
* - TMC26X_STANDALONE *
* - TMC2660 *
* - TMC2660_STANDALONE *
* - TMC5130 *
* - TMC5130_STANDALONE *
* *
* See Configuration_Motor_Driver.h for configuration Motor Driver *
* *
****************************************************************************/
#define X_DRIVER_TYPE TMC2130
#define Y_DRIVER_TYPE TMC2130
#define Z_DRIVER_TYPE TMC2130
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE TMC2130
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
#define E5_DRIVER_TYPE A4988
Ecco fatto. In caso di errori di compilazione, verificare la presenza della libreria TMCStepper Driver. Il collegameto alla scheda Megatronics dovrebbe fornire all'avvio un messaggio sul collegamento degli stepper driver:
Info:echo:MK4duo_4.3.7_beta
echo:Last Updated: Nov 13 2018 16:23:14 | Author: (none, default config)
echo:Compiled: Nov 13 2018
echo:Free Memory: 4121 PlannerBufferBytes: 1184
echo:stepperX connect!
echo:stepperY connect!
echo:stepperZ connect!
echo:stepperE0 connect!
echo:Factory Settings Loaded
Config: G21 ; Units in (mm)