]> permondes.de Git - Analog_Engine.git/commitdiff
Application: Mass in Tube; Helper Functions
authorPermondes <machen@permondes.de>
Fri, 16 Feb 2024 19:21:57 +0000 (20:21 +0100)
committerPermondes <machen@permondes.de>
Fri, 16 Feb 2024 19:21:57 +0000 (20:21 +0100)
Application: Mass in Tube
Helper-Functions, sine-cosine generation

AESL/Anabrid-THAT.ENGINE [new file with mode: 0644]
AESL/TP1 06.18 Mass in Tube.AESL [new file with mode: 0644]
Analog Engine Example Applications.odt
Analog Engine Technical Topics.odt

diff --git a/AESL/Anabrid-THAT.ENGINE b/AESL/Anabrid-THAT.ENGINE
new file mode 100644 (file)
index 0000000..b599bcf
--- /dev/null
@@ -0,0 +1,12 @@
+# Anabrid THAT - Capabilities
+
+COEFFICIENT 8
+INTEGRATOR 5
+SUMMER 4
+INVERTER 4
+MULTIPLIER 2
+COMPARATOR 2
+CAPACITOR.100pF 3
+CAPACITOR.100nF 2
+DIODE 4
+Z-DIODE 2
diff --git a/AESL/TP1 06.18 Mass in Tube.AESL b/AESL/TP1 06.18 Mass in Tube.AESL
new file mode 100644 (file)
index 0000000..e85e7c7
--- /dev/null
@@ -0,0 +1,49 @@
+IDENTIFICATION DIVISION
+PROGRAM-ID MassInTube
+VERSION 20240214
+COMMENT A thin tube rotates at a constant angular velocity perpendicular to gravity 
+COMMENT A mass point moves frictionless in this tube. The differential equation gives the position of this mass point.
+COMMENT r''=omega^2*r -g*sin(omega*t+phi0)
+
+ENVIRONMENT DIVISION
+ENGINE Anabrid-THAT
+TIMEBASE 1ms
+REQUIRES COEFFICIENT 8, INTEGRATOR 4, INVERTER 1, MULTIPLIER 2
+
+DATA DIVISION
+OUTPUT OUTPUT.X x
+OUTPUT OUTPUT.Y y
+COEFFICIENT.1 ICw'    
+COEFFICIENT.2 ICw     
+COEFFICIENT.3 OMEGAC
+COEFFICIENT.4 OMEGAS  # same as OMEGAC
+COEFFICIENT.5 G
+COEFFICIENT.6 R0      # r(0)
+COEFFICIENT.7 V0      # r'(0)
+COEFFICIENT.8 OMEGA^2 # = OMEGAC*OMEGAS
+
+PROGRAM DIVISION
+### Generating sin(omega*t+phi0) ###
++1 -> COEFFICIENT.ICw’ -> icw’
+-1 -> COEFFICIENT.ICw  -> -icw 
+w’’, IC:icw’ -> INTEGRATOR -> -w’=-cos
+-w' -> COEFFICIENT.OMEGAC -> -omega*w'
+-omega*w', IC:-icw -> INTEGRATOR -> w=sin
+w  -> INVERTER -> -w=-sin
+-w -> COEFFICIENT.OMEGAS -> -omega^2*w=w’’
+
+### the actual problem ###
+-sin -> COEFFICIENT.G  -> -g*sin
+-1   -> COEFFICIENT.R0 -> -r0
++1   -> COEFFICIENT.V0 -> v0
+omega^2*r, -g*sin,IC:v0  -> INTEGRATOR -> -r' # input is r''
+-r',IC:-r0 -> INTEGRATOR -> r
+r -> COEFFICIENT.OMEGA^2 -> omega^2*r
+
+### Converting r, phi to x,y coordinates for display ###
+r, sin  -> MULTIPLIER -> x
+r, -cos -> MULTIPLIER -> y # y-axis shall go down according to gravity, thus negativ input
+
+OPERATION DIVISION
+MODE REPEAT
+OP-TIME 17,5ms
index 94495eed9fcd2fbe410fa6be83762e22bd57381c..de6564b820f22eace882849810167160ff8da8d0 100644 (file)
Binary files a/Analog Engine Example Applications.odt and b/Analog Engine Example Applications.odt differ
index 769f23c67fc0f59c31db3d7cc6dad1e57a77a0b5..c1513693b406a5559c94917baa73a09e01b96287 100644 (file)
Binary files a/Analog Engine Technical Topics.odt and b/Analog Engine Technical Topics.odt differ