This is my first project with the Aurduino and servos so sorry if I sound like I have no idea what I'm talking about! I am building a RFID lock for my dorm similar to this guy's project: (since this is my first post I apparently can't post active links so google: rfid dorm lock and click the first link). The only difference is I will not be using a string to pull the latch on the door to the unlocked position because of the way the lock is designed. From the outside if you turn the key to the right the door unlocks just like normal, however if you turn the key to the left and hold it you can push the door open without even turning the knob. You can then release the key to have the door re-lock. I would like to do the second option which is the equivalent of pushing the latch from 45 degrees (locked) to 90 degrees and holding it there for five seconds to allow time to push the door open before it re-locks.
My question is, I'm not sure how strong of a servo I need to be able to push and hold the latch. I'm just not sure if 76 oz-in or 4.75 lbs-in will be enough. Is there anyway that I could calculate this or should I just take an educated guess? I am looking at the HiTec HS-485HB Servo from Servocity which seems to have a good amount of torque for the price. Also ,just to make sure, if I want the full amount of torque I should probably use an external power supply right? Any help/advice would be great! Thanks everyone in advance!
Since you have posted your first post now, you can put links in your messages.
Also, maybe if you put some pictures of your door we might get a better idea of what you are talking about.... :-/
I appreciate the replies everyone! @Lefty: That sounds like a good idea. I'll definitely do that. @Photo-Worx: I posted some pictures of my door at the links bellow to give you a better idea of what I'm talking about. @digimike: Do you mean just using a DC motor instead of a servo? I'm assuming any decent servo is going to have proper gear ratios to get the maximum amount of power.
If you need a high power servo, you could use a larger gearmotor, and couple it with the electronics from a cheap servo; a windshield wiper motor would work well and be very inexpensive. Also, instead of a servo, have you thought about using a crank to cause a recipricating motion on the latch, with one or two microswitches for limit or position sensing? Or, you could simulate a servo using only an arduino, a potentiometer, a motor, an h-bridge, and some code...
@Photo-Worx That's a good idea and I might fall back on it but I really want to be able to have the servo rotate the full 90 degrees so I can lock the door from the unlocked position too. I will definitely look into it though. Thanks for the suggestion! I know the guy in the project I linked too used a HiTec Standard Servo. I just haven't played with very many servos so I don't really have an idea of how strong they are. Just curious though, if I did use the motor controller, does that complicate the code side of things?
Just curious though, if I did use the motor controller, does that complicate the code side of things?
Not really. All you would do to make the door lock actuator work is tell the controller to rotate the motor forward for, say, 5 seconds. then to put the lock back into the locked position you would tell it to rotate the motor backwards for the same 5 seconds. It would probably be about the same amount of code as using the servo.
but I really want to be able to have the servo rotate the full 90 degrees so I can lock the door from the unlocked position too
That would take more work because you now have to be able to rotate the lock lever over 90 deg. for the full motion from unlocked to locked to temp unlock. I don't know if it will be that simple mechanically to do that with a servo. If you want to be able to have the door unlocked when you are in the room, you may have to design the mount for the servo or actuator(whichever you use) so that you can swing it out of the way to totally unlock the door.?.? :-/
Well, I will be waiting to see how this one turns out. Good luck and I'm always here to help.
Thanks for the help. I have the code written and I have tested it on a small servo. It should work fine, I will always have the servo rotate 90 degrees when it gets a correct card. This way if the lock is locked it will rotate 45 degrees before coming into contact with the latch and then the last 45 will be holding it open. If the lock is in the open position a correct card will push it all the way to 90, hold for 5 and then release it leaving it in the locked position (thus locking the door). The only thing it can't do in that kind of setup is pull the latch back to permanent unlock (straight up) which I'm fine with. I think I'm going to go ahead and buy a relatively strong servo and see if that works. If it doesn't I'll save it for a future project and use your idea for the actuator. Thanks for all your help and I'll post the results of the project here when its done. Hopefully in a week or so.
One problem your going to face is torque, you will need a suitably large servo to get past the "latch" in the lock mechanism, servo's require more power than most people realise under load, I couldn't find a spec sheet on the HS-485HB but I found a data sheet on the HS-635BB which has similar speed and torque specs, it's stall current is 2000ma @ 4.8v or 2500ma at 6v.
I doubt the Arduino onboard regulator is going to be happy with that, which means external regulator and you will also need to have a power supply that can supply 3 or more amps.
Yeah I figure I'll try it like this just to see if the latch will work. If it can't without the full amount of torque (which is pretty likely) then I'll do a set up like you're talking about. I will definitely need some help though. I wouldn't want to screw something like that up and kill the arduino. Is this something the motor shield for the arduino can do along with an external battery?
Just a thought, what about attaching a small counter wight to the lock to reduce the amount of force I have to use to lock it. What do you guys think?