Strona 1 z 1

Genrator kroków do ssk-bo1

: 28 cze 2008, 23:57
autor: Mrozik
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?

: 29 cze 2008, 11:06
autor: gwozdex
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?

: 29 cze 2008, 12:23
autor: Mrozik
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ą

: 30 cze 2008, 23:24
autor: gwozdex
...całkiem sprytnie :wink:
Jeszcze tylko "wepchać" to w jakąś procedurę i będzie całkiem elegancko.

: 01 lip 2008, 00:08
autor: Mrozik
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

: 01 lip 2008, 11:36
autor: Inf-el
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ć.

: 02 lip 2008, 00:22
autor: Mrozik
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.

: 22 lip 2008, 09:52
autor: astony
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