I attached them at the opposite end of the drive belts by drilling out two stepper mounts (the encoders are a three-bolt pattern) and attaching to the existing shafts with some couplings.
Encoders: Sparkfun
Encoder breakout boards: SuperDroid Robotics
Shaft Couplings: Phidgets (Buy a 6mm for the encoder end, a 4mm for the existing makeblock shaft, and the red grommets go in between both halves.)
I haven’t made changes to mDraw because It still doesn’t work with the Makeblock hardware. In future, it should be completely handled in firmware when the machine needs to be ‘re-calibrated’ since the encoders can be queried at any time to see if it has drifted. Once it has been discovered, the firmware can just step the motors until the head is actually in the place that it has reported to the host computer with the last “OK” command. I’m not too sure how fast the i2c commands will be if I just use the encoder position after each motor step to see if it was successful but at worst, I can do it at the beginning/end of each Gcode command which would still likely be good enough for my purposes.
The unfortunate problem is that the Orion is so conspicuously wired, I haven’t had any luck using it directly with my encoder breakout board. My original plan was just to wire the encoders directly to the Orion and use interrupts to count the position but found the Orion board impossible to work with. (Could only get one pin on any particular available port to actually function?!)
I got a breakout board to read the encoders and attempted to use the SPI bus on the board to talk to it. Since I was able to get one pin on each port to work, I used port 7 and port 8 as my slave select pins to control the breakout board. This worked fine in tests without the stepper controllers connected but once I tried it with steppers, I found that Port 1 was using some of the SPI bus pins and thus rendered the bus unusable when trying to run the steppers.
I’ve thus completely given up on the Makeblock electronics. I’ve already fried one of the stepper drivers by trying to run it with an Arduino. The original laser I got with this kit was garbage (makeblock replaced it after no small amount of whining on my part.) My experience with all of the electronics is, so far, not great. The hardware is awesome and I love it but now that there appears to be no PayPal support on their site, I’ll probably have to get that somewhere else too.
So I’m going to use an Arduino as soon as I receive some stepper drivers (with documentation!) Makeblock’s lack of support and documentation is mystifying. Great learning experience but would have been a lot better if it wasn’t so frustrating. Learning already is frustrating, but when there is a brick wall of no support/documentation and the only resource (this forum?) is full of people who are asking the same questions, it can be tiresome.
This is the one I’m building from scratch…