metabflux wrote:My Neato XV12 generated a "Right Wheel stuck. . ." error as described by OP. The dysfunctional wheel was substantially more difficult to rotate than the functioning wheel as indicated by other posters with the same error.
I First tried running the wheel via USB using PuTTY and the SetMotor command in TestMode as described in the neato programers manual and suggested by glnc222 above. The wheel turned if manually rotated at the start of the command, but was inconsistent in speed and stopped frequently. However, the SetMotor command is limited to a maximum distance of 10 meters and therefore insufficient for the "break-in " method described by aziesemer2.
I then performed the "break-in" method as described in the original post by aziesemer2, with minor modifications. . . Many thanks to aziesemer2.
After approximately 6 hours of run time, the wheel stuck error returned. The wheel was again very difficult to turn. Repeating the above procedure allowed the robot to work, but only for a single cycle. I presume it worked only while the motor was warm as suggested by SyRenity above. Therefore, I decided to disassemble the motor. I'm sure the right tools exist to make this exercise rather trivial, but this is probably not advisable for the average consumer (or me, really).
The motor was removed from the wheel housing. The brown RPM sensor on the back of the motor was removed by securing the gear and twisting it off the shaft. The electronic wheel sensor was removed using a soldering iron to release the leads one at a time. The back of the casing is crimped in places over the back plate. These crimps were relieved using needle nose pliers. The back plate was removed (this was not simple). The brushes were removed and appeared to be in good shape. The contacts were also clean. The rear bearing looked smooth. The rotor was not completely removed because I was unable to remove the gear pressed on the front shaft (there must be a tool for this). Inspection of the rotor by shining light into the casing revealed a ~2 cubic mm brown debris adhered to one of the coils. The origin of this debris is unknown. The material, which appeared to be melted into the coil was carefully removed using tweezers. The casing and coil was rinsed with isoproply alcohol which yielded a few more fragments which also could not be identified. The casing and coil was allowed to dry and lubrication was applied to the shaft and magnets. The motor was reassembled. The backing was reinstalled by gently tapping it into the case with a tap and hammer. I noted that the positioning of the backing in the casing is critical to allow clearance between the rotor and magnets. The backing was aligned by tapping on each side to minimize resistance when turning the gear. The backing was secured by crimping the casing as it was before it was disassembled. The wheel sensor was soldered back into place and the RPM sensor was pressed back on. The motor and wheel housing was assembled. Manual rotation revealed that the resistance of the two wheels was indistinguishable from each other. The robot has run for 10-hours without failure. The resistance of the wheel remains normal.
The origin of the debris is unknown but probably originated from inside of the motor since there is no opening that would allow entry, and this failure seems to be recently relatively common among these robots. Debris, attached to the rotor accounts for the vibration that was noted after initially removing the motor. The "break-in" work around may help by freeing the debris from the rotor or magnets. depending on how the debris settles, this may be a temporary fix. Other factors, such as clearance between the rotors and magnets may also be important. For instance, small increments in the alignment of the backing resulted in the magnets impinging on the rotor. Taking the motor apart is not for everyone, since Neato has an excellence warranty policy, and you can buy the wheel online for ~$40. I had fun with it.