On 2017-10-08 02:33, Chris Albertson wrote:

I don't know why people like to use these 1GHz ARM boards for machine
controllers.

I can answer, I am using both BBB and PC!
My own motivation is primary experimenting:
- 2017: EMCO-120P lathe + BBB + MK + Modified Gmoccapy GUI
- 2015: C3000 machining center + BBB + MK + Qt based tablet remote GUI
- 2013: CNC-6040 router + PC + LCNC + Modified Gmoccapy GUI
- Late 90s : Wolfcraft table based mill + PC + EMC/LCNC  + Axis GUI

See http://blog.f1oat.org/2017/10/09/cnc-projects-history/ and https://youtu.be/zVUMC1mdQKg

Machinekit is running both on PC or BBB.
It is coming with several improvements and disrupting implementations (see https://youtu.be/OVVGdQnz5Ts) As an example, the new middleware is enabling a network of HAL components running on different boards. One application is remote GUI running on a tablet (not a remote X session, but a true local GUI exchanging data with the remote RT controller over LAN or Wifi).

About the ARM based boards like the BBB, what is nice is the PRU/eQEP subsystem: it enables high speed stepping and quadrature encoding without the need for external FPGA board. So, for a fraction of the cost of a PC/FPGA combination, you have high-end I/O performances. And the DE0-Nano and DE10-Nano SOC boards are bringing additional FPGA capabilities in a very cheap and compact form factor, useful for more advanced I/O needs.

If you do not really want to spent time for experimentation, PC/LCNC is probably the way to go. MK/BBB will be good for tight budget, high speed I/O and small size constraints, if you are more geek.

That will be nice if we can merge LCNC with MK in the near future.
Considering the small amount of time hobby developers have to contribute, that's a shame to make some developments 2 times!

I am contributing to both. Finalizing now an enhanced mb2hal component able to replace all these dedicated VFD drivers, thanks to new powerful configuration capabilities. Currently tested on MK, to be back-ported on LCNC later on.

# Syntax is HAL_MAP_PIN = name, addr, format, scale, offset
#  name: name of the pin
# addr: Modbus address associated to this pin (0x format can be used for hexa)
#  format:
# bit: bit pin, mapped to one 1 bit modbus register (coil, discrete input)
#        f16: float pin, mapped to one 16 bit modbus register
#     s16: s32 pin,   mapped to one 16 bit modbus register
#     u16: u32 pin,   mapped to one 16 bit modbus register
#        f32: float pin, mapped to two 16 bit modbus register (MSB first)
#     s32: s32 pin,   mapped to two 16 bit modbus register (MSB first)
#     u32: u32 pin,   mapped to two 16 bit modbus register (MSB first)
#
#  scale: optional floating point scale value
#  offset: optional floating point offset value
#  The scale/offset formula used is:
#    pin = modbus_register * scale + offset when reading from Modbus
#    modbus_register = pin * scale + offset when writing to Modbus

# Hitachi NE-S1 VFD

[TRANSACTION_06]
MB_SLAVE_ID=2
MB_TX_CODE=fnct_03_read_holding_registers
HAL_TX_NAME=vfd1
# 0.01 * 2840/50.0/1.186 = 0.4789
HAL_MAP_PIN=rpm-feedback,           0x1000, f32, 0.4789
# 0.01 * 2840/50.0/1.186 / 60 = 7.9820e-6
HAL_MAP_PIN=rps-feedback,           0x1000, f32, 7.9820e-6
HAL_MAP_PIN=current-feedback,       0x1002, f16, 0.01
HAL_MAP_PIN=direction-feedback,     0x1003, s16

Frederic
http://cnc.f1oat.org




------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to