rozważania o CNC

OPROGRAMOWNIE => EMC2 => Wątek zaczęty przez: markcomp77 Lipca 06, 2011, 03:58:54



Tytuł: HAL dla XYZ + 3PWM + 6OUT
Wiadomość wysłana przez: markcomp77 Lipca 06, 2011, 03:58:54
HAL dla XYZ + 3PWM + 6OUT



(http://markcomp77.p9.pl/img/emc2-xyz-6relay-3pwm2dc.png)

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...


Tytuł: XYZ.HAL
Wiadomość wysłana przez: markcomp77 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


Tytuł: CUSTOM.HAL
Wiadomość wysłana przez: markcomp77 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(8) 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


Tytuł: 3PWM ustawianie napięć z gcodu
Wiadomość wysłana przez: markcomp77 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...








Tytuł: 6OUT ustawianie wyjść
Wiadomość wysłana przez: markcomp77 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




Tytuł: przykład gcodu...
Wiadomość wysłana przez: markcomp77 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