A few years ago, I ordered the cheapest six-axis robotic arm from ebay for about $100 that came with basically no software or motor-driver boards, so I did it all from scratch with a PCA9685 board, a basic kernel driver and some very hacky scripts from user space.
One day I had some friends over for a glass of wine, and wanted to show off my creation. I invited them into my "lab" and placed my wine glass down on the desk so I could type a few commands with both hands.
My rudimentary software had some motion smoothing once it was up and running, but upon initialization, if the arm was significantly displaced from where it had been when it was turned off, the PWM board would instruct the motor to immediately "be" in a position that required the arm to travel clear across the desk in effectively as little time as possible.
In this case, where it had been previously happened to be where my wine glass was now, and the flimsy aluminum at high speed was enough to shear the stem from the glass and explode the bulb. Luckily the wine didn't get in any sensitive electronics, but I learned a valuable lesson about the difference between messing around with hardware vs software.
One day I had some friends over for a glass of wine, and wanted to show off my creation. I invited them into my "lab" and placed my wine glass down on the desk so I could type a few commands with both hands.
My rudimentary software had some motion smoothing once it was up and running, but upon initialization, if the arm was significantly displaced from where it had been when it was turned off, the PWM board would instruct the motor to immediately "be" in a position that required the arm to travel clear across the desk in effectively as little time as possible.
In this case, where it had been previously happened to be where my wine glass was now, and the flimsy aluminum at high speed was enough to shear the stem from the glass and explode the bulb. Luckily the wine didn't get in any sensitive electronics, but I learned a valuable lesson about the difference between messing around with hardware vs software.