Program do obsługi jednego silnika

Rozmowy dotyczące oprogramowania sterującego maszynami CNC i sterowników CNC obrabiarek numerycznych

Autor tematu
grzechu
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 8
Posty: 67
Rejestracja: 30 paź 2005, 19:44
Lokalizacja: Golubkowo
Kontakt:

#11

Post napisał: grzechu » 17 kwie 2013, 21:59

Apetyt rośnie w miarę jedzenia :smile:

Przydała by mi się jeszcze do tego regulacja prędkości obrotów potencjometrem



Tagi:

Awatar użytkownika

k-m-r1
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 2
Posty: 1417
Rejestracja: 23 cze 2008, 10:38
Lokalizacja: OOL lub DW
Kontakt:

#12

Post napisał: k-m-r1 » 18 kwie 2013, 14:51

a ja sie przymierzam ale do czegoś innego

mam zamiar stosować arduino z ukłąden 555 do podawania sygnałów do krokowego
arduino podaje napięcie do 555 a on przerabia to na impulsy dla krokowca

tylko jak ugryźć to by krokowiec zatrzymał sie tam gdzie chce i danej pozycji
[b]MACH3 cnc[/b]Tworzenie Makr do palników magazynków THC OHC inne[b]EKRANY dla firm producentów maszyn[/b] Budowa sprzedaż wypalarki plazma gaz obrotnice Elektrodrążarki Frezarki Tokarki Giętarki3D inne wg zlecenia 888 708 196 Tomek Komor [email protected]


Autor tematu
grzechu
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 8
Posty: 67
Rejestracja: 30 paź 2005, 19:44
Lokalizacja: Golubkowo
Kontakt:

#13

Post napisał: grzechu » 18 kwie 2013, 20:39

k-m-r1,
po co jeszcze zatrudniać NE 3 piątki? Moim zdaniem wystarczy Arduino + sterownik i jazda
k-m-r1 pisze:tylko jak ugryźć to by krokowiec zatrzymał sie tam gdzie chce i danej pozycji
Programowo można chyba wszystko ogarnąć
Ja jestem początkującym użytkownikiem Arduino i z programowaniem nie miałem za wiele do czynienia, ale jakoś z pomocą kolegów z forum i wujka google udało mi się coś poskładać.

Wracając do mojego problemu
Udało mi się zrobić regulację prędkości ale jeszcze nie do końca tak jak bym chciał.
W tej chwili mogę ustawić prędkość tylko na początku i po wciśnięciu przycisku silnik porusza się ze stałą ustaloną prędkością . Nie wiem jak zrobić aby można było regulować prędkość "w locie" (czyli jak wcisnę przycisk to silnik wykonuje określoną liczbę kroków i w tym czasie można regulować jego prędkość)
Oto mój kod

Kod: Zaznacz cały

#include <AccelStepper.h> 

const int buttonPin = 3;     
const int ledPin =  13;      

int buttonState;             
int lastButtonState = LOW;   

long lastDebounceTime = 0;  
long debounceDelay = 50;    

AccelStepper stepper(1, 8, 7);  

int steps = 1600; 

int potPin = A0;     
int pot;            
int v ; 

void setup() { 
 
     
  stepper.setAcceleration(10000);    
  
  pinMode(buttonPin, INPUT_PULLUP); 
  pinMode(ledPin, OUTPUT); 
    //Serial.begin(9600); 
} 

void loop() { 
 
   pot = analogRead(potPin); 
   v = map(pot, 0, 1023, 500, 3000); 
   stepper.setMaxSpeed(v); 
  
  int reading = digitalRead(buttonPin); 
  if (reading != lastButtonState) { 
    lastDebounceTime = millis(); 
      if (buttonState == HIGH) { 
        stepper.moveTo(steps); 
          while(stepper.currentPosition() != steps){ 
          stepper.run(); 
          digitalWrite(ledPin, HIGH); 
          } 
        stepper.setCurrentPosition(0); 
        digitalWrite(ledPin, LOW); 
      } 
  } 
  if ((millis() - lastDebounceTime) > debounceDelay) { 
    buttonState = reading; 
  } 
  lastButtonState = reading; 
} 

Awatar użytkownika

k-m-r1
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 2
Posty: 1417
Rejestracja: 23 cze 2008, 10:38
Lokalizacja: OOL lub DW
Kontakt:

#14

Post napisał: k-m-r1 » 20 kwie 2013, 14:05

Właśnie u mnie odczyt predkośći z potencjometru
arduino przetwarza sygnał i dla 1V mamy predkosć 200 kroków
dla 2v mamy 400 kroków.....

arduino na bierząco mieli napiecie na pinie i ustawia do sterowania 555 a ten daje mpulsy

moim celem jest podac np 3000 koków silnik sie rozpedza /rampa/ kreci z zadaną czestotliwością i zalerznie od predkości zwalnia? kolejna ranpa/ i zatrzymuje

tylko jak pogodzic krokowca z enkoderem przy wiekszych predkosciach
bawiłem sie z potencjometrem obrotowym i pomiarem napiecia
ale cuda były przy wieszych predkosciach arduino za wolno czytał pozycje potencjometru
[b]MACH3 cnc[/b]Tworzenie Makr do palników magazynków THC OHC inne[b]EKRANY dla firm producentów maszyn[/b] Budowa sprzedaż wypalarki plazma gaz obrotnice Elektrodrążarki Frezarki Tokarki Giętarki3D inne wg zlecenia 888 708 196 Tomek Komor [email protected]


Autor tematu
grzechu
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 8
Posty: 67
Rejestracja: 30 paź 2005, 19:44
Lokalizacja: Golubkowo
Kontakt:

#15

Post napisał: grzechu » 20 kwie 2013, 14:24

Arduino nie jest demonem prędkości, ale do mojego problemu gdzie prędkość nie jest wymagana jest w sam raz.
Na temat rampy dyskusja toczyła się w tym wątku https://www.cnc.info.pl/topics65/rampa- ... htm#258172

Mi w sumie udało się już uzyskać regulację prędkości podczas pracy silnika
Wystarczyło to

Kod: Zaznacz cały

pot = analogRead(potPin); 
v = map(pot, 0, 1023, 50, 200); 
stepper.setMaxSpeed(v); 
wkleić w funkcję while

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Ogólne Dyskusje na Temat Systemów Sterowania CNC”