Znaleziono 5 wyników

autor: zzzZZZ
16 sie 2018, 14:30
Forum: NASZE AMATORSKIE MASZYNY CNC
Temat: Maszyna do punktowania rur
Odpowiedzi: 49
Odsłony: 5568

Re: Maszyna do punktowania rur

3 - co do czasów sygnałów to tu masz przykładowe http://wiki.linuxcnc.org/cgi-bin/wiki.p ... ive_Timing (nie wiem co to dokładnie masz za sterownik). Z bibliotekami niestety Ci nie pomogę, po prostu wgrałem GRBLa i robiłem testy na UGS. Ewentualnie bawiłem się kiedyś Arduino z wgraną pyfirmatą i aplikacją firmata_test. Prosta aplikacja okienkowa pozwalająca na ustawianie pinów jako wejście wyjście serwo. Podpinasz sterownik (pul) pod wejście, które ustawiasz jako serwo i suwakiem zmieniasz prędkość obrotową silnika.

5 - nie bawiłem się co prawda z krańcówkami ale chyba to jest tak, że ustawiasz jakiś pin jako input wpinasz pod niego krańcówkę i w chwili wykrycia Arduino analizuje sygnał i włącza/wyłącza Enable.
Bezpośrednie podłączenie też powinno działać z tym że znaczenie by miało jaki sygnał aktywuje krańcówkę. Musi być to stan wysoki i krańcówką przerywasz obwód.

Dodane 8 minuty 36 sekundy:
Dodatkowo wpięcie krańcówki bezpośrednio do sterownika spowoduje, że chcąc ruszyć silnikiem programowo będziesz musiał fizycznie usunąć sygnał z krańcówki.

Dodane 3 minuty 39 sekundy:
amatorski-ploter-cnc-grbl-t94546-10.html#p654516
autor: zzzZZZ
16 sie 2018, 12:13
Forum: NASZE AMATORSKIE MASZYNY CNC
Temat: Maszyna do punktowania rur
Odpowiedzi: 49
Odsłony: 5568

Re: Maszyna do punktowania rur

1 - raczej nie ma znaczenia bo to pewnie zmostkowane
2 - przewody przewodom nie równe ale pewnie dadzą rade
3 - mozesz włączyć stan wysoki na wyjściu z arduino dać wait Xms pozniej niski i znów wait, ewentualnie funkcja tone() (choć nie mam co do niej pewniści).
4 - dla misrostepping 1 - 1on 2on 3off
co do prądu to możesz dać mniejszy co by się nie grzały silniki przy testach
5 - krańcówki powinny byc raczej wpięte do arduino i z niego dopiero sygnał ena na sterowniki
autor: zzzZZZ
18 lip 2018, 15:22
Forum: NASZE AMATORSKIE MASZYNY CNC
Temat: Maszyna do punktowania rur
Odpowiedzi: 49
Odsłony: 5568

Re: Maszyna do punktowania rur

Uno jest moim zdaniem dobrym wyborem.
https://github.com/gnea/grbl/releases


Przeanalizuj sobie mapę połączeń i podepnij sterownik w piny step/dir/enable, ewentualnie dodaj jakieś krańcówki i tyle.

Kod: Zaznacz cały

#ifdef CPU_MAP_ATMEGA328P // (Arduino Uno) Officially supported by Grbl.

  // Define serial port pins and interrupt vectors.
  #define SERIAL_RX     USART_RX_vect
  #define SERIAL_UDRE   USART_UDRE_vect

  // Define step pulse output pins. NOTE: All step bit pins must be on the same port.
  #define STEP_DDR        DDRD
  #define STEP_PORT       PORTD
  #define X_STEP_BIT      2  // Uno Digital Pin 2
  #define Y_STEP_BIT      3  // Uno Digital Pin 3
  #define Z_STEP_BIT      4  // Uno Digital Pin 4
  #define STEP_MASK       ((1<<X_STEP_BIT)|(1<<Y_STEP_BIT)|(1<<Z_STEP_BIT)) // All step bits

  // Define step direction output pins. NOTE: All direction pins must be on the same port.
  #define DIRECTION_DDR     DDRD
  #define DIRECTION_PORT    PORTD
  #define X_DIRECTION_BIT   5  // Uno Digital Pin 5
  #define Y_DIRECTION_BIT   6  // Uno Digital Pin 6
  #define Z_DIRECTION_BIT   7  // Uno Digital Pin 7
  #define DIRECTION_MASK    ((1<<X_DIRECTION_BIT)|(1<<Y_DIRECTION_BIT)|(1<<Z_DIRECTION_BIT)) // All direction bits

  // Define stepper driver enable/disable output pin.
  #define STEPPERS_DISABLE_DDR    DDRB
  #define STEPPERS_DISABLE_PORT   PORTB
  #define STEPPERS_DISABLE_BIT    0  // Uno Digital Pin 8
  #define STEPPERS_DISABLE_MASK   (1<<STEPPERS_DISABLE_BIT)

  // Define homing/hard limit switch input pins and limit interrupt vectors.
  // NOTE: All limit bit pins must be on the same port, but not on a port with other input pins (CONTROL).
  #define LIMIT_DDR        DDRB
  #define LIMIT_PIN        PINB
  #define LIMIT_PORT       PORTB
  #define X_LIMIT_BIT      1  // Uno Digital Pin 9
  #define Y_LIMIT_BIT      2  // Uno Digital Pin 10
  #ifdef VARIABLE_SPINDLE // Z Limit pin and spindle enabled swapped to access hardware PWM on Pin 11.
    #define Z_LIMIT_BIT	   4 // Uno Digital Pin 12
  #else
    #define Z_LIMIT_BIT    3  // Uno Digital Pin 11
  #endif
  #define LIMIT_MASK       ((1<<X_LIMIT_BIT)|(1<<Y_LIMIT_BIT)|(1<<Z_LIMIT_BIT)) // All limit bits
  #define LIMIT_INT        PCIE0  // Pin change interrupt enable pin
  #define LIMIT_INT_vect   PCINT0_vect
  #define LIMIT_PCMSK      PCMSK0 // Pin change interrupt register

  // Define spindle enable and spindle direction output pins.
  #define SPINDLE_ENABLE_DDR    DDRB
  #define SPINDLE_ENABLE_PORT   PORTB
  // Z Limit pin and spindle PWM/enable pin swapped to access hardware PWM on Pin 11.
  #ifdef VARIABLE_SPINDLE
    #ifdef USE_SPINDLE_DIR_AS_ENABLE_PIN
      // If enabled, spindle direction pin now used as spindle enable, while PWM remains on D11.
      #define SPINDLE_ENABLE_BIT    5  // Uno Digital Pin 13 (NOTE: D13 can't be pulled-high input due to LED.)
    #else
      #define SPINDLE_ENABLE_BIT    3  // Uno Digital Pin 11
    #endif
  #else
    #define SPINDLE_ENABLE_BIT    4  // Uno Digital Pin 12
  #endif
  #ifndef USE_SPINDLE_DIR_AS_ENABLE_PIN
    #define SPINDLE_DIRECTION_DDR   DDRB
    #define SPINDLE_DIRECTION_PORT  PORTB
    #define SPINDLE_DIRECTION_BIT   5  // Uno Digital Pin 13 (NOTE: D13 can't be pulled-high input due to LED.)
  #endif

  // Define flood and mist coolant enable output pins.
  #define COOLANT_FLOOD_DDR   DDRC
  #define COOLANT_FLOOD_PORT  PORTC
  #define COOLANT_FLOOD_BIT   3  // Uno Analog Pin 3
  #define COOLANT_MIST_DDR   DDRC
  #define COOLANT_MIST_PORT  PORTC
  #define COOLANT_MIST_BIT   4  // Uno Analog Pin 4

  // Define user-control controls (cycle start, reset, feed hold) input pins.
  // NOTE: All CONTROLs pins must be on the same port and not on a port with other input pins (limits).
  #define CONTROL_DDR       DDRC
  #define CONTROL_PIN       PINC
  #define CONTROL_PORT      PORTC
  #define CONTROL_RESET_BIT         0  // Uno Analog Pin 0
  #define CONTROL_FEED_HOLD_BIT     1  // Uno Analog Pin 1
  #define CONTROL_CYCLE_START_BIT   2  // Uno Analog Pin 2
  #define CONTROL_SAFETY_DOOR_BIT   1  // Uno Analog Pin 1 NOTE: Safety door is shared with feed hold. Enabled by config define.
  #define CONTROL_INT       PCIE1  // Pin change interrupt enable pin
  #define CONTROL_INT_vect  PCINT1_vect
  #define CONTROL_PCMSK     PCMSK1 // Pin change interrupt register
  #define CONTROL_MASK      ((1<<CONTROL_RESET_BIT)|(1<<CONTROL_FEED_HOLD_BIT)|(1<<CONTROL_CYCLE_START_BIT)|(1<<CONTROL_SAFETY_DOOR_BIT))
  #define CONTROL_INVERT_MASK   CONTROL_MASK // May be re-defined to only invert certain control pins.

  // Define probe switch input pin.
  #define PROBE_DDR       DDRC
  #define PROBE_PIN       PINC
  #define PROBE_PORT      PORTC
  #define PROBE_BIT       5  // Uno Analog Pin 5
  #define PROBE_MASK      (1<<PROBE_BIT)

  // Variable spindle configuration below. Do not change unless you know what you are doing.
  // NOTE: Only used when variable spindle is enabled.
  #define SPINDLE_PWM_MAX_VALUE     255 // Don't change. 328p fast PWM mode fixes top value as 255.
  #ifndef SPINDLE_PWM_MIN_VALUE
    #define SPINDLE_PWM_MIN_VALUE   1   // Must be greater than zero.
  #endif
  #define SPINDLE_PWM_OFF_VALUE     0
  #define SPINDLE_PWM_RANGE         (SPINDLE_PWM_MAX_VALUE-SPINDLE_PWM_MIN_VALUE)
  #define SPINDLE_TCCRA_REGISTER	  TCCR2A
  #define SPINDLE_TCCRB_REGISTER	  TCCR2B
  #define SPINDLE_OCR_REGISTER      OCR2A
  #define SPINDLE_COMB_BIT	        COM2A1

  // Prescaled, 8-bit Fast PWM mode.
  #define SPINDLE_TCCRA_INIT_MASK   ((1<<WGM20) | (1<<WGM21))  // Configures fast PWM mode.
  // #define SPINDLE_TCCRB_INIT_MASK   (1<<CS20)               // Disable prescaler -> 62.5kHz
  // #define SPINDLE_TCCRB_INIT_MASK   (1<<CS21)               // 1/8 prescaler -> 7.8kHz (Used in v0.9)
  // #define SPINDLE_TCCRB_INIT_MASK   ((1<<CS21) | (1<<CS20)) // 1/32 prescaler -> 1.96kHz
  #define SPINDLE_TCCRB_INIT_MASK      (1<<CS22)               // 1/64 prescaler -> 0.98kHz (J-tech laser)

  // NOTE: On the 328p, these must be the same as the SPINDLE_ENABLE settings.
  #define SPINDLE_PWM_DDR	  DDRB
  #define SPINDLE_PWM_PORT  PORTB
  #define SPINDLE_PWM_BIT	  3    // Uno Digital Pin 11

#endif

/*
#ifdef CPU_MAP_CUSTOM_PROC
  // For a custom pin map or different processor, copy and edit one of the available cpu
  // map files and modify it to your needs. Make sure the defined name is also changed in
  // the config.h file.
#endif
*/

#endif
autor: zzzZZZ
16 lip 2018, 01:34
Forum: NASZE AMATORSKIE MASZYNY CNC
Temat: Maszyna do punktowania rur
Odpowiedzi: 49
Odsłony: 5568

Re: Maszyna do punktowania rur

Elektrozawór był by spoko. Wcisnąć "spust" na stałe i sterowanie zrobić w wężyku doprowadzającym powietrze.
autor: zzzZZZ
15 lip 2018, 23:31
Forum: NASZE AMATORSKIE MASZYNY CNC
Temat: Maszyna do punktowania rur
Odpowiedzi: 49
Odsłony: 5568

Re: Maszyna do punktowania rur

Jeśli chciałeś zamontować młot do tego urządzenia z ostatniego linku to odradzam. Młot potrzebuje sporej siły i obawiam się, że konstrukcja szybko się posypie.
Odnośnie silników to jest szansa, że pociągną rolkę, należy tylko pamiętać, że zwiększając moment zmniejszasz prędkość obrotową.

Co do konstrukcji:
- moim zdaniem wystarczą Ci 2 silniki, wysokość możesz ustawiać ręcznie (zawsze jakaś oszczędność)
- podaj wagę rolki, średnicę, masę i najlepiej moment bezwładności rolki. Będzie łatwiej dobrać jakieś parametry urządzenia
- podesłał byś link do młota bo nie bardzo wiem jak to dokładnie wygląda. Jeśli interesuje cię destruktywne konstruowanie to możesz zamiast włącznika wstawić przekaźnik i z arduino sterować młotem.

Pozdrawiam

Dodane 1 minuta 26 sekundy:
Zmieniając trochę temat, robisz takie rolki na zamówienie czy składasz całe urządzenia?

Wróć do „Maszyna do punktowania rur”