Бублик писал(а): ↑17 май 2013, 14:23
Приобрел китайский пульт)
20130517_122406.jpg
стал его к MESA прикручивать, т.к. он нифига не USB). Можно было и к LPT порту подцепить, но он у меня в линухах не виден...
В процессе прикручивания выяснилось, что крутилка (JOG) питается от 5 вольт, а входные\выходные каскады MESA 7i76 от 24).
Пришлось прилепить согласователь уровней, слепил его на транзисторах т.к. микрухи под рукой не оказалось.
py.JPG
два ПУ в цепь А и В (-А и -В не использовал)
Вот так выглядело чудо китайской мысли до вмешательства
loadrt encoder num_chan=1
loadrt mux4 count=1
loadrt lut5 count=1
loadrt and2 count=1
loadrt not count=1
loadrt or2 count=4
addf encoder.capture-position servo-thread
addf encoder.update-counters servo-thread
addf mux4.0 servo-thread
addf lut5.0 servo-thread
addf and2.0 servo-thread
addf or2.0 servo-thread
addf or2.1 servo-thread
addf or2.2 servo-thread
addf or2.3 servo-thread
addf not.0 servo-thread
setp halui.estop.reset 1 # программа стартует с выключенным EStop
setp encoder.0.x4-mode 0
setp axis.0.jog-vel-mode 0
setp axis.1.jog-vel-mode 0
setp axis.2.jog-vel-mode 0
setp axis.3.jog-vel-mode 0
setp mux4.0.in0 0.1
setp mux4.0.in1 0.01
setp mux4.0.in2 0.001
net scale1 mux4.0.sel0 <= hm2_5i25.0.7i76.0.0.input-01
net scale2 mux4.0.sel1 <= hm2_5i25.0.7i76.0.0.input-00
net mpg-scale <= mux4.0.out
net mpg-scale => axis.0.jog-scale
net mpg-scale => axis.1.jog-scale
net mpg-scale => axis.2.jog-scale
net mpg-scale => axis.3.jog-scale
net mpg-a encoder.0.phase-A <= hm2_5i25.0.7i76.0.0.input-02
net mpg-b encoder.0.phase-B <= hm2_5i25.0.7i76.0.0.input-03
net mpg-x axis.0.jog-enable <= hm2_5i25.0.7i76.0.0.input-04
net mpg-y axis.1.jog-enable <= hm2_5i25.0.7i76.0.0.input-05
net mpg-z axis.2.jog-enable <= hm2_5i25.0.7i76.0.0.input-06
net mpg-4 axis.3.jog-enable <= hm2_5i25.0.7i76.0.0.input-07
net encoder-counts <= encoder.0.counts
net encoder-counts => axis.0.jog-counts
net encoder-counts => axis.1.jog-counts
net encoder-counts => axis.2.jog-counts
net encoder-counts => axis.3.jog-counts
# управление ESTOP через JOG и программу
net estop_prog <= iocontrol.0.user-enable-out
net estop_jog <= hm2_5i25.0.7i76.0.0.input-09
net estop_prog => and2.0.in0
net estop_jog => and2.0.in1
net and2out <= and2.0.out => iocontrol.0.emc-enable-in
# при нажатии в программе кнопки ВКЛ. подается команда активации всех драйверов
# при выборе оси на JOGе активируется только выбранный драйвер
# axis X
net machine-on-prog halui.machine.is-on
net mpg-x or2.0.in0
net machine-on-prog or2.0.in1
net or2out or2.0.out hm2_5i25.0.7i76.0.0.output-15
# axis Y
net mpg-y or2.1.in0
net machine-on-prog or2.1.in1
net or21out or2.1.out hm2_5i25.0.7i76.0.0.output-14
# axis Z
net mpg-z or2.2.in0
net machine-on-prog or2.2.in1
net or22out or2.2.out hm2_5i25.0.7i76.0.0.output-13
# axis A
net mpg-4 or2.3.in0
net machine-on-prog or2.3.in1
net or23out or2.3.out hm2_5i25.0.7i76.0.0.output-12
# зажигаем диод на JOGе при активации любой из 4х осей
setp lut5.0.function 0x116
net mpg-x lut5.0.in-0
net mpg-y lut5.0.in-1
net mpg-z lut5.0.in-2
net mpg-4 lut5.0.in-3
setp lut5.0.in-4 0
net jog-on hm2_5i25.0.7i76.0.0.output-00 <= lut5.0.out halui.machine.on not.0.in
net jog-off not.0.out halui.machine.off
Распиновка китайского джога.
MPG-Estop-3.jpg
Может кому-нибудь все это пригодится)
p.s. конструктивная критика приветствуется)
Вопрос: а возможно было просто питание на MPG подавать, например, с блока питания, а не с каскада MESA?