Pendant with 7i73: question with analog inputs

More
03 Sep 2024 05:39 #309261 by Ho Er
@PCW: thanks for the explanation - I was actually a bit annoyed by the one-liner Mesa response without any additional context/explanation. I was under the impression that it is a simple configuration issue and that the 7i73 is as easy configurable as the FPGA based cards. I obviously did not dig deep enough into the docs to understand the sserial features/limitations, sorry. I thought, that obviously others also might need more than 4 analog inputs sometimes - so I've expected that sombody else already stumbled over this issue and found the "missing" mode or settings...

With the new context, I am now thinking of a few workarounds (thanks to everybody for their ideas) to replace the missing analog input for a poti:
  • Using an additional/external analog multiplexer (like 74hc4051) and use an output pin to switch between two potis (a few Hz update rate will be more than enough)
  • Use an external A/D converter (there is some sample here using a bitbang SPI) for one of the potis
  • Replace one of the potis with a small encoder 
  • Replace one of the potis with a rotational switch (e.g. with 10 positions) and map each of the 10 inputs with a fixed percentage in the hal
Thank you very much for your offer to look into the code again - if it is not too difficult and helpful for others, then obviously it would be nice, if you could add another mode with more analog inputs.

Here is what I currently use:
  • IN0-IN3: analog inputs for X/Y/Z joystick and the feed override poti
  • IN4: would like to use this for the spindle speed override poti
  • IN5-IN7: digital inputs: buttons
  • IN8/IN9: ENC0 encoder wheel
  • IN10-IN15: digital inputs: buttons
  • KEY0-KEY5: used as LED driver outputs (as I use the NO LCD and NO KBD mode, they map to OUT10-15)
For me the easiest thing will be adding an external analog multiplexer or replacing one poti with a small encoder- thinking about the typical use cases of a pendant interface board, the analog multiplexing could also be possibly implemented in software (so others could benefit from it, too). This could allow to not violate the process data space but still add four (slow) analog inputs (in addition to the four fast inputs) - eventually with loosing one of the encoder inputs?
Please don't waste any time to implement a single user solution (for me) - I was expecting to get my config working with some configuration adjustments I've overlooked. If you think my use case could make sense to others, then adding an additional mode is of course highly welcome!

Let me know what you think!

Thanks and best regards,

​​​​​​​    Holger

Please Log in or Create an account to join the conversation.

More
03 Sep 2024 05:57 #309264 by cornholio
A Rotary switch 10 or 12 way or what every is available, then either use 10 or 12 inputs, or if you want to lower that use a priority encoder, would take up that much space or a simple diode matrix.
The little rotary encoders aren’t that bad as they usually have a switch included as well which could be for reseting the override.
Using a analogue mux would require a custom component to sync everything.
The pot or rotary switch gives a quick visual at where the override is without having to look at a screen. The rotary encoder not so unless you were to implement mechanical stops to limit movement over a certain range, but wouldn’t be compatible with using the switch for reset.
I was just thinking about the bit banging spi thing, it may require 2 thread slices per clock signal. As there are only 1 read & 1 write per thread.

Please Log in or Create an account to join the conversation.

Moderators: PCWjmelson
Time to create page: 0.141 seconds
Powered by Kunena Forum