Neal,
You have made good progress. Test the mess out of your prototype system. The 2nd limit switch may help detect door open/close issues.
As Lorne has indicated, steppers may not be the best solution for your door actuator. I think of your application as being similar to “power windows” in automobiles. Automotive window lift mechanisms have the following characteristics:
1. High torgue geared DC motors. Tremendous starting torque. And the gear train (often worm gear based) holds the windows in position when the motors are not powered.
2.
They sense motor current to detect when the window hits either the full open of full closed stop position. They actually use a quadrature encoder on the motor shaft. They use the encoder to calculate the velocity of the window motion. When the velocity hits zero the window quit moving. This is how they detect the up and down limit position.
3. The
current sensing The encoder, also, allows them to detect
windows that are blocked from motion by by either a mechanical failure or a human body part window is moving slower than normal. In either case the window control mechanism attempts to reverse course.
4. If the window controller supports an “auto up/down” operation, the mechanism includes some sort of encoder that keeps track of motor rotations so that the window, once calibrated, can be moved based on position feedback
rather than depending on the motor current to spike when they hit the full up/down position.
My current crop of Honda cars have window actuators with theses behaviors and they need to be re-calibrated if actuator is replaced or the battery has been disconnected. The calibration procedure is pretty simple, lower the window and then raise it and keep holding the “up” button for a couple seconds after the window gets to full the full up position.
This a link to a low cost geared-DC motor with a quadrature encoder:
https://www.servocity.com/26-rpm-premium-planetary-gear-motor-w-encoderThe PLC supports quadrature encoders. You can use two single pole double throw relays to get motor up, motor down, and motor braking. Same number of I/O's that you needed for a stepper and 2 limit switches. And you get better feedback on where the door is positioned and if their is a problem the prevents the door from moving properly.
Good luck with your project,
Gary D*ckinson