Forum Replies Created
Yeah, the problem ended up being a combination of the slight amount of slack in the lower belt and the fact that the belt was wrapped around a screw unbeknownst to me. Seems like when the lower arm reached the optical sensor and stopped there would be a slight amount of bounce due to the slack. This bounce would occasionally push the arm far enough that the belt would be turned far enough to catch a tooth on the screw and prevent it from bouncing back into position. This then made it so the upper arm had to move further than normal to hit the upper optical sensor.
I ended up taking apart the whole thing and putting it back together. It seems like it’s homing properly in air now. On sand it’s less consistent and occasionally the lower arm won’t move far enough to stop triggering the lower sensor causing the upper arm to not be able to trigger the upper sensor. That seems like a fixable error though, and even if it isn’t, all I have to do is make it home again after the first attempt fails to get it to work.
I tried that in the past and for some reason it made it so the machine wouldn’t accept any commands at all. Tried it again now and it’s working, so that’s something.
Still having the same issue with the homing being inconsistent though which makes it impossible to find a number which works. What I mean is that if I set the arms at, say, 10:00 and press home, putting the last command at B-150 makes it home perfectly. However, if I home when the arms are at 3:00 then the lower arm goes slightly further and then moving the upper arm 150 steps back doesn’t bring it back far enough. If I home when the arms are at 8:00 then the lower arm goes slightly less far and then moving the arm 150 steps back brings it back too far. So on with homing in any other position. Also, I’ve noticed on occasion that the lower arm will be homing, hit the optical sensor and cause it to light up, move past it until it stops being lit up, and then ‘bounce’ back slightly causing the optical sensor to relight. This of course makes it so the upper arm doesn’t stop when it should since the lower optical sensor is still active.
Something I found was that the lower arm has some play in it even when it’s moving. When the machine is actively drawing something, the upper arm is unable to be moved by me which seems like what I should expect due to the holding torque of the stepper motor. The lower arm however has a slight amount of play; I can wiggle it back and forth about a quarter inch before encountering the resistance which stops me from moving it further.
I suspect this is the issue causing the inconsistencies in the lower arm’s homing which, consequently, is affecting the upper arm’s homing. Any insight into what could be allowing me to wiggle the lower arm while it’s being moved?
Alright, I’ve got a myriad of problems and am no closer to solving them after a week of troubleshooting.
So, first off: Couldn’t figure out why the upper arm wasn’t rotating. Soldered together an entirely new board, plugged it in, upper arm rotates now. Guess the issue was with one of my solder joints.
Also added the code from the ‘Stepper Motor Disable’ thread, hopefully that has fixed the slowly rotating lower arm but I’m not sure because of…all the other issues that have cropped up. Namely:
1. When I provide power to the PCB the huzzah32 light turns on. cnc.html loads up, the machine is in the running state. When I hit home all…nothing happens. Likewise, entering new commands into the settings page and hitting save does nothing. Refreshing the page creates a popup saying ‘failed to send new settings’. This only happens sometimes, other times the robot works fine.
2. When the machine isn’t working, the files tab on cnc.html no longer shows how many MB of space there are to use.
3. When the robot is working, I press home all. The lower arm rotates until it’s in line with the machine. The upper arm rotates and stops slightly out of line. This is due to me having to finagle the optical sensor to stop the arm from hitting it as it rotates. I modified the homing string so that after the upper arm hits the optical sensor, it rotates back a few steps to get back in line. The problem is, when this happens, the lower arm rotates a little bit clockwise out of position at the same time. Here is the modified homing string:
4. When the machine is working, sometimes it stops accepting commands. As in, I’ll be modifying the homing string or messing with X/Y positions to try and determine why rotating the upper arm also rotates the lower arm and suddenly hitting home all or X+100 or Y-10 does nothing. At which point I need to unplug/hit the reset button on the huzzah32 after which there are decent odds of the robot suddenly not working.
This is extremely annoying and difficult to troubleshoot, doubly so when the issue you want to troubleshoot becomes impossible to work on at what seem like arbitrary times. Any advice on how to proceed?
Piggybacking off this topic to ask for help on my PCB. Did everything vworp did: got everything soldered together, flashed the Huzzah32, set robotconfig, put the Huzzah32 into the pcb and plugged it in. Nothing happens. Tested the JST connector on the 120V AC to 12V DC power supply and it reads as 12V. Tested the USB pin on the PCB and it reads as 0. Seems like it’s being lost either on the JST connector on the PCB that the power supply is feeding into or at the 5V voltage converter.
I bought triple the electronic parts I needed for spares/if I wanted to make a second table as a gift, so I soldered together a second PCB and hooked it up. Same issue.
I’m pretty new to projects like this, so maybe there’s a simple solution or way to figure out what’s wrong that I’m not seeing. Any advice on how to proceed?