Przydała by mi się jeszcze do tego regulacja prędkości obrotów potencjometrem
Program do obsługi jednego silnika
-
k-m-r1
- ELITA FORUM (min. 1000)

- Posty w temacie: 2
- Posty: 1417
- Rejestracja: 23 cze 2008, 10:38
- Lokalizacja: OOL lub DW
- Kontakt:
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
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]
-
grzechu
Autor tematu - Sympatyk forum poziom 2 (min. 50)

- Posty w temacie: 8
- Posty: 67
- Rejestracja: 30 paź 2005, 19:44
- Lokalizacja: Golubkowo
- Kontakt:
k-m-r1,
po co jeszcze zatrudniać NE 3 piątki? Moim zdaniem wystarczy Arduino + sterownik i jazda
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
po co jeszcze zatrudniać NE 3 piątki? Moim zdaniem wystarczy Arduino + sterownik i jazda
Programowo można chyba wszystko ogarnąćk-m-r1 pisze:tylko jak ugryźć to by krokowiec zatrzymał sie tam gdzie chce i danej pozycji
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;
}
-
k-m-r1
- ELITA FORUM (min. 1000)

- Posty w temacie: 2
- Posty: 1417
- Rejestracja: 23 cze 2008, 10:38
- Lokalizacja: OOL lub DW
- Kontakt:
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
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]
-
grzechu
Autor tematu - Sympatyk forum poziom 2 (min. 50)

- Posty w temacie: 8
- Posty: 67
- Rejestracja: 30 paź 2005, 19:44
- Lokalizacja: Golubkowo
- Kontakt:
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
wkleić w funkcję while
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);




