The Firmware Realm : From GCode to PID or the (left,right,z) and (x,y,z) alternate worlds

Step 11

As you can see on the Maslow gear boxes, motor shaft rotation is reduced and a sprocket move chains, and or a screw move the Router along depth (Z). This movement is somewhat blind though: If anything unusual happens to the sled or router, the firmware can’t detect it. So you must be careful to monitor the mechanical behavior of the sled and router to take action and prevent problems. For xample, clearing obstacles around the sled, making sure the Z axis does not bump on maximum screw moves, and ensuring the workspace angle is correct, etc. Because the only thing the Arduino sees is…

Step 12

The encoder counts. These are cumulated, recorded in the EEPROM to keep track of chains positions between power off states. And are the basic Maslow CNC position expressed in the (l, r, z) dimensions. Ready to be compared 1000 times a second to the position slice target (Step 6), or eventually transformed into (x, y, z) with the very clever Formward Kinematics (Step 0).

So be carefull, because altough the MaslowCNC moves slowly, It really dances solo: It won’t listen much to the world around it. So it is a safety practice to keep at hand a power off button to idle the motors.

This concludes the 12 steps robotic dance of the MaslowCNC firmware. Of course, there is more than what meets the eye. So you are welcome to dive into the code :slight_smile:

2 Likes