189 lines
6.8 KiB
Org Mode
189 lines
6.8 KiB
Org Mode
#+TITLE: Flexible Joint - Test Bench
|
|
:DRAWER:
|
|
#+LANGUAGE: en
|
|
#+EMAIL: dehaeze.thomas@gmail.com
|
|
#+AUTHOR: Dehaeze Thomas
|
|
|
|
#+HTML_LINK_HOME: ../index.html
|
|
#+HTML_LINK_UP: ../index.html
|
|
|
|
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="https://research.tdehaeze.xyz/css/style.css"/>
|
|
#+HTML_HEAD: <script type="text/javascript" src="https://research.tdehaeze.xyz/js/script.js"></script>
|
|
|
|
#+BIND: org-latex-image-default-option "scale=1"
|
|
#+BIND: org-latex-image-default-width ""
|
|
|
|
#+LaTeX_CLASS: scrreprt
|
|
#+LaTeX_CLASS_OPTIONS: [a4paper, 10pt, DIV=12, parskip=full]
|
|
#+LaTeX_HEADER_EXTRA: \input{preamble.tex}
|
|
|
|
#+PROPERTY: header-args:matlab :session *MATLAB*
|
|
#+PROPERTY: header-args:matlab+ :comments org
|
|
#+PROPERTY: header-args:matlab+ :exports both
|
|
#+PROPERTY: header-args:matlab+ :results none
|
|
#+PROPERTY: header-args:matlab+ :eval no-export
|
|
#+PROPERTY: header-args:matlab+ :noweb yes
|
|
#+PROPERTY: header-args:matlab+ :mkdirp yes
|
|
#+PROPERTY: header-args:matlab+ :output-dir figs
|
|
|
|
#+PROPERTY: header-args:latex :headers '("\\usepackage{tikz}" "\\usepackage{import}" "\\import{$HOME/Cloud/tikz/org/}{config.tex}")
|
|
#+PROPERTY: header-args:latex+ :imagemagick t :fit yes
|
|
#+PROPERTY: header-args:latex+ :iminoptions -scale 100% -density 150
|
|
#+PROPERTY: header-args:latex+ :imoutoptions -quality 100
|
|
#+PROPERTY: header-args:latex+ :results file raw replace
|
|
#+PROPERTY: header-args:latex+ :buffer no
|
|
#+PROPERTY: header-args:latex+ :tangle no
|
|
#+PROPERTY: header-args:latex+ :eval no-export
|
|
#+PROPERTY: header-args:latex+ :exports results
|
|
#+PROPERTY: header-args:latex+ :mkdirp yes
|
|
#+PROPERTY: header-args:latex+ :output-dir figs
|
|
#+PROPERTY: header-args:latex+ :post pdf2svg(file=*this*, ext="png")
|
|
:END:
|
|
|
|
#+begin_export html
|
|
<hr>
|
|
<p>This report is also available as a <a href="./test-bench-flexible-joints.pdf">pdf</a>.</p>
|
|
<hr>
|
|
#+end_export
|
|
|
|
* Flexible Joints - Requirements
|
|
|
|
| | *Specification* |
|
|
|-------------------+-----------------|
|
|
| Axial Stiffness | > 200 [N/um] |
|
|
| Shear Stiffness | > 1 [N/um] |
|
|
| Bending Stiffness | < 100 [Nm/rad] |
|
|
| Torsion Stiffness | < 500 [Nm/rad] |
|
|
| Bending Stroke | > 1 [mrad] |
|
|
| Torsion Stroke | > 5 [urad] |
|
|
|
|
* Test Bench Description
|
|
** Introduction :ignore:
|
|
|
|
The main characteristic of the flexible joint that we want to measure is its bending stiffness $k_{R_x} \approx k_{R_y}$.
|
|
|
|
To do so, a test bench is used.
|
|
Specifications of the test bench to precisely measure the bending stiffness are described in this section.
|
|
|
|
The basic idea is to measured the angular deflection of the flexible joint as a function of the applied torque.
|
|
|
|
#+name: fig:test-bench-schematic
|
|
#+caption: Schematic of the test bench to measure the bending stiffness of the flexible joints
|
|
[[file:figs/test-bench-schematic.png]]
|
|
|
|
** Matlab Init :noexport:ignore:
|
|
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
|
<<matlab-dir>>
|
|
#+end_src
|
|
|
|
#+begin_src matlab :exports none :results silent :noweb yes
|
|
<<matlab-init>>
|
|
#+end_src
|
|
|
|
** Flexible joint Geometry
|
|
The flexible joint used for the Nano-Hexapod is shown in Figure [[fig:flexible_joint_geometry]].
|
|
Its bending stiffness is foreseen to be $k_{R_y}\approx 20\,\frac{Nm}{rad}$ and its stroke $\theta_{y,\text{max}}\approx 20\,mrad$.
|
|
|
|
#+name: fig:flexible_joint_geometry
|
|
#+caption: Geometry of the flexible joint
|
|
[[file:figs/flexible_joint_geometry.png]]
|
|
|
|
The height between the flexible point (center of the joint) and the point where external forces are applied is $h = 20\,mm$.
|
|
|
|
Let's define the parameters on Matlab.
|
|
#+begin_src matlab
|
|
kRx = 20; % Bending Stiffness [Nm/rad]
|
|
Rxmax = 20e-3; % Bending Stroke [rad]
|
|
h = 20e-3; % Height [m]
|
|
#+end_src
|
|
|
|
** Required external applied force
|
|
|
|
The bending $\theta_y$ of the flexible joint due to the force $F_x$ is:
|
|
\begin{equation}
|
|
\theta_y = \frac{M_y}{k_{R_y}} = \frac{F_x h}{k_{R_y}}
|
|
\end{equation}
|
|
|
|
Therefore, the applied force to test the full range of the flexible joint is:
|
|
\begin{equation}
|
|
F_{x,\text{max}} = \frac{k_{R_y} \theta_{y,\text{max}}}{h}
|
|
\end{equation}
|
|
|
|
#+begin_src matlab
|
|
Fxmax = kRx*Rxmax/h; % Force to induce maximum stroke [N]
|
|
#+end_src
|
|
|
|
And we obtain:
|
|
#+begin_src matlab :results value raw replace :exports results
|
|
sprintf('\\begin{equation} F_{max} = %.1f\\, [N] \\end{equation}', Fxmax)
|
|
#+end_src
|
|
|
|
#+RESULTS:
|
|
\begin{equation} F_{max} = 20.0\, [N] \end{equation}
|
|
|
|
The measurement range of the force sensor should then be higher than $20\,N$.
|
|
|
|
** Required actuator stroke and sensors range
|
|
|
|
The flexible joint is designed to allow a bending motion of $\pm 20\,mrad$.
|
|
The corresponding actuator stroke to impose such motion is:
|
|
|
|
\[ d_{x,\text{max}} = h \tan(R_{x,\text{max}}) \]
|
|
|
|
#+begin_src matlab
|
|
dxmax = h*tan(Rxmax);
|
|
#+end_src
|
|
|
|
#+begin_src matlab :results value raw replace :exports results
|
|
sprintf('\\begin{equation} d_{max} = %.1f\\, [mm] \\end{equation}', 1e3*dxmax)
|
|
#+end_src
|
|
|
|
#+RESULTS:
|
|
\begin{equation} d_{max} = 0.4\, [mm] \end{equation}
|
|
|
|
In order to test the full range of the flexible joint, the stroke of the actuator should be higher than $0.4\,mm$.
|
|
The measurement range of the displacement sensor should also be higher than $0.4\,mm$.
|
|
|
|
** First try with the APA95ML
|
|
|
|
The APA95ML as a stroke of $100\,\mu m$ and the encoder in parallel can easily measure the required stroke.
|
|
|
|
Suppose the full stroke of the APA can be used to bend the flexible joint (ideal case), the measured force will be:
|
|
#+begin_src matlab
|
|
Fxmax = kRx*100e-6/h^2; % Force at maximum stroke [N]
|
|
#+end_src
|
|
|
|
#+begin_src matlab :results value raw replace :exports results
|
|
sprintf('\\begin{equation} F_{max} = %.1f\\, [N] \\end{equation}', Fxmax)
|
|
#+end_src
|
|
|
|
#+RESULTS:
|
|
\begin{equation} F_{max} = 5.0\, [N] \end{equation}
|
|
|
|
And the tested angular range is:
|
|
#+begin_src matlab
|
|
Rmax = tan(100e-6/h);
|
|
#+end_src
|
|
|
|
#+begin_src matlab :results value raw replace :exports results
|
|
sprintf('\\begin{equation} \\theta_{max} = %.1f\\, [mrad] \\end{equation}', 1e3*Rmax)
|
|
#+end_src
|
|
|
|
#+RESULTS:
|
|
\begin{equation} \theta_{max} = 5.0\, [mrad] \end{equation}
|
|
|
|
** Test Bench
|
|
|
|
#+name: fig:test-bench-schematic
|
|
#+caption: Schematic of the test bench to measure the bending stiffness of the flexible joints
|
|
[[file:figs/test-bench-schematic.png]]
|
|
|
|
#+begin_note
|
|
- *Translation Stage*: [[file:doc/V-408-Datasheet.pdf][V-408]]
|
|
- *Load Cells*: [[file:doc/A700000007147087.pdf][FC2231-0000-0010-L]] and [[file:doc/FRE_DS_XFL212R_FR_A3.pdf][XFL212R]]
|
|
- *Encoder*: [[file:doc/L-9517-9448-05-B_Data_sheet_RESOLUTE_BiSS_en.pdf][Renishaw Resolute 1nm]]
|
|
- *Displacement Probe*: [[file:doc/Millimar--3723046--BA--C1208-C1216-C1240--FR--2016-11-08.pdf][Millimar C1216 electronics]] and [[file:doc/tmp3m0cvmue_7888038c-cdc8-48d8-a837-35de02760685.pdf][Millimar 1318 probe]]
|
|
#+end_note
|
|
|
|
* Experimental measurement
|