How I made a Drawing Robot controlled by encoders and LinuxCNC

Опубликовано: 02 Октябрь 2024
на канале: SciCynical Inventing
2,000
63

I'm so happy to finally understand how to control encoders, now every printer is a robot waiting to happen!

I understand some may not like a 40 minute video and I realize that but consider I wanted to make a very thorough video on everything I did to make this robot and every shred of information I had to learn and research myself. I feel even though its technical and boring at times its necessary to understand how much effort went into this as a whole. I didn't want to make a fancy montage and leave a lot out.

LinuxCNC Etch Config Folder: https://drive.google.com/drive/folder...

TinkerNut's video on Making a MiniCNC stepper motor Drawing Bot:    • Hack old CD-ROMs into a CNC Machine -...  

I try to post my latest projects on Twitter: Twitter.com/SirSpunk

Troubleshooting Advice:

Problem: X and Y axis work perfectly but Z axis works in only one direction.

Solution: Possible weak direction signal/pin on port or weak power supply. You can try to do what I did and out all inputs on the PCI card port and all outputs on the motherboard parallel port.

Problem: LinuxCNC was rounding all the corners of my object when it drew it.

Solution: "G64 P 0.001" at the beginning of your gcode solves it. "G61" should work too as both of these gcodes are exact path modes.

Problem: Drawing is stretched, squished, or not in proportion.

Solution: In LinuxCNC go to Machine,Calibration,INPUT_SCALE and change the input scale of the X and Y axis until the object dimensions are correct. If you want to set permanent values you have to change the input scale in the config files.

Problem: Motor runs away randomly or in a weird way/too sensitive.

Solution: Try to reduce the input scale on that motor, that's a common problem if the input scale is too high. If LinuxCNC is not detecting movement from the encoder itself it will also make the motor run away uncontrollably.

Problem: Getting a lot of following errors or frequent/consistent following errors.

Solution: This can be a number of different things, but common things are a weak power supply, too high of an input scale, too high velocity or acceleration on an axis, or too low of an "FERROR" and "MIN_FERROR".

Problem: How do you reverse an Axis?

Solution: Multiple ways, either swap both motor power wires and encoder sensor wires or you can try putting a negative sign in front of the axis's input scale in LinuxCNC.

Problem: How do I figure out the correct wires to connect to on the parallel port?

Solution: I use my multimeter on it's continuity mode and check every wire until my multimeter beeps.

Help support me so I can make more videos:

Twitter:   / sirspunk  
paypal: [email protected]
https://streamlabs.com/scicynicalgaming

You can also donate FOR FREE by installing Streamlabs OBS for FREE. I get $1 for every install through this link: https://streamlabs.com/slobs/d/833209
What "counts" as an install is of course installing and opening the app then streaming for the first time or closing the app. Every little bit helps, thank you!

Music: Mich - Sea of Envy