RAMPA na ARDUINO

Dyskusje na temat silników krokowych i sterowników silników krokowych.

Leoo
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 10
Posty: 4017
Rejestracja: 15 lis 2006, 22:01
Lokalizacja: Tarnobrzeg

#31

Post napisał: Leoo » 13 kwie 2012, 20:00

markcomp77 pisze:nie warto zniechęcać do arduino -- ono już się obroniło
Nikogo nie zniechęcam, wyraziłem tylko opinię.
Yogi_ pisze:Czy nie lepiej liczyć rampę w stosunku do masy poruszanej? Rampa dla max_speed (tej samej) będzie różna dla tras 1000 i 100 mm.
Rampa to nie masa ani droga, tylko zbocze (nachylenie) prędkości. Sprawa jest prosta przy ruchu jednostajnie przyśpieszonym. Znacznie trudniej kiedy dodajemy zrywy, bo program musi sprawdzić czy silnik osiągnął prędkość maksymalną, czy nie a wówczas trzeba skorygować krzywą zrywu podczas hamowania, żeby trafić w "cel".



Awatar użytkownika

Yogi_
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 16
Posty: 759
Rejestracja: 13 sty 2010, 08:07
Lokalizacja: Braniewo

#32

Post napisał: Yogi_ » 13 kwie 2012, 20:19

Leoo pisze:tylko zbocze (nachylenie) prędkości
W stosunku do czego? I tego tyczyło się moje pytanie. Widać mętnie wyrażone. :-(
Pozdrawiam
Krzysiek

Awatar użytkownika

pitsa
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 21
Posty: 4697
Rejestracja: 13 wrz 2008, 22:40
Lokalizacja: PL,OP

#33

Post napisał: pitsa » 13 kwie 2012, 21:18

markcomp77 pisze: wybór Arduino jako platformy rozwojowej to wina kolegi Pitsa - nich On się tłumaczy.. On jest głównym winnym ;)
Dobra, zaraz się wytłumaczę, ale wcześniej chciałbym podziękować koledze markcomp77 za budowanie na forum atmosfery sprzyjającej nawiązywaniu kontaktów i twórczego dzielenia się wiedzą. :-)


Większość dużo piszących tutaj jest po prostu znawcami. To takie oczywiste wybrać sobie jakiś fajny szybki procesor, bo ma to i tamto i jest lepszy niż siamto. Kupić ten czy inny sterownik podpiąć pod komputer za 250zł, zainstalować linuksa i samo się robi. Wyobraźcie sobie jednak jak długą drogę doszliście do tej wiedzy, i jak ktoś kto nie jest w tym temacie, ma się w tym połapać? Ile lat pracy kosztowała was ta wiedza, którą się tutaj dzielicie? Ile zyskujecie dzieląc się tą wiedzą? Ja czerpię z was ile się da, a jeszcze nie doszedłem do etapu "linuxcnc ready", chociaż w linuksie siedzę od czasu slackware, instalowanego z wielu małych dyskietek na komputerze 486 dx2-66, tuż przed pojawieniem się Red Hat 4.0. ;-)

Co do Arduino to sprawa jest bardzo prosta. Kupujesz kit, piszesz parę linijek i działa. Nie trzeba robić wszystkiego od podstaw, nie trzeba męczyć się z wytrawianiem płytki lub czekaniem 14 dni na wykonanie prototypowej płytki PCB bo tak taniej, kupowaniem programatora, pamiętaniem o jakiś fusebitach..

Konkretny przykład: https://www.cnc.info.pl/topics12/proste ... t35792.htm - wczoraj było pytanie, dziś była odpowiedź i prezentacja z użyciem Arduino do prostego sterowania. Mu tu gadu gadu, a to już jest komuś przydatne. :-)

Arduino to łatwy początek do czegoś bardziej zaawansowanego. Tak jak użycie PikoCNC czy CNConv do sterowania maszyną CNC. Kupuje się kontroler sterownika silników krokowych z gotowym wygodnym programem. Trochę klikania i robota leci. Jak trzeba będzie przejść na więcej osi to przejście na linuxcnc będzie łatwiejsze.

Jak jest takie coś jak Arduino, łatwe do opanowania na wielu prostych przykładach dostępnych w internecie to nie ma co traktować tego z wyższością. Pobawimy się rampą to i przy okazji parę nowych osób załapie o co w tym chodzi. :)

[ Dodano: 2012-04-13, 21:22 ]
Yogi_ pisze: I tak się zastanawiam czy rampa liczona częścią całego czasu przejazdu to dobrze?
Zobacz ten arkusz, który tu załączyłem: https://www.cnc.info.pl/topics65/silnik ... 539,52.htm
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ

Awatar użytkownika

Yogi_
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 16
Posty: 759
Rejestracja: 13 sty 2010, 08:07
Lokalizacja: Braniewo

#34

Post napisał: Yogi_ » 13 kwie 2012, 21:36

Tu przykłady zastosowania rampy:
http://www.sylwekkuna.com/filmy_inne.html
tu: http://videodslr.pl/diy-motorized-timel ... t1402.html
jest trochę opisane po co rampa i jeden z dyskutantów wspomina, że osiąga prędkość 12cm/s i mu wystarcza. Wiec może przyjmijmy do rozważań 15cm/s jako prędkość maksymalną? Nieważne w tej chwili jaką metodą osiąganą. Pitsa Tobie rachunki fajnie wychodzą :-) , mógłbyś policzyć co się dzieje z ok 3 -4 kg obciążeniem przy takim szwungu? W sensie wzrost wagi przy hamowaniu itd? Na jednym z filmików pokazane są ujęcia z aparatu niemocowanego do wózka, fajnie to wygląda.

[ Dodano: 2012-04-13, 21:42 ]
pitsa pisze:Zobacz ten arkusz, który tu załączyłem: https://www.cnc.info.pl/to...-vt35539,52.htm
Widziałem :-) tylko czy się sprawdzi tak samo na centymetrze jazdy jak na metrze? A tak w ogóle to Twoja wersja jest lepsza :-) .
Pozdrawiam
Krzysiek


Leoo
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 10
Posty: 4017
Rejestracja: 15 lis 2006, 22:01
Lokalizacja: Tarnobrzeg

#35

Post napisał: Leoo » 13 kwie 2012, 21:44

Yogi_ pisze:W stosunku do czego? I tego tyczyło się moje pytanie. Widać mętnie wyrażone.
Do jednostki czasu.

Awatar użytkownika

Yogi_
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 16
Posty: 759
Rejestracja: 13 sty 2010, 08:07
Lokalizacja: Braniewo

#36

Post napisał: Yogi_ » 13 kwie 2012, 22:18

Na podstawie czego liczyć czas trwania rampy? Jako stałą część całego czasu? Taka była moja pierwotna koncepcja, ale chyba to nie to. Jeśli czas trwania rampy zmieni się stukrotnie to jak zmieni się przyspieszenie?
Pozdrawiam
Krzysiek

Awatar użytkownika

pitsa
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 21
Posty: 4697
Rejestracja: 13 wrz 2008, 22:40
Lokalizacja: PL,OP

#37

Post napisał: pitsa » 13 kwie 2012, 22:34

Yogi_ pisze:mógłbyś policzyć co się dzieje z ok 3 -4 kg obciążeniem przy takim szwungu? W sensie wzrost wagi przy hamowaniu itd? Na jednym z filmików pokazane są ujęcia z aparatu niemocowanego do wózka, fajnie to wygląda.
Jak jarekk pokazał: https://www.cnc.info.pl/topics65/rampa- ... 799,11.htm trzeba oprzeć się na przyspieszeniach. Trochę potrwa zanim znajdę spokojną chwilę, w której mógłbym to "przetłumaczyć" i policzyć, tak na chłopski rozum, żeby każdy zrozumiał i dało się coś z tym w Arduino zrobić. Na razie tylko prosty opis:

Siła działająca na masę przy danym przyspieszeniu, to masa razy przyspieszenie czyli siła bezwładności. Jeśli rampa jest zrobiona tak aby mieć stałe przyspieszenie, to i siła bezwładnosci jest wzdłuż rampy też stała. Jednak na starcie i zatrzymaniu przyspieszenia pojawia się zryw czyli nagłe pojawienie się siły bezwładności i nagłe jej ustąpienie. Stąd można w tych małych momentach wprowadzić delikatną poprawkę, żeby te schody "jerk", pokazane na wykresie poniżej wygładzić.
Obrazek
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ

Awatar użytkownika

Autor tematu
markcomp77
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 64
Posty: 3975
Rejestracja: 18 wrz 2004, 12:51
Lokalizacja: k/w-wy
Kontakt:

#38

Post napisał: markcomp77 » 13 kwie 2012, 22:37

Yogi_ pisze:Na podstawie czego liczyć czas trwania rampy? Jako stałą część całego czasu? Taka była moja pierwotna koncepcja, ale chyba to nie to. Jeśli czas trwania rampy zmieni się stukrotnie to jak zmieni się przyspieszenie?
to chyba nie w tej kolejności....
to my narzucamy wartość akceleracji (przyśpieszenia i hamowania o tej samej wartości)
narzucamy też prędkość max oraz drogę (amplitudę oscylacji)

i na tej podstawie dopiero można "narysować" wykres prędkości w funkcji czasu...
przy odpowiednio dużej amplitudzie - trójkąt zmieni się w trapez...

oczywiście dojdzie jeszcze utrudnienie obliczeń przy narastaniu prędkości (rampie) nie liniowej.. a np. w kształcie S... albo jednego z wykresów

Obrazek

oj chyba trochę się pobawię tymi obliczeniami w octavie z...
http://people.mech.kuleuven.be/~bruynin ... n-api.html

np...

Kod: Zaznacz cały

% initial position, velocity and acceleration: 
p0 = 30; v0 = -2; a0 = -1; 

% initial time: 
t0 = 0; 

% the profile has seven distinct phases, ending at time t7.
% final position and velocity: 
p7 = 100; 
v7 = 0; 

% (Absolute values of) maximum velocity, acceleration and jerk: 
vm = 7; am = 2; jm = 1; 

niter = 8 % maximum number of iterations
dv=(vmax-v0)/niter; 
d34=0; 

% first try fast slow down to zero velocity: 
vi=0; 
[t1,t2,t3,j0,dist1]=trapacc_vel(vi,v0,a0,vmax,amax,jmax); 
if (dist1>abs(dist)) 
  error("\nInitial conditions and constraints do not allow solution!\n"); 
  exit; 
endif

% "else": use double pulse trajectory, starting with highest velocity
vi=vmax; 

for i=1:niter
  % first pulse starts from beginning: 
  [t1,t2,t3,j1,dist1]=trapacc_vel(vi,v0,a0,vi,amax,jmax); 
  % second pulse starts from end, and runs "backwards": 
  [dt45,dt56,dt67,j2,dist2]=trapacc_vel(vi,0,0,vi,amax,jmax); 
  d34=abs(dist)-dist1-dist2; 
  if (d34>0) 
    % ok, gap to be filled by cruise with v=vi: 
    t4=t3+d34/vi; 
    t5=t4+dt45; 
    t6=t4+dt56; 
    t7=t4+dt67; 
    break; 
  else
    % not ok, still moving too far: 
    vi=vi-dv; 
  endif
endfor
SpotkanieCNC: STOM-TOOL Marzec 2014
http://www.cnc.info.pl/topics79/spotkan ... t55028.htm

Awatar użytkownika

Yogi_
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 16
Posty: 759
Rejestracja: 13 sty 2010, 08:07
Lokalizacja: Braniewo

#39

Post napisał: Yogi_ » 13 kwie 2012, 22:39

Leoo pisze:Znacznie trudniej kiedy dodajemy zrywy, bo program musi sprawdzić czy silnik osiągnął prędkość maksymalną, czy nie a wówczas trzeba skorygować krzywą zrywu podczas hamowania, żeby trafić w "cel".
Coś takiego masz na myśli? :
http://www.youtube.com/watch?feature=pl ... cRGm25grBI
te trafianie w cel to tak nie bardzo.
Ale widać, że czas rampy jest dość długi.
Pozdrawiam
Krzysiek


Leoo
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 10
Posty: 4017
Rejestracja: 15 lis 2006, 22:01
Lokalizacja: Tarnobrzeg

#40

Post napisał: Leoo » 13 kwie 2012, 23:11

Yogi_ pisze:Coś takiego masz na myśli? :
To jest rampa prostoliniowa jak w Mach Motor tuning. Na początku filmiku nachylenie jest większe, na końcu - mniejsze.
Yogi_ pisze:te trafianie w cel to tak nie bardzo.
Nie bardzo rozumiem w jakim sensie?
W ten sposób działają wszystkie programy sterujące maszynami.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Silniki Krokowe / Sterowniki Silników Krokowych”