I was excited to find robotshop.ca on the internet and particularly interested in some of the high torque motor gearboxes you sell. I’m hoping someone might be able to help me with a recreational project I would like to build.
I am not a robotics engineer, nor do I have any experience in the robotics world, the closest thing I understand are pneumatic control systems and actuators used in the oil industry for process control.
My application is an automatic steel target resetter for smallbore rifle (.22 caliber). The target design is pretty simple: small steel targets (ie: a 4 inch diameter plate cut from 1/4 inch hardened steel) afixed to a hinge. The hinge is protected from gunfire (ie: welded to the backside) by a deflection plate, and the steel target leans forward against the edge of the deflection plate. If a bullet strikes the deflection plate it ricochets downwards into the ground. If it hits the steel target, it’s inertia is transfered to the steel target causing the target to rotate rearwards, appearing to fall down behind the deflection plate.
I would like to build a system by which I can remotely reset the target via a high torque actuator running off a 12 volt system (which would be protected from gunfire by being enclosed in a steel box). This could easily be accomplished by having the actuator drive a cam which acts on the back of the steel target. As the cam is rotated, it would push on the back of the steel target and rotate upwards until it fell forwards, automatically disengaging itself from the cam. I’ve been looking for an appropriate electrical actuator and was !!SUPER EXCITED!! to find your website. The actuator I was most excited about was the Banebots 12V 263RPM 2527oz-in Planetary Gearmotor w/RS-540 Motor
Question number 1:
Is it possible for me to easily (ie: someone with little programming or electronic controller knowledge) rig up a control system for the motor such that when a switch is momentarily triggered, the motor effects one complete rotation of the output shaft and then shuts off?
Question number 2:
I’ve been looking for a very simple two channel radio system that I could use to trigger the target reset. Each channel would be used to reset a separate target (with it’s own actuator), and all that I want is to have to push a button to trigger the actuator. I guess that if a guy were able to rig something like this up I would not need the answer to question number one as I could simply hold the button down until the actuator has rotated enough for the cam to have lifted the target and then continued to rotate enough such that it was down and the target could then fall freely when hit (ie: not hit the cam). Maximum range on the transmitter would be 100 yards.
Thank you in advance for any help you’re able to render.
To answer your question on a mechanical solution; there are lots of people who build targets like this however when you have more than one target and are running some sort of scoring system, it can sometimes become difficult to keep track of which targets were hit and which ones were not. If they all stay knocked down until manually reset (ie: the poorboy version of this is 10 target set up in a row, no hinges, but on little stands. A hit knocks the target off the stand). If they fall down and stay down until the end of the “heat” it makes it much easier to score. Being lazy the way I am, rather than running downrange (safety considerations too!) it would be nice to push a button and have everything reset. The ultimate goal of the actuator system would be to have it run a shaft with multiple cams such that it could reset say 5 targets or so.
If it is a wired system, the simplest thing is to have a manually operated switch control the motor however what I don’t like about that (and what you identified immediately as the achillis heal of the system) is that it is possible for the cam to be in position such that when the target falls it imparts force on the cam. Ideally, when idle the cam should be in the down position such that when the target falls, there is no interaction at all between the cam and the target. Only when the cam is rotated should it make contact with the back of the target.
As such, the second solution with a push button off switch toggled by the target as it resets, this would leave the cam engaged with the target ergo risking damage to the motor/gear assembly. This approach could work though if the switch was toggled by the cam when it reached the bottom. I would not know how to program the microcontroller such that when it received signal #1 (control input via Jason actuated wired switch to “LIFT”) it would turn on, and when it received signal #2 (control input via cam-in-down-position switch) it stopped. Additionally complicating this would be that when it stopped, the stop switch would be in the “send off signal” position…the “on” switch would have to override the “off switch” which is a level of complexity also beyond my current knowledge level.
Potentiometer feedback sounds like the most elegant solution (if I understand this correctly the potentiometer would give feedback to the controller about the position of the gearbox output shaft (by association also info on the position of the cam) and the controller would be programmed to know to shut off when position = down. Again, this is far beyond my current knowledge level.
Are there any resources you could point me towards such that I could learn about this, or better yet is there someone you could recommend who could economically effect a hardware recommendation and programming for me?
Welcome to the forum. When making a setup such as the one you describe, it’s important that as little force is transmitted to the actuator as possible (remember, the motor shaft rotates the planetary gears, which causes the output shaft to rotate and NOT the other way around. Rotating the output shaft would create back EMF and also damage the motor). Essentially, your CAM mechanism would hopefully ensure that although the target is rotating with a certain inertia and speed, the motor’s output shaft would not rotate.
Creating a wireless system from scratch is harder than creating a wired system. You may want to consider simply running a cable from a button to your target – it would save you a lot of time and programming.
Q1) If you want to do it wirelessly, you will most likely need guidance as it will involve programming. However, if you are willing to have the system wired, it can be fairly straightforward.
Q2) To create a custom remote control system using a standard R/C unit, you would need a motor controller that accepts R/C input.Many of these can control two motors. You would simply need to ensure the right pins from the servo receiver box are connected to the right pins on the motor controller.
Stopping the motor at a certain position can be done several ways such as with a pushbutton or using potentiometer feedback. The Pololu Trex Motor Controller might be able to do the trick. Read through the manual carefully to see if it suits your needs.
Another method would be to use a microcontroller and limit switches (push buttons). The microcontroller would receive a signal when the button is pushed (the button would be pressed when the target reached its upright position) stopping the motor controller (which stops the motors). Again, since you are new to robotics, you may get more satisfaction seeing the wired version work before making the system wireless.
As a secondary question, wouldn’t a weight attached to the target, located a distance beneath the pivot point automatically reset the target? The lower the mass, the less time it takes to reset. Granted this is a purely mechanical solution.
Don’t be scared to learn how to program a microcontroller. The idea is to find the best solution to meet your objectives. The only note would be to keep the electronics system weatherproof. Here’s an example with the popular Arduino Diecimilla Microcontroller:
Most rotary potentiometers rotate between 0 and 300 degrees (but not more). There are 3 pins: one for input voltage (usually 5V), another for ground, and the third (center) pin for the output voltage. When turned to 0 degrees, the center pin would output 0V. When the shaft of the potentiometer is turned to 300 degrees, the center pin would output 5V. The voltage on the center pin increases as the shaft turns (proportinal to the supply voltage).
The Diecimilla (as with many other microcontrollers) has a built-in analog (voltage) to digital (numeric) converter. A voltage of 0V is “converted” to the number 0. A voltage of 5V is converted to the maximum number (1024 for the Diecimilla). The microcontroller simply reads this value using the one line of code:
potvalue = analogread(4);
“potvalue” is simply a vaiable (you can use any name really), and “4” is an example of the pin number (you can use any of the analog inputs) on the microcontroller that the center pin of the potentiometer is connected to. You would use “if” statements in your code so that your microcontroller knows what to do if a certain value is reached. For example:
if (potvalue = 1024) stopmotor(); //potentiometer shaft rotated to 300 deg.
Arduino has a complete tutorial available as well as reference libraries at arduino.cc
Another approach is to use an off the sheft remote control unit with the Dimension Engineering Battleswitch RC relay. The switch simply turn the motor on, off or reverse based on the joystick commands. You would use a mechanical switch to cut the current once the target reached its upright position.