rozważania o CNC

Grudnia 03, 2024, 06:16:15
Witamy, Gość. Zaloguj się lub zarejestruj.

Zaloguj się podając nazwę użytkownika, hasło i długość sesji
Strony: [1]   Do dołu
  Drukuj  
Autor Wątek: HAL dla XYZ + 3PWM + 6OUT  (Przeczytany 15513 razy)
markcomp77
dużo wiedzący
**
Offline Offline

Wiadomości: 17


« : Lipca 06, 2011, 03:58:54 »

HAL dla XYZ + 3PWM + 6OUT





sygnały pwm2dc na ekranie migają... ponieważ są to wyjścia generatora pwm
pozostałe sygnały: fal i aplik oraz numerowane wejścia portu We0 i We1 - odpowiadają stanom wyjść i wejść...


przykład konfiguracji...

LPT1:

2 step x
3 dir x
4 step y
5 dir y
6 step z
7 dir z
8 enable x,y,z

LPT2:

2 pwm2dc1
3 pwm2dc2
4 pwm2dc3
5 fal1
6 aplik1
7 fal2
8 aplik2
9 fal3
14 aplik3

sygnały aplik1,fal1 - to komplet do sterownia jednym falownikiem (dla pozostałych analogicznie)
przeplot między sygnałami fal1/aplik1/fal2/aplik... itd jest spowodowany wygodniejszym ułożeniem kabli...
« Ostatnia zmiana: Lipca 07, 2011, 03:35:14 wysłane przez markcomp » Zapisane

 poważaniem
MARK mark@2a.pl; +48-602-346070; GG:1526904
markcomp77
dużo wiedzący
**
Offline Offline

Wiadomości: 17


« Odpowiedz #1 : Lipca 06, 2011, 04:00:30 »

podstawowy hal - dla kontroli ruch w XYZ został wygenerowany przez kreatora EMC2... potrzebne jednak są drobne modyfikacje na początku pliku...

początek XYZ.HAL

Kod:
# Wygenerowane przez Stepconf o Fri Jun 17 15:31:41 2011
# Jeśli zmodyfikujesz ten plik zmainy zostaną
# nadpisane gdy uruchomisz ponownie Stepconf
loadrt trivkins
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES num_dio=9 num_aio=3
loadrt probe_parport
loadrt hal_parport cfg="0x378 out 0xec00 out"
setp parport.0.reset-time 1500
loadrt stepgen step_type=0,0,0

addf parport.0.read base-thread
addf parport.1.read base-thread

addf stepgen.make-pulses base-thread
addf parport.0.write base-thread
addf parport.0.reset base-thread
addf parport.1.write base-thread
addf parport.1.reset base-thread
« Ostatnia zmiana: Lipca 06, 2011, 04:53:12 wysłane przez markcomp77 » Zapisane

 poważaniem
MARK mark@2a.pl; +48-602-346070; GG:1526904
markcomp77
dużo wiedzący
**
Offline Offline

Wiadomości: 17


« Odpowiedz #2 : Lipca 06, 2011, 04:06:46 »

CUSTOM.HAL

potrzebne dodatki do HAL warto umieścić w pliku dodatkowym custom.hal

część definiująca PWMGEN

Kod:
loadrt pwmgen output_type=0,0,0
addf pwmgen.update servo-thread
addf pwmgen.make-pulses base-thread

polecań "M67(Spoko E0(1,2) Qwartość" przekazuje wartość do zmiennej motion.analog-out-00(1,2)

Kod:
net pwm-value-0 <= motion.analog-out-00 => pwmgen.0.value
net pwm-value-1 <= motion.analog-out-01 => pwmgen.1.value
net pwm-value-2 <= motion.analog-out-02 => pwmgen.2.value

zezwolenie na pracę generatorów
Kod:
setp pwmgen.0.enable 1
setp pwmgen.1.enable 1
setp pwmgen.2.enable 1

ustawienie PDM, a nie normalnego PWM (PDM lepiej działa)
Kod:
setp pwmgen.0.pwm-freq 0
setp pwmgen.1.pwm-freq 0
setp pwmgen.2.pwm-freq 0

podłączenie wyjść generatorów do odpowiednich pinów portu LPT
Kod:
net pwm-0 pwmgen.0.pwm  parport.1.pin-02-out
net pwm-1 pwmgen.1.pwm  parport.1.pin-03-out
net pwm-2 pwmgen.2.pwm  parport.1.pin-04-out

ustawienie wartości największej dla parametru PWM
100 - wartość max napięcia (blisko 10V)
0 - wartość min napięcia (blisko 0V)
Kod:
setp pwmgen.0.scale 200
setp pwmgen.1.scale 200
setp pwmgen.2.scale 200

polecenia M64 P0 - włącz FAL1, M65 P0 - wyłącz FAL1
Kod:
net out-00  motion.digital-out-00   parport.1.pin-05-out

i analogicznie dla pozostałych
Kod:
net out-01  motion.digital-out-01  parport.1.pin-07-out
net out-02  motion.digital-out-02  parport.1.pin-09-out

#polecenie M64 P3 - włącz APLIK1, M65 P3 - wyłącz APLIK1 itd
Kod:
net out-03  motion.digital-out-03  parport.1.pin-06-out
net out-04  motion.digital-out-04  parport.1.pin-08-out
net out-05  motion.digital-out-05  parport.1.pin-14-out
« Ostatnia zmiana: Lipca 06, 2011, 04:31:22 wysłane przez markcomp77 » Zapisane

 poważaniem
MARK mark@2a.pl; +48-602-346070; GG:1526904
markcomp77
dużo wiedzący
**
Offline Offline

Wiadomości: 17


« Odpowiedz #3 : Lipca 06, 2011, 04:38:43 »

3PWM ustawianie napięć z gcodu

zgodnie z opisem:
http://forum-cnc.pl/index.php?topic=1476.0

i tutaj:
http://forum-cnc.pl/index.php?topic=1466.0


polecenie ustawienia połowy napięcia 10V (ok. 5V) na wyjściu 2

Kod:
M68 E1 Q50

ogólnie

M68 En Qvar

gdzie:
M68 - wyślij nową wartość do ustawienia na generatorze PWM (PDM w naszym przypadku)
En - n to numer generatora licząc od 0
Qvar - wartość współczynnika wypełnienia... w naszym przypadku, 100 - to wartość maksymalna, 0 - minimalna...






Zapisane

 poważaniem
MARK mark@2a.pl; +48-602-346070; GG:1526904
markcomp77
dużo wiedzący
**
Offline Offline

Wiadomości: 17


« Odpowiedz #4 : Lipca 06, 2011, 04:45:01 »

6OUT ustawianie wyjść

opis poleceń M62..5
http://forum-cnc.pl/index.php/topic,1477.0.html


włącz wyjście APLIK1

Kod:
M64 P4

wyłącz APLIK1

Kod:
M65 P4

ogólnie

włączenie M64 Px
wyłączenie M65 Px

gdzie x:

0 - FAL1
1 - FAL2
2 - FAL3
3 - APLIK1
4 - APLIK2
5 - APLIK3


« Ostatnia zmiana: Sierpnia 11, 2011, 04:32:04 wysłane przez markcomp » Zapisane

 poważaniem
MARK mark@2a.pl; +48-602-346070; GG:1526904
markcomp77
dużo wiedzący
**
Offline Offline

Wiadomości: 17


« Odpowiedz #5 : Lipca 06, 2011, 04:52:02 »

włączamy pierwszą pompę na 50%
drugą pompę na 30%
i trzecią pompę na 70%

Kod:
M64 P0
M68 E0 Q50
M64 P1
M68 E1 Q30
M64 P2
M68 E2 Q70

a teraz
włączamy APLIK1
wyłączamy APLIK2
włączamy APLIK3

Kod:
M64 P3
M65 P4
M64 P5
Zapisane

 poważaniem
MARK mark@2a.pl; +48-602-346070; GG:1526904
Strony: [1]   Do góry
  Drukuj  
 
Skocz do:  


Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC
Manuscript design by Bloc Strona wygenerowana w 0.035 sekund z 19 zapytaniami.