Hi everyone, I am feeling motivated lately and really want to work on some automating some things to make my life a bit easier on my cnc. It’s also FUN! I thought this would be a safe place to brainstorm and discuss options/possibilities. I know from briefly playing with 328 and 2560s that a master/slave controller is possible. I am thinking about what options I would have for adding 2 additional motor controllers to the machine. It would most likely be running Nema 17 motors to control an independent arm that has a dedicated probe installed that moves up and out of the way before running a job (probably on a lead screw. The 2nd axis would be an automatic dust boot that moves down to a fixed height independent of the router. My first instinct is to use a Arduino UNO to gain the additional pins, and slave the UNO to the blackbox controller. (If possible). I need to explore what pins are made available on the Blackbox brains board. Theoretically it wouldn’t really require any major changes on the Blackbox setup, and I can simply report the values of probing and the 2 start and end job moves for dust boot motor. Do you think this is possible? If you think a master/slave setup is a bad option, what other options do you see available. I am fairly set on doing this in the future, so I am toying with options before I consider ditching the GRBL controller ecosystem.
you do not want an Uno nor Blackbox based system anymore since a grblHAL based system with something like a Teensy board can do all of what you want in one controller. However, Peter can maybe inform on what you can connect to the Blackbox X32 in terms of non standard peripherals since grblHAL can support I2C and other communications from the ESP32 chip in it. Read a lot of grblHAL , not the best organized documentation so you need to read a lot before it starts to gel, but it has your answers.
All the onboard pins are routed to standard peripherals ESP32/main/boards/BlackBoxX32_map.h at master · grblHAL/ESP32 That is available to users as nice ports all explained here docs:blackbox-x32:layout [OpenBuilds Documentation] We do expose the UART: docs:blackbox-x32:aux-serial [OpenBuilds Documentation] (unplug USB cable to activate - not usable with a PC connection too) Fix height? Use a solenoid: docs:blackbox-x32:connect-coolant [OpenBuilds Documentation] to push a pneumatic actuator? Or depending on the required stroke a 24v electrical solenoid plunger Not very practical, moving probes will affect reliability of the probe. I don't think either of the use cases justify the massive complication.
Are you suggesting I replace my Blackbox x4 with a Blackbox x32 or alternative 32 bit controller as the answer in this case? I know 8-bit microcontrollers. Does the x32 expose more IO than the x4, it doesnt appear to.
I do not see anything in the x32 that is no also available on the x4 version. I get that it is 32 bit. I also know the Micro controller should inheritably be able to handle more. The available the IO from a motion controller standpoint looks the same to me. It looks like the AUX port was converted to a RJ45 port this time. If I were to switch controllers at all, I think I would probably just buy a different motion controller entirely. For the cost of those, Id probably just save for a MASSO. I was trying to use what I had on hand already. Which in this case is a few Arduino microcontrollers, some 3d printer mainboards, 20-30 Nema17 motors, some closed loop. plenty of 3d printer parts (lead screws, and a few linear rails), and some various end stops. LOL I don't believe this is a option for the dust boot or the probe in this instance. We can agree to disagree on this one. I've seen a few of them kicking around on AVID cnc's and other custom built routers on Mach\Linux CNC based machines that seem to work just fine for them. I am simply trying to translate a similar concept without overhauling my control box. Maybe I will just have to ditch the black box and go that route anyway.
I did not say you need a Blackbox X32, I said you need to look at what grblHAL can do with a Teensy or similar board, the ESP32 in the X32 is relatively limited by the pin count, but the grblHAL firmware can do all you need to do if you want to.
Gotcha. Thanks for the suggestion. It sounds like I need to entertain a motion controller overhaul. I was hoping to avoid this, but maybe Ill keep my machine running and stage an entire new control box on the side. Bench test with some Nema 17's or something on a 3d printer frame to see if I can make the motion and probing make sense before I take my machine down for maintenance. If I am switching controllers altogether, any reason I would stay with GRBL or go with GRBLHAL at all? Any reason not to try FluidNC, AXBB-E, E5X MCS T4.1, Duet boards, MASSO etc.? I mean, in a ideal world, I can control 6 to 8 stepper motors. I do however need to execute code\scripts against them, then feed the output to set 0, move up and down until a limit switch is triggered, etc. One day I hope to integrate a spindle with a tool changer, then ill want to make it so the tool rack moves in and out also. So a bit of future planning is on my mind if I am going to change motion controllers.
GRBL is dead, long live grblHAL (-: no reason to try the others unless you are willing to dig into the documentation for each of them to see if they offer what you want. grblHAL is the future, it can do your tool changing, and run gcode scripts (like LinuxCNC). you really need to read all the wiki I linked to so you know what you are looking at.