Genrator kroków do ssk-bo1

Rozmowy na temat układów elektronicznych sterowania obrabiarek CNC

Autor tematu
Mrozik
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 4
Posty: 748
Rejestracja: 19 maja 2007, 20:33
Lokalizacja: Wrocław
Kontakt:

Genrator kroków do ssk-bo1

#1

Post napisał: Mrozik » 28 cze 2008, 23:57

Witam, mam taki plan zeby sobie zmajstrować generator kroków na attiny2313, wyświetlacz alfanumeryczny 20x2 i 6 przycisków:

1 - wejdz
2 - wyjdz
3 - plus
4 - minus
5 - lewo
6 - prawo

Interface:
Steruj:
plus/minus - ustawianie ilości mm
lewo/prawo - kierunek
Konfiguracja:
half/full
Ilość kroków na mm
odstęp czasowy pomiędzy krokami

Programik mam w sumie prawie cały, bascom avr, i tutaj pojawiają się pytania:
Jaka musi być mniej więcej rampa rozpędowa i hamująca dla silników 1,41A 1,9Nm? Chodzi mi o to jak procentowo szybko ma przyrastać/maleć prędkość zmiany kroków?

Wysoki na half i na enable daje włączenie?

Jakieś sugestie co do programu/układu sterujacego?
Schemacik na szybko:
Obrazek
Nie ma tam zaznaczonych wyjść enable i half/full ale to będzie podpiętem pod Pa0 i Pa1

Potrzebuję takiego urządzonka żeby:
-Pobawić się trochę.
-Teść mój potrzebuje jeden support tak sterowany właśnie i głównie po to to robię.

Jak to widzicie?



Tagi:


gwozdex
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 2
Posty: 106
Rejestracja: 20 lip 2006, 20:05
Lokalizacja: Czechowice-Dziedzice

#2

Post napisał: gwozdex » 29 cze 2008, 11:06

A jak kolega zrealizował rampę?? Chodzi mi nie o konkretne wartości tylko ideę w jaki sposób wygenerować rampę w '2313. Może to zwykły PWM?


Autor tematu
Mrozik
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 4
Posty: 748
Rejestracja: 19 maja 2007, 20:33
Lokalizacja: Wrocław
Kontakt:

#3

Post napisał: Mrozik » 29 cze 2008, 12:23

gwozdex pisze:A jak kolega zrealizował rampę?? Chodzi mi nie o konkretne wartości tylko ideę w jaki sposób wygenerować rampę w '2313. Może to zwykły PWM?
Witam, nie przewiduje się w moim urządzeniu przesuwów mniejszych niż 10mm, więc myślałem żeby zrobić to w sposób następujący:

Ilość kroków do zrobienia x
załozona ilość kroków rozpędowych/hamujący y
time - założony odstęp czasowy pomiędzy krokami+2*y

time=36;
for a=1 to x
if a<y then
pinb.1=1
waitms time
time=time-2
end if
if a>x-y
pinb.1=1
waitms time
time=time+2
end if
if a>y and a<x-y
pinb.1=1
waitms time
end if
next a

Coś w ten deseń na szybko, nie mam urządzenia jeszcze więc to tylko dywagacje.
Pewnie coś jest nie tak jeszcze z pętlą


gwozdex
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 2
Posty: 106
Rejestracja: 20 lip 2006, 20:05
Lokalizacja: Czechowice-Dziedzice

#4

Post napisał: gwozdex » 30 cze 2008, 23:24

...całkiem sprytnie :wink:
Jeszcze tylko "wepchać" to w jakąś procedurę i będzie całkiem elegancko.


Autor tematu
Mrozik
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 4
Posty: 748
Rejestracja: 19 maja 2007, 20:33
Lokalizacja: Wrocław
Kontakt:

#5

Post napisał: Mrozik » 01 lip 2008, 00:08

Coś tam zmodyfikowałem, nie wiem tylko jak w bascomie się zapisuje warunki logiczne bo jak mu podaje w nawiasach to coś mi się burzy, ale dojde do tego.

Sub Steruj():
If Lkrok * 2 > Rozped Then
Czas = Czas + 2 * Rozped
For A = 1 To Lkrok
If A < Rozped Then
Set Pinb.1
Waitms Czas
Czas = Czas - 2
End If
If A > Rozped Then
Set Pinb.1
Waitms Czas
Czas = Czas + 2
End If
If A > Rozped And A < Lkrok - Rozped Then
Set Pinb.1
Waitms Czas
End If
Next A
End If
End Sub

Awatar użytkownika

Inf-el
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 1
Posty: 573
Rejestracja: 22 cze 2004, 18:41
Lokalizacja: Szczecin
Kontakt:

#6

Post napisał: Inf-el » 01 lip 2008, 11:36

Bascom nie lubi zbyt skomplikowanych warunków czy działań.
Trzeba rozbić te ify i wyliczanki na kilka prostszych.
Ogólnie to ciekawy pomysł sterować maszyną za pomocą małych AVR'ków a nie bezpośrednio z PC. Mam zamiar też coś takiego ulepić.


Autor tematu
Mrozik
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 4
Posty: 748
Rejestracja: 19 maja 2007, 20:33
Lokalizacja: Wrocław
Kontakt:

#7

Post napisał: Mrozik » 02 lip 2008, 00:22

Inf-el pisze: Mam zamiar też coś takiego ulepić.
Hej! To mój pomysł! ;) te sterowanie powstaje na potrzeby teścia który ma potrzebę cyklicznie wykonywać posów supportu o 25-30mm powiedzmy 20 razy w jedną stronę, kompa nie ma sensu podłączać a ręcznie jechać też bez sensu. Do testowania kupiłem sobie jeszcze przełącznik 6 pozycyjny dlatego będę miał możliwość sterowania 3 krokówkami. Właśnie siedze i lutuje programator isp w pająka - mam nadzieje że będzie działać. LCD też sobie dzisiaj kupiłem i micro sw.


astony
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 1
Posty: 183
Rejestracja: 26 mar 2006, 23:23
Lokalizacja: jaworzno

#8

Post napisał: astony » 22 lip 2008, 09:52

Ja robiłem to w inny sposób.
Pierwszy projekt:
ręcznie mocowane do osi X krańcówki max i min (przesuwane na potrzebną odleglość)
Avr kręci osią X do max, zwrot kręci do min, obrót o zadaną ilość stopni i repeat do 360 stopni. Oczywiście bez rozpędu/hamowania.
Służyło to do kręcenia moją "tokarką" do wałków zębatych. Były zeby proste.
Drugi projekt:
kilka kroków X/ kilka kroków A, aż do max, zwrot i tą samą drogą do min-obrót o kąt A i znowu powtorka
Nie zdązyłem wypróbować bo przeszedłem na PC.
W obu wypadkach klawatura multiplexowana 6 przycisków
Wszystko w assemblerze
PYKNIJ na GG 5133624 to skocze na forum -> PLEASE

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Elektronika CNC”