Pages: [1] 2 3 4   Go Down
Author Topic: Garage door, getting the position  (Read 3909 times)
0 Members and 1 Guest are viewing this topic.
Vejen, Denmark
Offline Offline
Edison Member
*
Karma: 9
Posts: 1178
RAWR! ^,..,^
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I am still working on my garage port controller, but I am unsure on how to determine the position of the port.

I would like to be able to set the position (maybe) 0 - 100% where 0% would be closed, and 100% fully opened. Thought about adding a rotary encoder to the motor, and then just count how far it moves, and then calculate that into percent. The problem there is just that if the power has been off, or program reset in the arduino, it wouldn't know where the port then is.

Any idea on what to do with this? Or would the rotary encoder be the best, and then let the arduino open or close the port to measure the port position.
« Last Edit: June 13, 2010, 01:05:12 am by bld » Logged

captain-slow.dk | non contagious!

DeKalb, IL USA
Offline Offline
Full Member
***
Karma: 0
Posts: 243
KB9SXU
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

If geared right, you could use a pot.  Something similar to a servo.  That way you would always know where it was.

Something that may or may not be harder to achieve... Create a gray-scale line across the length of the door. From black to white and then read the reflectivity with a sensor.
Logged

Jeff K - JKDevices.com - home of the MegaMini

Sussex UK / CT USA
Offline Offline
Edison Member
*
Karma: 0
Posts: 1028
Forums forever
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

One solution to the "if power fails" problem is as follows....

You use both a relative "has gone x units forward" sensor, and an absolute "it has reached the end" sensor.

On every power up, you cause the door to move until the "it has reached the end" sensor is tripped, and then count from "there".... until the whole thing has to be repeated after the next power failure. (You also use the "reache end" indication to take care of "drifting" between power failures.)
Logged

Vejen, Denmark
Offline Offline
Edison Member
*
Karma: 9
Posts: 1178
RAWR! ^,..,^
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

hmm, the strip is a good idea, but cant be used, the port is moving longer than its own length, so it would move off the scale. And it folds too, so a big area isn't possible to use. Should then use two sensors, but that might be a mess to work with too.

I should try to see if I could count the rotations of the motor, to see if it would be possible to use a multi turn pot.

Quote
On every power up, you cause the door to move until the "it has reached the end" sensor is tripped, and then count from "there".... until the whole thing has to be repeated after the next power failure. (You also use the "reache end" indication to take care of "drifting" between power failures.)
Yes, was thinking about that too, but would like it not to have to move on power up.
« Last Edit: June 12, 2010, 10:37:25 am by bld » Logged

captain-slow.dk | non contagious!

0
Offline Offline
Tesla Member
***
Karma: 141
Posts: 9470
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

If you have access to a rotating component, then gearing down the rotation to where full travel of the port is less than a whole rotation would allow the attachment of a pot. Some hobby shops have adjustable gear boxes, or look for a cheap toy with a geared setup to hack.  
Logged

Consider the daffodil. And while you're doing that, I'll be over here, looking through your stuff.   smiley-cool

Vejen, Denmark
Offline Offline
Edison Member
*
Karma: 9
Posts: 1178
RAWR! ^,..,^
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Trying to count the rotations it takes to fully open or close the port. But it is a bit difficult as it is turning pretty fast, and hard to see in there.

If it turns less rotations than it takes to move a multi turn pot from minimum to maximum, then that would be the best thing to use, I think. It would then just be to connect it directly to the shaft, and make a little mount for the pot.
Logged

captain-slow.dk | non contagious!

Phoenix, Arizona USA
Offline Offline
Faraday Member
**
Karma: 39
Posts: 5557
Where's the beer?
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
hmm, the strip is a good idea, but cant be used, the port is moving longer than its own length, so it would move off the scale. And it folds too, so a big area isn't possible to use. Should then use two sensors, but that might be a mess to work with too.

By "port", I am assuming you are meaning "door" - ie, a "garage door" to let an automobile in/out of the garage.

You don't say what kind of door this is, nor what is moving it. Here in the US, we have two typical kinds of garage doors - one that is basically a slab that moves on special hinges and large springs to tilt it up and over:

http://www.remodelguide.com/improve/garage/garage_intro.gif  (right image)

...and one that is composed of segmented pieces that moves on a curved track, typically with a coiled spring and cable counterweights to carry the extra load:

http://garagedoorrepairhelp.com/wp-content/uploads/2009/06/garage_door_parts_diagram.jpg
http://www.easyrollgaragedoors.co.uk/garage_doors_yorkshire_images/garage-doors-sectional-doors2.jpg
http://earlcarterlumber.com/images/affina_interior_432.jpg


...then there are the roll-up doors composed of multiple small segments - but you only see them usually on commercial buildings. There are other options (side swinging, plus some variations on the hinged vs segmented roller), but the majority here are one of the two types above (with the segmented roller version becoming more widely used despite its much higher initial cost - you see them more on new homes and remodels).

Either type of door can be moved by an opener that has the long rail and slider (chain, belt, or screw drive); sometimes on the segmented doors, though, the opener goes in place of the coiled spring and cables counterweight system:

http://www.1stdooropeners.com/walljackshaft.jpg

Knowing exactly what type of door you are moving, and what kind of system is moving it, may help us to help you come up with a positioning solution.

Quote
I should try to see if I could count the rotations of the motor, to see if it would be possible to use a multi turn pot.

A multi-turn pot with a gearing system might be the best (and simplest) way of implementing a positioning system. You could also do something similar with a regular potentiometer (because really, that is all a multi-turn pot is - a regular pot - sometimes linear travel - that is geared down to the knob).

The idea of a gray-scale line could be done, but doing it would be difficult. What might be better (depending on the door style) would be to set up a simple "bar-code" (look into "Gray Code") along the edge of the door (if on a track) that could be read by a few photo-detectors. You could probably position the door within a few centimeters of precision with such a system (not sure what your needs are, but that seems reasonable to me).

If your door is the "tilting slab/hinged" type, you could connect the potentiometer to one of the moving guide bars on the hinging system via a linkage; since the door moves in a fraction of a circle, a standard pot could be easily used.

Another way to measure the position would be to connect a tape measure tape to the end of the door; as it moves up and down, the tape would move in and out (the torsion spring in the measure would retract it). Add a means to sense the movement of the tape (bar code, contact roller/gear mechanism, etc). Something similar could be done also via a retractable clothes line mechanism.
Logged

I will not respond to Arduino help PM's from random forum users; if you have such a question, start a new topic thread.

Greenwood, Indiana
Offline Offline
God Member
*****
Karma: 0
Posts: 508
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Since that is something that has to be done safely you'd want an optical incremental rotary encoder with a home position.

http://www.arduino.cc/playground/Main/RotaryEncoders This gives a basic understanding of them. Industrial ones are available on ebay for around $25. I picked up one that does 1024 pulses per revolution and works at 5-24 volts which allows it to work with the Arduino or with 24volt industrial controllers. You want the line driver version.



Logged

If it was designed by man it can be repaired by man.

Vejen, Denmark
Offline Offline
Edison Member
*
Karma: 9
Posts: 1178
RAWR! ^,..,^
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Yes it is a door... Language confusion, door and port isn't the same in Danish. A door is something that is sized for persons to walk through, and port  for bigger "doors" that are for car and such.

Mine is one with hindges that bend when it opens

Video of it here:


This also shows how the motor opening it is working.

The idea with a measure tape is good, but I just finished removing the old wires from it, and made it all nice and tidy (and changed the switches to some magnetic ones instead http://bld-live.dk/?p=68), so I would like to keep it as clean as possible, with as few things hanging around as possible too. smiley Also thought if it could be possible to do inside or near the rails the wheels are running in, but they are shielded in a way that prevent things to come in between, so can't attach anything there and still make it invisible.


Quote
Since that is something that has to be done safely you'd want an optical incremental rotary encoder with a home position.

http://www.arduino.cc/playground/Main/RotaryEncoders This gives a basic understanding of them. Industrial ones are available on ebay for around $25. I picked up one that does 1024 pulses per revolution and works at 5-24 volts which allows it to work with the Arduino or with 24volt industrial controllers. You want the line driver version.
With a home position? Isn't that only for telling you where on the 360 degrees rotation it is? I need something that can tell the Arduino where it is somewhere in 50-80 revolutions.
« Last Edit: June 12, 2010, 02:53:48 pm by bld » Logged

captain-slow.dk | non contagious!

nr Bundaberg, Australia
Offline Offline
Tesla Member
***
Karma: 126
Posts: 8471
Scattered showers my arse -- Noah, 2348BC.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

You can also get absolute rotary encoders, same as the pot idea but digital.

Thinks...but that would need X inputs whereas the pot only needs 1.

Quote
Yes it is a door... Language confusion
A "door" in English is basically anything that opens and closes to let anything pass through, regardless of size.
« Last Edit: June 12, 2010, 07:20:03 pm by graynomad » Logged

Rob Gray aka the GRAYnomad www.robgray.com

0
Offline Offline
Tesla Member
***
Karma: 141
Posts: 9470
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

What is the total travel length of the port? I looked at the video, and lots of different possibilitys. The joint panels flex as they are moving which could be monitored. I think a martini is in order to get the creative juices flowing.  smiley-wink
Logged

Consider the daffodil. And while you're doing that, I'll be over here, looking through your stuff.   smiley-cool

Vejen, Denmark
Offline Offline
Edison Member
*
Karma: 9
Posts: 1178
RAWR! ^,..,^
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
The joint panels flex as they are moving which could be monitored. I think a martini is in order to get the creative juices flowing.
That sounds like a solusion that will leave nothing than a headacke, just like the martini. smiley-wink

Quote
I would put a layer of insulating tape down the side of the aluminum channel (the one with the lead-screw inside). Then I would put a length of carbon conductive tape to form a 3-meter long "slide pot". That would give you an absolute reading on position and you can connect it directly to an Arduino analog input.
That is a very good idea! Only problem is to add a wire to the moving door, or maybe that can be worked around by putting two up, and then just connect one to another, and then read two instead of one.
Logged

captain-slow.dk | non contagious!

Offline Offline
Edison Member
*
Karma: 3
Posts: 1001
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

What about ultrasound?

A distance sensor mounted at the bottom edge of the door pointing downwards would allow you to read the door position relative to ground at all times.
Logged

Vejen, Denmark
Offline Offline
Edison Member
*
Karma: 9
Posts: 1178
RAWR! ^,..,^
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
A distance sensor mounted at the bottom edge of the door pointing downwards would allow you to read the door position relative to ground at all times.
Would work too, but I would then still have to attach a wire to the moving door.

I could also let the arduino time the door every time it is doing a full move, but I think that would get very inaccurate efter 2-3 steps without a full move, plus the time changes depending on how cold it is, because there are much bigger resistance from the rubber seals on the outside when it is cold.
Logged

captain-slow.dk | non contagious!

0
Offline Offline
Tesla Member
***
Karma: 141
Posts: 9470
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Questions:
1) what is the position accuracy you need?
2) How much $$$ are you willing to spend?
Logged

Consider the daffodil. And while you're doing that, I'll be over here, looking through your stuff.   smiley-cool

Pages: [1] 2 3 4   Go Up
Jump to: