Dobór silnik krokowy-sterownik-zasilacz
-
- Lider FORUM (min. 2000)
- Posty w temacie: 8
- Posty: 2224
- Rejestracja: 17 wrz 2018, 10:47
- Lokalizacja: Wrocław
- Kontakt:
Re: Dobór silnik krokowy-sterownik-zasilacz
Prędkości nie są astronomiczne. Moje 17H4401 gubią się już przy 600rpm
Pamiętaj o opóźnieniu pętli oraz czasie odczytu i zapisu pinów. Użyj lepiej funkcji tone()
Dodane 56 minuty 20 sekundy:
Adam tu osiąga więcej
https://youtu.be/lF5R4QARcfM
Pamiętaj o opóźnieniu pętli oraz czasie odczytu i zapisu pinów. Użyj lepiej funkcji tone()
Dodane 56 minuty 20 sekundy:
Adam tu osiąga więcej
https://youtu.be/lF5R4QARcfM
-
Autor tematu - Specjalista poziom 2 (min. 300)
- Posty w temacie: 12
- Posty: 367
- Rejestracja: 11 mar 2018, 10:39
Re: Dobór silnik krokowy-sterownik-zasilacz
zdecydowanie lepiej chodzi. A wiesz że pod arduino są jeszcze bibiloteki ciekawe? A propo ja mam indukcyjność silnika 3.1mH to też może robić swoje. Z fizyki pamiętam że indukcyjność to jest tak jakby bezwładność prądowa(trudno rozładować szybko cewkę) a żeby silnik się szybko kręcił to muszą się cewki szybko ładować/rozładowywać. Chyba (_:
int pul = 7;
int dir = 6;
int potencjometr = A0;
int Hz = 0;
void setup() {
pinMode (pul, OUTPUT);
pinMode (dir, OUTPUT);
digitalWrite(dir,HIGH);
}
void loop() {
Hz = map((analogRead(potencjometr)),0,1023,5000,30000);
tone(pul,Hz,1000);
}
int pul = 7;
int dir = 6;
int potencjometr = A0;
int Hz = 0;
void setup() {
pinMode (pul, OUTPUT);
pinMode (dir, OUTPUT);
digitalWrite(dir,HIGH);
}
void loop() {
Hz = map((analogRead(potencjometr)),0,1023,5000,30000);
tone(pul,Hz,1000);
}
-
- Lider FORUM (min. 2000)
- Posty w temacie: 8
- Posty: 2224
- Rejestracja: 17 wrz 2018, 10:47
- Lokalizacja: Wrocław
- Kontakt:
Re: Dobór silnik krokowy-sterownik-zasilacz
Generalnie za osiągi odpowiada sterownik i zasilacz. Z Arduino wysyłasz tylko impulsy.
Funkcja tone pozwala na ustawienie stałej szybkości, ale nie daje kontroli ich ilości. W CNC mniej ważna jest prędkość, za to ilość kroków jest pierwszoplanowa. Można to kontrolować na kilka sposobów
1. Wysyłając impulsy w pętli z licznikiem. Ale wtedy program nic innego nie robi.
2. Wysyłając impulsy z przerwania timera, oczywiście zliczając je w funkcji
3. Wysyłając impulsy funkcją tone, zliczając je enkoderem
4. Wysyłając impulsy funkcją tone, zliczając je przerwaniem
i pewnie jeszcze inne
Funkcja tone pozwala na ustawienie stałej szybkości, ale nie daje kontroli ich ilości. W CNC mniej ważna jest prędkość, za to ilość kroków jest pierwszoplanowa. Można to kontrolować na kilka sposobów
1. Wysyłając impulsy w pętli z licznikiem. Ale wtedy program nic innego nie robi.
2. Wysyłając impulsy z przerwania timera, oczywiście zliczając je w funkcji
3. Wysyłając impulsy funkcją tone, zliczając je enkoderem
4. Wysyłając impulsy funkcją tone, zliczając je przerwaniem
i pewnie jeszcze inne
-
- Lider FORUM (min. 2000)
- Posty w temacie: 7
- Posty: 5598
- Rejestracja: 04 lip 2004, 16:03
- Lokalizacja: Gliwice
Re: Dobór silnik krokowy-sterownik-zasilacz
A ile kHz potrafi wysłać Arduino?TOP67 pisze:Generalnie za osiągi odpowiada sterownik i zasilacz.
sorki za wszystkie błędy ... (dyslektyk)
Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos

Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos
-
Autor tematu - Specjalista poziom 2 (min. 300)
- Posty w temacie: 12
- Posty: 367
- Rejestracja: 11 mar 2018, 10:39
Re: Dobór silnik krokowy-sterownik-zasilacz
przy pomocy funkcji tone() gubi mi kroki przy 300obr.min. niezależnie od ustawionego mikro kroku. Przy pomocy biblioteki #include <AccelStepper.h> silnik się zdecydowanie szybciej kręci ale nie jestem w stanie tego wyliczyć ile obr.min. Muszę się wczytać dokładniej jak ta biblioteka działa. Nie wiem czy to ma sens porównywać się z tym co adam wykręcił(3000obr.min)? Ja mam bibpolara on unipolara. Ja mam zwykły zasilacz z laptopa 19Voltowy. No i on tam generuje impulsy z macha na płytkę. Wcale to nie jest takie proste jak się wydawać może tj. dużo czynników na to wpływa.
-
- Lider FORUM (min. 2000)
- Posty w temacie: 8
- Posty: 2224
- Rejestracja: 17 wrz 2018, 10:47
- Lokalizacja: Wrocław
- Kontakt:
Re: Dobór silnik krokowy-sterownik-zasilacz
funkcja tone() daje impulsy o wypełnieniu 50%. Do sterowania wystarczą szpilki 10 µs. Dobiera się je eksperymentalnie.
Również czas podtrzymania ma wpływ na szybkość i moc.
https://github.com/gnea/grbl/wiki/Grbl- ... croseconds
No i silnik nie powinien startować od razu z pełną prędkością. Jeśli wywołasz tone() bez podanego czasu i będziesz tylko zmieniał częstotliwość, to rozpędzisz go bardziej.
Również czas podtrzymania ma wpływ na szybkość i moc.
https://github.com/gnea/grbl/wiki/Grbl- ... croseconds
No i silnik nie powinien startować od razu z pełną prędkością. Jeśli wywołasz tone() bez podanego czasu i będziesz tylko zmieniał częstotliwość, to rozpędzisz go bardziej.