AutoStrap - a Self Tightening Strap

by The Puma in Circuits > Arduino

2438 Views, 7 Favorites, 0 Comments

AutoStrap - a Self Tightening Strap

IMG_1740.HEIC.jpg

Hello world!

The AutoStrap was created to get rid of the hassle of tightening straps that are put on any part of your body. Just like the shoes from Back to the Future, you simply push a button and the strap will tighten until it is tight enough that it won't slip off. This can be used to help those who have trouble putting on arm or leg braces as they do not need to bend down and forcefully tighten the straps. The video at the end of this Instructable shows it at work!

This is a pretty straightforward project with little technological knowledge necessary. A 3D printed arm mount holds a stepper motor that when turned on, wraps a strap around an axel. The other end of the strap is connected to a spring with a resistor inside. And once the strap is pulling hard enough on the spring, the resistor disconnects from its circuit which the Arduino will pick up and will tell the stepper motor to stop spinning.

The version that I have here is quite bulky and there are definite ways for it to be improved (which I will get into at the end). But if you want to try out what I got so far, let's get into it!

Supplies

71333vDnvkL._AC_SL1000_.jpg

Parts List:

  • Any Arduino will be sufficient the smaller the better (I used a regular Arduino Uno for this project)
  • Stepper Motor with driver (I used a cheap one that came in a basic Arduino kit)
  • 2 Resistors of different values (I used a 1k and a 220 Ohm resistors)
  • 1-2 Springs (I messed with different springs from this kit)
  • 220 uF Capacitor
  • Some kitchen Aluminum Foil
  • A strap
  • 9V Battery
  • Misc electronic parts: Breadboard, wires, button, etc.

Tools List:

  • Wire Stripper
  • Soldering Iron
  • Hot Glue gun
  • Computer
  • 3D Printer
  • A lot of Patience

Software:

  • Arduino IDE (which can be set up by following this guide here)
  • Fusion 360 or any CAD software
  • Download stl files and arduino code from my github

Making the Springs W/Resistors Inside

IMG_1729.HEIC.jpg
IMG_1734.HEIC.jpg
IMG_1731.HEIC.jpg
IMG_1732.HEIC.jpg


In order to gauge whether the strap has been tightened enough, we need to measure the force that the strap is pulling on the arm mount. Instead of buying some kind of force-sensitive resistors, I found some springs laying around the house and decided to use them to measure how tight the strap is.

Choose a spring that has a diameter of no larger than 1cm is about 3 cm in length. You can always adjust the CAD files for the size of your spring. Once you find a spring that you think has a good enough pull on it so that it can determine how tight your strap has to be (I just tried pulling different springs to see which one would be good), take a piece of aluminum foil and put it at one end of the spring. Then take your 1k Ohm resistor and coil one end so that it would be able to have a lot more contact with aluminum foil (look at the image above).

To put it all together, you take the resistor and hold it in the place where the coiled up end is touching the piece of aluminum foil but not the coils of the spring. Then you take the hot glue gun and glue the resistor in place from the end that is open. Once the hot glue cools down, take a wire and slide it between the aluminum foil and the spring (hot gluing it down to the aluminum if necessary).

To check if this was done properly, take a multimeter and check that the resistance between the one end of the resistor that is sticking out of the spring and the wire that is coming out of the aluminum foil is the same as the resistance that the resistor is rated for. And then you should try pulling the spring apart and you should see on the multimeter that the resistance drops to zero.

This is probably the only semi-complicated part of this build and that's mostly due to holding the resistor in place as the hot glue dries. Everything else is relatively straightforward. Onward!

3D Printing the Mount

Screen Shot 2022-01-11 at 6.06.19 PM.png
Screen Shot 2022-01-11 at 6.06.53 PM.png
Screen Shot 2022-01-11 at 6.07.19 PM.png
Screen Shot 2022-01-11 at 6.05.49 PM.png

All the files to print for the project are on my github. There are 4 parts that are needed for this project: the arm mount, the pin that wraps the strap, the cap for the pin, and the cover.

For the arm mount, you will need to edit the radius depending on the size of the arm/leg that you are hoping to strap the mount to. Also, you will need to edit the stepper motor mount and the section where you insert the springs if you have ones that are different than the ones that I used.

The pin attaches to the stepper motor and the cap is used to keep it in place.

The cover is used to attach the strap to the spring so that when the strap is wrapped around the pin, it will pull on the cover and by extension, the spring.

Printing Details:

  • the arm mount - hollow, lowest resolution
  • pin - printed vertically, 100% infill, highest resolution
  • cover and cap - printed flat, 100% infill, lowest resolution

While this prints out, let's work on the circuit.

The Circuit

AutoStrap_fritzing.png
IMG_1735.HEIC.jpg

With the stepper motor that I used, you simply wire it up as shown in the fritzing schematic above. The same with the button circuit.

The spring resistor that we created is represented by the 220 Ohm resistor with the green wires as I could not figure out how to get different resistor values in fritzing. The way that the Arduino measures the change in resistance is through a voltage divider circuit, which the wonderful Khan Academy can give a great explanation for. Essentially, the voltage divider rule states that the way two resistors in series divide the voltage between them is proportional to their resistance. As such, the wire from A0 that comes from the Arduino receives an analog value between 0 and 1024 which we can convert to voltage and then the resistance by using the voltage divider rule and Ohm's law which is all handled by the code in the next step.


The Code

Screen Shot 2022-01-11 at 6.01.48 PM.png

The code you can get from my github and upload it to your Arduino. In the code, you will need to change the steps per revolution so that it matches the specs of your stepper motor.

const int stepsPerRevolution = 4096; // change this


You can also change whether the strap will continue to tighten after the spring disconnects (this is if you find out that the spring you chose was too weak) by uncommenting this line and changing the number of steps that the motor continues to spin.

else if (Rx < 500 && !isTight) {
    Serial.println("\n Done!");
    //myStepper.step(100); //uncomment if you want it to continue to tighten
    tightening = false;
    isTight = true;
  }

Putting It All Together

IMG_1750.HEIC.jpg
IMG_1747.HEIC.jpg
Screen Shot 2022-01-11 at 6.08.47 PM.png
IMG_1745.HEIC.jpg
Screen Shot 2022-01-11 at 6.08.29 PM.png

Now that all the parts are assembled, we just need to put them together. Place the stepper motor into its mount on the arm mount and attach the pin with its cap. Then hot glue the strap of the pin so that it is tight enough that it won't slip when the stepper begins to rotate.

The other end of the arm mount, the spring hub, is where you will be putting the spring. Place the end with the aluminum foil and the wire so that it is facing the stepper motor and then slide the other end of the spring onto the ledges of the spring hub. There is a slot on the mount that allows the wire that is leading out of the spring to go out. Then you take the cover that was 3D printed and attach it to the spring. You can try twisting it onto the spring like a screw or using a copious amount of hot glue to keep it together. Take a look at the pictures above to get a better idea of where the spring will go. Once it's attached, you can glue the strap to the top of the cover, and you are done!

If everything is wired up correctly, it should tighten when you hit the button and loosen when you hit it again! Now if you think that the stepper motor needs to spin more for it to be tighter, you can switch the spring out or you can edit the code so that it continues to tighten even after the resistor loses contact with the aluminum foil.

Conclusion

AutoStrap Demo
IMG_1751.HEIC.jpg

I threw this project together by scavenging parts from old projects in a week, so obviously, there are many things I would like to improve on. First, I would like to consolidate all the circuitry onto a custom PCB that can fit quite nicely on the arm mount. Second, I would like to see if there is a smaller motor than the stepper motor that I used so it wouldn't be as bulky. Lastly, I want to explore different ways to measure the pulling force of the strap. Rather than it being simply a boolean value - tight or loose - I want to find a way to measure the pulling force as an analog value. Possibly connecting a spring to a potentiometer and when the spring extends it turns the knob of a potentiometer. We can use the spring force constant to calculate the distance the spring extends and then relate that to how much the knob of the potentiometer turns so that the resistance changes.

I would love to hear what people thought of this project and I hope you enjoyed!