-
The Future, Electronic Skin
06/21/2020 at 16:08 • 0 commentsElectronic skin is being developed now and will be the better solution for tracking movement in the future once it gets affordable and convenient.
https://www.sciencenewsforstudents.org/article/electronic-skin
-
C++ Library for Interpreting Read Rope Device
04/19/2020 at 21:00 • 0 commentsI decided to move the function of interpreting read rope device output from the microcontroller to the computer.
The microcontroller now only has the function of interfacing the read rope analog circuit with the computer which includes sub functions of conberting the analog voltage output of read rope circuit to a digital value and relaying the digital value to the computer.
The tool that allows the computer to interpret the digital value coming from the microcontroller is the C++ library found here.
https://github.com/adct-the-experimenter/read-rope/tree/master/read_rope_shared_library
The library uses the FTDI chip on microcontrollers and FTDI drivers to get a digital value from the microcontroller through simple UART serial communication.
For now the baud rate is set at 9600 bps.
The library also includes functionality to allow the application programmer to get the digital value from the read rope device and calibrate the system for reading the device output using default or custom methods.
The library is still a work in progress.
-
Device Driver
04/06/2020 at 02:50 • 0 commentsThe next step for this analog device is to make a digital interface for it to use to communicate with a computer.
An ADC (Analog to Digital Converter) will be needed to convert the analog voltage into digital information. The digital information from the ADC will be sent via USB to the computer and a device driver will be used to tell the operating system how to communicate with the device.
This digital interface will be very helpful for the device to be used an in input device for VR, AR, XR programs or even a mouse for a computer.
Hopefully, OpenXR will be further developed soon to have device plugin interface support.
I will be working on calibrating this device in parallel with making a digital interface for it.
Edit:
04/12 After some consideration and help from others, I decided on using the FTDI chip and its available drivers to communicate with read rope as a serial device.
-
Calibration Program Initial Results
01/25/2020 at 19:40 • 0 commentsI made a calibration program using Arduino that uses serial to make the arduino choose to do calibration or read values.
Code:
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
01/05/2020 at 02:08 • 0 commentsI 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
12/26/2019 at 18:43 • 0 commentsIn 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
12/24/2019 at 05:35 • 0 commentsSpectra 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
12/21/2019 at 20:04 • 0 commentsI 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
11/10/2019 at 18:29 • 0 commentsI 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
- FlexPCB
- SPST-NC Tactile Switches
- 20k, 9k, 7k, 4k, 3k, 1k SMT Resistors
URL for Parts
-
Read Rope Prototype Version 1.1
09/25/2019 at 05:01 • 0 commentsI 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
- FlexPCB
- SPST-NC Tactile Switches
- 1Meg, 100k, 50k, 10k, 1k SMT Resistors
URL for Parts