Maszyna do punktowania rur

Połączenie obrotnika z młotkiem pneumatycznym przy pomocy ardruino.

Ogólne tematy związane z maszynami CNC, maszyny o odmiennej konstrukcji czyli wszystko co nie pasuje do powyższych.
Tu możesz również przedstawić się i opisać swoją maszynę

Bronsonboss
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 11
Posty: 304
Rejestracja: 14 sty 2018, 18:27
Lokalizacja: Cedry Wielkie

Re: Maszyna do punktowania rur

#21

Post napisał: Bronsonboss » 16 lip 2018, 16:20

no to na pewno lepsze to niż z zestawów wcześniejszych :-) poproś jeszcze gościa o dane/model silnika.. zweryfikujesz czy faktycznie 1,1Nm

Myślę że przy przełożeniu 1:3 lub 1:5 nawet powinno mieć sporo pary do kręcenia wałkiem.. przesuw młota to nawet bez przełożenia można się pokusić..
Sterowniki mam takie same w swojej dużej maszynie tylko model z prądem do 5A




Autor tematu
mat008
Czytelnik forum poziom 3 (min. 30)
Czytelnik forum poziom 3 (min. 30)
Posty w temacie: 24
Posty: 30
Rejestracja: 17 maja 2015, 15:24
Lokalizacja: NML

Re: Maszyna do punktowania rur

#22

Post napisał: mat008 » 18 lip 2018, 09:52

Dzięki za doradzanie. Młotek doszedł wczoraj. A dzisiaj facet wyśle mi zasilacz, sterowniki i silniki te z poprzedniego postu. Jeszcze muszę kupić arduino, chyba obojętnie jaką wersję? No i jak mam te sterowniki tb6600 to shield do arduino już nic mi nie da chyba ? Muszę poszukać teraz na necie jak to wszystko podłączyć 😊
Bardzo chciał bym dać już jakieś zdjęcia maszyny ale ciągle dorabiam tylko poszczególne elementy. Za mało wolnego czasu...
pozdrawiam

Awatar użytkownika

zzzZZZ
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 5
Posty: 258
Rejestracja: 14 cze 2018, 13:09
Lokalizacja: piniendzy z komuni wciąż jest mi nieznana
Kontakt:

Re: Maszyna do punktowania rur

#23

Post napisał: zzzZZZ » 18 lip 2018, 15:22

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
wszystko jest trudne zanim stanie się łatwe


Autor tematu
mat008
Czytelnik forum poziom 3 (min. 30)
Czytelnik forum poziom 3 (min. 30)
Posty w temacie: 24
Posty: 30
Rejestracja: 17 maja 2015, 15:24
Lokalizacja: NML

Re: Maszyna do punktowania rur

#24

Post napisał: mat008 » 16 sie 2018, 11:01

zzzZZZ dzięki za kod. Ale tak jak pisałem raczej nie będę się opierał na Grbl, do tego projektu jakoś średnio mi to pasuje chyba. Mam już kupione wszystkie elementy oraz potoczone wszystkie tuleje, rolki, wałki itp. zostaje jeszcze zrobić ramę i wszystko złożyć... Ale teraz biorę się na złożenie elektroniki i kod, tzn. póki co nadal czytam różne kursy i poradniki ale że jestem początkujący to nie zawsze wszystko rozumiem. Więc mam parę pytań, może ktoś da radę wesprzeć...
1. Zasilacz ma po trzy wyjścia v- i v+, czyli najlepiej każdy sterownik silnika zasilać z innego wyjścia? Akurat też będę używał 3 silników.
2. Zasilacz na wyjściu ma 24v i 10A czyli spokojnie wystarczy do zasilenia 3szt. silników 2,2v 2,3A. Po łącznia mogę robić przewodami 0,5mm? Z tego co czytałem wytrzymują do 8A więc luz?
3. Na wejścia PUL sterownika silnika muszę podać sygnał prostokątny czyli nie zwykłe 0V lub 5V ;) Sam nie wiem jak to zrobić, pomoże mi w tym biblioteka stepper.h?
4. To moje sterowniki.


Czyli przy tym przełączniku na 6, jak dzwignia na dół to offf?
Mogę ustawić albo 2.0A albo 2.5A a silnik ma 2.3A lepiej ustawić mniej czy więcej?
Dla ustawień micro step 1 i 2.A muszę zrobić: 1on 2on 3off 4on 5off 6off? Dobrze?
5. Czy Ena to miejsce na podłączanie krańcówki?
Wiem że sporo tego ale im więcej czytam tym więcej pytań ;)

Awatar użytkownika

zzzZZZ
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 5
Posty: 258
Rejestracja: 14 cze 2018, 13:09
Lokalizacja: piniendzy z komuni wciąż jest mi nieznana
Kontakt:

Re: Maszyna do punktowania rur

#25

Post napisał: zzzZZZ » 16 sie 2018, 12:13

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
wszystko jest trudne zanim stanie się łatwe


Autor tematu
mat008
Czytelnik forum poziom 3 (min. 30)
Czytelnik forum poziom 3 (min. 30)
Posty w temacie: 24
Posty: 30
Rejestracja: 17 maja 2015, 15:24
Lokalizacja: NML

Re: Maszyna do punktowania rur

#26

Post napisał: mat008 » 16 sie 2018, 13:17

1.2.4 dzięki przynajmniej coś mało wiele jest tak jak myślałem 😁
5. Czyli ena minus pod gnd arduino a między pinem 5v z arduino a ena plus wpinam kranicówki?
3. Jaką częstotliwość miał by mieć taki sygnał? Bo chyba powinien mieć wypełnienie 50%?
Bo jakaś biblioteka mi tu nie pomoże żeby uprościć tę sprawę?

Póki co pierwszy raz zlutowalem diodę z rezystorem i cieszę się że miga na arduino 😂

Awatar użytkownika

zzzZZZ
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 5
Posty: 258
Rejestracja: 14 cze 2018, 13:09
Lokalizacja: piniendzy z komuni wciąż jest mi nieznana
Kontakt:

Re: Maszyna do punktowania rur

#27

Post napisał: zzzZZZ » 16 sie 2018, 14:27

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
wszystko jest trudne zanim stanie się łatwe


Autor tematu
mat008
Czytelnik forum poziom 3 (min. 30)
Czytelnik forum poziom 3 (min. 30)
Posty w temacie: 24
Posty: 30
Rejestracja: 17 maja 2015, 15:24
Lokalizacja: NML

Re: Maszyna do punktowania rur

#28

Post napisał: mat008 » 16 sie 2018, 15:17

Dzięki za linki. Muszę że przejrzeć na spokojnie po pracy, głównie ten o timingu, chyba że ktoś jeszcze podrzuci coś w tym temacie. Zobaczymy.
Moje sterowniki to tb6600 przynajmniej teoretyczne bo czytałem gdzieś że w środku różne rzeczy mogą siedzieć...
zrobiłem błąd że od razu nie napisałem że kranicówki mają być tylko przy śrubie trapezowej z dwóch stron jako zabezpieczenie żeby nic nie poszło za daleko. Więc przy dobrej pracy maszyny nie będą wykorzystywane. Wtedy mogą chyba być tak bezpośrednio podłączone.


Bronsonboss
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 11
Posty: 304
Rejestracja: 14 sty 2018, 18:27
Lokalizacja: Cedry Wielkie

Re: Maszyna do punktowania rur

#29

Post napisał: Bronsonboss » 16 sie 2018, 16:31

co do bibliotek to myślę że spokojnie możesz użyć tych które można znaleźć do stepsticków, po co wyważać otwarte drzwi.. :-)


Autor tematu
mat008
Czytelnik forum poziom 3 (min. 30)
Czytelnik forum poziom 3 (min. 30)
Posty w temacie: 24
Posty: 30
Rejestracja: 17 maja 2015, 15:24
Lokalizacja: NML

Re: Maszyna do punktowania rur

#30

Post napisał: mat008 » 16 sie 2018, 17:47

No właśnie czytam przykładowy kod Stepper One Revolution i myślę że jest w nim sporo przydatnych mi rzeczy 😊
Bronsonboss wypowiesz się jeszcze na temat kranicówek?
Dzięki chłopaki za wszystkie rady i informacje. Jak synek będzie dzisiaj łaskawy to może zacznę testy na pierwszym silniku 😀

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „NASZE AMATORSKIE MASZYNY CNC”