Post Reply 
(11C/12C) Y-Delta-Transform
05-23-2024, 06:35 PM (This post was last modified: 05-24-2024 06:28 AM by Postfix.)
Post: #1
(11C/12C) Y-Delta-Transform
Description

The program takes three resistances in a Y-circuit, R_1, R_2, and R_3 initially stored in registers R1, R2 and R3. From these values, it calculates the equivalent resistances in a Delta-circuit (R_a, R_b, R_c), which are written onto the stack, with intermediate stops. This is the Y to Delta transform.

   

The reciprocal transform from Delta to Y circuit takes advantage of the fact that the operations for calculating the resistances R_a, R_b and R_c from R_1, R_2 and R_3 are exactly the same as the operations for calculating the admittances Y_1 = 1 / R_1, Y_2 = 1 / R_2 and Y_3 = 1 / R_3 from the admittances Y_a = 1 / R_a, Y_b = 1 / R_b and Y_c = 1 / R_c. In other words, for the Delta to Y transform we can simply input the admittances instead of the resistances and reuse the code written for the Y to Delta transform. In this case, the resulting outputs on the stack are the values of Y_1, Y_2 and Y_3. The corresponding resistances can be found by pressing the key 1/x.


Registers

R1: R_1 or Y_a = 1 / R_a
R2: R_2 or Y_b = 1 / R_b
R3: R_3 or Y_c = 1 / R_c

R4 (11C): intermediate value
i (12C): intermediate value


Code for the HP-11C

Code:
001 RCL 1          #R_1 or Y_a
002 RCL 2          #R_2 or Y_b
003 ×              #intermediate term T1
004 RCL 2
005 RCL 3          #R_3 or Y_c
006 ×              #intermediate term T2
007 +
008 RCL 3
009 RCL 1          #stack (t,z,y,x): T1 T2 R_3 R_1
010 ×              #intermediate term T3
011 +              #constant numerator c
012 STO 4          #register X: c
013 RCL 1
014 ÷              #R_a or Y_1
015 R/S            #output
016 RCL 4
017 RCL 2
018 ÷              #R_b or Y_2
019 R/S            #output 
020 RCL 4
021 RCL 3
022 ÷              #R_c or Y_3
023 g RTN          #output and end of program


Code for the HP-12C

Code:
01 RCL 1           #R_1 or Y_a
02 RCL 2           #R_2 or Y_b
03 ×               #intermediate term T1
04 RCL 2
05 RCL 3           #R_3 or Y_c
06 ×               #intermediate term T2
07 +
08 RCL 3
09 RCL 1           #stack (t,z,y,x): T1 T2 R_3 R_1
10 ×               #intermediate term T3
11 +               #constant numerator c
12 STO i           #stack lift is disabled    (this is not the case with the HP12C Platinum)
13 RCL i           #stack lift enabled, register X: c    (can be skipped with the 12CP) 
14 RCL 1
15 ÷               #R_a or Y_1
16 R/S             #output
17 RCL i
18 RCL 2
19 ÷               #R_b or Y_2
20 R/S             #output 
21 RCL i
22 RCL 3
23 ÷               #R_c or Y_3
24 g GTO 00        #output and end of program


Usage

1) Y to Delta

Store R_1, R_2 and R_3 into the corresponding registers:

R_1 STO 1, R_2 STO 2, R_3 STO 3

R/S

Output (z,y,x): R_a, R_b, R_c


2) Delta to Y

Store Y_a, Y_b and Y_c into the corresponding registers:

R_a 1/x STO 1, R_b 1/x STO 2, R_c 1/x STO 3

R/S

Output (z,y,x): Y_1, Y_2, Y_3 (pressing 1/x at each stop gives R_1, R_2, R_3)



Examples

1) From Y to Delta

R_1= 5; R_2= 10; R_3= 15 (all R values in Ohm)


Input:

5 STO 1

10 STO 2

15 STO 3

R/S


Output (key in f 4 for FIX 4 mode):

55.0000 R/S

27.5000 R/S

18.3333


2) From Delta to Y (just checking above values)

R1= 55; R2= 27.5; R3= 18.3333 (all R values in Ohm)


Input:

55 1/x STO 1

27.5 1/x STO 2

18.3333 1/x STO 3

R/S


Output:

0.2000 1/x 5.0000 R/S

0.1000 1/x 10.0000 R/S

0.0667 1/x 15.0000


Have fun transforming! (and porting this simple code to other models)


More on wikipedia or in my original post.
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)