Candle
Sterowaniem wrzecionem
-
Autor tematu - Znawca tematu (min. 80)
- Posty w temacie: 4
- Posty: 96
- Rejestracja: 29 mar 2020, 22:37
Candle
Mam sterownik gbrl 1.1f i wrzeciono na sterowniku WS55-220 tam się steruje napięciem od 0-do 10V dlatego jest konwerter PWM to 0-10V. O ile obroty maksymalne 14000 są ok i zgodne a minimalne się rozjeżdżają i to dość mocno. W GBRL jest ustawienie ale to zakres który mi nie odpowiada wrzeciono zaczyna minimalne od 500obr wypełnienie 20%PWM żeby dało się to przesunąć w gbrl spindle min poniżej 0 to by można było skonfigurować prawidłowo obroty zadane od fizycznych ale się nie da.
Mój obecny konwerter ma ustawienie tylko żeby ustawić 1:1 czyli 50%PWM to 5V. Ewentualnie mogę przesunąć całość.
Mam pytanie czy są jakieś konwertery gdzie dodatkowo można przesuwać zakresy min/max?
Mój obecny konwerter ma ustawienie tylko żeby ustawić 1:1 czyli 50%PWM to 5V. Ewentualnie mogę przesunąć całość.
Mam pytanie czy są jakieś konwertery gdzie dodatkowo można przesuwać zakresy min/max?
-
- Lider FORUM (min. 2000)
- Posty w temacie: 3
- Posty: 2224
- Rejestracja: 17 wrz 2018, 10:47
- Lokalizacja: Wrocław
- Kontakt:
Re: Candle
Można za pomocą prostej elektroniki analogowej, ale łatwiej to zrobić cyfrowo
Można przekompilować GRBL tak, żeby dla minimalnych obrotów dawał dowolną wartość PWM (nawet 50%). Tylko trzeba ustalić tą wartość.
Wydaje się, że to powinno rozwiązać problem
#define SPINDLE_PWM_MIN_VALUE 50
$31=500
Mierzyłeś napięcia za konwerterem?
Jeśli wpisałeś $30=14000, $31=0, to jakie napięcia masz dla poleceń
M3 S1400 (powinno być 1V)
M3 S2800 (2V)
...
M3 S12600 (9V)
-
Autor tematu - Znawca tematu (min. 80)
- Posty w temacie: 4
- Posty: 96
- Rejestracja: 29 mar 2020, 22:37
Re: Candle
Konwerter dobrze działa i liniowo na 10%PWM daje 1V, 50%PWM 5V, 90%PWM 9V, tak jak pisałem wyżej o ile przy 100%PWM da się ustawić prawidłowo i daje 14000 obr/min
Na zadane 14tyś mam 14tyś. Na zadane 10tyś mam 10200 obr na zadane 7tyś mam 7500 obr na zadane 4tyś mam 2600. A na zadane 3tyś mam 1tyś. Że dół się całkiem rozjeżdża. A moje wrzeciono dobrze dopiero kręci w okolicach 500obr i to jest 20%PWM.
Ogólnie wgrywałem gotowca GBRL1.1f
Musze poszukać kodów źródłowych i przekompilować GRBL pod siebie..
Na zadane 14tyś mam 14tyś. Na zadane 10tyś mam 10200 obr na zadane 7tyś mam 7500 obr na zadane 4tyś mam 2600. A na zadane 3tyś mam 1tyś. Że dół się całkiem rozjeżdża. A moje wrzeciono dobrze dopiero kręci w okolicach 500obr i to jest 20%PWM.
Ogólnie wgrywałem gotowca GBRL1.1f
Musze poszukać kodów źródłowych i przekompilować GRBL pod siebie..
-
- Lider FORUM (min. 2000)
- Posty w temacie: 3
- Posty: 2224
- Rejestracja: 17 wrz 2018, 10:47
- Lokalizacja: Wrocław
- Kontakt:
Re: Candle
Czyli to silnik lub sterownik wrzeciona nie działa liniowo.
Zainstaluj Arduino IDE, pobierz GRBL i wyedytuj plik config.h
Jeśli masz Arduino nano, z CNC Shield v4, to musisz jeszcze zamienić porty STEP i DIR w każdej osi w pliku cpu_map.h
Zainstaluj Arduino IDE, pobierz GRBL i wyedytuj plik config.h
Jeśli masz Arduino nano, z CNC Shield v4, to musisz jeszcze zamienić porty STEP i DIR w każdej osi w pliku cpu_map.h
-
- Lider FORUM (min. 2000)
- Posty w temacie: 3
- Posty: 2224
- Rejestracja: 17 wrz 2018, 10:47
- Lokalizacja: Wrocław
- Kontakt:
Re: Candle
Nie różni się. To wciąż jest Atmega 328p. Ustawienia będą zatem domyślne jak dla Uno.
Przy okazji polecam odblokowanie
#define ENABLE_SAFETY_DOOR_INPUT_PIN
i zdefiniowanie czasu rozruchu wrzeciona
#define SAFETY_DOOR_SPINDLE_DELAY 1.0 // Float (seconds)
Zmienia to sposób działania wejścia Hold.
Normalnie hold wstrzymuje tylko posuw. Po zmianie zatrzyma się też wrzeciono. Pozwala to chwilowo wstrzymać pracę, np. w celu usunięcia wiórów (zwłaszcza przy wierceniu). Drugie wciśnięcie powoduje wznowienie pracy. Nie jest wtedy potrzebny przycisk Resume.
Przy okazji polecam odblokowanie
#define ENABLE_SAFETY_DOOR_INPUT_PIN
i zdefiniowanie czasu rozruchu wrzeciona
#define SAFETY_DOOR_SPINDLE_DELAY 1.0 // Float (seconds)
Zmienia to sposób działania wejścia Hold.
Normalnie hold wstrzymuje tylko posuw. Po zmianie zatrzyma się też wrzeciono. Pozwala to chwilowo wstrzymać pracę, np. w celu usunięcia wiórów (zwłaszcza przy wierceniu). Drugie wciśnięcie powoduje wznowienie pracy. Nie jest wtedy potrzebny przycisk Resume.
-
Autor tematu - Znawca tematu (min. 80)
- Posty w temacie: 4
- Posty: 96
- Rejestracja: 29 mar 2020, 22:37
Re: Candle
Nie było tak źle wyszło mi to co chciałem, bo GBRL ma obsługę nieliniowego wrzeciona
trzeba było sobie tylko porobić punkty pwm/obr i wpisać w skrypt fit_nonlinear_spindle.py który mi wyliczył dane które trzeba było wpisać a config.h
Teraz mi balanga
co wpisze w candle takie mam obroty +- czasem 100obr ale to pewnie że rozdzielczość PWM się zawęziła jak by nie patrzeć mam tylko 175 możliwości co daje rozdzielczość 80obr. Dzięki za podpowiedzi bo gdybym nie ruszył z konfiguracją pewnie bym nie wiedział o tym.

CONFIG: N_pieces: 4 PWM_min: 50.0 PWM_max: 225.0 PWM_point1: 60.0 PWM_point2: 100.0 PWM_point3: 150.0 N_data: 14 PWM_set: [ 50. 65. 80. 95. 110. 125. 140. 155. 170. 185. 200. 215. 220. 225.] RPM_measured: [ 480. 1830. 3210. 4740. 6180. 7390. 8435. 8450. 9700. 11080. 12090. 13300. 13700. 13750.] SOLUTION: [Update these #define values and uncomment] [ENABLE_PIECEWISE_LINEAR_SPINDLE in config.h.] #define N_PIECES 4 #define RPM_MAX 13899.8 #define RPM_MIN 480.0 #define RPM_POINT12 1157.9 #define RPM_POINT23 5556.7 #define RPM_POINT34 8537.6 #define RPM_LINE_A1 1.475231e-02 #define RPM_LINE_B1 -4.291889e+01 #define RPM_LINE_A2 9.093288e-03 #define RPM_LINE_B2 -4.947125e+01 #define RPM_LINE_A3 1.677374e-02 #define RPM_LINE_B3 -6.793226e+00 #define RPM_LINE_A4 1.398673e-02 #define RPM_LINE_B4 -3.058750e+01 [To operate over full model range, manually write these] ['$' settings or alter values in defaults.h. Grbl will] [operate between min($30,RPM_MAX) and max($31,RPM_MIN)] $30=13899.8 (rpm max) $31=480.0 (rpm min) [Update the following #define values in cpu_map.h] #define SPINDLE_PWM_MIN_VALUE 50 #define SPINDLE_PWM_MAX_VALUE 225
Teraz mi balanga
