Znaleziono 24 wyniki

autor: mat008
18 paź 2018, 22:08
Forum: NASZE AMATORSKIE MASZYNY CNC
Temat: Maszyna do punktowania rur
Odpowiedzi: 49
Odsłony: 5570

Re: Maszyna do punktowania rur

Fajne cudo, tak tylko podglądowo mnie ciekawiło.
autor: mat008
15 paź 2018, 11:53
Forum: NASZE AMATORSKIE MASZYNY CNC
Temat: Maszyna do punktowania rur
Odpowiedzi: 49
Odsłony: 5570

Re: Maszyna do punktowania rur

Przez małą ilość wolnego czasu pewnie chwilę z tym zejdzie 😅 ale obiecuję że jak tylko będę miał film to zaraz go wrzucę 😉 może kolega bioxus pokaże swoją maszynę w boju ?
autor: mat008
12 paź 2018, 17:50
Forum: NASZE AMATORSKIE MASZYNY CNC
Temat: Maszyna do punktowania rur
Odpowiedzi: 49
Odsłony: 5570

Re: Maszyna do punktowania rur

Witam ponownie. Budowa mechaniki jest ukończona, udało się również złożyć elektronikę i z pomocą na pw kolegi Avalyah znaleźć małe błędy w kodzie. Wrzucam galerię z postępem prac, no zostaje jeszcze pomalować, zmontować wszystko razem i skalibrować. Kod pewnie nie jest jakoś poprawnie napisany, ale działa ;]
https://tufotki.pl/gqsLp

Kod: Zaznacz cały

//napunktuj silnik w prawo i silnik w lewo x razy silnik nr1
//przesun w bok w prawo x obr silnik nr2
//wykonaj to x razy i obrot walem silnik nr 3
//800 to chyba cwierc obrotu silnika

//ustawienia, zalezne od modelu walu, model nr1
int skokSpust = 400; //usatlenie jak bardzo naciskac spust mlotka pneumatycznego
int przesWbok = 800; //regulacja przesuniecia, skoku w bok na srubie trapezowej
int obrWal = 5; //ile razy ma sie wszystko powrorzyc, zaleznie od fi walu
int dlWal = 20; //ile razy ma zrobic punkt i przesuniecie w bok, zlezy od dlugosci walu
int odstepNaFi = 400; //o ile ma sie obrocic wal na obrotniku

void silnikNr1lewo(int n, int vObroty);
void silnikNr1prawo(int n, int vObroty);
void silnikNr2prawo(int n, int vObroty);
void silnikNr2lewo(int n, int vObroty);
void silnikNr3lewo(int n, int vObroty);
void punktIprzesun(int n);

void setup() {
  pinMode(4, OUTPUT); //ustawianie pinow jako wyjscia
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  delay(3000);

for (int a = 0; a < obrWal; a++)  //wszystko wykonaj x razy, zaleznie od srednicy walu
{
punktIprzesun(dlWal); //wykonaj x razy punkt i przesun w bok
delay(1000);
silnikNr2lewo(dlWal*przesWbok, 1); //cofanie punktaka w lewo, mnozenie skoku razy ilosc przesuniec w bok, maks predkosc
delay(1000);
silnikNr2prawo(przesWbok/2, 1); //wykonaj pol skoku w prawo by zrobic przesuniecie punktow, z maks szybkosc za pomoca funkcji silnikNr2prawo
delay(1000);
silnikNr3lewo(odstepNaFi, 2); //obrot walu na obrotniku, dwa obr predkosc dwa
delay(1000);
punktIprzesun(dlWal);
delay(1000);
silnikNr2lewo(dlWal*przesWbok, 1);
delay(1000);
silnikNr2lewo(przesWbok/2, 1); //wykonaj dodatkowo pol skoku w lewo, by usunac przesuniecie punktow
delay(1000);
silnikNr3lewo(odstepNaFi, 2); //obrot walu, dwa obr predkosc dwa
delay(1000);
}
}

void loop() {
}

void silnikNr1lewo(int n, int vObroty) //ile razy ma sie obrocic 200 to 1 obr osi, z jaka szybkoscia 1 to najszybciej
{
for (int r = 0; r < n; r++)
{
     digitalWrite(5, LOW);       // Ustaw pin Pul na 0V.
     digitalWrite(4, HIGH);  // Ustaw pin Dir zgodnie z wybranym kierunkiem obrotu - 0 albo 1
     digitalWrite(5, HIGH);      // Ustaw pin Pul na 5V.
     delay(vObroty);
}
}
void silnikNr1prawo(int n, int vObroty) //ile razy ma sie obrocic 200 to 1 obr osi, z jaka szybkoscia 1 to najszybciej
{
for (int e = 0; e < n; e++)
{
     digitalWrite(5, LOW);       // Ustaw pin Pul na 0V.
     digitalWrite(4, LOW);  // Ustaw pin Dir zgodnie z wybranym kierunkiem obrotu - 0 albo 1
     digitalWrite(5, HIGH);      // Ustaw pin Pul na 5V.
     delay(vObroty);
}
}
void silnikNr2prawo(int n, int vObroty) //ile razy ma sie obrocic 200 to 1 obr osi, z jaka szybkoscia 1 to najszybciej
{
for (int w = 0; w < n; w++)
{
     digitalWrite(7, LOW);       // Ustaw pin Pul na 0V.
     digitalWrite(6, LOW);  // Ustaw pin Dir zgodnie z wybranym kierunkiem obrotu - 0 albo 1
     digitalWrite(7, HIGH);      // Ustaw pin Pul na 5V.
     delay(vObroty);
}
}
void silnikNr2lewo(int n, int vObroty) //ile razy ma sie obrocic 200 to 1 obr osi, z jaka szybkoscia 1 to najszybciej
{
for (int q = 0; q < n; q++)
{
     digitalWrite(7, LOW);       // Ustaw pin Pul na 0V.
     digitalWrite(6, HIGH);  // Ustaw pin Dir zgodnie z wybranym kierunkiem obrotu - 0 albo 1
     digitalWrite(7, HIGH);      // Ustaw pin Pul na 5V.
     delay(vObroty);
}
}
void silnikNr3lewo(int n, int vObroty) //ile razy ma sie obrocic 200 to 1 obr osi, z jaka szybkoscia 1 to najszybciej
{
for (int k = 0; k < n; k++)
{
     digitalWrite(9, LOW);       // Ustaw pin Pul na 0V.
     digitalWrite(8, HIGH);  // Ustaw pin Dir zgodnie z wybranym kierunkiem obrotu - 0 albo 1
     digitalWrite(9, HIGH);      // Ustaw pin Pul na 5V.
     delay(vObroty);
}
}
void punktIprzesun(int n) //ile razy ma wykonac punkt i przesunac w bok
{
for (int h = 0; h < n; h++)
{
     silnikNr1lewo(skokSpust, 1); //wykonaj 2obr z maks szybkosc za pomoca funkcji silnikNr1lewo
     delay(300);
     silnikNr1prawo(skokSpust, 1); //wykonaj 2obr z maks szybkosc za pomoca funkcji silnikNr1prawo
     delay(300);
     silnikNr2prawo(przesWbok, 1); //wykonaj 4obr z maks szybkosc za pomoca funkcji silnikNr2prawo
     delay(300);
}
}

autor: mat008
23 sie 2018, 12:07
Forum: NASZE AMATORSKIE MASZYNY CNC
Temat: Maszyna do punktowania rur
Odpowiedzi: 49
Odsłony: 5570

Re: Maszyna do punktowania rur

Pitsa dzięki za kod ale nie lubię korzystać z rzeczy których nie rozumiem w chodź małym stopniu.
Ale doceniam pomoc.

Avalyah ponownie dziękuję za pomoc. No teraz to już w sumie za gotowy kod i to dobrze opisany.
Z tą literówką to taki błąd że aż wstyd 😔
Wcześniej miałem w obu pętlach "i" ale ze właśnie był błąd przy kompilacji to myślałem że nie może być ta sama zmienna w obu pętlach.
Oczywiście przed wątkiem na forum czytałem kurs arduino ale ciężko to tak wszystko od razu pojąć. Próbowałem doczytać więcej info o funkcjach ale nie mogłem znaleźć żadnego dobrego artykułu 😁 może dlatego że jeszcze za mało kumam 😉
autor: mat008
22 sie 2018, 22:30
Forum: NASZE AMATORSKIE MASZYNY CNC
Temat: Maszyna do punktowania rur
Odpowiedzi: 49
Odsłony: 5570

Re: Maszyna do punktowania rur

Dopiero po parokrotnym przeczytaniu kodu od kolegi Avalyah widzę że próbował mi dać podpowiedź o użyciu funkcji, tylko że nie za bardzo rozumiem ten kod, głównie użytych parametrów jakie mogą mieć. Próbuje coś z tym zdziałać ale słabo idzie i już sam gubię się w tym krótkim kodzie...

Kod: Zaznacz cały


void setup() {
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  void doStepPrawo()
     {
     digitalWrite(9, LOW);       // Ustaw pin Pul na 0V.
     digitalWrite(8, HIGH);  // Ustaw pin Dir zgodnie z wybranym kierunkiem - 0 albo 1
     digitalWrite(9, HIGH);      // Ustaw pin Pul na 5V.
     delay(1);
}


void loop() {
doStepsPrawo(1000,5,1)
{
  for (i = 0; i < 1000; i++)
  {
        doStep(direction);
        delay(msBetweenSteps);
  }
}
     

}
autor: mat008
22 sie 2018, 12:10
Forum: NASZE AMATORSKIE MASZYNY CNC
Temat: Maszyna do punktowania rur
Odpowiedzi: 49
Odsłony: 5570

Re: Maszyna do punktowania rur

Witam ponownie. No i Pierwsze obroty silnika są 😀 i nawet nic nie dymi 😉 póki co zrezygnowałem jednak z używania bibliotek bo chodź pisze tam że korzystają np. Z pinów od 8 do 11 to nie widzę już jak to dokładnie podłączyć. Dlatego wykorzystałem kod kolegi Avalyah. Musiałem jednak dodać delay bo bez tego silnik tylko piszaczał, może dla sterownika silnika za szybko wszystko się działo? Teraz mam tak że na delay o wartości 1 silnik działa dość szybko, im dam większą wartość tym obroty są mniejsze.
Teraz próbuje zrobić parę obrotów w jedną i parę w drugą stronę ale coś mi nie idzie. Pewnie nie jest dobrym pomysłem dawać po sobie dwie pętle for?

Kod: Zaznacz cały


void setup() {
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
     for (int i = 0; i < 400; i++) { //Wykonaj 2 obroty
     digitalWrite(9, LOW);       // Ustaw pin Pul na 0V.
     digitalWrite(8, HIGH);  // Ustaw pin Dir zgodnie z wybranym kierunkiem - 0 albo 1
     digitalWrite(9, HIGH);      // Ustaw pin Pul na 5V.
     delay(1);
     }
     for (int a = 0; a < 600; i++) { //Wykonaj 3 obroty
     digitalWrite(9, LOW);       // Ustaw pin Pul na 0V.
     digitalWrite(8, LOW);  // Ustaw pin Dir zgodnie z wybranym kierunkiem - 0 albo 1
     digitalWrite(9, HIGH);      // Ustaw pin Pul na 5V.
     delay(1);
}
}
autor: mat008
17 sie 2018, 07:49
Forum: NASZE AMATORSKIE MASZYNY CNC
Temat: Maszyna do punktowania rur
Odpowiedzi: 49
Odsłony: 5570

Re: Maszyna do punktowania rur

Avalyah dzięki za włączenie się do tematu. Myślę że mam już wystarczająco wskazówek żeby zacząć coś więcej sam kibicować więc póki co nie będę was męczył, tylko w wolnym czasie biorę się za robotę. Jak będą nowe problemy a pewnie będą to dam znać 😊 a kranicówki tak mogę działać nie przeszkadza mi to. Pozdrawiam
autor: mat008
16 sie 2018, 23:07
Forum: NASZE AMATORSKIE MASZYNY CNC
Temat: Maszyna do punktowania rur
Odpowiedzi: 49
Odsłony: 5570

Re: Maszyna do punktowania rur

No też już tak myślałem że muszę zamówić jeszcze jedno arduino 😊 tak kranicówki mechaniczne, to nie wystarczy że podają te 5v na ena w sterowniku silnika ? W sumie jak będzie z tym duży problem to póki co mogę odpuścić bo to tylko miało być jako ograniczniki dla bezpieczeństwa.
Wyświetlacz itp też mnie kusi ale po kolei 😉
Jak przyszło arduino to byłem bardzo zdziwiony że złącza nie są skręcane, ale widać tak musi być żeby różne moduły dało się wpiąć. Siedziałem chwilę na Google i tak oto domawiałem goldpiny które lutowałem ostatnio do kabli 😁 a są to moje początki z lutowaniem więc było ciekawie ale jakoś się wszystko trzyma.

Dodane 42 minuty 22 sekundy:
Podłączyłem już silnik do sterownika, wykorzystałem 4 przewody z 6 bo niby tak można 😊 tylko ten przykładowy program stepperoneR. Wykorzystuje piny od 8 do 11 które to plus a które minus to raczej nie ma aż znaczenia to zawsze można przełożyć ale skąd mam wiedzieć które pod pul a które pod dir?
autor: mat008
16 sie 2018, 17:47
Forum: NASZE AMATORSKIE MASZYNY CNC
Temat: Maszyna do punktowania rur
Odpowiedzi: 49
Odsłony: 5570

Re: Maszyna do punktowania rur

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 😀
autor: mat008
16 sie 2018, 15:17
Forum: NASZE AMATORSKIE MASZYNY CNC
Temat: Maszyna do punktowania rur
Odpowiedzi: 49
Odsłony: 5570

Re: Maszyna do punktowania rur

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.

Wróć do „Maszyna do punktowania rur”