7i80HD-16 + xx

More
17 Apr 2018 09:47 #109177 by B9T
7i80HD-16 + xx was created by B9T
Dear all

I'm currently working on retro-fitting a 5 axis cnc machine driven by open loop stepper motors (7 motors in total). As such I have a 7i80 card and am currently looking into which, if any extension boards I'm going to need. The stepper drivers provide opto inputs, and as such should be fine to be driven directly by the 7i80(?).

The big question mark is currently on needing up to 12 analog inputs for temperature measurements. Besides those I'll need some way to interface with the endstops and maybe some relays, though I might just use level converters there.

As an alternative for the analog inputs I might use external sensor boards which then uses i2c, spi, uart or similar. though as far as I understand it, these protocols are not (easily) usable through the mesa cards?

For the endstops and relays I'm considering a 7i37TA/Com card, though I'm drawing a black on the analog inputs.

Any help would be appreciated, as well as a sanity check on whether I'm missing crucial things here.

Cheers,
B9T

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

More
17 Apr 2018 14:47 #109189 by PCW
Replied by PCW on topic 7i80HD-16 + xx
You can drive step drives directly from FPGA pins but you need to be careful that you never accidentally
short the outputs to any signal that will result in excessive input current. This means any voltage greater
than about 7V or less than about -0.5V. the -0.5V limit is easy to exceed just by touching the FPGA pins
to frame grounds that carry high frequency noise from step drives, VFDs, servo drives etc.

If you use the outputs to drive step motor drive directly you should drive them active low (STEP+ and DIR+ to +5V from 7I80 STEP- and DIR- to 7I80 outputs)

For analog inputs you could use a couple 7I87s but if you don't need real time, an Arduino would be a cheaper solution
And there is already an example of an Arduino doing reading analog voltages for LinuxCNC to do temperature compensation of spindle growth

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

More
19 Apr 2018 08:59 #109286 by B9T
Replied by B9T on topic 7i80HD-16 + xx
Thank you for these inputs.

On the direct connections, I think I'll get a 7i42, better save than sorry...

For the analog inputs, cost comes second to reliability, and I might just go with 8 Inputs in the beginning...

With these inputs I'm currently eying a combination of 1x 7142 for the connections to the stepper drivers, 1x 7i37 for the endstops and relay control and 1x 7i87 for analog inputs. Does that look reasonable?

Which then brings me to the topic of firmware for the 7i80. For the steppers and general I/O needs I'm currently using the 7i80hd_16_st18.bit file which just has 18 steppers available. looking through the folder with the available bitfiles there is none for the 7i80hd_16 that looks like what I need, but there is one called PIN_SSST_8_12_72.vhd that looks like it contains a reasonable layout for me (1x header with steppers, 1x with serials, and one general I/O). Could you (or anyone) please point mo to the documentation on how to create the firmware files for the board?

Thank you again for your inputs and support

cheers
B9T

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

  • andypugh
  • andypugh's Avatar
  • Away
  • Moderator
  • Moderator
More
26 Apr 2018 11:54 #109644 by andypugh
Replied by andypugh on topic 7i80HD-16 + xx

The big question mark is currently on needing up to 12 analog inputs for temperature measurements.


This might be an option:

linuxcnc.org/docs/devel/html/man/man9/max31855.9.html

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

  • rodw
  • rodw's Avatar
  • Away
  • Platinum Member
  • Platinum Member
More
26 Apr 2018 12:54 #109651 by rodw
Replied by rodw on topic 7i80HD-16 + xx
Andy's idea sounds like a good one. Just another thought though. 2 x 7i76 cards would give you your 7 stepgens (and 3 spares). Plus you would end up with 3 analog inputs on each card (6 total) so 8 inputs on the 7i87 would give you all of the analog inputs you need and solve all of your I/O problems for limit switches etc.

I have used LM35 analog sensors with an Arduino. You'd have to see how well they might work with the voltage ranges used by the Mesa cards (and the 7i76 inputs were accurate enough for your needs).

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

More
26 Apr 2018 16:34 - 26 Apr 2018 16:34 #109668 by B9T
Replied by B9T on topic 7i80HD-16 + xx

This might be an option:
linuxcnc.org/docs/devel/html/man/man9/max31855.9.html


That does indeed look like an option, thank you. Or maybe the max31865 for different sensors.

Andy's idea sounds like a good one. Just another thought though. 2 x 7i76 cards would give you your 7 stepgens (and 3 spares). Plus you would end up with 3 analog inputs on each card (6 total) so 8 inputs on the 7i87 would give you all of the analog inputs you need and solve all of your I/O problems for limit switches etc.

I have used LM35 analog sensors with an Arduino. You'd have to see how well they might work with the voltage ranges used by the Mesa cards (and the 7i76 inputs were accurate enough for your needs).


Optimistic as I am, I already bought the 7i80HD with 3x 50 pin headers. 8 bit resolution is too low, so there is that. I'm looking into an Arduino mega which has 15 analog in pins. They are multiplexed but I'm more concerned with resolution than update speed (10Hz or so will be enough). Nevertheless thank you as well for these inputs.

p.s I found the Xilinx ISE for building bitfiles, I'll be playing around with that.
Last edit: 26 Apr 2018 16:34 by B9T.

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

  • andypugh
  • andypugh's Avatar
  • Away
  • Moderator
  • Moderator
More
26 Apr 2018 17:02 #109672 by andypugh
Replied by andypugh on topic 7i80HD-16 + xx

p.s I found the Xilinx ISE for building bitfiles, I'll be playing around with that.


The bitbanged driver should be able to manage 1000 bits per second running in the servo thread, so won't quite manage 10Hz for 12 channels.

There is an option to read smart-serial GPIO in a base thread and also an option to run FP in the base thread, so there might be something to be had there.

Alternatively there is a BSPI module for the Mesa cards, and that will be very much fast enough, but does require a bit of work to write a HAL driver.
(example: github.com/LinuxCNC/linuxcnc/blob/master...ivers/mesa_7i65.comp )

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

More
30 Apr 2018 15:23 #109856 by B9T
Replied by B9T on topic 7i80HD-16 + xx
That looks like options, thank you. I'll have to evaluate how they might work out.

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

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