2nd Generation MaslowCNC Controller on GRBL

what version of grbl was this forked from, and are you looking to merge the modifications back upstream?

I pulled GRBL in February (v0.9). I hacked it up pretty good to make the integration work for the Maslow-machine, so I was not intending to try an reintegrate back to GRBL, I felt it was still getting put back into the community by releasing with with appropriate references in all directions. (I’m very new to the Git-thing so still feeling my way around a bit.)

Calibration is really described in the System Setup section of the readme. It consists of the measurements from between the motors, and from the motor-chain-intersection at the sprocket, down to the table edge. Overall compensations are currently provided through XcorrScaling/YcorrScaling factors. I would like to do a matrix type correction in the future to really tweak it in, but it is pretty good as it stands.

Are we trying to replace Ground Control here?
Has the title of the post changed or just my understanding, or rather confusion? :stuck_out_tongue_winking_eye:
I ask because I’m in the middle of a computer repair just to download Ground Control.:thinking:

1 Like

GroundControl is not used with the Maslow Due solution. bCNC is the program of choice, but actually any of the GRBL senders will work. I have run bCNC on Windows, Linux (LUBUNTU and UBUNTU) and on a Raspberry Pi3b (Debian). Most of the senders require python, which is required for GroundControl – so that has to be considered.

3 Likes

Perhaps my CAM is placing those commands into the gcode, because what you are describing is exactly what the option is in HSM CAM for Inventor. I am currently using the stock motor board and it appears to work well to implement corner slow downs. If the CAM is faking it, it is doing a great job (and without my having to do anything but check a box and specify maximum speed in corners).

@ldocull’s goal was to make the firmware that runs on the controller based on GRBL so any GRBL sender program (bCNC as an example) would work with the Maslow. There’s enough changes to the firmware that GroundControl (or WebControl for that matter) won’t work with the new firmware. Also, @ldocull’s firmware doesn’t use the current Maslow model for calculating chain lengths (i.e., no chain sag, stretch, etc.) I also don’t think its out-of-box compatible with the TLE5206-based controllers (I think it needs some tweaks for that).

With that said, both GroundControl (and WebControl) can be updated to be compatible. @ldocull’s firmware and the firmware can also be updated to use the current Maslow model and TLE5206 controllers as well (if desired), without breaking compatibility with GRBL senders (assuming they support additional $xxx variables… I’m not familiar with GRBL senders to know how they handle settings).

I see this project as a big step forward and have been digging into the code so I better understand it…

4 Likes

You really caught me with this, not only because of the spindle speed control and i love bCNC.
I see a chance to get rid of the ugly knob i have to use for spindle speed.


I understand that your development is quite different from Maslow Firmware and GC, perhaps you still could give me some hints on what files to look at in this post Colaboration request to add spindle speed via g-code in FW/GC.

What has weakened my enthusiasm is, that i can’t just buy a Duo and plug on my TLE5206.
I checked the choice of chip on the suggested PCB and it’s the same as on the Maslow shield.
I have fried 3 of those shields while debugging early releases. It was always the same chip that shorted, the one with left motor and Z together. I saw the TLE as the successor because of separate chips and a higher tolerance for the currents flowing if something goes wrong. I’m wondering if i could use the Prototype Shield with some ā€˜cross-pin-wiring’ to keep my beloved TLE.

Kind Regards, Gero

2 Likes

Since the stock Maslow firmware is trying to be compatible with grbl, there’s a good chance that this will work with Ground Control

I would suggest using something like https://www.amazon.com/3-3V-5V-Channels-Converter-Bi-Directional-Shifter/dp/B00ZC6B8VM between the duo and the control board/encoders, at $3 it’s probably going to be cheaper than the resistors/capacitors purchased in small quantities.

@Keith, " If the CAM is faking it, it is doing a great job (and without my having to do anything but check a box and specify maximum speed in corners)."

g-code has no way to specify that the feed rate changes over a cut, all you can do in g-code is to specify multiple segments that have different speeds and the stock maslow will try to make instantaneous speed changes at the transitions. The better CNC firmware (like grbl) recognizes that the machine can’t make instant speed changes and takes that into account. The big professional machines will actually physically break if you tried to make instant speed changes.

1 Like

one problem with matrix type corrections is getting an accurate matrix to measure in the first place. Please give an option for either the matrix type correction and the traditional calculations. The chain sag/stretch have proven to be a very noticable improvement over the simple triangular calculations

Also, it would be good if the max acceleration was able to change in different areas of the workpiece. We have calculations that show the force from gravity that’s available, We’ll have to figure out what the max acceleration should be (gravity - constant or gravity * constant), but max acceleration should vary based on the gravity acceleration available.

Why did you base this on grbl 0.9 instead of 1.1 (or even the evolving 2.0 code)?

There should be two sections of grbl that are being modifies

  1. support for DC motors/encoders
    This is something obviously beneficial to grbl and something that they have said they are interested in getting

  2. support for the maslow kinematics
    This is going to be less popular and probably require a compile-time option (similar to what corexy does) and will be more work to get upstream.

How much work would it be to grab GRBL 1.1 and put the changes you made in? GRBL .9 is kinda long in the tooth. - FWw

Great project BTW

Thank you

1 Like

All good thoughts!

1 Like

assuming you are willing to wait…

due <$12 https://www.aliexpress.com/item/For-Arduino-Due-2012-R3-ARM-Version-Main-Control-Board/32828775716.html

eeprom <$1 https://www.aliexpress.com/item/24LC256-24LC256I-P-DIP-8/32825701697.html

8 channel level converter $0.51 https://www.aliexpress.com/item/Free-shipping-TXS0108E-high-speed-full-duplex-8-channel-level-conversion-module-bi-directional-voltage-converter/32404824354.html

2 Likes

I really don’t think it will be too hard to make what @ldocull did compatible with the TLE5206 based upon what I see in the current firmware and his new firmware. Maybe we can send @ldocull a TLE5206 board? :slight_smile:

1 Like

I will solder one together tonight, just in case :slight_smile:

You will need the 10nF caps in addition to the level converters. The parallel resistors work with the hall-based encoders that are specific to the motors from the kit. There are noise spikes all over the encoder lines (because the cables are really long, not twisted, and high-impedance) that the Due will pick up due to its speed and i/o sensitivities. Without the caps you will have positioning errors. I struggled with this for a few hours until I busted out the scope and looked. Once the caps were added, no more errors.

2 Likes

Just FYI, the TLE5206 is at end of life and is not recommended for new designs.

Good to know, thanks for the info.
The L298P is to close to the edge for the Maslow without some sort of current protection.

That’s correct, but it’s what was used to build a maslow-compatible board with higher current handling performance than the stock controller.

http://maslowcommunitygarden.org/TLE5206-PowerControl-Boards.html

There are supposed to be two 1/2-ohm sense resistors which allow the in-chip current limiter to work. The original design did not use them – and I did not add these to the design since my intent was to show a modification-path vs a production-path.

1 Like