My CNC Grinder is Alive, and It's Awesome!

Поділитися
Вставка
  • Опубліковано 15 січ 2025

КОМЕНТАРІ • 338

  • @gags730
    @gags730 18 днів тому +41

    The intro was excellent as it shows your honesty and humility.
    "if everything goes well we'll actually grind something, and if everything doesn't go well we'll learn something"

  • @newmonengineering
    @newmonengineering 18 днів тому +69

    As someone who has written a CNC machine controller software from scratch. That reads, writes, and sends gcide to the machine. As well as has some preprogrammed cycles that it can run without needing the CAD layer/cam layer for specific tasks like drilling, slotting, and pocketing at the click of a button on a work piece. I can with all honesty say, I know how complex that firmware must be to write and must say you have done a very fine job of it! I wish more CNC machines had some preprogrammed cycles like this directly written into their firmware. In fact the lack of preprogrammed cycles was the inspiration for the software I wrote. You put something together in CAD and send it. But after you get the part out, if you realize it needs another hole or slot for a wire or something that you didn't realize until you have the part in the real world already produced, you can go to CAD and add it but you really only have the option to reproduce the part unless you have the same exact mounting points. So I wrote simple routines to resolve this. It skips the CAD and CAM steps and you just align the machine, click the point to record the machine coordinates and then tell it which routine to run and it saves a ton of time trying to fix a 99% good part that was just missing a small feature that you didn't think about until you had it in hamd. You have done an awesome job. Its great you include your mistakes and thats how we all learn.

    • @steveh8724
      @steveh8724 17 днів тому +3

      Does sending "gcide" to the machine eliminate bugs from the gcode?

    • @robertpeters9438
      @robertpeters9438 17 днів тому +1

      Ditto former real time sw engineer.

    • @newmonengineering
      @newmonengineering 16 днів тому +1

      @steveh8724 no the program simply controls the cnc machine by sending it the commands. But I have a ton of built in simple tasks that generates the proper gcode to send. So I can pocket or drill, or slot from any point to any point. You simply jog the machine with my controller and click point A and then jog it to another point and click point b and then choose slot, or pocket and give it the depth and speed and it creates the code without CAM or CAD needed. It's very useful and saves many steps for certain operations. For instance sometimes you just want to surface the top flat. I can choose 2 corners of the work piece, no need to measure anything and draw in CAD. Just position the machine and tell it to do a square pocket. It also does circle pockets as well. It saves a lot of time doing it in this manner. It has a DRO like display and all the normal functions like homing all or each axis independently and jogging. It took about 6 months to write with tons of testing but is so worth it if you need to make many one off type jobs.

    • @dodojesusrex5380
      @dodojesusrex5380 16 днів тому +1

      @@steveh8724 Good pun! 😂

    • @steveh8724
      @steveh8724 15 днів тому +1

      @@dodojesusrex5380 Well puns are the lowest form of humor, but sometimes it's all I got.

  • @spikeypineapple552
    @spikeypineapple552 18 днів тому +60

    Amazing work, few recommendations:
    1) dedicated E Stop relay.
    2) I'm 99% sure most machine tools have the same issue, where it cuts power to the drivers. Most machines have a couple of hardware timers inside of them, and I'm pretty sure that's what they're for.
    3) Having your Y lag behind like that makes me super nervous. The way most machine tools do this is if you're doing under a certain number of clicks per second on the MPG, it'll be direct read(1 click=1thou or whatever). Once the rate exceeds what the axis can do, it'll move to a velocity mode, where it just looks at the direction the MPG is turning, and travel at the max speed allowed(max travel speed of that axis, or less as set by parameters)

    • @spencerr505
      @spencerr505 18 днів тому +18

      I agree on point 3 make the Y mpg velocity based when traveling above direct reading speed. I work at an automation equipment builder and I have seen too many crashes due to controls not stopping as soon as the operator stops their input.

    • @Clough42
      @Clough42  18 днів тому +23

      This is an excellent idea. I was already planning to reduce the resolution on Y to prevent that, but switching to velocity mode would also be good.

    • @spikeypineapple552
      @spikeypineapple552 18 днів тому +6

      @@Clough42 Lots of the time if you look at people jogging a large cnc, we'll just spin the outside of the wheel with a finger to kind of freewheel it. Thankyou for producing amazing content for us all to watch.

    • @frigzy3748
      @frigzy3748 18 днів тому +2

      I wonder if you can also add a logarithmic scale to the velocity input so faster you spin - progressively faster it goes.

    • @timderks5960
      @timderks5960 18 днів тому +5

      Yeah nr. 3 made me nervous too, way too easy to crash the wheel. To put it simple, for those who don't understand: Turning the crank changes the target for the Y axis (height). Because the Y axis is pretty slow, you can change the target of the axis faster than the axis itself can reach that target, so it will have to keep moving after you've stopped cranking to reach that target.
      The suggested fix: Basically just stop the movement of the Y axis when the crank stops / limit the rate of change of the target to the maximum speed of the Y axis, so the target can never exceed the actual location of the axis by much.
      Obviously, this has to be done for all axes. X and Z seem pretty fast, but it's still just better to implement it for all.

  • @lwilton
    @lwilton 18 днів тому +59

    Suggestion on E-Stop: Stop the spindle too. Right now, E-Stop kills the motion motors so that the table can move freely and unconstrained. Assume you dig the wheel into the work and hit E-Stop. The friction contact is going to drag the table _quickly_ to the left, plowing the wheel across the work. Worst case, you have a feature on the work to the right and significantly above grinding height. The wheel will plow into it, probably shatter, and maybe squirt the workpiece (and big chunks of wheel) out the closed garage door. Less than optimal.
    IMHO, ideally E-Stop would apply a brake to X rather than letting it move freely. Short of that, doing something to either break wheel contact with the work, or else also brake or at least coast down the wheel, seems like the safest option.

    • @chrisnorth3458
      @chrisnorth3458 18 днів тому +9

      The spindle contactor state should also be on the E stop circuit to avoid running grinding programs without the spindle running

    • @newmonengineering
      @newmonengineering 18 днів тому

      After reading how common these estop issues are. I think maybe someone should build the PCB with a completely seperate microcontroller dedicated to estop. This way if the main controller firmware has an error or gets stuck the seperate controller would not be effected. It seems easy enough to accomplish. It just needs to interrupt the signals and fully break the motors as well as flip a relay to stop the spindle. I think more cnc and controller boards should implement this ASAP. We really need a seperate chip that ensures that everything goes to break situation to fully stop it. I'm honestly surprised they are not already built this way. It could be done with an fpga, or microcontroller with ease and would simply sit between the main controller and the driver chip. It has one task, read the pin from the estop signal and brake the motors and flip the relay. And then reset when needed. This should be mandatory on every machine to be honest.

    • @Clough42
      @Clough42  18 днів тому +14

      @@newmonengineering I wouldn't want a microcontroller in the estop loop. There are multi-input safety relays for this.

    • @Difool80
      @Difool80 18 днів тому +3

      @@newmonengineering That's not done because it is not a safe way to do it. A microcontroller can fail and software as well: that's not as easy as you may think. Of course, It depends on the safety level you need to reach but usually industrial motor drives have 2 (for redundancy) inputs for Safe Torque Off (STO) which is one of the many safety functions. Other advanced systems can bring other safety features such as SLS, SBC, SLT and much more.
      it would be good if the ClearCore implements the STO feature but I guess it would raise the price for a fair bit.

    • @tomtech4224
      @tomtech4224 18 днів тому +3

      @@Clough42 For advanced logic Estop I have started using the BANNER safety PLCs, SC10 is the small one.

  • @frijoli9579
    @frijoli9579 18 днів тому +45

    Wow, I have run CNC grinders before and this is the most intuitive interface I have seen!

    • @mathewritchie
      @mathewritchie 18 днів тому +15

      Maybe because it was programed by a machinist?

    • @joemcgarry1106
      @joemcgarry1106 18 днів тому +2

      Me too.

    • @operator8014
      @operator8014 17 днів тому

      Reminds me of the HAAS controllers.

    • @carlhitchon1009
      @carlhitchon1009 16 днів тому

      @@mathewritchie My guess is that it reflects a lot UI programming experience and careful thought.

  • @stevespra1
    @stevespra1 18 днів тому +13

    I've continued to be "old school" about e-stop circuits, always cutting power to motors as well as telling the automation about the situation. Good move!

    • @frollard
      @frollard 18 днів тому +3

      Yeah, it's tricky for sure. In some machines like our tormach, the z brake doesn't work/exist - so estop killing the motors causes the head to guaranteed crash. Having the estop kill motors is the safest in most other cases. :)

    • @toddhaines5245
      @toddhaines5245 17 днів тому +2

      as someone who has seen wheels come apart from that, stopping the spindle should be a priority

    • @milithemuffin4534
      @milithemuffin4534 17 днів тому

      @@frollard Well, there are some ways
      1. Add a counterweight / gas spring
      2. Three phase rectifier (or how many phases the motor has) into power resistor and a relay
      3. Pneumatic actuator or solenoid deactivates on E-stop and lets a spring apply physical brakes

  • @michaelwolfflevinsen2193
    @michaelwolfflevinsen2193 18 днів тому +14

    From my own job as a PLC programmer I have seen several slimline relays that have failed. I think you have to install a dedicated 2 channel safety relay.
    By cutting off the power supply you are loosing the control of the ramping down of the machine. Use of STO (safe torque off) is the way to go.
    I love to see your videos and the work you put into your project.
    Best regards
    Michael

  • @MyLilMule
    @MyLilMule 18 днів тому +40

    The UI is excellently designed. Maybe add some indicators next to "Rough" "Finish" and "Spark" to show what kind of pass it is taking?

    • @VitalieCartera
      @VitalieCartera 18 днів тому +8

      One more suggestion, if I may, would be to color in red the appropriate digit(s) when switching resolution and jogging. This would be an user friendly addition to help focus the attention and offload the brain activity. Although column/row markers are not bad the way they are now, a little UX improvement won't hurt the visuals.

    • @frollard
      @frollard 18 днів тому

      Perhaps some sort of indicator when 'thing' is changing - like when going from 2-1 on the steps remaining, highlight that digit background while the rapid-to-home is happening.
      example rough 2 finish 1 spark 1
      First dustoff pass, show rough 2,
      jog to start and highlight 2, start of first rough unhighlight and change to 1.
      end of first rough, while jogging travel end to start position, highlight the digit 1. At the start of second pass, decrement the number as the highlight extinguishes again.
      Lastly, progressbar to show how long each pass is taking, and total job expected. That way it's obvious when to expect the safe jog move.

  • @joels7605
    @joels7605 18 днів тому +47

    That's really well done. The touch-off cycle is a nice feature. I've never used a surface grinder, and I think Y being the vertical axis would break my brain.

    • @Clough42
      @Clough42  18 днів тому +13

      It does hurt sometimes.

    • @simontillson482
      @simontillson482 18 днів тому +3

      Just think about the movement of the tool as a graph plotted on your monitor, instead of one drawn on paper on your desk. On a monitor, Z always goes towards you or away from you, and Y is up and down. Simple, eh?

    • @MyLilMule
      @MyLilMule 18 днів тому +9

      I know technically what he is using is correct, but I think I would still call the vertical axis "Z" anyway. It makes no difference.

    • @sblack48
      @sblack48 18 днів тому +8

      The convention in machine tools is always that z is parallel to the spindle axis and the others follow the right hand rule. But it gives me a headache too

    • @troelshansen6212
      @troelshansen6212 18 днів тому +9

      @@sblack48 But that's just that: A convention, and a rather silly one at that I think (since the "spindle axis" on many machine tools nowadays are reorientable and not even a fixed direction in space, or indeed may have multiple spindels, such as 3 in 1 machines). Coordinate systems are arbitrary so you are free to pick any reference. It would make a lot more sense that X,Y = the point of the tool in the horizontal plane (eg, the lathe carriage or mill table position) and Z the point of the tool in the vertical, where applicable. That way all machine tools would be treated equally.

  • @nerknerk8834
    @nerknerk8834 18 днів тому +13

    This is the result of the end user being the programmer. Oh ya, and a LOT of hard work!

  • @anthonycalia1317
    @anthonycalia1317 18 днів тому +33

    You may want to consider a dedicated safety relay in your E-stop circuit. They are readily available

    • @username34159265
      @username34159265 18 днів тому +10

      Another benefit is that a safety relay will be able to latch the E-stop state, it's not OK for the hazardous power to be restored or the machine to resume just by releasing the mushroom button.

  • @w.lindberg86
    @w.lindberg86 14 днів тому +1

    James, one thing you'll want to consider during the grinding process is to chase the heat through the grind. What youre doing right now is continually pushing heat in the steel from one side to another (back to front). After one rough pass, youll want to chase it back to the other side of the part.
    Another suggestion id have is for the finish passes and spark out passes, when youre doing the grind from back to front, stop halfway through the part, traverse to the front, and then work your way to the back. This pushes that heat into the center of the part and really helps with flatness.
    Ive been doing a similar type of CNC project on my Harig 612 on and off for about a year and its very challenging. Congrats on the milestone!

  • @Arthur-ue5vz
    @Arthur-ue5vz 11 днів тому

    You've got patience and brains! Nice work!

  • @CCCfeinman55
    @CCCfeinman55 14 днів тому

    It’s been some years since I worked on this sort of thing. I so enjoy watching you do the same thing, going through the iterations to get to the final, hoped for result.
    Always a joy to watch, and thank you so much for sharing. Have a great 2025!

  • @mith5168
    @mith5168 18 днів тому +4

    Wow…what an elegant piece of work - well done James.

  • @anniebooo
    @anniebooo 17 днів тому +2

    That is a very well made user interface. It should be in text books for budding engineers. The struggle I am having explaining the the antique user interfaces of the engineering ilk where you have to remember a multitude of codes is the reason for most failures is immense. One comment: please show that there is a dust off pass in the UI. Many thanks, Annie

  • @dav1dsm1th
    @dav1dsm1th 18 днів тому +5

    Interesting video, as always. I watch a lot of @EdgePrecision videos. In one of his recent videos, he was describing how he doesn't like the controller on his smaller "home shop" CNC, compared to the one on his bigger machine, in his "main shop". Specifically, the way the jog wheel functions. His home shop CNC (and it looks like your grinder works the same way) stores up the destination position of a jog, and moves to it unless you e-stop to cancel it. Whereas his "big" machine (I forget the manufacturers of each) only continues jogging while the jog wheel is physically turning. In his opinion, this is much safer and reduces the risk of the machine crashing into end stops, work pieces or operators (especially if the wrong rapid speed is selected by mistake). You could also do a hybrid version, I suppose, that detected the operator turning the jog wheel "back" to immediately override any "in flight" jog. It's just something that may be worth considering. Thanks for the videos. Stay safe out there.

  • @jeffwinkelman6574
    @jeffwinkelman6574 18 днів тому +2

    Great job so far! One thing that would ve great: noticed it only grinds using the front of the wheel in rough and finish. If you use the front of the wheel in the rough, then the back edge for finishing, you'll keep the part nice and cool not using a broke down edge in finishing.
    When you graduate to harder materials like 62 Hrc tool steely things, you'll be very glad you did. They break the wheel edge down so fast and put a ton of heat in the part.

  • @Difool80
    @Difool80 18 днів тому +1

    I do like how the user interface is designed. Very clear and complete, + surrounding which decimal is selected and so on definitely enhances user experience.

  • @Thomas_Bampton
    @Thomas_Bampton 18 днів тому +2

    Very well done. As others have said, your ideas are great, backed up by logic and reason. Layed out clearly, easy to read and use.
    Safety is implemented in a reasonable and actually a good, safe feature, without being obnoxious and needed to be bypassed. Obviously implemented by someone who operates machinery and not a bean counter sitting at a desk all day and dictating what's safe and what's not, without experience.
    Love to see what additions you make if v1.0 is laid out this well.

  • @machinists-shortcuts
    @machinists-shortcuts 17 днів тому +2

    The cycle should start with the wheel to the right of the part. This prevents the wheel riding over the part and shattering if the cut is too deep. With traditional hydraulic feed the part can be pulled under the wheel.
    It is also usual to stop the feed with the wheel on the left of the part at the traverse end. This keeps hands away from the wheel when loading or unloading.
    The cut can be added at each Y reverse to allow the X traverse to keep moving.

  • @NicholasMarshall
    @NicholasMarshall 18 днів тому +25

    26:50 Would added guide laser make it easier to setup?
    It just looks awkward to have to look behind the grinding wheel to setup the work envelope.

  • @landscape_futurist
    @landscape_futurist 18 днів тому +2

    Impressive bit of mechatronics and coding so far, with another nicely edited/narrated video too. Good implementation of the precision units/axis indicators on the display.
    Got U/X suggestions to enhance safety/usability:
    1) Distinguish between status indicators (aka 'Homed' and 'Idle/Run/E-Stop') vs the touch screen's input buttons with a different style/colors to make them easier to identify at a glance.
    2) Clustering all status indicators in a single region of the screen will make them readable in a single glance (instead of opposite corners).
    3) Provide a redundant units indicator next to the coordinate readouts or change color for metric vs imperial to avoid crashes due to mistaken units.
    My inner graphic designer wishes the negative symbol doesn't jump around when the X-axis rolls over from 0-9 to 10+ (but this is just an aesthetic quibble).

  • @AllenCavedo
    @AllenCavedo 14 днів тому

    Absolutely spectacular! Beautiful control screen design and functionality. Totally excellent project, the best you’ve done to date.

  • @DavidtheSwarfer
    @DavidtheSwarfer 18 днів тому +2

    Many years ago i was working on the data display part of a shock absorber tester. Arrived onsite one day to observe a flurry of rewiring. Turns out the microconttoller froze with the main motor running resulting in some 4 tons of machine bouncing around. Yup, estop was wired to the uC only. It was rewired to drive a big contactor to cut power. Lesson, estop must cut power first and tell the controller about it a distant second

  • @PeregrineBF
    @PeregrineBF 18 днів тому +5

    Glad to see a hardware E-stop. A safety control relay designed for E-stops is an improvement to make, I'd probably spring for an Allen-Bradley/Rockwell Automation one because it's something that *must not fail*.

    • @username34159265
      @username34159265 18 днів тому +5

      Rockwell isn't the bastion of quality it once was, they discontinued the old Minotaur relays and the new ones are white-labeled Sick and Weidmuller. But any safety relay from any brand will have redundant, fault monitoring and failsafe parallel input channels, redundant, fault monitoring and failsafe series output switches, and the performance of those elements will be tested and certified. Whatever variety you like - AB, Euchner, Banner, Dold, whatever - will be orders of magnitude more reliable than that single-channel reed relay and contactor. Heck, I'd never use it on a machine that an employee of one of my customers would be asked to trust, but I bet you can get import junk that would be reliable for personal use.

  • @jackjr473
    @jackjr473 15 днів тому

    Great Explanation of how you have setup your grinder. You have put a lot of thought into this project. keep up the good work.

  • @davidhofman4341
    @davidhofman4341 18 днів тому +2

    When working with servos an E-STOP is your best place for your hand when you push the start button. Years ago when you tuned servos by twisting the shaft by hand, run away servos were common. HI speed pick and place gantries will self destruct if they run away.

  • @NahNoThankYou
    @NahNoThankYou 18 днів тому

    Incredible work sir. You are a modern Renaissance man. Software, hardware, electrical and mechanical. Well done and congrats it's an epic achievement.

  • @LerrySanders
    @LerrySanders 18 днів тому +8

    In the industrial world, after an estop you have to hit the power on button, or in your case the green button.

  • @jameskilpatrick7790
    @jameskilpatrick7790 18 днів тому +4

    That is a pretty impressive first run. I hadn't realized what a comprehensive control system you were aiming for, and I'd say you really knocked it out of the park. the glitches are minimal, you're on top of them already, and it looks like you're just down to squashing a few bugs at this point. I don't know if you're planning to market this control system, given the much smaller user base than the ELS, but it looks like you're building a solid product. Cheers!

  • @Linrox
    @Linrox 16 днів тому

    Looks amazing, you have done a lot of work. love all the functions, they seam really well thought out. Shame manufacturing companies can't produce products like this, or don't want to. Excellent job James.

  • @КонстантинКучер-щ5м
    @КонстантинКучер-щ5м 18 днів тому +4

    You shouldn't go to z=0 at each pass start. By this you cause uneven wheel wear. Right technique is start next pass where previous ends. Conventional grinders do that by moving back and forth between z endstops and advacing y at each endstop.

  • @loydsa
    @loydsa 18 днів тому

    Facinating to see the issues and how you have dealt with them James. Excellent.

  • @jimsvideos7201
    @jimsvideos7201 18 днів тому +1

    This is a remarkable accomplishment, James. I look forward to seeing it go from first steps to practical tool.

  • @Tomthumb222
    @Tomthumb222 18 днів тому

    This was probably the most detailed and enjoyable series I have ever watched. From the beginning to end, there isn’t a single episode that I haven’t found totally engrossing. Thanks James, what’s your next project going to be? I can’t wait.

  • @StanislavG.
    @StanislavG. 18 днів тому +2

    Big props on the UI work James!
    May i suggest connecting the coolant mister on/off to the controller as well

  • @stevespra1
    @stevespra1 18 днів тому +4

    A lesson I've learned is to always buy an HMI that is a little larger than you think you need.

    • @Clough42
      @Clough42  18 днів тому +6

      You're not wrong. I bought the biggest one they had.

  • @GilmerJohn
    @GilmerJohn 17 днів тому +1

    You might want to add hardware that will sense the actual load on the grinding wheel by measuring the actual power that's being expended. If the power increase exceeds some threshold, your initial cut might be too great. If the "power-trip" activates the safe thing is to stop the positioning servos and get the operator involved.

  • @lokxr8-s3l
    @lokxr8-s3l 18 днів тому +9

    I've been blessed with another Clough42 video. YT only recommended your videos to me recently and I've been thoroughly enjoying them. I like how you're so organised, thoughtful and knowledgeable, and manage to deliver information it in such a casual, down to eath way. Looking forwards to getting through your backlog of videos and more to come. Happy holidays!

  • @Cybernetic_Systems
    @Cybernetic_Systems 18 днів тому

    The amount of thought you’ve put into the workflows is really impressive. It really shows through in the HMI you’ve developed. A truly Amazing result! 👌

  • @danneumann3274
    @danneumann3274 18 днів тому +1

    This is You tube gold. Unknown home creators doing amazing things! This would be a game changer or My business making coin dies where the finish must be really nice. the finish and rough settings are really nice

  • @clkeck1
    @clkeck1 18 днів тому +2

    Very nicely done.
    I do you have a comment / recommendation for your flat grind cycle.
    Instead of specifying the number of rouging passes have the input for total stock removal and then let the software calculate the passes.
    Another handy option that we use on our chevelier is an input for additional stock removal. If you need to take off another .0002" input that value to follow that I'm out instead of the total amount.

  • @CKOD
    @CKOD 17 днів тому

    I learned my lesson on software e-stops with some hardware at work. On a rate table (Put DUT on the table and it spins it at the programmed rate) there was an e-stop, that would command a max rate deceleration. Well thats cool, but if you opened the chamber (triggering the e-stop with an interlock) grab the table and force it to stop (smooth aluminum table, not that much inertia with no workpiece on it ) and then let go, the machine would apply max torque to accelerate it back up to the programmed deceleration ramp rate. Very cool safety mechanism, capable of applying max torque to a stopped table, love it. Dedicated hardware for e-stop (Like you pulling power to the servos) is the way to go.

  • @ViniciusMiguel1988
    @ViniciusMiguel1988 18 днів тому +1

    That interface is mind blowing good ❤

  • @andrusalev8987
    @andrusalev8987 18 днів тому

    Thanks!

    • @Clough42
      @Clough42  18 днів тому +1

      You're welcome. Thank you!

  • @sandersn4
    @sandersn4 18 днів тому +4

    Very cool system. A thought for a safety upgrade based on my personal experience manually controlling my surface grinder. It would seem to me that there should be no situation, at least that I can think of at this moment, that you would want to randomly drive down in the "Y" direction more than a roughing increment if you are manually turning the jog wheel but are already at work height. Or work height resulting from last grind.
    I can visualize you having for some reason stopped the servos with the wheel over the workpiece and then intending to manually withdraw the grinding wheel up in the "Y" direction but in the confusion actually turning the jog dial in the wrong direction and thus ruining the workpice. Perhaps you have already done something to prevent this from happening but I didn't hear anything in your discussion.
    There may be reasons to enter this zone such as for wheel dressing or something else so it should be enableable but not without explicitly making the decision to enter the danger zone.
    Hope this might be of some help and I hope my quick description is clear enough to get across my concern.

  • @AmateurRedneckWorkshop
    @AmateurRedneckWorkshop 18 днів тому

    It is almost show time. Thanks for the video keep on keeping on.

  • @bernardwill7196
    @bernardwill7196 17 днів тому

    I wish you and your family a Happy New Year. Greetings from Germany.

  • @FernandoFCosta
    @FernandoFCosta 18 днів тому

    Amazing result! Great job, James!

  • @craigs5212
    @craigs5212 18 днів тому +1

    Very nice, will have to get up the energy to tackle my old surface grinder. I can tell you spent many hours pounding out the code. I'll there were a bunch of times you looked back and thought what the hell was I smoking when I wrote that function. The UI looks really nice.
    While watching the cutting demo, I thought; bet he could add an IR sensor to detect the sparks for an auto touchoff cycle.

  • @joesmith2465
    @joesmith2465 18 днів тому +1

    always nice when projects come to the end

  • @geoffbuss3699
    @geoffbuss3699 18 днів тому

    Flippin' awesome, James. Some of the programming stuff and the references to the different electronic hardware went a bit over my head (and I'm an engineer!), but I was able to understand most of it thanks to your clear and detailed explanations. I think I have mentioned it before on another video, but what makes your channel stand out is the commentary. You don't repeat yourself (a rarity on UA-cam) and you have clearly thought out in advance how best to let an audience with very varied knowledge and experience know what you are doing and why. Oh, and the engineering is pretty decent too.🙂 Right then, I'm off to continue building my 3kW plywood thickness sander. I'm going to feel like a caveman unless I manage to put this video out of my head for a couple of hours. Keep 'em coming, mate. Geoff in France.

  • @VoodooChild_drums
    @VoodooChild_drums 18 днів тому +1

    Congratulations James! That is a piece of art. A quick suggestion for ease of use would be to put lasers in the head to set the X and Z limits withouy any contorting. I was also thinking about a system to identify the highest spot on the workpiece to set the working Y but that might be very difficult. Anyway, fantastic job, thanks for sharing

  • @mumblbeebee6546
    @mumblbeebee6546 18 днів тому

    It’s clever, it’s well made, nice to look at and it makes sparks. Nice!

  • @crcarlsonUT
    @crcarlsonUT 17 днів тому

    Very inspiring and fun to follow along. Thanks for sharing.

  • @Sainter5538
    @Sainter5538 18 днів тому

    Great job James, and well explained regarding the process of why and how.

  • @brandonrife
    @brandonrife 18 днів тому

    Congrats! I'm sure that It is gratifying to see the fruit of your labors in action

  • @MarkOlsson
    @MarkOlsson 18 днів тому +3

    Fantastic! Has it occurred to you that with complete software control it can now do decorative grinding? Zig-zag across or a circular patterns. You could even grind concave or convex shapes, though touching off on an irregular height part would be, uh, challenging...

  • @Matt-jz7to
    @Matt-jz7to 16 днів тому

    Great work James. I would love to see a CNC conversion on your big mill

  • @MRCNC1967
    @MRCNC1967 17 днів тому +1

    FYI, the e-switch is great, but when you release it, add another button (real or virtual) to restart the machine status.

  • @Thejakegee
    @Thejakegee 18 днів тому

    Congratulation on all the hard work!

  • @FrankGraffagnino
    @FrankGraffagnino 15 днів тому

    great stuff james. one idea for your interface is to have an indicator to show whether it is currently in a roughing pass, finish pass, or spark pass. I like that the count decrements, but until it finishes one, it seems like you can't tell what pass it is currently on, which might be helpful. You could stick with your red vertical line indicator like you do for active axes if you want it to be consistent. thanks again for sharing.

  • @mattilindstrom
    @mattilindstrom 18 днів тому +2

    I'm in the medical equipment filed, and the times I've tested something on a toy model are numerous. The real world comes to bite me when all that's in the tube of a MRI machine, never really damaged one, but everything has a some special characteristics in 3T magnetic field.

  • @outsidescrewball
    @outsidescrewball 18 днів тому

    ❤proud father with his child 😊….AWESOME

  • @ROBRENZ
    @ROBRENZ 15 днів тому

    Looking really good James! The only thing I couldn't live with, is the drives not exactly following the handwheel input.
    ATB, Robin

  • @go4peanut471
    @go4peanut471 18 днів тому +1

    Amazing build. I want one! I’m picturing rev2 having a horizontal and vertical edge finder pair to locate the current state of the wheel for dressing, like the optical ruby edge finders for the mill.

  • @billgilbride7972
    @billgilbride7972 18 днів тому +3

    As others have said.... Awesome programming job. Everything just made sense.
    Does it display events during the multi pass auto mode, ie. Spark Pass, Brush Pass?
    Such a bang up job with the enclosure and your decision to go with this layout was spot on.
    I was surprised you did not go with a joystick config to speed up setup positions. I was just curious.
    Thanks so much for all you record and share. Have a happy holiday and prosperous New Year!

  • @JasonTHutchinson
    @JasonTHutchinson 18 днів тому +1

    A couple of suggestions. The whole machine probably should be inside of an enclosure. At least, a shield in between the operator and the wheel is necessary. If that wheel breaks apart, you don't want to get by shrapnel. A part can also get flung off. You also don't want dust and coolant on that nice touch screen. The control panel also is connected to the table, which isn't ideal. That would annoy me if the controls moved all over the place. You really want that emergency stop button to always be in the same place. Overall, it works well so far.

  • @VagiPeti
    @VagiPeti 18 днів тому

    I love this series of videos about this build! Congratulation James, you really do inspire me! While I was watching how you introduced the functions of the passes and the auto run, I was thinking it would be beneficial to sign on the GUI what cycle the machine is... the way how you mark the DRO display what will be moving with the red bars, that could be a matching solution for the passes... you can add a little red line mark beside the passes and the counter also signing what is left from the cycle...I've noticed that. It makes the GUI a bit more clear to understand what is going on, and it will create the system more fail proof and safe...

  • @jonwade6229
    @jonwade6229 17 днів тому

    So a few things I see (sorry this is my first post to UA-cam but I feel like I should say something, and other comments seam to back this up)
    - Use a two channel safety relay for e-stop function, they are more expensive but recommended for PLd or PLe (Which I think this falls into)
    - See comments on STO functionality, and yes, spindle should stop on e-stop
    - You probably want a fuse or circuit breaker on the output of your 24V supply. I've used this exact supply before and it does not fold over on an over-current, it can exceed rated output current on a short because it is a power converter, so if output voltage is low(like in a short situation), input current may not be sufficient to trip AC breaker, but output current could exceed rating of wiring.
    - (minor) for CE, Earth ground is Yellow with green stripe (like the enclosure came with)
    - (somewhat minor, this is a CE requirement, but you're not necessarily CE) De-engaging the E-Stop should not automatically re-enable movement. There should be some operator action required (such as pressing an enable button) to allow motion or other dangerous operation.
    In general, very cool, there is a lot more depth and effort then you lead on in the video (You'd never be able to cover it all without making 10 hour videos) so very impressive. You've almost turned this into a product...

  • @helipilotuh1
    @helipilotuh1 17 днів тому

    Incredible work.

  • @redsengineering
    @redsengineering 18 днів тому +1

    Looks great! Congrats on a project well done.

  • @ecksrg
    @ecksrg 18 днів тому

    Great work sir!

  • @ShinyJezzaBoy
    @ShinyJezzaBoy 18 днів тому

    Great job! Well done 😊

  • @oldskeptic1513
    @oldskeptic1513 18 днів тому

    ... good show James, as always ... all those hours, paying off ... well done mate ...

  • @timturner7609
    @timturner7609 18 днів тому +2

    It might be as simple as using > instead of >= for your bounds check. Meaning of the position is exactly equal to the boundary, it can't run another step because it would go out of bounds, but it can't advance to the next state because it hasn't hit > boundary yet.

  • @toolbox-gua
    @toolbox-gua 17 днів тому

    Looks like you hit homerun. Happy and Prosperous New Year 2025!

  • @TheVivaLatrina
    @TheVivaLatrina 18 днів тому +1

    Neat, really really neat! 🤩
    I see other people are mentioning dedicated e-stop relays and such, so I’m not gonna repeat that. However, I’m certain that one or two more videos down the line, the comments section will have nothing more to complain about 😅
    Also, I love that you sprinkle in some metric measurements now and then. Both because it seems to annoy other viewers, but also because it helps my european/metric brain to think in terms of organic/grass fed fractional freedom units! 😂

  • @rbyt2010
    @rbyt2010 18 днів тому

    Wow! That’s a “real deal” motion system. I think I have to go find the discord to get caught up. _Really_ impressive, James.

  • @jeremylastname873
    @jeremylastname873 18 днів тому +1

    At 4:30, you had moved the table but the DRO position didn’t seem to update. Is this because of the means by which the position is determined, or because of the ESTOP state software routine?
    Yes, I am an engineer. 😂
    Man, I really like the flow you have created. You put a lot of thought into this. Good work!

  • @wrickcollings7308
    @wrickcollings7308 18 днів тому +7

    In Auto how do you know what cycle the machine is in at the moment? If the roughing count is zero, is it doing the last roughing pass or is it doing the first finishing pass. I suggest adding a red indicator like you have for the active axis. This could be useful if you've stopped or paused the machine and intend to continue, you'll know what it will continue with.

  • @jimdean7335
    @jimdean7335 18 днів тому

    Congratulations. Another awesome project.

  • @chrisj4570g
    @chrisj4570g 18 днів тому +2

    As to the bug…Michael Bolton: “I must've put a decimal point in the wrong place or something. ----, I always do that. I always mess up some mundane detail."

  • @mattholden5
    @mattholden5 18 днів тому

    @Clough42:James, great UI. Very well thought out within the physical size limits you set for yourself.

  • @davidcashin9194
    @davidcashin9194 18 днів тому +1

    Wow James great to see it work so well first up I look forward to see the total finished product. Here is a little something to think about why not cost it out including all labor and hardware and just see how expensive this upgrade cost. May be give your viewers a guessing competition.

  • @markb5710
    @markb5710 18 днів тому +1

    On the E-stop; Make sure you know what will happen when you re-engage the power after using the e-stop. Don't ask me how I know but if axis has been manually moved to fix the crash/hide the evidence, and the controller has been correcting for it, but the motor drive is off, things can move very abruptly and surprisingly when power comes back on.

  • @bobapthorpe
    @bobapthorpe 18 днів тому

    I can see how end-of-pass detection would turn into a very interesting discrete math and logic problem even without the complexity of an interrupt handler and their limitations. It seems there are multiple scales so even restricting yourself to integer math won't eliminate roundoff. I won't second-guess code and hardware I've never seen - this is a tedious, subtle, and challenging problem and I wish you the best in sorting it out.

  • @ngiovas
    @ngiovas 18 днів тому +7

    I gave you a thumbs up just for your comment on mixing units (love the humor).

  • @J4MB0
    @J4MB0 18 днів тому +1

    As someone who works in industrial automation, I'd like to see an actual safety relay (pilz, guard master etc) on that estop.

  • @pfabiszewski
    @pfabiszewski 18 днів тому

    Awesome! Just and idea - you could add some laser indicator, so you wouldn’t have to lean over the machine to check the positions.

  • @zincfive
    @zincfive 18 днів тому +4

    Very cool project! You are a terrific communicator, James, thanks for your efforts, and thanks for your patrons for funding it.

  • @infostump8061
    @infostump8061 18 днів тому

    26:04 If you had a red and green laser on pointing down on the bed on the x/z axis, you wouldn’t need to look around the machine to see if it’s past the work piece to set the start and end points. Reducing the amount of travel (and thus time) that the bed moves.

  • @twobob
    @twobob 18 днів тому +1

    Your content is sooo good. End to end awesome from the mint code to the chip load. Hat doffed. Again. You wear my hat out...

  • @82edje
    @82edje 17 днів тому

    Hello,
    This is the only right way to connect a E-stop. The hardware diconnect circuit is more important then the "status" input on the micro controller

  • @CraigLYoung
    @CraigLYoung 18 днів тому

    Thanks for sharing 👍 and Happy New Year to you and your family 😊

  • @colinbrewhaha
    @colinbrewhaha 18 днів тому

    Happy Holidays!

  • @midwestkustomz6350
    @midwestkustomz6350 18 днів тому

    Well done James!

  • @JyrkiKoivisto
    @JyrkiKoivisto 18 днів тому

    Suggestion for the touch off, let the wheel only rise after the touch off. Or don't allow the touch off until safe height is set and after touch off make it move to safe plane automatically.

  • @madisonrollings1845
    @madisonrollings1845 18 днів тому +5

    How sensitive is the touch screen to errant touches? I'd be worried that a drop off water/coolant or some chips/swarf falling on the screen accidentally pressing buttons during automatic operation. You might also consider adding a "reset" button to clear errors/alarms instead of cycling the e-stop switch.