Question about matrix_kb
08 Feb 2017 14:21 #87560
by Niko
Question about matrix_kb was created by Niko
Hello,
I'm using matrix_kb to decode a keyboard and the inputs are also connected to rotary switches . The button work just fine but for some reason I can't get it to work well with the rotary switches . If I turn the quickly sometimes the position is wrong . And for jog increment that is not acceptable . I played around with the user thread but that does not seem to help . Right now it's at 2ms .
Also I'll need to add multiplexed outputs. I looked at the code but with my limited knowledge I couldn't understand how to implement that .
Cheers
Nikolai
I'm using matrix_kb to decode a keyboard and the inputs are also connected to rotary switches . The button work just fine but for some reason I can't get it to work well with the rotary switches . If I turn the quickly sometimes the position is wrong . And for jog increment that is not acceptable . I played around with the user thread but that does not seem to help . Right now it's at 2ms .
Also I'll need to add multiplexed outputs. I looked at the code but with my limited knowledge I couldn't understand how to implement that .
Cheers
Nikolai
Please Log in or Create an account to join the conversation.
08 Feb 2017 22:47 #87614
by bkt
Replied by bkt on topic Question about matrix_kb
what you means for rotary switch? ... similar to 0,1,2,3, ..... selector switch (these
link
show one )? or rotary encoder (these
other
show this one) .... for shure is possible a simulation of rotary encoder for jog increment use .... I think you must use first debounce comp for filtering electrical noise .... than you can use all input pin (I hope 4-6 max) for detect when you rotate to sx or dx .... after these you are able to perform an encoder counter to use for jog positioning .... but it is one thing to do if you have no other solutions. Once you have your encoder signal can follow these
link
....
N.B. a rouge and nasty encoder perform 512 pulse/revolution (some old one 128ppr ... but I know some simple and plastic you can find on ebay +/- 7-16£/$) .... so you have at last 512x4 count for revolution ... more than rotary switch. ....
I hope these help
Giorgio
N.B. a rouge and nasty encoder perform 512 pulse/revolution (some old one 128ppr ... but I know some simple and plastic you can find on ebay +/- 7-16£/$) .... so you have at last 512x4 count for revolution ... more than rotary switch. ....
I hope these help
Giorgio
Please Log in or Create an account to join the conversation.
09 Feb 2017 07:49 #87635
by Niko
Replied by Niko on topic Question about matrix_kb
The inputs are from selector switches . They are wired in binary code . Two are two bit and one of them is three bits long . Axis selection, Jog increment and jog speeds . The component sometimes misses the signal from the switch . If you use it slowly it works but in practice it could be necessary to change the jog speed quickly and instead of the slowest setting it sometimes returns the signals for the fastest setting . Direct wiring would fix this all together but I'd like to keep this original . This being a selector switch I'd assume they give the correct combination for the position every time .
What does this component react to ? The state or the transition between states ?
Cheers
What does this component react to ? The state or the transition between states ?
Cheers
Please Log in or Create an account to join the conversation.
09 Feb 2017 08:33 - 09 Feb 2017 08:46 #87638
by bkt
Replied by bkt on topic Question about matrix_kb
forum.linuxcnc.org/24-hal-components/28839-smoother-jog
these is yours old post? So ArcEye explain to you real well as it work.... your post is from 2012 and i suppose you use sometime your machine .... so the suspect is your contact is a little bit dirty or worn .... you feel this would be? have you checked?
For shure there is a man for matrix_kb ... github.com/LinuxCNC/linuxcnc/blob/master...man/man9/matrix_kb.9 .... and you can find out the code and read it the code ...You can?
thanks I not know these comp ....but I see something of souspicius for your case :
so if slow thread is from 250ms to 20ms for example and if you rotate very quickly ... I do not think you can take advantage of debouncing ... so the result that you will not be sequential but random .... 20ms is not an amount of time so small ... it is still faintly perceptible by man ... so that human actions must also take account of this little time ....
so the best approach for jogging is use encoder ....
i hope these help.
giorgio
these is yours old post? So ArcEye explain to you real well as it work.... your post is from 2012 and i suppose you use sometime your machine .... so the suspect is your contact is a little bit dirty or worn .... you feel this would be? have you checked?
For shure there is a man for matrix_kb ... github.com/LinuxCNC/linuxcnc/blob/master...man/man9/matrix_kb.9 .... and you can find out the code and read it the code ...You can?
thanks I not know these comp ....but I see something of souspicius for your case :
Perform all requested functions. Should be run in a slow thread for effective debouncing.
so if slow thread is from 250ms to 20ms for example and if you rotate very quickly ... I do not think you can take advantage of debouncing ... so the result that you will not be sequential but random .... 20ms is not an amount of time so small ... it is still faintly perceptible by man ... so that human actions must also take account of this little time ....
so the best approach for jogging is use encoder ....
i hope these help.
giorgio
Last edit: 09 Feb 2017 08:46 by bkt.
Please Log in or Create an account to join the conversation.
09 Feb 2017 08:34 #87639
by rodw
Replied by rodw on topic Question about matrix_kb
I think you might be better off using a mux component for your rotary switches. mux4 gives you the 2 bit solution. Nothing gets triggered on an edge so it will be more reliable
Here is how I did it for encoder scale selection. Some people have liked the little tutorial I wrote as part of my build.
forum.linuxcnc.org/show-your-stuff/32029...utter-build?start=20
Here is how I did it for encoder scale selection. Some people have liked the little tutorial I wrote as part of my build.
forum.linuxcnc.org/show-your-stuff/32029...utter-build?start=20
Please Log in or Create an account to join the conversation.
09 Feb 2017 08:47 - 09 Feb 2017 08:48 #87642
by bkt
Replied by bkt on topic Question about matrix_kb
@rodow: well done!
giorgio
giorgio
Last edit: 09 Feb 2017 08:48 by bkt.
The following user(s) said Thank You: rodw
Please Log in or Create an account to join the conversation.
09 Feb 2017 11:09 #87648
by Niko
Replied by Niko on topic Question about matrix_kb
This is on a new machine, which poses new problems .
front panel This is the panel in question .
Some of these go directly to inputs on the cnc but some pas through a multiplexing board which not only takes inputs but has multiple outputs on the same strobe . It's an 8x5 configuration . The spindle and feed override and encoder go directly to the mesa cards .
The real issues now are how to get the matrix_kb component to work well with the PCB and how to get output lines from that component . The user thread is a 2ms right now . response on the keys is good .
Cheers
P.S. Today I found out that the component has shifted the inputs .
All buttons are in the corresponding row but in a new column .
I'll experiment with the thread speed .
front panel This is the panel in question .
Some of these go directly to inputs on the cnc but some pas through a multiplexing board which not only takes inputs but has multiple outputs on the same strobe . It's an 8x5 configuration . The spindle and feed override and encoder go directly to the mesa cards .
The real issues now are how to get the matrix_kb component to work well with the PCB and how to get output lines from that component . The user thread is a 2ms right now . response on the keys is good .
Cheers
P.S. Today I found out that the component has shifted the inputs .
All buttons are in the corresponding row but in a new column .
I'll experiment with the thread speed .
Please Log in or Create an account to join the conversation.
09 Feb 2017 11:40 #87651
by rodw
Replied by rodw on topic Question about matrix_kb
I might be out of line here but seeing you are using Mesa cards, have you considered using the Mesa 7i73 Pendant Interface to drive your keyboard?
Please Log in or Create an account to join the conversation.
09 Feb 2017 12:09 #87653
by Niko
Replied by Niko on topic Question about matrix_kb
I preffer the 7i70 and 71/72 cards as they are 24v capable . And the 7i77 has good support for the MPG .
Please Log in or Create an account to join the conversation.
09 Feb 2017 15:56 #87670
by bkt
Replied by bkt on topic Question about matrix_kb
I'm curious ... have you solved with matrix_kb and your switch? How?
Regards
Giorgio
Regards
Giorgio
Please Log in or Create an account to join the conversation.
Time to create page: 0.080 seconds