Notifications
Clear all

Emergency Brake in Elevator (dumb waiter)

25 Posts
5 Users
6 Likes
132 Views
(@dbwfred)
Member
Joined: 2 weeks ago
Posts: 10
Topic starter  

Hi Guys
I am looking to build an "Emergency Brake System" for an Elevator (Dumb Waiter, not for people).

The Elevator has a second separate counterweight cable that I want to use as the emergency brake should the main drive motor/cable fail.

The plan
The Counterweight Cable will run over a 440mm diameter Sheave/Pulley that in normal operations rotates freely on an a axle with 10" Electric Trailer Wheel Brake Drum. The Brake operates at 0-12V DC and pulls about 4 Amps maximum.

I want to set the Arduino Uno up to measure the elevator down speed using a HC-020K Dual Speed Measurement Sensor Module. This would be set up on the above Sheave/Pulley.

With some code, this would give me a RPM of the pulley

Depending on the speed, I would like the arduino to put out a varying PWM signal

The PWM signal would go to an IBT2 (BT57960) H-Bridge to produce varying voltages to drive an electric brake drum.

For Example:
If the normal speed of the elevator is .05m/Sec the IBT2 would put out 0V
If the speed increased to .06m/Sec the IBT2 would put out 2V
If the speed increased to .08m/Sec the IBT2 would put out 3V
Etc, Etc
This would continue up to the full 12V (100% Brake Applied) if needed.

The theory is that the elevator would return to ground at a safe speed controlled by the Electric Brake.

I need your help (The Community) with the project.

Please keep you replies in simple language as I am very new to arduino programming.

This is what I am trying to achieve:
If RPM is < N (normal) - BV (brake voltage) is zero
If RPM is > N - BV = 1 Volt
If RPM is still > N - BV = 2
If RPM is still > N - BV = 3
Etc
Etc

Q1.  Can I achieve this with the electrical components (HC-020K Dual Speed Measurement Sensor Module and the IBT2 (BT57960) H-Bridge) described above?

Q2.  Could I get some help developing the codes required to make it work?

Thanks in advance, Fred.


   
Quote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 7026
 

@dbwfred Sorry if this sounds a bit harsh, but as a former elevator mechanic and designer, I hope this is in your own house and you are okay with injuring the inhabitants. If either of those two statements is false, STOP.

I am hoping this is in your house so I will give you some info. Emergency brakes (in passenger Elevators) don't work that way at all, they use sharp hard steel knives that shoot into the rails to stop the falling car. They are spring loaded. The mechanism to fire the knives is indeed built on a MECHANICAL overspeed pulley. I don't recall how dumb waiters are treated although I bet in a public setting like a restaurant the same rules apply.

99% of the electronic/electrical parts in an elevator are for safety. The annual test involved me being in he car with the government inspector and my partner would manually trip the safety as we were descending. We had to be very sure of our equipment.

You live in a different jurisdiction and it's been a while since I had anything to do with elevators, so maybe something has changed from the above, but I would be surprised.

I may or may not help depending on your answers.

BTW, it is ALWAYS just code, NEVER codes or a code.

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
ReplyQuote
(@dronebot-workshop)
Workshop Guru Admin
Joined: 5 years ago
Posts: 1085
 

Posted by: @zander

@dbwfred Sorry if this sounds a bit harsh, but as a former elevator mechanic and designer, I hope this is in your own house and you are okay with injuring the inhabitants. If either of those two statements is false, STOP.

Ron, it's a dumb waiter. It isn't going to carry people!  How could it injure the inhabitants?

😎

Bill

"Never trust a computer you can’t throw out a window." — Steve Wozniak


   
DBWFred reacted
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 7026
 

@dronebot-workshop If it falls and some debris blows out the door that someone is near it can. I know it's a slim chance, but in the elevator business, you are taught to be super safety-oriented.

Also, workers have been known to bypass the safeties to look up to see if the dumb waiter is coming or not and that is an opportunity for catastrophic injuries.

I want to be sure this is for his own use before I comment much further given the litigious state of society nowadays. I think between my wife and I we received 4 class action lawsuit notices to participate in the last 12 months, and I have received payments 3 times in the last few years so I am perhaps more aware than most.

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
DBWFred reacted
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 7026
 

@dronebot-workshop Also Bill, we don't know if he has kids, or if this dumb-waiter is located in a space that children can access. This is the ultimate 'attractive nuisance', riding in a dumb waiter. Here is a link to the Wiki about that legal doctrine. https://en.wikipedia.org/wiki/Attractive_nuisance_doctrine

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
ReplyQuote
(@dbwfred)
Member
Joined: 2 weeks ago
Posts: 10
Topic starter  

@zander not commercial use, no public access


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 7026
 

@dbwfred Fantastic. Now I will re-read your opening post to see if I can be of any help.

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
ReplyQuote
(@dbwfred)
Member
Joined: 2 weeks ago
Posts: 10
Topic starter  

@zander “code” hey🤔, thanks for that info 😉


   
ReplyQuote
(@dbwfred)
Member
Joined: 2 weeks ago
Posts: 10
Topic starter  

@dronebot-workshop Thanks Bill. This is why members don’t like putting too many details about their projects. All the good advice in the world without actually answering the question/s asked. It kills forums. No doubt all have good intentions😊


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 7026
 

@dbwfred Most of the time we don't get enough information.

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 7026
 

@dbwfred To answer your questions.

Q1. YES

Q2. Depends.

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
DBWFred reacted
ReplyQuote
(@davee)
Member
Joined: 3 years ago
Posts: 1697
 

Hi @dbwfred,

  I'll leave Ron (@zander) to provide his specialist elevator experience, but hoped a few quick general thoughts for you to ponder might be helpful... apologies if you have already considered them.

  1. Have you considered what happens if the power fails, a connection breaks, the Arduino crashes, etc.. Does that automatically enable the brakes?  (The algorithm outline suggests that 0V means no braking.)
  2. The 'graduated' braking scheme suggests this is more of 'normal use' control system .. but I would assume that would be the responsibility of the main cable, motor, etc. If this is an 'Emergency Brake', then I would have expected it to be as simple as possible, even if that means it is rather 'harsh', so that you can be sure it will work.
  3. An 'emergency anything' system should normally be separate from, and not require anything from the 'Normal' system. A complex system could end up 'fighting' with the 'Normal' system, or an 'unexpected' fault in the 'Normal' system might disable the 'Emergency System'. The 'graduated' approach suggested the Emergency system was being invoked on a 'light touch' basis under normal conditions, which can get 'messy'.

Personally, I would have thought the Arduino, etc. would be responsible for the 'Normal' operation, motor control etc. and the 'Emergency' system would be rather more 'basic', and possibly largely mechanical, with perhaps a simple electrical speed sensing part that would be triggered if it starts falling too quickly.

I wish you luck with your project. And whilst I appreciate this is a dumb waiter, please be careful, as falling objects can easily become dangerous.

Best wishes, Dave


   
ReplyQuote
Will
 Will
(@will)
Member
Joined: 3 years ago
Posts: 2535
 

@dbwfred 

Q2 - partly

Here's a simple outline of what you'd need as the sketch for this activity. I am not familiar with the braking system nor the measurement device that you want to use, so I have just put in dummy calls.

I'm using the descent rate instead of RPM because you'll measure it and calculating RPM from it just wastes time. The array of boundary speeds may be adjusted as you refine your braking requirements while testing the prototype. You may need to change the return value from int to float if you find that you need to control the voltage values finer than 1 volt apart.

This is intended only as an example of the layout of the final sketch, it will require significant refinement and change as your project progresses.

I have not tested this sketch in any way. I only claim that it compiles clean for an Arduino UNO.

//
//    Array of descent rates used for braking voltage calculations
//    
//
  
float boundary[] = {0.05, 0.06, 0.08, 0.10, 0.12, 0.14, 0.16,
                    0.18, 0.20, 0.22, 0.24, 0.28, 0.30};

long  loopDelay = 2000;                     // 2 second sampling delay
//
//    Initialization and module setup
//
void setup() {
  Serial.begin(9600);                        // Start serial monitor
}
//
//    Method to return rate of descent of cage using HC-020K 
//
float descentRate() {
  float mpsec = 0.0;
  //
  //    Put code to calculate descent rate here
  //    Returns value in metres/second
  //
  Serial.print("Calculated descent rate is ");
  Serial.println(mpsec);
  return mpsec;
}
//
//    This compares the measured rate at which the cage is dropping and
//      compares it to the list of boundary speeds listed above. The
//      rates are arranged so that the index of the first element that is
//      greater than the rate is the voltage to apply to the braking
//     mechanism
//
int brakeVoltage(float rate) {
  for (int i=0;i<12;i++) {
    if (rate<=boundary[i])
    return i;
  }
  //
  return 12;
}

//
//    Apply the braking force to the brake drum
//
void applyBrake(int voltage) {
  Serial.print("Brake voltage is ");
  Serial.println(voltage);
  //
  //    Put code to apply voltage to the brake
  //
}

void loop() {
  float rate = descentRate();
  int   braking = brakeVoltage(rate);
  applyBrake(braking);
  //
  delay(1000);                               // Wait 1 second and then go again                                       
}

Anything seems possible when you don't know what you're talking about.


   
DBWFred reacted
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 7026
 

@davee I am a little mystified by the proposed solution, although my experience with dumb waiters is smaller and very long ago. Emergency systems don't work anything like the proposal, they involve hardened steel knife edge parts on a strong spring and a mechanical release mechanism involving an overspeed clutch and springs etc. Now I can't say for sure that system was used on dumbwaiters, in fact it sounds like overkill except you have a slippery slope situation as to at what size does it become a one or two person people mover in a luxury house.

I think what the OP really wants is a better safer hoist system. All I can tell you is what I have seen. They typically involve steel rope wound many times around a grooved drum to provide friction in order that the rope can't slip. There are many types of motors both AC and DC and gear/belt/direct drives. These typically have a large wheel with a very thick brake shoe wrapped around it. It is spring loaded and is electrically driven away from the braking surface. This way in a power failure the normal brakes are applied. Old style speed control involved rotating steel balls and all kinds of mechanical devices. Of course today most will be electric at least and more and more electronic/computer style.

Just going from memory, these motors slowed nicely if you just reduced the power to them due in part to all the friction in the mechanical layout.

I think the OP is close to a solution, but my main quibble is that instead of applying a mechanical brake just use some sort of electronic brake (in the old days it was called plugging, basically turned the motor into a generator). Apply the mechanical brake at during the last few feet but it can not remain on while positioning (making the exit floor and cab floor level)

Sorry, maybe too much history, but I think you will get my direction of thought.

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 7026
 

@davee Here is a picture of a very typical hoist motor and brake. The small device on top of the brake is the electromagnet thet deactivates the brake. In a power failure, the spring-loaded brakes are automatically applied. You can see the grooves in the hoist pulley. It appears to be a right-angle geared drive using a 440VAC motor. I think speed control including very slow levelling is done electronically. These are often AC induction motors and use some form of variable frequency controller to control the speed. That sounds a lot like PWM.

Screenshot 2024 04 24 at 19.56.32

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
DaveE reacted
ReplyQuote
Page 1 / 2