Strona 1 z 1

emc2 +linistepper i "enable" low/high power

: 29 mar 2010, 18:16
autor: zaqaq
Witam,

zlutowałem sobie sterowniki linistepper i chciałbym skonfigurować "enable" dla linistepper w emc2?

Po pobieżnym przeczytaniu dokumentacji sądziłem, że ustawienie w hal "amplifier enable" osobno dla każdego sterownika (osobne piny lpt) załatwi sprawę, tj. enable=1 będę miał w momencie, kiedy sterownik kręci silnikiem, enable=0 kiedy silnik "stoi"

przykładowe wpisy w hal:
net xenable => parport.0.pin-1-out
net xenable axis.0.amp-enable-out => stepgen.0.enable

i podobnie dla pozostałych osi

Sprawdziłem jak działa - enable=1 mam po naciśnięciu F2 (włączenie maszyny) na stałe.

Czy jest jakiś sposób, aby zmusić emc2 do nieco innego działania - tj. tak aby enable działało tak jak powinno być dla linistepper (gdzie enable faktycznie jest to high power/low power)

tj. włączało "high power"= (enable=1) tylko na czas posuwu danej osi?


Kurcze, sądziłem, że da się wszystko zrobić w emc2 ale utknąłem, a google też nie chce pomóc :cry:

: 29 mar 2010, 21:48
autor: Leoo
zaqaq pisze:enable=0 kiedy silnik "stoi"
Podczas pracy maszyny wszystkie silniki muszą być aktywne, nawet jeśli nie obracają się.

: 29 mar 2010, 22:56
autor: zaqaq
zgadza się, bo przecież muszą "trzymać",
ale ... w linistepper to "enable" przełącza między trybamem o zredukowanym prądzie (low power) a trybem z pełnym prądem (high power), przecież kiedy nie ma posuwu cała moc nie jest potrzebna aby "trzymać" oś

aby korzystanie z tej funkcji miało sens to trzeba to przełączać albo przez oprogramowanie, albo przerobić linistepper aby robił to samodzielnie po jakimś tam czasie bezczynności

: 30 mar 2010, 08:05
autor: Leoo

: 30 mar 2010, 09:07
autor: zaqaq
rozumiem, że tu chodzi o tą część układu z timerem, mógłbym prosić o jakieś wskazówki [nie jestem elektronikiem i jest mi trudniej ;-) ]

rozumiem, że kluczowe są tu piny 2 i 3 (555) - 2 ma info o pracy silnika, potem odliczanie czasu i odpowiednie wyjście na pinie 3 (dobrze kombinuję?) - a może istotne są tu/też piny 6,7?

teraz pytanie - czy na pinie 3 otrzymuję 0 lub 5V (0/1) no i co powinienem zostawić, a czego spokojnie mogę się pozbyć z tego układu:
zostaje wszystko przy pinach 1,5,8, przy pinie 2 też bez zmian?

Może prościej będzie na rysunku zamiast pisać - mógłby kolega zaznaczyć na dołączonym fragmencie schematu, co potrzebne i co powinienem podłączyć pod moje specyficzne "enable" w linistepperze?

: 30 mar 2010, 12:06
autor: Leoo
Wszystkie elementy wokół U2 są niezbędne. Wyjściem jest pin 3, wejściem impulsów STEP - R12. Zwierając pin 2 do GND blokujemy działanie timera i silnik otrzymuje 100% przez cały czas.

: 30 mar 2010, 13:40
autor: zaqaq
To jeszcze się tylko dopytam, czy Q1 może być BC547 a Q3 BC557?
Jeśli tak, to czy wartości R16 i R1 bez zmian?

: 30 mar 2010, 14:24
autor: Leoo
zaqaq pisze:czy Q1 może być BC547 a Q3 BC557?
Tak.
R16 zostaje, R1 i C2 odpowiadają za opóźnienie włączenia ograniczenia, które dla podanych wartości wynosi około 6s.

: 30 mar 2010, 17:18
autor: GumiRobot
Aby zmusić EMC2 do obsługi pinu low/high power w Liniatepper-ze musisz zdefiniować swój własny "HAL component" , który będzie przechwytywał sygnały sterujące step, dir, enable poszczególnych osi i na podstawie ich aktywności będzie wystawiał swoje sygnały sterujące pinami portu równoległego, aby tego dokonać musisz się wgryźć w ten dokument a w szczególności w "Chapter 6. comp: a tool for creating HAL modules"

: 30 mar 2010, 21:44
autor: micges
Witam

W emc dla każdej osi zdefiniowany jest pin 'inpos' ktory moze byc uzyty do tego celu.
Jednak musisz sprawdzic czy driver jest wystarczająco szybki aby zmienic tryb zasilania w czasie trwania jednego kroku (minimalny przewidywany czas od wyłączenia inpos do rozpoczęcia generowania krokow).
Przyjmuję oczywiscie ze generujesz step/dir softwarowo i podajesz to na parport.

[edit]
Jesli masz statyczne obciazenie osi to mimo ze masz maly prad to jest mozliwy przeskok pol w silniku, zwłaszcza jesli masz mikrokroki.