Close
0%
0%

Read Rope / Electronic Nerve

This is an open-source hardware project for a device that outputs a certain voltage depending on where the rope/wire is bent.

Public Chat
Similar projects worth following
This is an open-source hardware project for a device that outputs a certain voltage depending on where the rope/wire is bent. https://github.com/adct-the-experimenter/read-rope Hackaday Design Contest: This project addresses 2 challenges. One challenge it addresses is providing a good modular control interface for differently disabled people. With this concept, very small bends in lightweight wire caused by movement of fingers, arms, or legs can be turned into useful changing input for an electronic device to use.Another challenge that this can address is transferring physical phenomenon from the real world into virtual reality, augmented reality, or mixed reality. Movement of fingers, arms, or legs can be turned into an electrical signal that is turned into digital information.

How It Works:

A resistive flex sensor is in parallel with a limiter resistor.

The resistive flex sensor increases in resistance when bent, which increases the voltage at the output.

The limiter resistor in parallel to the resistive flex sensor scales the increase in resistance, which also scales the increase in voltage at the output.

There is a series chain of flexible sections, each containing a parallel combination of a resistive flex sensor and limiter resistor.

Different values for a limiter resistor in each section make for several equivalent resistors in series with each other that contribute different increases in output voltage when bent depending on the limiter resistor value.

If individual limiter resistors resistance value in each section of the chain were set to make the limiter resistor value dependent on the distance from the output node,

then, the increase in output voltage would depend on the distance of a flexible section from the output node thus making output voltage depend on the location of the bend of a flex resistor due to the limiter resistor's value depending on location of the bend.

See the diagram/schematic/figure for read rope circuit and the sample results.

Portable Network Graphics (PNG) - 80.98 kB - 01/07/2020 at 15:41

Preview
Download

Portable Network Graphics (PNG) - 4.31 kB - 01/07/2020 at 15:41

Preview
Download

Portable Network Graphics (PNG) - 4.04 kB - 01/07/2020 at 15:41

Preview
Download

markdown - 3.38 kB - 12/28/2019 at 19:23

Download

Adobe Portable Document Format - 523.60 kB - 07/23/2019 at 03:31

Preview
Download

View all 6 files

  • 7 × Wire
  • 4 × Resistor Any resistor. At least 2 for 1 bend. Amount of resistors is number of bends plus 1 for project.
  • 3 × Resistive Flex Sensor

  • Calibration Program Initial Results

    Pablo Antonio Camacho Jr.01/25/2020 at 19:40 0 comments

    I made a calibration program using Arduino that uses serial to make the arduino choose to do calibration or read values.

    Code:

    https://github.com/adct-the-experimenter/read-rope/blob/master/adc_code/arduino/read-rope-ADC/read-rope-ADC.ino

    The calibration fixed problems caused by error between actual output voltage and expected output voltage.

    Calibration is a step in the right direction.

    However, improvements need to be made to the calibration program to fix sensing multiple bends.

    The assumption that only 3 individual sections need to be calibrated since multiple bends are just a linear combination of the values of 3 individual sections is not working very well.

    The program needs to spend more time finding the max value output when a complete bend is made.

  • Next Steps After Success of Prototype v1.3

    Pablo Antonio Camacho Jr.01/05/2020 at 02:08 0 comments

    I recently made a prototype version 1.3 of read rope.

    Results


    It was very successful!

    - The equivalent resistance at output, load, increased based on the location of bends.

    - The flex sensors worked very well.

    - The output voltage increased based on location of bends and made it easy to tell where bends occurred.

    - The output of read rope was connected to the ADC of Arduino Uno and the arduino program verified that the bends were giving expected output voltage dependent on combination of bends.

    There were 2%-6% errors on expected values vs experimental values which could be due to tolerances of resistors, tolerance of flex sensor, flex sensor being a bit bent instead of flat.


    Considerations for next prototype

    1. Use flexible wire that can be bent over several times.

    2. Find tubing material that can enclose the wires and flex sensors.

    3. Make a sample microcontroller arduino program that can calibrate the flex sensor to determine which values signify a bend. Done to work with error.


  • The Ideal Relationship is Linear and Logarithmic

    Pablo Antonio Camacho Jr.12/26/2019 at 18:43 0 comments

    In an earlier log, it was stated the linear was the ideal relationship between output voltage and location of bends in read rope. This was partially correct.

    Actually, a linear and logarithmic relationship between output voltage and the location of bend is the most ideal and desired relationship. Otherwise piecewise.

    An individual linear increase in voltage is desired so that the increase in voltage at output is predictable, easy to read, and able to be set for different combinations of bends.

    However, overall, the individual increases should be logarithmic to each other so that it is easy to distinguish increase in voltage due to bends in certain locations. 


    For example, a bend at point A produces a large increase in voltage at output and a bend at point B produces a small increase in output voltage. If a large increase in output voltage is observed, then, the bend can be assumed to have been done at point A.

  • Use of Resistive Flex Sensor

    Pablo Antonio Camacho Jr.12/24/2019 at 05:35 0 comments

    Spectra Symbol is selling a resistive flex sensor which increases resistance by 2x when bent at a 90 degree angle.

    Product Page:

    https://www.spectrasymbol.com/product/flex-sensors/

    https://www.adafruit.com/product/1070

    I have considered using this product for read rope conceptually and done some quick simulation tests to see if it logically worked.

    It works very well.

    The resistive flex sensor can replace the switches conceptually and it would work out the same way.

    There is a minimum voltage for when there is no bend, and depending on where the bend is made, the voltage will increase by a certain amount.

    The output voltage will be unique to certain combinations of bends which is how we will know where the bends are made.

    A python script with ngspice simulation results will be made to create plots to show how the bends determine output voltage and the relationship between bend location and output voltage.

  • Considerations on Strain Gauge Use

    Pablo Antonio Camacho Jr.12/21/2019 at 20:04 0 comments

    I thought about how strain gauges may be incorporated in the project.

    In theory, they could replace the switches and the design can be changed to achieve the desired result of a voltage indicating where a bend was made.

    However, practically it does not work well for the following reasons:

    - Current strain gauges are as durable as a mechanical switch. No advantage gained.

    - Mechanical strain gauges are expensive.

    - They generally have low strain to resistance yields.

    -Can break if stretched/strained too much.

    There is some promise for a more flexible and more sensitive strain gauge.

    https://arxiv.org/abs/1708.09829

    I will keep searching for alternatives to a mechanical switch.

  • Prototype Version 1.2

    Pablo Antonio Camacho Jr.11/10/2019 at 18:29 0 comments

    I decided to change the resistors used so that the device can work with microcontroller ADCs. The ADC of the atmega328p of Arduino Uno microcontroller was considered.

    A large simulation 100 Mega ohmload resistor was added at the output to simulate the input resistance of the ADC of the atmega328p.

    Resistances of the resistors connected in series to path to circuit ground from output were changed to 1k,3k,7k,9k and track resistor was changed to 20k. These resistances were changed in order to have the output impedance of the circuit be 10k ohms at the resistor combination that gives max voltage. The output impedance needs to be 10k or less since the ADC of the atmega328p is optimized for signals that have an impedance of 10k or less.

    The total cost of making 5 pcb prototypes would be TBD not including shipping cost and not including tubing to contain pcb prototype and push button when bent.

    Parts List + Total Cost

    • 5x FlexPCB ,
    • 10x RMCF1206FT20K0 20k SMT Resistor,
    • 5x RC1206FR-079K09L 9k SMT Resistor,
    • 5x RC1206FR-077K15L 7k SMT Resistor,
    • 5x RMCF1206FT3K00 3k SMT Resistor
    • 5x CRCW12061K00FKEAC 1k SMT Resistor
    • 20x KSR221GNCLFS SPST-NC Tactile Switch, $12.80

    Most Expensive to Least Expensive Items

    1. FlexPCB
    2. SPST-NC Tactile Switches
    3. 20k, 9k, 7k, 4k, 3k, 1k SMT Resistors

    URL for Parts

  • Read Rope Prototype Version 1.1

    Pablo Antonio Camacho Jr.09/25/2019 at 05:01 0 comments

    I decided to change the resistors used.

    A large load resistor was added at the output so that output voltage is not affected by a small resistance at the load.

    Resistances of the resistors connected in series to path to circuit ground from output were changed because resistances of 1k,10k,50k,100k in parallel with a 1Meg ohm resistor at output gave a more linear relationship between output voltage and resistance at output.

    The total cost of making 5 pcb prototypes would be TBD not including shipping cost and not including tubing to contain pcb prototype and push button when bent.

    Parts List + Total Cost

    • 5x FlexPCB from PCBCart,
    • 5x KTR18EZPF1003 100k SMT Resistor,
    • 5x KTR18EZPF5232 50k SMT Resistor,
    • 5x KTR18EZPJ103 10k SMT Resistor
    • 5x KTR18EZPF100 1k SMT Resistor
    • 5x KTR18EZPF1004 1Meg SMT Resistor, $1.00
    • 20x KSR221GNCLFS SPST-NC Tactile Switch, $12.80

    Most Expensive to Least Expensive Items

    1. FlexPCB
    2. SPST-NC Tactile Switches
    3. 1Meg, 100k, 50k, 10k, 1k SMT Resistors

    URL for Parts

  • Linear is the Ideal Relationship between Output Voltage and Resistance at Output

    Pablo Antonio Camacho Jr.09/16/2019 at 23:40 0 comments

    A linear relationship between output voltage and the resistance at output is the most desired relationship.

    This is because when reading from an ADC, ideally one would want to read voltage values with mostly equal differences between combinations that give different equivalent resistances at the output.

    For example, if the relationship between output voltage and output resistance were logarithmic, then it would be difficult to distinguish one combination from another due to both having different equivalent resistances at output that produce nearly the same output voltage.

    If the relationship between output voltage and output resistance were exponential, adding a small resistance would produce a negligible effect on the output voltage.

  • BOM for Read Rope Prototype Version 1

    Pablo Antonio Camacho Jr.09/02/2019 at 21:36 0 comments

    The total cost of making 5 pcb prototypes would be $142.15 USD not including shipping cost and not including tubing to contain pcb prototype and push button when bent.


    Parts List + Total Cost

    • 5x FlexPCB from PCBCart, $124.35
    • 10x KTR18EZPF3004 3Meg SMT Resistor, $2.00
    • 5x KTR18EZPF3004 2Meg SMT Resistor, $1.00
    • 5x KTR18EZPF1004 1Meg SMT Resistor, $1.00
    • 5x KTR18EZPF1004 750k SMT Resistor, $1.00
    • 20x KSR221GNCLFS SPST-NC Tactile Switch, $12.80

    Most Expensive to Least Expensive Items

    1. FlexPCB
    2. SPST-NC Tactile Switches
    3. 3Meg, 2Meg, 1Meg, 750k SMT Resistors

    URL for Parts

  • Viablity of Through-hole Prototype vs Surface-Mount Flexible PCB Prototype

    Pablo Antonio Camacho Jr.08/05/2019 at 23:45 0 comments

    I tried to solder together through-hole resistors with surface-mount SPST NC push-button switches.

    It failed. I managed to get all the resistors and switches soldered together, but the solder joints broke with little bit of force from pushing the read rope into the vinyl tubing.

    This experience showed me that read rope will require an expensive prototype of a flexible pcb with only surface-mount components to accomplish the objective of creation of a thin device that outputs voltage depending on location of lightweight bends.

    A through-hole prototype for this is not viable because small through-hole switches are relatively big and have a higher actuator force requirement than surface-mount SPST NC switches. This would not work well with the requirements of the read rope of being small and requiring little force from a bend to activate the switch.

    A through-hole prototype for read rope is also not viable because the through-hole resistors are relatively big for the intended application and bring more noise than surface-mount chip resistors.

View all 15 project logs

  • 1
    Gather All Materials

    - 3x Resistive Flex Sensor by Spectra Symbol.

    - 2x 56k ohm resistor

    - 1x 10k ohm resistor

    - 1x 24k ohm resistor

    - Perfboard to cut into small pieces.

    - Solid Wire, 24 AWG

  • 2
    Make output section

    a. Cut a small piece of 6 hole x 6 hole perfboard that is big enough to contain a resistor, and 5 wires.

    b. Place 56k resistor into perfboard.

    c. Decide which holes will be used for output node, vcc node, and ground node.

    d. Connect vcc node to one end of 56k resistor and output node to other end of resistor.

    e. Add wire for external connection for vcc node, output node, and ground node.

    f. Solder connections if you are sure of your decision for the connections.

  • 3
    Make Flex sections

    a. Cut a small piece of 5 hole x 2 hole perfboard that is big enough to contain a resistor, flex sensor, and 2 wires.

    b. Place resistor into perfboard.(10k for section 0, 24k for section 1, 56k for section 3)

    c. Place flex sensor into board.

    d. Connect resistor and flex sensor in parallel.

    e. Connect one end of resistor to previous section with wire.

    f.  Connect next end of resistor to next section with wire.

    If at the last flex section, then connect next end of resistor to ground node of output section with wire.

    g. Solder connections if you are sure of your decision for the connections.

View all 3 instructions

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates