Interesting Tech Projects
Jack the Ripper Bot IV – Software
Part 1 introduced the project, part 2 covered the mechanics and part 3 the electronics. Part 4 covers the software side.
1. Maestro
Install the Pololu Maestro software and then connect the Maestro to your PC and start the software.
The microswitches should already be displaying their status. Press the switches and make sure they are working.
Enable the three servo channels and manually move each servo to make sure it works.
Use the software to position the arm over the in tray, DVD drive and out tray. Make a note of the servo position values. Be careful not to go near the limits of the servo as it turns into a continuous rotation servo and loses position.
Use the software to work out a slow speed for raising and lowering the toolhead and also the value to make it stop without the servo making a buzzing sound. Make a note of these values.
Finally use the software to determine the servo values for the grippers being fully open and fully closed. Make a note of these values.
2. Tweaking
Open the DVD tray and put a DVD into it.
Use the two M8 nuts next to the hub to adjust the length of the arm so that the grippers are directly above the hole in the DVD.
Swing the arm over the in tray and check if the grippers are positioned over the center. If not swing the tray outwards slightly or add M8 washers as spacers between the tray and the tray anchor. If you move the tray then you will need to check again the servo value need for the in tray position.
Repeat this for the out tray.
3. Raspberry Pi Setup
Copy to the Raspberry Pi (RPi) the following:
- BotServer.exe
- config.xml
Edit config.xml in a text editor and insert the servo values you have worked out.
Mono needs to be installed on the RPi but the version in the repositories does not work. Instead use the version found here.
Run the server with:
mono ./BotServer.exe config.xml
Open the DVD tray and put a DVD into the in tray.
Load a disc by visiting: http://192.168.1.70/botapi/?command=loaddisc
Replace the IP address with the address of your RPi. The disc should be loaded into the tray.
You may have to adjust the YAxisLowertoDriveTime in config.xml which is given in 1/1000th of a second and governs the time spent lowering the toolhead before dropping the disc into the drive tray.
Once the load disc function is working test the unloading with: http://192.168.1.70/botapi/?command=unloaddisc
The YAxisLowertoOutTrayDropTime in config.xml governs the time spent lowering the toolhead before dropping the disc into the out tray. It has to drop from low enough that it consistently goes into the tray, but high enough that when the stack in the out tray is full there is space to drop the last disc.
4. PC Setup
Copy the following files to your PC:
- JacktheRipperBot.exe
- Rip.bat
- ScanningFinished.bat
Make sure the full .NET Framework 4.0 is installed. If you need to install it then reboot before running JacktheRipperBot.exe.
Install DVDFab Passkey or AnyDVD. Both applications have the option to execute a command when scanning of a disc has completed. Set this up to run ScanningFinished.bat.
Install Handbrake and check the correct path to HandbrakeCLI.exe is used in Rip.bat.
Start JacktheRipperBot.exe and enter the IP address of your RPi.
Go to the advanced tab and try the various operations individually.
Once you are happy everything is working enter the number of discs in the in tray and click on Start to start ripping!
Print article | This entry was posted by Andy on September 6, 2013 at 12:00 pm, and is filed under 3D Printing, Computer Aided Design. Follow any responses to this post through RSS 2.0. Both comments and pings are currently closed. |
Comments are closed.
about 8 years ago
The link for mono for the raspberry pi doesn’t work anymore, so I downloaded and installed mono 3.6 (one of the newer versions). I placed the exe and the config file in a folder on the desktop, and then ran this command:
mono /home/pi/Desktop/Server/BotServer.exe config.xml
However, I am getting this error:
Unhandled Exception:
System.Exception: The file config.xml cannot be found
at BotServer.Configuration.Load (System.String FileName) [0x00000] in :0
at BotServer.Program.Main (System.String[] args) [0x00000] in :0
[ERROR] FATAL UNHANDLED EXCEPTION: System.Exception: The file config.xml cannot be found
at BotServer.Configuration.Load (System.String FileName) [0x00000] in :0
at BotServer.Program.Main (System.String[] args) [0x00000] in :0
Both files are in the folder…
What should I do?
-David
about 8 years ago
I don’t know if the regular version of Mono works on the RPi. Try this: http://c-mobberley.com/wordpress/index.php/2013/12/27/raspberry-pi-mono-3-2-installation-hard-float-compatible.
If that doesn’t help then you will need to debug the problem.
about 8 years ago
Could you fix your link?
about 8 years ago
Done.
about 8 years ago
I managed to fix the above issue.
I’m running into a bit of an odd issue where the supplied program for the PC to run can send the web commands to the pi for the different tasks to complete, however browser calls such as:
http://(raspIP):9090/botapi/?command=unloaddisc
give me this response:
Error: The operation has timed-out
Any idea why the original PC program can correctly send requests, but web browser calls result in timeout errors?
about 8 years ago
Hi, how can I get the BotServer.exe and JacktheRipperBot.exe?
I’ve installed MS Visual Studio 2010 and now?
about 8 years ago
Open the .sln file (Solution file) and rebuild.
about 8 years ago
Aah, cool, thanks 🙂
about 7 years ago
Hi, would be nice if you could solve improvements point 4:
Eliminate Raspberry Pi.
– merge BotServer into JacktheRipperBot.exe
– PC communicates directly with Pololu Maestro
🙂
I’ve solved improvements point 6: Cable management 😉
about 7 years ago
Feel free to fork the project and make the improvements you desire.
about 7 years ago
Simple solution to eliminate the Raspberry Pi:
Replace /dev/ttyACM0 with the com port from the Pololu Micro Maestro 6-Servo Controller Command Port (see device manager -> connections), make a shortcut with BotServer.exe config.xml and start it, run JackTheRipper.exe and use the localhost IP (127.0.0.1) 😀
about 7 years ago
Do you mind if I write up an Instructable of my own version of this project?
about 7 years ago
That’s fine.