Welcome! Log In Create A New Profile

Advanced

Modulazione PWM per Marlinkimbra CNC

Posted by atomino 
Modulazione PWM per Marlinkimbra CNC
October 25, 2018 04:43AM
Buongiorno,
sto autocostruendo una Cnc con Ramps 1.4 e MarlinKimbra 4.3.6
e non riesco ad ottenere sul pin D42, l'uscita per lo spindle motor un
segnale in PWM, ma soltanto un uscita a livello logico 0 e 1 ( 5V),
utilizzando il comando M3 S12000, di sotto i settaggi nel file
configuration_overall.h. in aggiunta gli endstop max non bloccano
la movimentazione quando raggiunti.

su repetier-host il log riporta :

< 22:28:29: Echo:N239 M3 S24000 *77
< 22:28:29: ok
< 22:28:30: Echo:N240 M105 *1
< 22:28:30: ok T:-273.15 /0 @:0 CNC speed: 15000 rpm
< 22:28:31: wait
< 22:28:31: Echo:N241 M105 *0
< 22:28:31: ok T:-273.15 /0 @:0 CNC speed: 24000 rpm
< 22:28:32: wait

e l'uscita D42 va a 5V ma non modula e fino a 16000 rpm rimane a Zero, a 17000 va a 5V.


...configuration_overall.h

/*******************************
* Firmware Version V4.3.6 *
*******************************/
#define CUSTOM_MACHINE_NAME "Max Cnc MK"
#define MOTHERBOARD BOARD_RAMPS_13_HFB
#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
#define MECHANISM MECH_CARTESIAN

/*****************************************************************************************
************************* Endstop pullup resistors **************************************
*****************************************************************************************
* *
* Put true for enable or put false for disable the endstop pullup resistors *
* *
*****************************************************************************************/
#define ENDSTOPPULLUP_XMIN true
#define ENDSTOPPULLUP_YMIN true
#define ENDSTOPPULLUP_ZMIN true
#define ENDSTOPPULLUP_XMAX true
#define ENDSTOPPULLUP_YMAX true
#define ENDSTOPPULLUP_ZMAX true
#define ENDSTOPPULLUP_X2MIN true
#define ENDSTOPPULLUP_Y2MIN true
#define ENDSTOPPULLUP_Z2MIN true
#define ENDSTOPPULLUP_X2MAX true
#define ENDSTOPPULLUP_Y2MAX true
#define ENDSTOPPULLUP_Z2MAX true
#define ENDSTOPPULLUP_ZPROBE true


#define ENABLED_ALL_SIX_ENDSTOP
// * Sets direction of endstop when homing; 1=MAX, -1=MIN
#define Z_HOME_DIR 1

/*****************************************************************************************
*************************************** SDCARD *******************************************
****************************************************************************************/
#define SDSUPPORT


/*****************************************************************************************
************************************ Travel limits **************************************
*****************************************************************************************
* *
* Travel limits after homing (units are in mm) *
* *
*****************************************************************************************/
#define X_MAX_POS 440
#define X_MIN_POS 0
#define Y_MAX_POS 500
#define Y_MIN_POS 0
#define Z_MAX_POS 320
#define Z_MIN_POS 0
#define E_MIN_POS 0
/*****************************************************************************************
********************************** Axis feedrate ****************************************
*****************************************************************************************/
// X, Y, Z, E0...(per extruder). (mm/sec)
#define DEFAULT_MAX_FEEDRATE {300, 300, 300, 100, 100, 100, 100}
// Feedrates for manual moves along X, Y, Z, E from panel
#define MANUAL_FEEDRATE {50*60, 50*60, 50*60, 10*60}
// Minimum feedrate
#define DEFAULT_MINIMUMFEEDRATE 0.0
#define DEFAULT_MINTRAVELFEEDRATE 0.0
// Minimum planner junction speed. Sets the default minimum speed the planner plans for at the end
// of the buffer and all stops. This should not be much greater than zero and should only be changed
// if unwanted behavior is observed on a user's machine when running at very slow speeds.
#define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec)
/*****************************************************************************************/


/*****************************************************************************************
******************************** Axis acceleration **************************************
*****************************************************************************************/
// Maximum start speed for accelerated moves. X, Y, Z, E0...(per extruder)
#define DEFAULT_MAX_ACCELERATION {3000, 3000, 3000, 1000, 1000, 1000, 1000}
// Maximum acceleration in mm/s^2 for retracts E0... (per extruder)
#define DEFAULT_RETRACT_ACCELERATION {10000, 10000, 10000, 10000}
// X, Y, Z and E* maximum acceleration in mm/s^2 for printing moves
#define DEFAULT_ACCELERATION 3000
// X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
#define DEFAULT_TRAVEL_ACCELERATION 3000



#define CNCROUTER
/*Qui e' definito il Pin Configuration_Pins.h */
// #define CNCROUTER_PIN 42
#define MAX_CNCROUTER_SPEED 24000
#define MIN_CNCROUTER_SPEED 300

// Enable speed control by PWM
#define FAST_PWM_CNCROUTER

#define LCD_LANGUAGE it
//assi con pignone-corona Z10 - Z30 modifica driver polulu 8825 1/32 , motore 1.8 deg/step = 360/1.8 = 200 x 3 giri= 600 step per giro x 32=19200 /passo vite SFU1605 passo mm. 5 = 3840
#define DEFAULT_AXIS_STEPS_PER_UNIT { 3840, 3840, 3840, 600 }
#define DEFAULT_MAX_FEEDRATE {300, 300, 300, 100, 100, 100, 100}
// Maximum start speed for accelerated moves. X, Y, Z, E0...(per extruder)
#define DEFAULT_MAX_ACCELERATION {3000, 3000, 3000, 1000, 1000, 1000, 1000}
Re: Modulazione PWM per Marlinkimbra CNC
October 25, 2018 06:37PM
Gli endstop vengono usati solo per la home a meno che tu non abiliti che vuoi che vengano usati sempre e tutti e 6, riduci di molto le prestazioni, perchè a ogni step deve controllare i pin.. Non ha nessun senso... esistono i software endstop, cioè la macchina non va oltre i limiti massimi e ninimi impostati.
Il pin deve essere un pin pwm altrimenti è on off. il pin 42 non lo è...


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: Modulazione PWM per Marlinkimbra CNC
October 26, 2018 06:31AM
Ok per gli endstop.
Per il pwm ho provato a cambiare in configuration_overall.h

#define CNCROUTER_PIN ORIG_LASER_PWM_PIN
oppure
#define CNCROUTER_PIN 6
oppure
#define CNCROUTER_PIN 11
oppure
#define CNCROUTER_PIN 9

ma sull'uscita dando il comando M3 S12000, controllandola
con l'oscilloscopio non succede nulla.

Mentre con
#define CNCROUTER_PIN 42
com M3 S20000 l'uscita D42 va alta.....
Re: Modulazione PWM per Marlinkimbra CNC
October 26, 2018 07:43AM
ho cambiato in Configurations_Pin.h ed adesso funziona winking smiley

#if ENABLED(CNCROUTER)
#define CNCROUTER_PIN ORIG_LASER_PWM_PIN
#endif
Sorry, only registered users may post in this forum.

Click here to login