Seeed to design and build Machinekit focused Cape for BeagleBone Black/AI

997 views
Skip to first unread message

Jason Kridner

unread,
Mar 12, 2020, 9:38:53 AM3/12/20
to machi...@googlegroups.com, beagl...@googlegroups.com
Seeed is looking to not only build a Machinekit-focused Cape for BeagleBone Black and BeagleBone AI, but to:
* Take in features and feedback from the community
* Contribute the design to open source and certify it as such
* Manufacture the design under the BeagleBoard.org name to support the BeagleBoard.org Foundation and community
* Help assemble and provide software images configured for an open source 3D printer and CNC machine (with BeagleBoard.org and community guidance and support)
* Offer a collection of additional accessories which might commonly be needed

I am very excited about this because I know Seeed cares about open hardware and also knows how to deliver solutions reliably and cost effectively.

So, what are your ideas about where to start on such a cape?
--

John Dammeyer

unread,
Mar 12, 2020, 1:41:21 PM3/12/20
to Jason Kridner, machi...@googlegroups.com, beagl...@googlegroups.com

Hi,

I've been proposing something very similar that would use a BBB or a PIC32.  The reason for the PIC32 is the lack of I/O on the Beagle once you enable the HDMI or plug in one of those small 4.3" LCD displays.

 

I already have a 4DCape (attached JPG) and a Replicape c/w with poorly functioning Manga Screen.  I bought the newer Manga screen but as yet haven't really done anything with it or the Replicape.

 

I've also got an earlier xylotex DB25 cape and a LogicSupply Serial cape.  Unlike say the ISA bus on the original PC, nothing is really compatible so they can all plug in at the same time which makes sense because the BBB external connections aren't really an expandable bus.

 

OK.  So what does a CNC system need?  I think it's always better to first specify the needs and then see what processor fits rather than insist on a particular architecture and then shoehorn in the specifications to fit the target hardware.

 

1.      Either 4 or 5 axis step/dir.  

a.       At a minimum X,Y,Z, A and B(or C) and up to 500kHz step rates to handle some of the now low cost AC servos with 2500 line encoders.

2.      Spindle control in the form of two outputs:

a.       PWM and Direction or

b.      Step and Direction or

c.       Relay Clockwise, Counter Clockwise.

3.      Spindle Quadrature encoder input

a.       Differential A/B and Index high speed hardware for 2500 line encoders turning up to  3000 RPM.

4.      Home switch input for 4 or 5 axis  (does a rotary require a home switch).

a.       shared with Limit switch for each axis.

b.      Open circuit means activated.

5.      Limit switch for the other end of each axis.

a.       Open circuit means activated.

6.      ESTOP input with ESTOP asserted when ESTOP not connected.

7.      ENABLE output.

a.       One active high

b.      One active low.

8.      Coolant output control

a.       Flood

b.      Mist

9.      General purpose output signals for power supply enables etc.

10.  Charge Pump output that when stopped shuts off all outputs including ENABLE.

11.  USB input for a pendant of some type

a.       For USB stick for code or firmware updates.

12.  Or at least Inputs for Quadrature encoder knob and a few buttons.

13.  MODBus support with either RS232 or RS485

a.       for something like a Homann Designs MODIO

b.      Other MODBus end products for things like tool changers

14.  CAN bus with CANopen support

a.       for expanding to other hardware like tool changers.

15.  Ethernet connectivity.

16.  Some sort of display.  Size depending on what level of application is running on the BBB.

 

Point 16 is the interesting part.  Should this be a small 4.3" to 7" LCD display serving as a rudimentary DRO and status display?  Or should it be the entire AXIS interface or something between.

 

And with point 16 in mind, if the display makes the BBB into an intelligent power feed DRO controller to allow essentially manual operation on the mill then the Ethernet port could be used to connect a full size PC (laptop or workstation) running LinuxCNC/MachineKit with full graphical tool path display etc.

 

It's already possible to buy a CNC controller for $200 to $300 from China with a 4.3" display, a bunch of buttons and a USB connection for loading G-Code.  And there are some users who swear by that solution as the easiest and fastest way to get working.  But they aren't open source.  They aren't expandable.

 

To have all the above I/O requires a lot of pins.  I'm not sure the BBB can do this all.  Unless it uses 10Mhz SPI to a serial shift register latch to create 6 axis STEP/DIR/PWM for X,Y,Z,A,B and Spindle along with coolant outputs to a maximum of 16 outputs.  Since SPI is in and out the system can just as easily hold a 16 bit latch that is shifted in at the same time holding the various inputs except for ESTOP and maybe a MACHINE ON switch.

 

Some of the features on the PMDX-126 break out board could be part of this cape.  In fact the idea that perhaps a simple I/O bus structure be designed in is a really good idea.  A bi-directional 8 bit bus with a 4 bit address bus along with RD/WR/ signals would allow LCD displays and other external add on devices.  The PIC32 for example supports that sort of bus.  I think the ARM on the Beagle does too but it may not be available.

 

So this cape would look a lot more like a PMDX-126 but be that large BoB cape for the Beagle.  It would have the I/O and maybe even high voltage relays along with optically isolated I/O.           

https://www.pmdx.com/PMDX-126

The photos show how the PMDX has an expansion bus and a set of connectors that are compatible for a smooth stepper.

 

Perhaps make the BBB the replacement for the Smooth Stepper and the cape the replacement for a much more extensive PMDX-126.  And use the BBB Ethernet connection to be the interface, if CNC is wanted, to MachineKit or LinuxCNC or even maybe MACH4 too.   Give the BBB cape a display output for rudimentary DRO and control information but for full CNC let a processor like Raspberry Pi4 or PC with much better decent HDMI control serve as the graphical and keyboard/mouse user input.

 

The need for the BBB to do everything just doesn't exist anymore when that Pi4 only adds $50 to the price and the display/keyboard/mouse are fixed costs no matter what system is used.

 

Make the system stand alone and scalable so a user can first add just a motor to their X axis for power feed.  Six monts later the Y axis for power feed.  Then a year later the Z axis for power feed.   When they swap in a 3 phase or AC servo motor onto the spindle they suddenly have on/off speed control and now the potential to add simple CNC operations.  Some of those could even be local like the wizards in MACH3/4.

 

IMHO

John Dammeyer

 

 

 

 

 

 

 

--
website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit
---
You received this message because you are subscribed to the Google Groups "Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to machinekit+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/machinekit/CA%2BT6QPktUtnx5fv0AG%2BEqENM2mBRw44FLiEe-hKBRXOTanHomg%40mail.gmail.com.

4DCAPE-43T-1.jpg
BadFittingBox.jpg

Jason Kridner

unread,
Mar 12, 2020, 2:15:51 PM3/12/20
to John Dammeyer, Machinekit Mailing List, beagl...@googlegroups.com
For the inclusion of UI support, does it really need to be BeagleBone Black or can that be BeagleBone AI? Today, we need some software updates to run reliably without a fan, but I think that can be incorporated--unless you think a fan should reasonably be a part of the solution. BeagleBone AI does jump the price of the BeagleBone to $99 (assuming tariff situation is put under control with either a US source or the tariffs go away), but is that really significant for a CNC solution that includes the UI? BeagleBone Black can handle the UI, but could be considered generally be a bit sluggish on that, especially if the 3D accelerator isn't integrated nicely.
 

 

And with point 16 in mind, if the display makes the BBB into an intelligent power feed DRO controller to allow essentially manual operation on the mill then the Ethernet port could be used to connect a full size PC (laptop or workstation) running LinuxCNC/MachineKit with full graphical tool path display etc.


That seems like the sweet spot for BeagleBone Black to me. Still running Machinekit on the board, but running the UI remotely.
 

 

It's already possible to buy a CNC controller for $200 to $300 from China with a 4.3" display, a bunch of buttons and a USB connection for loading G-Code.  And there are some users who swear by that solution as the easiest and fastest way to get working.  But they aren't open source.  They aren't expandable.


Exactly. How can we create a nice experience out of box like something purchased off the shell for CNC control, but keep it open and expandable. If $300 is the expectation with 4.3" display and USB port for G-Code, then let's work together to set the requirements appropriately.
 

 

To have all the above I/O requires a lot of pins.  I'm not sure the BBB can do this all.  Unless it uses 10Mhz SPI to a serial shift register latch to create 6 axis STEP/DIR/PWM for X,Y,Z,A,B and Spindle along with coolant outputs to a maximum of 16 outputs.  Since SPI is in and out the system can just as easily hold a 16 bit latch that is shifted in at the same time holding the various inputs except for ESTOP and maybe a MACHINE ON switch.

 

Some of the features on the PMDX-126 break out board could be part of this cape.  In fact the idea that perhaps a simple I/O bus structure be designed in is a really good idea.  A bi-directional 8 bit bus with a 4 bit address bus along with RD/WR/ signals would allow LCD displays and other external add on devices.  The PIC32 for example supports that sort of bus.  I think the ARM on the Beagle does too but it may not be available.


Worth exploring what we can do to effectively generate such an expansion. I think there are many options for it.
 

 

So this cape would look a lot more like a PMDX-126 but be that large BoB cape for the Beagle.  It would have the I/O and maybe even high voltage relays along with optically isolated I/O.           

https://www.pmdx.com/PMDX-126

The photos show how the PMDX has an expansion bus and a set of connectors that are compatible for a smooth stepper.

 

Perhaps make the BBB the replacement for the Smooth Stepper and the cape the replacement for a much more extensive PMDX-126.  And use the BBB Ethernet connection to be the interface, if CNC is wanted, to MachineKit or LinuxCNC or even maybe MACH4 too.   Give the BBB cape a display output for rudimentary DRO and control information but for full CNC let a processor like Raspberry Pi4 or PC with much better decent HDMI control serve as the graphical and keyboard/mouse user input.

 

The need for the BBB to do everything just doesn't exist anymore when that Pi4 only adds $50 to the price and the display/keyboard/mouse are fixed costs no matter what system is used.


I'd agree with that. The BeagleBone Black should really be valuable for its ability to act as the real-time controller, not as the UI. BeagleBone AI should be able to do both and also potentially introduce some kind of preventive maintenance modes, tough greater stepper driver/motor feedback would be needed.
 

 

Make the system stand alone and scalable so a user can first add just a motor to their X axis for power feed.  Six monts later the Y axis for power feed.  Then a year later the Z axis for power feed.   When they swap in a 3 phase or AC servo motor onto the spindle they suddenly have on/off speed control and now the potential to add simple CNC operations.  Some of those could even be local like the wizards in MACH3/4.

 

IMHO

John Dammeyer

 

 

 

 

 

 

 

From: machi...@googlegroups.com [mailto:machi...@googlegroups.com] On Behalf Of Jason Kridner
Sent: March-12-20 6:39 AM
To: machi...@googlegroups.com
Cc: beagl...@googlegroups.com
Subject: [Machinekit] Seeed to design and build Machinekit focused Cape for BeagleBone Black/AI

 

Seeed is looking to not only build a Machinekit-focused Cape for BeagleBone Black and BeagleBone AI, but to:

* Take in features and feedback from the community

* Contribute the design to open source and certify it as such

* Manufacture the design under the BeagleBoard.org name to support the BeagleBoard.org Foundation and community

* Help assemble and provide software images configured for an open source 3D printer and CNC machine (with BeagleBoard.org and community guidance and support)

* Offer a collection of additional accessories which might commonly be needed

 

I am very excited about this because I know Seeed cares about open hardware and also knows how to deliver solutions reliably and cost effectively.

 

So, what are your ideas about where to start on such a cape?

--

--
website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit
---
You received this message because you are subscribed to the Google Groups "Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to machinekit+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/machinekit/CA%2BT6QPktUtnx5fv0AG%2BEqENM2mBRw44FLiEe-hKBRXOTanHomg%40mail.gmail.com.

Message has been deleted

Mala Dies

unread,
Mar 12, 2020, 3:18:59 PM3/12/20
to Machinekit
Hello,

I erased my last message. I think my last message was just reaching out. Here:

  • What are we talking about in regards to the power consumption of the available wattage?
    • 125w
    • 150w
    • 175w
    • etc...
  • I am asking b/c some motors will drive that much wattage by themselves.
  • I am missing something as usual.
    • Would we power the board, AI, separately?
    • Are the pins already available on the AI for use without .dts files?
      • If not, can we expect a config-pin source to work in the future?
      • Or, are we going to have to deal with EEPROM already "registered?"
I have these subtle questions because I am all in on this idea. I do not care for the AI handling the GUI. I would rather my chromebook or laptop handle it.

Can I expect to handle more than three, 100w brushless stepper motors?

Seth

P.S. I will have a million more questions available by the time I post next. I am being nosey on purpose. I want to know things. I especially want to know what type of motors I can handle on this Cape. Are people already handling design, a wiki, and/or status updates on this venture?

Jason Kridner

unread,
Mar 12, 2020, 5:05:14 PM3/12/20
to Mala Dies, Machinekit


On Thu, Mar 12, 2020 at 2:59 PM Mala Dies <fun...@gmail.com> wrote:
Hello,

I am a novice in most fields of study regarding brushless stepper motors and drives. If anything, I think allowing people like me, the novices in this category, to establish as domain in the field with not only hardware but a temporary to permanent wiki support would be what Open Source initiatives are made of currently.

...

I know about Machinekit and how it offers specific uses to users like me. Although, and this is the truth, I have not used Machinekit with my RepliCape, I have been wanting to test out these images for use in a particular manner.

  • Key Takeaways 
    • Ease of use
    • Open Source Hardware and Source (the BBB.io persons' ways)
    • An updated Wiki of ideas all relative to this specific hardware, source, and middleware
  • Stated Opinions 
    • Although my opinions may fall short of technological at times, ease of use is always a need
    • I would make lists and hold a meeting
      • Hardware
      • Source (Machinekit)?
      • Wiki (who will have advanced knowledge to pick apart the wiki)?
Now...I am sure Seeed Studio can handle, w/ the current state of machinery, the needs of me, myself, and I (and other users like me too). 

But...

So, sockets or pins or connections:

  • I say that actual connections should be made outside of the screw terminals, i.e. either soldered or a terminal block that is severely equipped to handle people moving around the machinery and electronics.
  • I also say that there should be a couple of people at least that are dedicated to the project, e.g. more knowledgeable people than I on these subjects.
  • I also say that the computer needs to be the source of the UX, GUI, UI, or whatever we call them these days.
...

Now...I am not affiliated but I am definitely a community member that has "outlandish" goals for specific projects. I have been here since the A5C BBB. I think it has been since 2014/15. 

Why am I telling you these ideas and reaching out? 

  1. I have seen specific ideas go to waste and not catch any ideas from other community members on many of the Capes produced. 
  2. Either the Capes produced, were before my time, circa '14/'15, or I have been paying less attention to what is needed regarding the Capes.
  3. I think the Capes are a big part of the community and ideas circulating are more than a start.
I hate to down Seeed Studio because of their popularity and ease of motive to act on making nice equipment but...

Sometimes, I think because of their wikis not being updated frequently, people lose interest or find that support is not viable for them. 

I have been to the Seeed Studio wiki many times in my life and sometimes I have been rewarded for asking for support. Other times, the community was more needy than I and I had to provide what I learned.

All I am typing here is that interest gets lost when people are not updating due to whatever reason. Do you or do we want another Cape to get lost attention when it is a piece of GOLD?

Let's look to Seeed for what we know Seeed is good at. They do good design work, they manufacture on-time at good prices at varying volumes for long periods of time, if given the right constraints of a well-defined functionality they do good quality control, they solve difficult component challenges with good visibility into what is available and they work well in the open source world as information is requested from them they give very freely. That said, they aren't Machinekit experts and this community would be educating them on that. Documentation on using Machinekit should be coming from the Machinekit community and documentation around new hardware should be done in a way that meets this community's standards. I'm asking if we can work together to leverage Seeed's strengths to solve a gap--the gap of while there are lots of cool solutions around BeagleBone and Machinekit, the add-on hardware to make them is not readily available in distribution with ready-to-go software images.

Sound good?
 

Seth

P.S. Now, I understand that beagleboard.org is not a major subsidiary of Lexus or whatever large company. I am not talking about 24/7 support by way of email, phone, chat, and face time or live meetings online and in person. I would ask but I am too scared. Anyway, please try to make this venture w/ ease of access in mind, sturdy (durable) power and pin connectors, and w/ access to extra i2c pins on the AI if they are indeed available by way of Machinekit. Phew. Okay, I think that is enough opinion to make anyone cringe. Sorry and please consider my needs versus the power hungry machinists that already know up from down. 





On Thursday, March 12, 2020 at 8:38:53 AM UTC-5, Jason Kridner wrote:

--
website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit
---
You received this message because you are subscribed to the Google Groups "Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to machinekit+...@googlegroups.com.


--
https://beagleboard.org/about - a 501c3 non-profit educating around open hardware computing

Chris Albertson

unread,
Mar 12, 2020, 5:10:00 PM3/12/20
to Jason Kridner, Machinekit


On Thu, Mar 12, 2020 at 11:47 AM Jason Kridner <jkri...@gmail.com> wrote:
If you are putting a fast processor on the main board, what is the Beagle doing?

The Beagle is running the servo loop, g-code interpeter, motion planning, and the user interface.  Step-gen and quadrature decoding are done on the hardware.    Pretty much exactly that way it works if you use a PC and a Mesa FPGA card.


--

Chris Albertson
Redondo Beach, California

Chris Albertson

unread,
Mar 12, 2020, 5:18:02 PM3/12/20
to Mala Dies, Machinekit
I doubt you'd want any kind of motor drivers on the board.   The board would have logic level outputs only and would interface to industry-standard motor drivers that run off step/direction or 0 to 10 volts or even Ethercat.

This is where the board gets larger and expensive as it would need to support 3 or 5 different kinds of interfaces for 5 or 6 axis.    But the hope is that mas producing one PCB is cheaper than making five different variation


Also,...     If these are a true "Open Source" design then we users would send the Geber file to a PCB fab in China and have 3 to 5 PCBs made then solder down only the parts we need.    Those only using step/direction woud not bother to buy or solder down the analog or Ethercat chips. and connectors.

--
website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit
---
You received this message because you are subscribed to the Google Groups "Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to machinekit+...@googlegroups.com.

Jason Kridner

unread,
Mar 12, 2020, 5:23:25 PM3/12/20
to Chris Albertson, Machinekit
On Thu, Mar 12, 2020 at 5:09 PM Chris Albertson <alberts...@gmail.com> wrote:


On Thu, Mar 12, 2020 at 11:47 AM Jason Kridner <jkri...@gmail.com> wrote:
If you are putting a fast processor on the main board, what is the Beagle doing?

The Beagle is running the servo loop, g-code interpeter, motion planning, and the user interface.  Step-gen and quadrature decoding are done on the hardware.  

Isn’t that something the Beagle is strong at with the eQEP and PRUs?

 Pretty much exactly that way it works if you use a PC and a Mesa FPGA card.


--

Chris Albertson
Redondo Beach, California
--

Mala Dies

unread,
Mar 12, 2020, 5:48:03 PM3/12/20
to Machinekit
Hello,

Sounds good but I was not being too harsh on Seeed Studio from my perspective. I guess people get busy and languages collide at times. I can chalk up the issues over the years to that idea. 

...

Nothing is perfect and I may be in limbo but I think the Cape should have, from what I understand, a couple drivers (four or five) for handling heavy motors. I mean, why purchase a ton of extra equipment when the BBAI and Cape can handle it?

Seth

P.S. And sir, I am not by any means telling you or the rest of the community to not purchase products from Seeed Studio. That is not my aim. I just wanted more communication and less typos without explanations. Now, are we looking for specific drivers or do you have any in mind? I mean, is it okay to "quarrel" about this issue or is anything set in stone? I would like to help find some drivers that are easily accessible, i.e. 120v? I know the replicape handles 24 volts but may be a little too small in wattage for what this group may want. I am not speaking for anyone outside of myself, I guess. If that is too much to inquire over, that is okay. I steadily give out info. when I can on specific BBB related issues and ideas. "Take the good w/ the bad, supposedly." Sounds good.
To unsubscribe from this group and stop receiving emails from it, send an email to machi...@googlegroups.com.


--
https://beagleboard.org/about - a 501c3 non-profit educating around open hardware computing
To unsubscribe from this group and stop receiving emails from it, send an email to machi...@googlegroups.com.

Chris Albertson

unread,
Mar 12, 2020, 6:32:52 PM3/12/20
to Jason Kridner, Machinekit

Isn’t that something the Beagle is strong at with the eQEP and PRUs?


Strong only until you hit up against the limited number of I/O pins.  A PRU based solution is cheap and simple but can't scale.

In general TI's idea to place a small microcontroller on the same chip as their ARM Cortex-A was good and we see others doing this too but a big machine tool like a 5-axis mill with tool changer and cooling and saftey interconnects is going to need something bigger than a PRU.  FPGAs work well as wold an STM32 tht had on order about 100 pins.

justin White

unread,
Mar 12, 2020, 7:14:03 PM3/12/20
to Machinekit
But that's not what they are going for "Help assemble and provide software images configured for an open source 3D printer and CNC machine (with BeagleBoard.org and community guidance and support)"......Pretty much sums up the mission statement. If they're looking to showcase the Beaglebone hardware as part of an official beaglebone supported piece, I seriously doubt they're looking to offload IO to a microcontroller and develop the firmware for it when:
 
* Manufacture the design under the BeagleBoard.org name to support the BeagleBoard.org Foundation and community

Everytime someone mentions something like this people get all starry eyed about it.....It's going to be Seeed's version of Cramps. The most helpful suggestions would probably be along those lines. Jason will have to clarify but I'm pretty sure this is a maker focused thing, Ethercat and analog outputs for each axis are not going to happen. 

Realistically that is the Machinekit audience anyway, otherwise mksocfpga would have quite a bit more interest than Beaglebone projects, Try running out of IO on a DE10-Nano, you could probably run a Haas with all that IO.

John Dammeyer

unread,
Mar 12, 2020, 7:59:48 PM3/12/20
to Machinekit, beagl...@googlegroups.com

One has to be careful here not to spec in a 10 ton dump truck for that once a year 500 lb utility trailer load of peat moss for the garden.  For one thing they are hard to parallel park and really expensive for fuel.

 

There already exists, and will for some time, systems that can handle multiple spindles, closed loop control of the encoders back to the PC along with multiple FPGA controlled I/O and smart serial motor control for these retrofitted large commercial milling machines.  Those users will never ever install a BBB with a cape that has slow HMDI screen updates and limited I/O.

 

So forget them.

 

By the same token, the customers who are using Ardunio based duos or whatever the latest flavour is for their 3D printers are also of no interest.  If they were we'd have seen the Replicape on a BBB become the standard with Machinekit or Linux as the backbone.  Hasn't happened.  Won't happen.  Not sure why.  Probably price.

 

So what is the target market for this type of product?  Well who is buying the ready to go $200 to $500 CNC boxes in China and for what machines?

 

If I were to venture a guess I'd say the ones that are about this size:

https://www.grizzly.com/products/Grizzly-7-x-27-1-HP-Mill-Drill-with-Stand/G0704

 

They come in all sorts of flavours.  They are generally driven open loop with stepper motors and require only a spindle sensor for quadrature and maybe a second quadrature input for an MPG control although those can be had pretty inexpensively as USB devices.  And to tell you the truth I really like my ShuttleExpress over the USB MPG pendant.

 

As along as the BoB has a FAULT input, which I forgot to put on my previous list, you can even use intelligent drives like the step-servos that close the loop but provide a FAULT output when something goes wrong.  My STMBL, Bergerda and HP_UHU drives all have that.  I think the GECKO I have on the KNEE also does but I'm not using it at the moment.  All open collector outputs that pull the signal low when a fault occurs.

 

Anyway, that size of a machine and the price tag associated with it will set the price of the CNC conversion.  Most of the cost is in the mechanics and the electricals. 

 

So two PRU accessed quadrature inputs are more than enough to close the loop for power tapping as long as the spindle speed control is responsive.

 

About the only limitation I see in my list is that 500kHz stepping is really fast.  I used that number because that's the step rate for the Bergerda AC servos with the 2500 line encoder.    That math works out to 10,000 edges per revolution and 3000 RPM is 50 RPS which means a 1:1 ratio is 500kHz.  The Bergerda can scale the step pulses in order to match the encoder with slower step rates.  I don't know if the STMBL AC Servo drive can do that.  Pretty sure the HP_UHU with the dsPIC can or almost can.

 

But for this target market, using standard stepper motors with micro-stepping drives we're back to 25kHz max before we see the motor torque drop off to a point where step speed doesn't matter.  And if you are using the step-servos the selection of the encoder will determine what's required.

 

So I'll agree with Chris that it's the I/O on the BBB that is the limiting factor.  But 10MHz SPI bus could take care of that.

 

What I would do is use the PRU to load the DMA device to write two bytes to and read two bytes from the SPI port at a 1MHz rate.  It's the BBB's main processors responsibility to keep this filled or to stall it with step levels low and dir at last used value. 

 

The trajectory planner is responsible for setting the step pulses ON within the two byte packet to send out the SPI port.  The next two bytes hold the direction and drop the STEP.  Any other outputs on that buffer will also be left as is. 

 

Now you have hardware generating 6 pairs of step/dir as high as 500kHz.  The amount of time the 8th pair is ON and OFF is dependent on the PWM frequency and PWM pulse period within that frequency.   It's a simple matter of keeping the queues with this information full and default values when they aren't.

 

John Dammeyer

 

 

 

--

website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit
---
You received this message because you are subscribed to the Google Groups "Machinekit" group.

To unsubscribe from this group and stop receiving emails from it, send an email to machinekit+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/machinekit/CABbxVHs5uknWtEY-sP-hxfb13LNZ8CWBxxK30TiBn%3DOQ820K%2BA%40mail.gmail.com.

John Dammeyer

unread,
Mar 12, 2020, 9:15:27 PM3/12/20
to Machinekit, beagl...@googlegroups.com

Although the subject talks about SeeedStudio let's leave that part alone for a moment and discuss what the Beagle's part is in all this.

 

I'd like to take everyone back to geometry learned in school.  SQRT(X^2+Y^2) = hypotenuse of a right angle triangle.   When we look at velocity we can use the same math.  If both X and Y axis are moved at 12 IPM then the movement along that path happens at 16.97 IPM.  SQRT(144+144). 

 

So when you set a G-Code value of F12 and execute a move with G1 set then X and Y will _not_ move at 12 IPM.  First the distance of each axis is determined.  Assume for this example it's the same distance of 12".  That means the total distance moved along the hypotenuse is 16.97" and as we move along that path we want that to be done at 12 IPM because of the F12.

 

Well that's (144) = (X^2+Y^2) or in this case because we have a 45 degree angle with equal X and Y it's SQRT(144/2) = SQRT(72) = 8.48 IPM.  So both X and Y will be moved at 8.48 IPM.   (in really we use the cos and sin of the angle to proportion the speed to achieve the F speed value.

 

It's more complicated than that if the acceleration for each motor is different.  So the simple path planner will use the lowest acceleration and make both motors accelerate at that speed so they move at the same rate per second per second to reach the velocity.  Same with deceleration. 

 

Once this has been calculated the next question is how to translate a real world velocity (IPM) into steps per second.  Once again not really hard if the reduction drive on each axis is identical.  A bit harder if one uses 4:1 and the other uses 3:1. 

 

Now the software has to decide when to create each step pulse.  Assuming both axis require the same number of steps to move 1 inch (0.2" per rev and 10 uSteps/Step = 2000 steps per rev = or 2000 steps to move 0.2")

 

We're asking for 12 IPM which is 0.2" per second so that's 2000 steps per second.  That's a step pulse every 500 uS.  Our DMA clock is set to run at 1MHz spitting out the 16 bits into the SPI device so we get a 1uS long step pulse.

 

Or in simple terms we get one 16 bit packet, with X and Y STEP pins both set high and another packet with X and Y STEP pins set low .  Then the next 498 packets do not change the X and Y step pins.  So for one second of data we need at 1000 byte array with 500 values where only one of those has X and Y set high.  We need a second 1000 byte array with 500 values for the next 1 second worth of messages. 

 

The trajectory planner has one second to populate the array.  The DMA controller signals when it switches to the next array and we ping pong back and forth.  When there isn't any motion the array just has the DIR pins and the COOLANT pins set to their previous values.  The output doesn't appear to change even though the SPI hardware is loaded by the DMA hardware to spit out new data at a 10Mhz rate.

 

The question is…who and what populates the array and when and how.

Rob M

unread,
Mar 13, 2020, 4:59:29 AM3/13/20
to Machinekit
Already made one, worked well. Switched to Linuxcnc now using a PC & MESA

Bas de Bruijn

unread,
Mar 13, 2020, 9:47:23 AM3/13/20
to Jason Kridner, machi...@googlegroups.com, beagl...@googlegroups.com
I would use a cape who can drive DC and BLDC motors with encoder feedback. and has room for 24V I/O thru screw terminals.

A motor such as these types (just an example, maybe different capes for different power ratings) which would make creating tools for industrial situations much, much easier. No need to buy a €250 driver per motor.


Such a cape would need to have enough oomph to drive 24V relays, and connect 24V limit or proximity switches.

Maybe max out on motor+encoder and have a complimentary cape use the rest for the io’s.

Having hardware that drives these motors would help enormously in just creating a working machine (I’m not looking for 3D printing or CNC myself, but for custom machines) It would help me to focus on creating a machine, and not have me connect a bare BB to an industrial driver.

Bas

John Dammeyer

unread,
Mar 13, 2020, 1:02:38 PM3/13/20
to machi...@googlegroups.com, beagl...@googlegroups.com

 

 

From: machi...@googlegroups.com [mailto:machi...@googlegroups.com] On Behalf Of Bas de Bruijn
Sent: March-13-20 6:47 AM
To: Jason Kridner
Cc: machi...@googlegroups.com; beagl...@googlegroups.com
Subject: Re: [Machinekit] Seeed to design and build Machinekit focused Cape for BeagleBone Black/AI

 

I would use a cape who can drive DC and BLDC motors with encoder feedback. and has room for 24V I/O thru screw terminals.

 

And how many people would be interested in a cape like that?  The moment you put one type of driver on the cape you restrict the market.  For example the Replicape comes with stepper drivers sized for 3D printers.  Try using that on a mill with size 34 steppers or an AC Servo like I have for the 4th axis.

 

The days are past where there is a need or even a desire to close the motor control loop within the trajectory planner CNC control computer.  No offense meant to people who manufacture that sort of hardware but 15 years ago the processors to do that were few and far between.

 

Now there are kits like the STMBL which would still be available in its original form had not the motor driver chip been discontinued. A new version is in the works.  This drive can do AC servos and DC brushed or brushless.  Step/Dir or Smart Serial.  And it's small and modular and can be replaced.  Yes it's expensive compared to a far east stepper motor driver.

 

 

A motor such as these types (just an example, maybe different capes for different power ratings) which would make creating tools for industrial situations much, much easier. No need to buy a €250 driver per motor.

 

 

Such a cape would need to have enough oomph to drive 24V relays, and connect 24V limit or proximity switches.

 

Maybe max out on motor+encoder and have a complimentary cape use the rest for the io’s.

 

The market for such as you describe exists with MESA and external drives using a standard PC.

 

Having hardware that drives these motors would help enormously in just creating a working machine (I’m not looking for 3D printing or CNC myself, but for custom machines) It would help me to focus on creating a machine, and not have me connect a bare BB to an industrial driver.

 

What you want will not be built.  The amount of work needed to create something like that for sales in the under 100 units just won't happen.

 

For example in 2016 I created my Electronic Lead Screw project.  I included on that board two awesome driver chips that allowed control of a stepper motor up to 3A and 55V.  Therefore with a 48V supply one could run 300 oz-in stepper motors.  Just the two LMD18245 devices now cost more than an entire micro-stepping driver from the far east.  And if someone wants to control both Z and X on their lathe they would still need a second driver. 

 

The software inside the ELS has the full micro-stepping code including acceleration and deceleration that now is wasted but I have to maintain it on newer versions for those using the chips.

 

And if someone damages that high current driver I generally have to replace the entire board.   The ELS also requires a heat sink if the on board drivers are used resulting in a larger package and since it includes 35 key buttons, an MPG and a display it's not something buried deep in a box behind the machine.

 

So based on my experience I would never again build the motor drivers onto the cape.  

 

John Dammeyer

 

Bas

Charles Steinkuehler

unread,
Mar 17, 2020, 11:31:57 PM3/17/20
to Jason Kridner, machi...@googlegroups.com, beagl...@googlegroups.com
This depends a lot on what sort of machine you're trying to drive. A
"standard" CNC machine with step/dir typically needs a DB25 (aka:
parallel port) with buffered signals you can connect to external stepper
drivers. A 3D printer would more typically have low-powered "Pololu"
style drivers either on-board or via sockets along with some high power
outputs for the extruder and bed heaters. A more advanced system might
provide a control signal (+/- 10V, or perhaps PWM) to drive a motor
driver and provide for encoder feedback to close the servo loop.

...so it really depends on what sort of system(s) you want to support,
and how much you want to try to be a "one size fits all" solution.
Charles Steinkuehler
cha...@steinkuehler.net

Jason Kridner

unread,
Mar 18, 2020, 8:12:49 AM3/18/20
to Charles Steinkuehler, machi...@googlegroups.com, beagl...@googlegroups.com
I think we have to reliably enable hobby-class machines first. Now, some people take hobby pretty far and I'm not trying to cap this off too small, I just don't want to boil the oceans. I'd say if we can do a bit more than what CRAMPS can do today, we should.

Personally, I'd want to at least be able to handle the larger 3D printers, smaller CNC mills and some pick-and-place machines. Looking around for some open source ones where the controller could be swapped:
* Aleph Objects LulzBot Tax Pro
* SeeMeCNC Rostock Max v3
* PocketNC V2
* Charmhigh CHM-T36VA (not open source, but affordable and hackable)
* Lasersaur

The desire for the above is mostly to be a vehicle for demonstrating motion control in a familiar way. Something CRAMPS-like could largely serve the above, though would need to be done regarding the price to make it sufficiently attractive, perhaps bundling as a kit.

Getting to the standard DB25 seems like a required thing to be widely usable in the community, no?

This all said, I think handling BLDC motors or even small AC motors with encoders and adding software motor control functions would be fantastic and would give some important examples to the community. What I need to try to understand the requirements are examples like the above. Then we can add up all the I/Os, required currents/voltages, look at the encoder protocols, etc. and arrive at a sane set of compromises.

If I go look around a place like https://openbuildspartstore.com/openbuilds-c-beam-machine/, it seems all their machines use steppers.

Looking around https://odriverobotics.com/, perhaps this stuff just hasn't become popular with hobbyists yet? Can we get a sane set of requirements on what motors we need to drive and encoders we need to support? Are hobby motors like https://hobbyking.com/en_us/9235-100kv-turnigy-multistar-brushless-multi-rotor-motor.html really available in a steady supply (I've had issues with this in my quadcopters)? 

If there was a solution for 48V BLDC motors w/ encoders, would people start building something or am I just missing where all these machines are already? (Help me find them.) Would it use something like http://www.machinekit.io/docs/man/man9/bldc_hall3v2/ or something else?


Man, I think I'm about to step in an ants nest wondering about BLDC vs. why not just control AC servo motors, but why not?

Looking around for some decision factors on motor type support, I found an add for the ClearPath motors that clarified some things for me: https://www.youtube.com/watch?v=zUy89MT_Rkk. Looking around a bit more, I found on this discussion form a message where Rick Mann got those ClearPath motors working with his BeagleBone.

Anyway, I'd expect there to be a sweet spot for a motor power range and amount of integration suitable to be covered, though perhaps we are talking about needing 2-3 cape designs to be available based on how different some requirements are? Is there real value in providing just the DB25?

Once I can gather a bit more feedback, I'll come up with a good mechanism for a survey. I'm really looking for those open hardware examples sitting at higher power than the examples I gave that are nicely handled by steppers.

--

John Dammeyer

unread,
Mar 18, 2020, 7:37:32 PM3/18/20
to machi...@googlegroups.com, beagl...@googlegroups.com

Would someone perhaps be able to describe simply (like MachineKit for Dummy's) how exactly the step pulse and direction shows up on the Beagle pin relative to the motion command from a G00 X1.0 where current X position is 0.0.

 

Clearly we accelerate and move and then decelerate to arrive at the end point of 1.0.  I do this in my ELS code inside the interrupt routine which happens at a 20kHz rate.  If a step is required I set the output at the beginning of the routine and then clear it at the end after a whole bunch of other stuff is done. 

 

Whether to step or not is done by the equivalent of a trajectory planner.  For example in simple terms if the motor could accelerate instantly and the step rate was 10kHz then every second interrupt the axis is pulsed.  Also for every pulse the position is incremented if going in the positive direction.  Decremented if going in the other direction.  When it matches the end position the stepping is terminated and we have a move to position.

 

Inside my ELS interrupt code I do the accel/decel too.  The interrupt routine changes the number of 20kHz intervals between step rates and also tracks the half way point.  If we're not up to speed yet but the halfway point is reached then deceleration is started and by the time the stepping rate reaches 0 the motor has also reached it's desired position.

 

Otherwise once the step output pulse rate matches the desired velocity the acceleration part is terminated and the number of steps it took recorded, and now a pulse happens every second interrupt (for 10kHz step rate).  When the destination location minus the time it took to accelerate is reached deceleration begins.  And since we decelerate at the same rate as accelerating and we have that same distance to move, once we reach 0 speed we've also reached the destination.

 

Now this could all be done outside the interrupt routine in a trajectory planner.  One could determine that it will take time X to reach either target speed or midpoint of the distance to move.  Broken into the 20kHz steps then the information could be fed into a FIFO so no math is done at all inside the interrupt routine.  It's only task would be to read this from FIFO one byte during each interrupt and write it to the port.   The interrupt routine could then run 40kHz and clear the port of step signals every second pulse.    If there is no motion the FIFO, flagged as empty, holds the last entry for the port and it's just mirrored out to the port.  

 

So how is it done in the Beaglebone with MachineKit.  Is there a function that reads a FIFO filled by the trajectory planner or is it done yet some other way?   I would look it up but don't even know where to start.

 

Obviously there's probably more going on under the covers to deal with hard limits.  Seems like soft limits are dealt with before motion starts with the option to not move because it will exceed machine limits.

 

Thanks
John Dammeyer

 

 

 

justin White

unread,
Mar 18, 2020, 8:24:08 PM3/18/20
to John Dammeyer, Machinekit, beagl...@googlegroups.com
Wow that has absolutely nothing to do with seeed's cape.

--
website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit
---
You received this message because you are subscribed to the Google Groups "Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to machinekit+...@googlegroups.com.

John Dammeyer

unread,
Mar 18, 2020, 8:41:10 PM3/18/20
to machi...@googlegroups.com, beagl...@googlegroups.com

From: machi...@googlegroups.com [mailto:machi...@googlegroups.com] On Behalf Of justin White
Sent: March-18-20 5:24 PM
To: John Dammeyer
Cc: Machinekit; beagl...@googlegroups.com
Subject: Re: [Machinekit] Seeed to design and build Machinekit focused Cape for BeagleBone Black/AI

 

Wow that has absolutely nothing to do with seeed's cape.

Yes it does!  My previous posting suggested that a cape by SEED should include the infrastructure to have a display and function as a standalone electronic lead screw for a mill.  And accept the motion information from something like a Pi or PC via Ethernet if full CNC was required.  

 

That means the software running on the BBB would not be conventional MachineKit.  In fact the software might be straight C code developed with the TI IDE as a standalone project with display that can service as a multi-axis power feed and DRO.  Or if could be a subset of MachineKit without the HDMI interface.

 

So it could do motion.  The idea is that it could also, via Ethernet, like the MESA 7i92H receive information that would generate the stepping pulses and feedback the DRO information.

 

It's time to think outside the box because with the much more powerful Pi4 coupled to MESA hardware there is no way that SEED or anyone else can produce something as good.  So it has to be something different.

 

Seriously.  Why pay $150 for a full blown BBB Cape that serves as a Break Out Board and $50 for a BBB that then gives you sub par video compared to a much faster quad core Pi4 running LinuxCNC and Ethernet to a MESA board where the total price ends up pretty well the same.

 

Technologically the BBB is now old.  Very old.  And it's just plain silly to continue to try and make it a be all end all.  I'd say 99% of the people I talk to who have CNC are running either MACH or maybe LinuxCNC.  Mostly they aren't interested in changing.  The ones who have mill but not CNC either want to add power feed and perhaps DRO but again most of them are not interested in CNC.

 

So where's the market?  It's easy.  The DRO and Power feed controller that can magically turn into a CNC controller.

 

John  Dammeyer

dave engvall

unread,
Mar 19, 2020, 12:33:27 PM3/19/20
to machi...@googlegroups.com

Hi all,

I've been waiting for this discussion to segue to the Pi. Indeed the Rpi4B is a decent jump up in capability. If one drives Mesa or other hardware off the spi then the ethernet is nicely left open for downloads, etc.With the -4b you seem to get it all. Speed, communication, display (2), some flexibility and decent access to Peter's or others boards for step generation. I suspect it will only be a mater  of time before someone mods the software to use both hdmi ports. The  good news I think is that the technology will just get better. :-)

My plan is: Rpi4b - 7i90 - 7i33 (2) - sem servo motors but Mesa has lots of solutions for steppers also.

Just a heads up; finding connectors that will allow one to directly connect the spi to the 7i90 is not easy. The plan is to use the osh-park 40 pin to 26 pin board to as the spi bridge. Just because it is logical doesn't mean it is possible. Still looking. ( ideas accepted ).

Comment: long ago (maybe 20 years ago)  I acquired the glass  scales before I realized that they were good for position but not so good for motion. Servo tuning with them is a bear. Not having any experience with steppers can't comment with any authority but suspect they would be easier since they are open loop (mostly).

Gene Heskett and maybe a couple of others are running the Rpi4b under linuxcnc. Gene's implementation is for steppers.

Note: these comments are worth about what you  paid for them. ;-)

Hang in there, stay safe!

Dave

justin White

unread,
Mar 19, 2020, 10:01:18 PM3/19/20
to Machinekit
I'd seriously doubt that support for Mesa SPI cards is available in MK considering how far behind Mesa support is but I don't know that for certain. Either way you would be far better served to use the 7C81 which is an rpi specific spi card, with no need for an adapter PCB the rpi just plugs into it. There's also the question of whether the 7i90 supports hm2_rpspi or not. The generic kernel spi driver is hm2_spi which is the one that was around when the 7i90 came out. hm2_rpspi has better real time considerations and is meant for the rpi. The 7C81 cost quite a bit more but a pretty capable all in one board with no need for another daughtercard. You may have to stick with linuxcnc to get the rpi over spi running

To unsubscribe from this group and stop receiving emails from it, send an email to machi...@googlegroups.com.

--
website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit
---
You received this message because you are subscribed to the Google Groups "Machinekit" group.

To unsubscribe from this group and stop receiving emails from it, send an email to machi...@googlegroups.com.

--
website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit
---
You received this message because you are subscribed to the Google Groups "Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to machi...@googlegroups.com.

Aurelien

unread,
Mar 19, 2020, 10:26:55 PM3/19/20
to Machinekit
Hi

Sorry if my message as nothing to do here, but recently i have replaced the BBB with RPI4 and Mesa ethernet 7i96/7i76e + 7i83 and this is like "night & day" (not only GUI, start very fast, compiling very fast, CNC stuff from Linuxcnc master) 

The BBB is not a very good choice for using HDMI for GUI, he is good for PRU and remote interface but all available remote interface seems to be be too much complicated for enhancement and not fully usable at this stage (for some baby coder like me)

At this topic starting point i see BB AI, i have one at home but the driver need to be done and i'm not able to do this, but i'm pretty sure the BB AI can be a really good choice ! (excepted for CNC stuff from Linuxcnc master)

My suggest is forgot these pretty old BBB slow and not good for GUI and start working with BB AI

Ps : Mesa HW quality allow me to remove many things like 2x scale offset and from my spindle config

So for Seeed i suggest to you to integrating some spindle control (digital potentiometer/rs485/PWM) without forgetting the spindle drive that need +-10v signal (controler with output +15 -15 for potentiometer) and offset to 0 if watchdog fail... 

Br

David benson

unread,
May 5, 2020, 4:07:41 AM5/5/20
to Machinekit


On Wednesday, March 18, 2020 at 11:12:49 PM UTC+11, Jason Kridner wrote:
I think we have to reliably enable hobby-class machines first. Now, some people take hobby pretty far and I'm not trying to cap this off too small, I just don't want to boil the oceans. I'd say if we can do a bit more than what CRAMPS can do today, we should.

Personally, I'd want to at least be able to handle the larger 3D printers, smaller CNC mills and some pick-and-place machines. Looking around for some open source ones where the controller could be swapped:
* Aleph Objects LulzBot Tax Pro
* SeeMeCNC Rostock Max v3
* PocketNC V2
* Charmhigh CHM-T36VA (not open source, but affordable and hackable)
* Lasersaur

The desire for the above is mostly to be a vehicle for demonstrating motion control in a familiar way. Something CRAMPS-like could largely serve the above, though would need to be done regarding the price to make it sufficiently attractive, perhaps bundling as a kit.

Getting to the standard DB25 seems like a required thing to be widely usable in the community, no?

Hi Jason


I've just found this discussion regarding a new cape for the BBB\BBAI for the hobby focused

cnc community.

A little background, so you know where I'm coming from, and what my biases are :P.

I've been using Mach3 Hobby grade mills and lathes for not quite 20 years now.

Three years ago I cnc'ed a 9 X 20 Lathe and was very happy with it's performance.

Two years ago I made a AI tool changer for it.

build blog here: https://cambamcnc.com/forum/index.php?topic=6844.0

The blog is a bit dated now and goes to MK6, I'm currently at MK8. Here is a video of it running on the bench

        for the battery torture tests and AI detecting the tools.

Here: https://www.youtube.com/watch?v=FH2_B-Vgblc&t=413s


I'm here because, I'm working on the Linuxcnc version of the software and have a BBB

with Machinekit installed, so that I can write a Linuxcnc component for it as well.


I don't know if you are aware, but Centroid have a Beagle Bone Green powered Acorn

CNC controller, and that board may be worth a look for some Ideas as it has some serious

thought gone into it.


A lot of the existing Hobby CNC installations I've seen have been as a general rule

Mach3/4 or Linux cnc powered machines. either using the DB25 and a parallel port

or with an external motion controller like for example a Smoothstepper or UCCNC UC100

200,300 or 400. The UC stuff retrofits into existing systems people have very easily as they have

a DB25 connector. All you do is plug them in and set the pins parameters ect.

Hope this was useful.


Dave



--

John Dammeyer

unread,
May 5, 2020, 12:32:22 PM5/5/20
to David benson, machi...@googlegroups.com

I too have looked at the BBB as a machine controller.  Using the Xylotex Cape I temporarily hooked it up to my mill conversion that had Z and Y completed.  MachineKit.  The Xylotex DB-25 PP Port output to a PMDX-126 Break out board.

https://youtu.be/9GF709ZfLRQ

Although it worked I found the BBB video a bit laggy.  And I needed more and the either the limit switch or the ESTOP were for N/O switches which I don't believe is safe. It was the extra I/O and NO switches that moved me to a stock PC and for LinuxCNC I'm using the MESA 7i92 which is similar to a Ethernet Smooth Stepper for MACH.

 

The new Xylotex Cape for the BBB doesn't have this NO Switch problem.

They are also working on a larger cape that has drivers built in so a Break Out Board isn't needed.

 

I also own but haven't used the Replicape to install on a POS Delta 3D printer.  Both are sitting collecting dust as other projects have a higher priority.  The Replicape, now discontinued, could also have run small CNC milling machines with the on board drivers although still more targeted at 3D printing hardware.  For example I don't think it will support an encoder on the spindle.

 

I think most of the small stepper drivers out there are for motors under 2A and 24V.  Realistically it might be better to aim at using modules like the Gecko G250X to plug into the cape. 

https://www.geckodrive.com/g250x-digital-stepper-drive.html

Perhaps add a second socket for the cheaper drives used on 3D printers.  Google " 3D Printer Parts StepStick Motor Driver With Heat Sink A4988"

This way at least you can switch up to 3.5A motors at 48V which is handier for say Sherline Mills and lathes.

 

Perhaps the best way to make this cape is with the headers for the Gecko on the bottom like their G540

https://www.geckodrive.com/g540-4-axis-digital-stepper-drive.html

 

Add enough I/O for both types of heaters and also encoders and you might have something that works for both types of products.

 

The question is.  If you have a small Sherline Mill or Lathe would you even buy something like that?

John

 

 

 

From: 'David benson' via Machinekit [mailto:machi...@googlegroups.com]
Sent: May-05-20 1:08 AM
To: Machinekit
Subject: Re: [Machinekit] Seeed to design and build Machinekit focused Cape for BeagleBone Black/AI

 

--

website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit
---
You received this message because you are subscribed to the Google Groups "Machinekit" group.

To unsubscribe from this group and stop receiving emails from it, send an email to machinekit+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/machinekit/7b7a1aa3-7e6f-4ed8-998c-04f4d780625f%40googlegroups.com.

David benson

unread,
May 6, 2020, 9:53:46 AM5/6/20
to Machinekit

Hi John


I won't be using the BBB to drive either my mill or lathe as I'm very happy with what I've got, and have made good quality parts with them for many years.

What I bought it (the BBB) for was for some other robotic projects.

I've flashed it with Machinekit so that I can test the software integration for my AI tool changers for both the BBB and Linuxcnc using the gladeUI and a few of my own HAL components.

Can't test it out too much yet as I'm waiting on a powered 4 port USB keyboard , mouse and HDMI cable.


Acorn is running Machinekit headless with its own carrier board and the software is running on a Win10 pc using Ethernet and this by all accounts runs well with no lag. If I was starting from scratch again this would be worth looking at. It uses a BB green from seeed.

As to the BBB cape, I really have no idea of the user demographic for the board so it's hard to speculate, if the cape is mainly aimed at hobby 3D printers,lasers ect then the DB25 may not be necessary, perhaps a IDC header would be ok to break out the BBB pins and you could make your own cable. Existing mills or lathe will already have a BoB


I use a MachDrives BoB that has a 32 bit micro-controller on board that takes care of the VFD to a claimed better than one percent and threading with Mach3 Lathe has been faultless.

What I do like about the BoB is that it has indicator leds for the spindle feedback and limits which make it a breeze to set up even for a beginner.

Nice mill BTW.


Dave

Malte Schmidt

unread,
Jun 7, 2020, 12:46:01 AM6/7/20
to Machinekit
I think the issue is always that the requirements with these machines are very different and that you never quite get what is needed.

When I build the cape I use on my lathe I sort of used a modular design. I based this on a prototype cape and used those small optocoupler and level shift modules that you get from China for the maker scene. It looks quite like a hack but you might see the three opto modules in the back and the two level shifters here:
https://forum.zerspanungsbude.net/download/file.php?id=188366&mode=view
There is an external pwm-> 0-10V module as well (not shown) for spindle control

I always thought about making this nicer. I would have done it this way:
A cape that:
- Make PRU and GPIO Pins available in sets of 4? pins on standardized PIN headers + power.
- Makes the terminals for connecting the cables available

PLUS

Small modules for level shift, opto isolation , spindle control (as desired). These would use the standardized connectors on the cape.
For this I would actually rely on stuff that is already available (if so).

Stephen Bell

unread,
Jun 9, 2020, 3:30:31 PM6/9/20
to Machinekit
Agreed on the massive requirements disparity. In my view, given how saturated the market is for stepper-motor based control boards (particularly the Duet 3, which can be controlled by a BBB/RPi) I'd prefer a more Break-out-Board style cape to make industrial-level control more accessible. 

My ideal cape would have dual etherCAT RJ45 ports, an RS422 or 485 header with voltage selection for PLC/spindle vfd control, UART headers, dual CAN headers and a small array of optoisloators for the other GPIO. Biggest problem for this is the ethercat license, which is somewhat of a pain...

I also prefer the web-based GUIs locally hosted on the device, which can be accessed across the network and use less resources than a driven display and a native GUI, so I'd prefer a cape NOT be limited by a desire to have a screen/monitor from the BBB. 

just my 2C

Juha Heikkilä

unread,
Jun 9, 2020, 4:25:43 PM6/9/20
to Stephen Bell, machi...@googlegroups.com
Hmm out of curiosity why would you require 2 separate EtherCat ports or is it just for a ring topology?

If you can settle for just one, you could run the igh EtherCat master stack on the BBB and use available LAN port. So if one is enough, no need to mixup the cape with the EtherCat stuff.

”Ideally” for an industrial approach you could do ”minimal” setup on the cape and then (I think someone suggested this in the past) make a bunch of EtherCat slaves. Using a microchip LAN9252 coupled with a microcontoller is relatively simple to make and somewhat cheap. From the top of my head ill say the 9252 requires some 50 components around it and most just resistors and capacitors. The EtherCat slave license ”comes with” the LAN9252 so no issues 

If you pair the slave controller with a popular mcu I think the community could do a lot in the EtherCat slave world.

Just my 2 cents.
--
website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit
---
You received this message because you are subscribed to the Google Groups "Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to machinekit+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/machinekit/4e75a7ba-b13f-4579-a7f1-09211ff4cbd7o%40googlegroups.com.

ce...@tuta.io

unread,
Jun 9, 2020, 5:04:52 PM6/9/20
to Juha Heikkilä, Stephen Bell, Machinekit
Hi,
Jun 9, 2020, 22:25 by juha....@gmail.com:

> Hmm out of curiosity why would you require 2 separate EtherCat ports or is it just for a ring topology?
>
> If you can settle for just one, you could run the igh EtherCat master stack on the BBB and use available LAN port. So if one is enough, no need to mixup the cape with the EtherCat stuff.
>
> ”Ideally” for an industrial approach you could do ”minimal” setup on the cape and then (I think someone suggested this in the past) make a bunch of EtherCat slaves. Using a microchip LAN9252 coupled with a microcontoller is relatively simple to make and somewhat cheap. From the top of my head ill say the 9252 requires some 50 components around it and most just resistors and capacitors. The EtherCat slave license ”comes with” the LAN9252 so no issues 
>
> If you pair the slave controller with a popular mcu I think the community could do a lot in the EtherCat slave world.
>
There actually already is a similar project: https://github.com/DieBieEngineering/DieBieSlave - problem is, it's not exactly community DIY friendly, it has 6 layers PCB.

Then there is the XMC4800 MCU from Infineon which has Ethercat integrated.

Cern.

>
> Just my 2 cents.
>
> tiistai 9. kesäkuuta 2020 Stephen Bell <> bell.st...@gmail.com> > kirjoitti:
>
>> Agreed on the massive requirements disparity. In my view, given how saturated the market is for stepper-motor based control boards (particularly the Duet 3, which can be controlled by a BBB/RPi) I'd prefer a more Break-out-Board style cape to make industrial-level control more accessible. 
>>
>> My ideal cape would have dual etherCAT RJ45 ports, an RS422 or 485 header with voltage selection for PLC/spindle vfd control, UART headers, dual CAN headers and a small array of optoisloators for the other GPIO. Biggest problem for this is the ethercat license, which is somewhat of a pain...
>>
>> I also prefer the web-based GUIs locally hosted on the device, which can be accessed across the network and use less resources than a driven display and a native GUI, so I'd prefer a cape NOT be limited by a desire to have a screen/monitor from the BBB. 
>>
>> just my 2C
>>
>> On Sunday, June 7, 2020 at 12:46:01 AM UTC-4, Malte Schmidt wrote:
>>
>>> I think the issue is always that the requirements with these machines are very different and that you never quite get what is needed.
>>>
>>>
>>> When I build the cape I use on my lathe I sort of used a modular design. I based this on a prototype cape and used those small optocoupler and level shift modules that you get from China for the maker scene. It looks quite like a hack but you might see the three opto modules in the back and the two level shifters here:
>>> https://forum.zerspanungsbude.>>> net/download/file.php?id=18836>>> 6&mode=view
>>> There is an external pwm-> 0-10V module as well (not shown) for spindle control
>>>
>>>
>>>
>>>
>>> I always thought about making this nicer. I would have done it this way:
>>> A cape that:
>>> - Make PRU and GPIO Pins available in sets of 4? pins on standardized PIN headers + power.
>>> - Makes the terminals for connecting the cables available
>>>
>>>
>>>
>>> PLUS
>>>
>>>
>>>
>>> Small modules for level shift, opto isolation , spindle control (as desired). These would use the standardized connectors on the cape.
>>> For this I would actually rely on stuff that is already available (if so).
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>>
>> --
>> website: >> http://www.machinekit.io>> blog: >> http://blog.machinekit.io>> github: >> https://github.com/machinekit
>> ---
>> You received this message because you are subscribed to the Google Groups "Machinekit" group.
>> To unsubscribe from this group and stop receiving emails from it, send an email to >> machinekit+unsubscribe@googleg>> roups.com>> .
>> To view this discussion on the web visit >> https://groups.google.com/d/ms>> gid/machinekit/4e75a7ba-b13f-4>> 579-a7f1-09211ff4cbd7o%40googl>> egroups.com <https://groups.google.com/d/msgid/machinekit/4e75a7ba-b13f-4579-a7f1-09211ff4cbd7o%40googlegroups.com?utm_medium=email&utm_source=footer>>> .
>>
>
>
>
> --
> website: > http://www.machinekit.io> blog: > http://blog.machinekit.io> github: > https://github.com/machinekit
> ---
> You received this message because you are subscribed to the Google Groups "Machinekit" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to > machinekit+...@googlegroups.com> .
> To view this discussion on the web visit > https://groups.google.com/d/msgid/machinekit/CAMNBL%3Dzu%3D395LLiXHc1CYucpGdTKZ3QMLmeLSnj4Peo1GMB6Sw%40mail.gmail.com <https://groups.google.com/d/msgid/machinekit/CAMNBL%3Dzu%3D395LLiXHc1CYucpGdTKZ3QMLmeLSnj4Peo1GMB6Sw%40mail.gmail.com?utm_medium=email&utm_source=footer>> .
>

Stephen Bell

unread,
Jun 9, 2020, 5:51:31 PM6/9/20
to Machinekit
The BBB would be the master for my use case, with devices such as servomotor drivers as slaves in a dual-redundant topology. I use the BBB Wireless, and thus don't have the onboard RJ-45. 

The other industrial connections would also be necessary, particularly in a push-connector form factor, rather than screw terminals (additional points if they can be accessed when on a DIN rail).  

Isn't the BBB a 'popular MCU'? The thread is intended to take suggestions for a new machinekit cape design, not alternative MCUs. But if an EtherCAT cape is as trivial as you describe, send me a production sample and I'll pay a lot more than 2 cents. 

On Tuesday, June 9, 2020 at 4:25:43 PM UTC-4, Juha Heikkila wrote:
Hmm out of curiosity why would you require 2 separate EtherCat ports or is it just for a ring topology?

If you can settle for just one, you could run the igh EtherCat master stack on the BBB and use available LAN port. So if one is enough, no need to mixup the cape with the EtherCat stuff.

”Ideally” for an industrial approach you could do ”minimal” setup on the cape and then (I think someone suggested this in the past) make a bunch of EtherCat slaves. Using a microchip LAN9252 coupled with a microcontoller is relatively simple to make and somewhat cheap. From the top of my head ill say the 9252 requires some 50 components around it and most just resistors and capacitors. The EtherCat slave license ”comes with” the LAN9252 so no issues 

If you pair the slave controller with a popular mcu I think the community could do a lot in the EtherCat slave world.

Just my 2 cents.


tiistai 9. kesäkuuta 2020 Stephen Bell <bell.s...@gmail.com> kirjoitti:
Agreed on the massive requirements disparity. In my view, given how saturated the market is for stepper-motor based control boards (particularly the Duet 3, which can be controlled by a BBB/RPi) I'd prefer a more Break-out-Board style cape to make industrial-level control more accessible. 

My ideal cape would have dual etherCAT RJ45 ports, an RS422 or 485 header with voltage selection for PLC/spindle vfd control, UART headers, dual CAN headers and a small array of optoisloators for the other GPIO. Biggest problem for this is the ethercat license, which is somewhat of a pain...

I also prefer the web-based GUIs locally hosted on the device, which can be accessed across the network and use less resources than a driven display and a native GUI, so I'd prefer a cape NOT be limited by a desire to have a screen/monitor from the BBB. 

just my 2C

On Sunday, June 7, 2020 at 12:46:01 AM UTC-4, Malte Schmidt wrote:
I think the issue is always that the requirements with these machines are very different and that you never quite get what is needed.

When I build the cape I use on my lathe I sort of used a modular design. I based this on a prototype cape and used those small optocoupler and level shift modules that you get from China for the maker scene. It looks quite like a hack but you might see the three opto modules in the back and the two level shifters here:
https://forum.zerspanungsbude.net/download/file.php?id=188366&mode=view
There is an external pwm-> 0-10V module as well (not shown) for spindle control

I always thought about making this nicer. I would have done it this way:
A cape that:
- Make PRU and GPIO Pins available in sets of 4? pins on standardized PIN headers + power.
- Makes the terminals for connecting the cables available

PLUS

Small modules for level shift, opto isolation , spindle control (as desired). These would use the standardized connectors on the cape.
For this I would actually rely on stuff that is already available (if so).

--
website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit
---
You received this message because you are subscribed to the Google Groups "Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to machi...@googlegroups.com.

Juha Heikkilä

unread,
Jun 10, 2020, 2:06:37 PM6/10/20
to Stephen Bell, machi...@googlegroups.com
Hello,

Sorry if I came out rude, that was not my intention.

As for BBB and EtherCat, if you use the ”standard” one with a LAN port you dont need a cape at all, assuming that you would be able to sacrifice the ring topology. Running it headless and using a usb wlan, you would be able to keep the “wlan part”.

The igh EtherCat master stack can be installed to the BBB and there is an EtherCat Hal driver
And yes BBB is a popular “mcu”. My talk about mcu’s was related to slave nodes.

As it will be pretty much impossible to make a cape that suits everyones needs, maybe a practical way would be to put the most common stuff in while still maintaining a decent price and foot print.

With the popular mcu, I meant something like pairing and STM32 with the EtherCat slave controller. Then either have the pins exposed or let the community make different slaves (or both). I mean using an arduino IDE to make EtherCat slaves, I doubt Beckhoff guys were imagining that 5 years ago.

The HW part of and EtherCat slave, if you just consider a slave controller and mcu, is not very difficult to make.

I apologize as I’m probably steering the conversation a bit away from the original cape discussion.
To unsubscribe from this group and stop receiving emails from it, send an email to machinekit+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/machinekit/61c7c2b7-e1bb-4c2c-8556-355bf16645b2o%40googlegroups.com.

Bas de Bruijn

unread,
Jun 10, 2020, 3:04:59 PM6/10/20
to Stephen Bell, Machinekit


On 9 Jun 2020, at 23:51, Stephen Bell <bell.st...@gmail.com> wrote:


The BBB would be the master for my use case, with devices such as servomotor drivers as slaves in a dual-redundant topology. I use the BBB Wireless, and thus don't have the onboard RJ-45. 

If you want the bus to be redundant, the master indeed needs 2 connectors. In a normal non redundant setup all the wires make up a single ring. The master receives back its original datagram plus what all the slaves added to the ”train”. If there is a cable break, the master will never receive back the updated datagram.

I would love the BB to be enabled with the ti pru-icss ethercat stack so it would act as a slave. Then maybe a HAL component similarly to the Hal-pru-generic component could exchange HAL pins with the ethercat bus.

I tried working on that a few years ago, bought an AM437xIDK https://www.ti.com/tool/TMDSIDK437X  but I didn’t get to the finish. I got stuck very quickly when trying to work out how to get the ethercat slave stack working in a Debian image.

Robert Nelson helped a lot to get me to build an image, and that worked fine on that board/cpu. IIRC I got machinekit to work.
But the PRU icss and ethercat was a bridge too far for me. iirc the ethercat slave stack code was made for an rtos so i had no clue where to begin. My lack of (domain) knowledge.

Bas

To unsubscribe from this group and stop receiving emails from it, send an email to machinekit+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/machinekit/61c7c2b7-e1bb-4c2c-8556-355bf16645b2o%40googlegroups.com.

Chris Albertson

unread,
Jun 10, 2020, 3:27:07 PM6/10/20
to Bas de Bruijn, Stephen Bell, Machinekit
I have a real engineering question.  In real life, is the redundant path actually used?

If I owned a system that had a redundant path,  I would place an alarm on the backup path and treat its use as a system failure.  Maybe we finish the current operation while in alarm state but this is not the normal case.        But is this even needed?  Do real system ever fail over to the redundant path?



Jason Kridner

unread,
Jun 23, 2020, 2:45:31 PM6/23/20
to justin White, Machinekit
On Thu, Mar 12, 2020 at 7:14 PM justin White <blaz...@gmail.com> wrote:
On Thursday, March 12, 2020 at 6:32:52 PM UTC-4, Chris Albertson wrote:
Isn’t that something the Beagle is strong at with the eQEP and PRUs?


Strong only until you hit up against the limited number of I/O pins.  A PRU based solution is cheap and simple but can't scale.

In general TI's idea to place a small microcontroller on the same chip as their ARM Cortex-A was good and we see others doing this too but a big machine tool like a 5-axis mill with tool changer and cooling and saftey interconnects is going to need something bigger than a PRU.  FPGAs work well as wold an STM32 tht had on order about 100 pins.

--

Chris Albertson
Redondo Beach, California

But that's not what they are going for "Help assemble and provide software images configured for an open source 3D printer and CNC machine (with BeagleBoard.org and community guidance and support)"......Pretty much sums up the mission statement. If they're looking to showcase the Beaglebone hardware as part of an official beaglebone supported piece, I seriously doubt they're looking to offload IO to a microcontroller and develop the firmware for it when:
 
* Manufacture the design under the BeagleBoard.org name to support the BeagleBoard.org Foundation and community

Everytime someone mentions something like this people get all starry eyed about it.....It's going to be Seeed's version of Cramps. The most helpful suggestions would probably be along those lines. Jason will have to clarify but I'm pretty sure this is a maker focused thing, Ethercat and analog outputs for each axis are not going to happen. 

Your statement is mostly accurate. I've gotten a bit distracted and overwhelmed by the input as "Seeed's version of Cramps" was indeed the intended scope. We all need something like CRAMPS and we need it readily available. It isn't that we aren't willing to put in some more effort here, but I want to right-size this based on what will be most broadly used.

Sorry I got distracted from this thread for a while. I'm going to re-engage over the next few days to get this kicked-off.

Ethercat is somewhat of an option. We could support Ethercat on BeagleBone AI with some software investment.
 

Realistically that is the Machinekit audience anyway, otherwise mksocfpga would have quite a bit more interest than Beaglebone projects, Try running out of IO on a DE10-Nano, you could probably run a Haas with all that IO.


We can get more I/O out of BeagleBone, but I don't want to quickly get to the situation where we add a bunch of hardware that is useless for 90% of people.

--
website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit
---
You received this message because you are subscribed to the Google Groups "Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to machinekit+...@googlegroups.com.


--
https://beagleboard.org/about - a 501c3 non-profit educating around open hardware computing

ce...@tuta.io

unread,
Jun 24, 2020, 6:09:06 PM6/24/20
to Jason Kridner, justin White, Machinekit
Hi,
Jun 23, 2020, 20:45 by jkri...@beagleboard.org:

> On Thu, Mar 12, 2020 at 7:14 PM justin White <> blaz...@gmail.com> > wrote:
>
>>> On Thursday, March 12, 2020 at 6:32:52 PM UTC-4, Chris Albertson wrote:
>>>
>>>> Isn’t that something the Beagle is strong at with the eQEP and PRUs?
>>>>
>>>
>>>
>>> Strong only until you hit up against the limited number of I/O pins.  A PRU based solution is cheap and simple but can't scale.
>>>
>>> In general TI's idea to place a small microcontroller on the same chip as their ARM Cortex-A was good and we see others doing this too but a big machine tool like a 5-axis mill with tool changer and cooling and saftey interconnects is going to need something bigger than a PRU.  FPGAs work well as wold an STM32 tht had on order about 100 pins.
>>>
>>> --
>>>
>>> Chris Albertson
>>> Redondo Beach, California
>>>
>>
>> But that's not what they are going for "Help assemble and provide software images configured for an open source 3D printer and CNC machine (with BeagleBoard.org and community guidance and support)"......Pretty much sums up the mission statement. If they're looking to showcase the Beaglebone hardware as part of an official beaglebone supported piece, I seriously doubt they're looking to offload IO to a microcontroller and develop the firmware for it when:
>>  
>>
>>> * Manufacture the design under the BeagleBoard.org name to support the BeagleBoard.org Foundation and community
>>>
>>
>> Everytime someone mentions something like this people get all starry eyed about it.....It's going to be Seeed's version of Cramps. The most helpful suggestions would probably be along those lines. Jason will have to clarify but I'm pretty sure this is a maker focused thing, Ethercat and analog outputs for each axis are not going to happen. 
>>
>
> Your statement is mostly accurate. I've gotten a bit distracted and overwhelmed by the input as "Seeed's version of Cramps" was indeed the intended scope. We all need something like CRAMPS and we need it readily available. It isn't that we aren't willing to put in some more effort here, but I want to right-size this based on what will be most broadly used.
>
isn't that market already pretty filled with various MCU based boards and such? Don't get me wrong, I am all for new hardware, but I am wondering what the edge in this case would be. Because though it pains me to say this - even Open-Source project (hardware and software) needs marketing. Machinekit wasn't really that successful on that front in the past and it can be seen on the socFPGA work (in diplomatic speak).

Maybe some kind of combination of Centroid Acorn and CRAMPS, I can see people wanting it. (But then people always want all-in-one solution which somebody else already thought of.)

Let's talk about what it would mean from software side (as this is the side which I am most interested in) - I presume you want to run Machinekit on it, right? So how do you envision this? There already is some effort to support BB AI from the PocketNC company.

>
> Sorry I got distracted from this thread for a while. I'm going to re-engage over the next few days to get this kicked-off.
>
> Ethercat is somewhat of an option. We could support Ethercat on BeagleBone AI with some software investment.
>
I have always considered distributed multi-node system the holy grail, so I would be very much interested in solution, which could function both as master and as slave on some kind of industrial bus network.

Cern

>  
>
>>
>> Realistically that is the Machinekit audience anyway, otherwise mksocfpga would have quite a bit more interest than Beaglebone projects, Try running out of IO on a DE10-Nano, you could probably run a Haas with all that IO.
>>
>
>
> We can get more I/O out of BeagleBone, but I don't want to quickly get to the situation where we add a bunch of hardware that is useless for 90% of people.
>
>
>>
>>
>>
>> --
>> website: >> http://www.machinekit.io>> blog: >> http://blog.machinekit.io>> github: >> https://github.com/machinekit
>> ---
>> You received this message because you are subscribed to the Google Groups "Machinekit" group.
>> To unsubscribe from this group and stop receiving emails from it, send an email to >> machinekit+...@googlegroups.com>> .
>> To view this discussion on the web visit >> https://groups.google.com/d/msgid/machinekit/d7a07412-c692-4673-9e2e-a87131cadf10%40googlegroups.com <https://groups.google.com/d/msgid/machinekit/d7a07412-c692-4673-9e2e-a87131cadf10%40googlegroups.com?utm_medium=email&utm_source=footer>>> .
>>
>
>
> --
> https://beagleboard.org/about> - a 501c3 non-profit educating around open hardware computing
>
>
>
> --
> website: > http://www.machinekit.io> blog: > http://blog.machinekit.io> github: > https://github.com/machinekit
> ---
> You received this message because you are subscribed to the Google Groups "Machinekit" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to > machinekit+...@googlegroups.com> .
> To view this discussion on the web visit > https://groups.google.com/d/msgid/machinekit/CA%2BT6QP%3DUauT%2BDq6ZA%2BS7UtHp%2BLVOQSw%3DtkjTmf1%2Bb8B3tQj4KQ%40mail.gmail.com <https://groups.google.com/d/msgid/machinekit/CA%2BT6QP%3DUauT%2BDq6ZA%2BS7UtHp%2BLVOQSw%3DtkjTmf1%2Bb8B3tQj4KQ%40mail.gmail.com?utm_medium=email&utm_source=footer>> .
>

justin White

unread,
Jun 24, 2020, 7:53:36 PM6/24/20
to Machinekit
Linuxcnc has a hal driver for ethercat master as it doesn't require any special hardware. Ethercat slaves AFAIK require an ASIC and it's pretty expensive. I hear alot of talk of ethercat but rarely see it actually used in industry. I don't know the status of the hal ethercat driver in MK but if it's not there why can't it be added (meaning what does it have to do with Beaglebone specifically). As for the slave, Not really sure I see why you would use a BB as a slave but it sounds like it's not practical. If this was something I were gonna use I'd be glad to have a smart serial channel or 2
>>  To unsubscribe from this group and stop receiving emails from it, send an email to >> machi...@googlegroups.com>> .
>>  To view this discussion on the web visit >> https://groups.google.com/d/msgid/machinekit/d7a07412-c692-4673-9e2e-a87131cadf10%40googlegroups.com <https://groups.google.com/d/msgid/machinekit/d7a07412-c692-4673-9e2e-a87131cadf10%40googlegroups.com?utm_medium=email&utm_source=footer>>> .
>>
>
>
> --
> https://beagleboard.org/about>  - a 501c3 non-profit educating around open hardware computing
>
>
>
> --
>  website: > http://www.machinekit.io>  blog: > http://blog.machinekit.io>  github: > https://github.com/machinekit
>  ---
>  You received this message because you are subscribed to the Google Groups "Machinekit" group.
>  To unsubscribe from this group and stop receiving emails from it, send an email to > machi...@googlegroups.com> .

ce...@tuta.io

unread,
Jun 26, 2020, 8:05:53 PM6/26/20
to justin White, Machinekit
Jun 25, 2020, 01:53 by blaz...@gmail.com:

> Linuxcnc has a hal driver for ethercat master as it doesn't require any special hardware.
>
There was support for quite some time now, that's not the problem.

>
> Ethercat slaves AFAIK require an ASIC and it's pretty expensive.
>
Ethercat slave requires a licence - whatever that is ASIC or code is not that important. And the license is relatively cheap, the LAN9252 costs around 8 Euro in 1-piece quantity.

>
> I hear alot of talk of ethercat but rarely see it actually used in industry. I don't know the status of the hal ethercat driver in MK but if it's not there why can't it be added (meaning what does it have to do with Beaglebone specifically). As for the slave, Not really sure I see why you would use a BB as a slave but it sounds like it's not practical.
>
BeagleBone AI uses AM5729, which in contrast to the one used in BBB should have a Ethercat slave support. You can then use the PRU for exchange of Ethercat messages and create distributed, multi-node system (multi Machinekit instances).

>
> If this was something I were gonna use I'd be glad to have a smart serial channel or 2
>
This seems like an asymmetry to me. You say that nobody use Ethercat based systems, but then want a support for solution that really nobody use and is not that good in first place.

Why not use something which is developed and backed by a quite big group instead of one-man-show?

But that's probably off-topic to this discussion, as it is going to be a CRAMPS-like board. That's why I am interested in what it will mean for the software side.

Cern.
>> >>  To unsubscribe from this group and stop receiving emails from it, send an email to >> >> machi...@>> googlegroups.com <>>> >> .
>> >>  To view this discussion on the web visit >> >> https://groups.google.com/d/>> msgid/machinekit/d7a07412->> c692-4673-9e2e-a87131cadf10%>> 40googlegroups.com>> <>> https://groups.google.com/d/>> msgid/machinekit/d7a07412->> c692-4673-9e2e-a87131cadf10%>> 40googlegroups.com?utm_medium=>> email&utm_source=footer>> >>> .
>> >>
>> >
>> >
>> > --
>> > >> https://beagleboard.org/about>> >  - a 501c3 non-profit educating around open hardware computing
>> >
>> >
>> >
>> > --
>> >  website: > >> http://www.machinekit.io>> >  blog: > >> http://blog.machinekit.io>> >  github: > >> https://github.com/machinekit>>
>> >  ---
>> >  You received this message because you are subscribed to the Google Groups "Machinekit" group.
>> >  To unsubscribe from this group and stop receiving emails from it, send an email to > >> machi...@>> googlegroups.com <>>> > .
>> >  To view this discussion on the web visit > >> https://groups.google.com/d/>> msgid/machinekit/CA%2BT6QP%>> 3DUauT%2BDq6ZA%2BS7UtHp%>> 2BLVOQSw%3DtkjTmf1%>> 2Bb8B3tQj4KQ%40mail.gmail.com>> <>> https://groups.google.com/d/>> msgid/machinekit/CA%2BT6QP%>> 3DUauT%2BDq6ZA%2BS7UtHp%>> 2BLVOQSw%3DtkjTmf1%>> 2Bb8B3tQj4KQ%40mail.gmail.com?>> utm_medium=email&utm_source=>> footer>> >> .
>> >
>>
>>
>
>
>
> --
> website: > http://www.machinekit.io> blog: > http://blog.machinekit.io> github: > https://github.com/machinekit
> ---
> You received this message because you are subscribed to the Google Groups "Machinekit" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to > machinekit+...@googlegroups.com> .
> To view this discussion on the web visit > https://groups.google.com/d/msgid/machinekit/69628d2a-bfa1-44c3-9127-a0d479c89572o%40googlegroups.com <https://groups.google.com/d/msgid/machinekit/69628d2a-bfa1-44c3-9127-a0d479c89572o%40googlegroups.com?utm_medium=email&utm_source=footer>> .
>

Mike O'Connor

unread,
Jun 26, 2020, 10:21:34 PM6/26/20
to justin White, Machinekit
Hi All

On 25/6/20 9:23 am, justin White wrote:
> Linuxcnc has a hal driver for ethercat master as it doesn't require
> any special hardware. Ethercat slaves AFAIK require an ASIC and it's
> pretty expensive. I hear alot of talk of ethercat but rarely see it
> actually used in industry. I don't know the status of the hal ethercat
> driver in MK but if it's not there why can't it be added (meaning what
> does it have to do with Beaglebone specifically). As for the slave,
> Not really sure I see why you would use a BB as a slave but it sounds
> like it's not practical. If this was something I were gonna use I'd be
> glad to have a smart serial channel or 2

EtherCAT is used extensively in industry, a signification number of the
CNC controllers now only support EtherCAT servos and IO.

The cost of using EtherCAT for CNCs has dropped significantly in the
last 5 years with a number of smaller suppliers of servo hardware
producing products.

Companies like LNC (www.lnc.com.tw) and Moon Industries
(https://www.moonsindustries.com).

My family business has been using EtherCAT hardware on our wool sampling
machines for the last 7 years. Its totally changed how we think about
our machines and the way forward. I can say with 100% certainly that we
would not be making our machines any more if I had not found EtherCAT
eight years ago.

Now for the purposes of making a BBB MachineKit board which make the job
of controlling my DIY / semi-commercial CNC.

I'm not sure. It would be cool.

But do not dismiss the idea out of hand. The ASIC's are not that
expensive and there are other suppliers out there who are interested in
having there chips/products used by DIY.

One of these is
https://www.bausano.net/en/hardware/ethercat-e-arduino/easycat.html or
https://www.bausano.net/en/hardware/ethercat-e-arduino/ethercat-and-raspberry.html

Cheers All

Mike



justin White

unread,
Jun 26, 2020, 10:44:12 PM6/26/20
to Machinekit

BeagleBone AI uses AM5729, which in contrast to the one used in BBB should have a Ethercat slave support. You can then use the PRU for exchange of Ethercat messages and create distributed, multi-node system (multi Machinekit instances).

I didn't realize that, looking into it it seems there is some ethercat slave support on the BBAI though what I've found seems a bit inconsistent as to whether it's fully useable.


This seems like an asymmetry to me. You say that nobody use Ethercat based systems,......
 
I didn't say "nobody" uses ethercat, I said I rarely see it in industry. First because it's fairly new, second because of it's cost to implement and common serial protocols and TCP pretty much cover basic needs. High end stuff like the Rexroth Indradrives and MLCs are the type of thing that will actually get deployed as a system but then again they were always on some late great protocol like Sercos and "fast ethernet"

....but then want a support for solution that really nobody use and is not that good in first place.
The community that MK tries so hard to separate itself from uses it quite a bit, and I'd disagree about it not being good, it's good at what it does and the cost of implementing is nothing, 2 gpio pins that'll run at 2.5mhz and $0.10 worth of components. And for a very low cost it can easily be the basis of solving the concerns about not having enough GPIO. An MCU on a daughtercard can easily run SS slave firmware and it's a route for expansion that doesn't cost this board much of anything.
 
Why not use something which is developed and backed by a quite big group instead of one-man-show?

HM2 is open source, it can be an any number man show. Funny that an MK dev would toss that out when MK was the first to fully port it in the fantastic-yet-undersupported-mksocfpga. HM2 made that possible and SS works there, yet not so great in MK itself. Is Multinode well developed in MK and in much use currently?

blaz...@gmail.com

unread,
Jun 26, 2020, 11:14:01 PM6/26/20
to Machinekit
EtherCAT is used extensively in industry, a signification number of the
CNC controllers now only support EtherCAT servos and IO.

The cost of using EtherCAT for CNCs has dropped significantly in the
last 5 years with a number of smaller suppliers of servo hardware
producing products.

Companies like LNC (www.lnc.com.tw) and Moon Industries
(https://www.moonsindustries.com).

My family business has been using EtherCAT hardware on our wool sampling
machines for the last 7 years. Its totally changed how we think about
our machines and the way forward. I can say with 100% certainly that we
would not be making our machines any more if I had not found EtherCAT
eight years ago.

Now for the purposes of making a BBB MachineKit board which make the job
of controlling my DIY / semi-commercial CNC.

I'm not sure. It would be cool.

But do not dismiss the idea out of hand. The ASIC's are not that
expensive and there are other suppliers out there who are interested in
having there chips/products used by DIY.

One of these is
https://www.bausano.net/en/hardware/ethercat-e-arduino/easycat.html or
https://www.bausano.net/en/hardware/ethercat-e-arduino/ethercat-and-raspberry.html

Cheers All

Mike


Maybe Ethercat is more prevalent than what I see, I still see alot of Modbus in use even on higher end drives.

Well the bus can be mastered now, using hal drivers at the cost of only the BB ethernet port AFAIK. The slave is the hardware concern, albeit dedicating some PRU resources from the BBAI or an on board ASIC. What's that do to the seeed board if the seed board is looking to support both the BBB which can't do ethercat on the PRU (AFAIK) and the BBAI that supposedly can. Would it be worth the complication on a board like this? Is Mesa SS a good concession considering the concerns above about extra IO that can easily be added on a SS channel, and I'm sure work for both BB's universally?


Mala Dies

unread,
Nov 27, 2020, 11:03:26 PM11/27/20
to Machinekit
Hello,

Are people still staying interested in an add-on Cape for the BBB/BBAI with many input/output channels for Servos/Steppers? I have not put anything together myself. I like the idea of Open Source being relevant now and in the future for people like me who tend to not know everything but that is a person that still likes to make. 

Realistically, there are many advantages to this idea. Not only can a Cape be useful on such a SiP device or SoC device, it can also pave the way for other future endeavors to take place for machines.

For instance, I am by far an expert as many of you already know but I have learned many things in my time dealing with 3.3v, BBB.io boards. 

Now, although I cannot write a full on script to produce everything needed from the gpio.h and gpio.c files in the kernel, I can use specific-already-made libraries w/ ease.

Machinekit seems to be one of these feature-rich libraries that has its own shtick and I want to use it w/ new/old ideas of machine workings. 

Seth

P.S. For the ongoing effort by the beagleboard.org group and speaking for myself, I would like to finalize working w/ more powerful servos outside of 5v tech. So, if people are starting to give in on this effort, please do not. I can use it and once the word gets out on a specified Cape for the BBB/BBAI that deals w/ heavier motors, I am sure people would flock towards a powerful alternative. Esp. for the beagleboard.org related hardware and Open Source efforts of anyone still involved and that will be involved in the future, learning is mostly part of what we do daily. Without the Open Source community, people do not learn of new alternatives to older ideas unless directly associated with these ideas in business or work. Also, to anyone still building Capes out there in Open Source land, there are some Cape diagrams on KiCAD. It is not easy to mfg. a Cape and produce source in combination for novices like me but there are many people out there who can compensate for my lack of knowledge. "Just a refresher!" I am trying to keep this effort ongoing and not dead in the water. I know it is not up to me but I want my "two-cents" to be heard for any bored receivers/believers.

Doug LaRue

unread,
Mar 29, 2021, 3:42:06 PM3/29/21
to Machinekit
Maybe consider something like Bart Drings -  Universal Controller - https://www.youtube.com/watch?v=IMwXUbWLic0

For anyone considering using SPI to a light weight step generator on standard 3D printer hardware, take a look at Remora project - docs https://remora-docs.readthedocs.io/en/latest/index.html
Default configs are currently for 2 3D printers but many CNCs are just a hal and ini file away. And building/porting the Machinekit hal module.

Mala Dies

unread,
May 11, 2021, 8:48:56 PM5/11/21
to Machinekit
Hello,

I saw the link you posted on Universal Controller from Bart Drings. 

...

Thank you for this info. I am going another route as I do not know anything about GRBL as of today. 

Seth

P.S. I tried GRBL a while back w/ the BBB but came up empty. Anyway, I will keep up w/ my promotion of people looking around to get the motor controller boards made for the BBB/BBAI.

Reply all
Reply to author
Forward
0 new messages