OS: Windows 10, x64
Model: AR2
Hardware: 3D Printed parts (Prusa MK3S; PLA+), AR2 & AR3 hardware kit from anninrobotics.com, stepper motor kit from steppermotorsonline.com
Software: AR2 Software 2.0
Problem: When I run the software, nothing happens. Nothing on the arm moves at all.
What I've Already Verified:
- Wall power (120V AC)
- 24V DC Motor driver power supply (120V AC going in, 24V DC coming out)
- Motor driver modules are all receiving the full 24V/5V DC (Green LED's on the modules are also lit)
- 5V DC Power supply (120V AC going in, 5V DC coming out)
- Arduino Mega (5V DC going in and the sketch has been uploaded into it correctly)
+ Baud rate: 115200
+ Com port 10 (Computer recognizes through the Device Manager that the Arduino is connected via USB)
- The entire arm is positioned (by hand) completely vertically with no limit switches actively engaged.
When I run the AR2 software, I set the com port to 10 and load the "LTEST" program. I then click the green "play" arrow. The program only gets 3 rows in when it comes to an "AXIS LIMIT" fault.
Any help would be greatly appreciated.
Good news @Chris Annin! As it turns out, I'm fully retarded. The robot is now 100% operational!!!
Regarding the com port issue:
As my wonderful, beautiful, smart and sexy girlfriend pointed out to me while helping me troubleshoot... The AR2 software was in fact communicating with the Arduino Mega the entire time after all... <sigh> ...fuck
What happened was that I had my Arduino plugged into a shield that made it lay face down so that I couldn't see the orange LED on the board (outta sight, outta mind type deal)
When I used the AR2 software and clicked the "Set Com" button with the appropriate channel, I would watch the python CMD window waiting to see something, letting me know that the communication was successful or something. The first click wouldn't produce any feedback in the CMD window, so I would click the "Set Com" button again thinking that something wasn't communicating properly (this is where the orange LED on the Arduino normally would have flashed, alerting me that it was in fact communicating with my PC - however, being face down I never saw it)
As it turns out, the com port permission error that I was getting previously was caused my the port already being in use from the first time that I clicked the "Set Com" button. I guess that was the software's way of saying "Hey dummy, I'm already in use".
So that was fun.
Anyways, after we figured that one out, we tested the AR2 software again. Still no movement however.
We then disassembled every wire on the robot and rewired it from the ground up.
As it turns out, I messed up the wiring for one wire. The -5V DC wire connected to the motor driver.
I had it wired into my 5V DC power supply's negative terminal (which disables the motor drivers, explaining why I couldn't get the robot to move)
So if anyone in the future has the same issue(s) as me, here's are your solution(s).
Oh and the AR2 software is in fact working on Windows 10, x64.
Chris, I am very sorry for wasting your time regarding this issue, sir.
However, I want to say THANK YOU VERY MUCH for trying to help me troubleshoot along the way!
try changing the baud rate to 115200. Also have you tried running the software as admin?
Changed out the Arduino Mega 2560 for another one; no change.
While troubleshooting more, I did happen to find a few duplicate instances of "COM Surrogate" running in the task manager. I ended all those processes, but still no change.
(Doing more research on the "COM Surrogate" - This is actually a normal thing to find in your Windows task manager and wasn't the root cause of my com permission error)
@Chris Annin is the AR2 software designed to be ran on x32 or x64 bit framework?
Looking again at the permission error code I keep getting in the CMD window, it refers to "serialwin32". I'm going to try and see if I can run a Win 10, x32 OS on Virtualbox and try to run the program again. Perhaps the AR2 software doesn't like my x64 bit version of Windows.
I tried updating my Win 10 x64 OS. No change.
Tried going through the device manager and disabling and enabling the COM port. No change. Then tried uninstalling the device, then reinstalling it. No change.
Tried using 3 different USB ports on my PC. No change. (I can upload the sketch to the Arduino with both USB cables and using any port, so I know that my cable and ports are capable of proper communication with the hardware)
Tried changing out the USB cable for a different one as well as testing again on all 3 USB ports. No change. (The device manager says the USB cable is working properly)
Can anyone else who has a working robot confirm my COM port settings are good? (This is the default configuration)
Thank you very much sir, I appreciate it. It's killing me being 99% done only to be stopped short by a communication issue.
From what I've been reading online regarding the permission error , it sounds like my com port is being used by multiple devices at once which might be causing the error?
I've tried closing the Arduino IDE completely before running the AR2 software but I get the same issue. I've also tried rebooting my PC and only opening the AR2 software; no change. Same error.
Tomorrow I'm going to try:
Using a different USB port on my PC
Using a different USB cable running from my PC to the Arduino
Trying everything again on another computer entirely
Make the edit in the software that you recommended and see if I can get that work
*Possibly* Try to run the AR2 software through a Linux OS (Ubuntu) via VirtualBox.
If you wanted to modify the source code you will need to run the .py file with python installed or compile to an exe file using auto py to exe
sorry I got a little confused reading through the other post. Im not certain on the permission error. I'll need to do some research on error 13
Looking through the other post:
https://www.anninrobotics.com/forum/questions/calibration-routine-from-ar2-py-non-responsive
The user was able to navigate through the AR2 source files.zip to the AR2.py file and locate the "COMMUNICATION DEFS" section where the port selection was found.
Where to go after this however, I have no idea.
I know that I can change the "port" line of code to read "COM10" + comPortEntryField.get() and save that, but I don't know how to affect that change into the autorun.exe file.
Looking at the Python CMD window, it's displaying:
I've been reading through all the relavent posts on the forums today and I remember one other post who also encountered a permission error. Researching it now.
When you attempt to jog one of the axis are you getting any errors or messages pop up in the python cmd window?
Troubleshooting:
1. I had my limit switches wired backwards, like an idiot (where the Arduino LED would remain lit the entire time. I corrected this, now the Arduino's LED only comes on when a limit switch is pressed) No change in getting the robot to move.
2. Looking at the motor drivers, I realized that I never adjusted the dip switches to their correct channels from the factory default values. Made the correct adjustments but no change.
3. Tried changing my PC's com port baud rate from 9600 to 115200 to match the Arduino sketches baud rate speed; but still no movement from the motors.
(Device manager> Ports> USB Serial Port (COM10)> Properties> Port Settings> Bits per second> 9600 to 115200> click "Okay")