Version 4 SHEET 1 2276 1548 WIRE 592 992 592 944 WIRE 624 128 576 128 WIRE 624 288 576 288 WIRE 672 944 592 944 WIRE 672 976 672 944 WIRE 672 1072 672 1040 WIRE 688 944 672 944 WIRE 720 128 704 128 WIRE 720 160 720 128 WIRE 720 288 704 288 WIRE 720 320 720 288 WIRE 752 288 720 288 WIRE 768 992 768 944 WIRE 832 128 720 128 WIRE 864 944 768 944 WIRE 864 992 864 944 WIRE 880 288 832 288 WIRE 880 320 880 288 WIRE 880 448 880 400 WIRE 880 480 880 448 WIRE 896 736 896 720 WIRE 976 944 864 944 WIRE 976 976 976 944 WIRE 976 1072 976 1040 WIRE 1008 128 912 128 WIRE 1008 320 1008 128 WIRE 1008 448 1008 400 WIRE 1008 480 1008 448 WIRE 1088 944 976 944 WIRE 1344 944 1312 944 WIRE 1456 944 1424 944 WIRE 1456 960 1456 944 FLAG 768 1072 0 FLAG 976 1072 0 FLAG 592 1072 0 FLAG 1088 944 omega IOPIN 1088 944 Out FLAG 672 1072 0 FLAG 688 944 phi IOPIN 688 944 Out FLAG 576 288 a IOPIN 576 288 In FLAG 576 128 b IOPIN 576 128 In FLAG 592 816 0 FLAG 592 736 eqp IOPIN 592 736 Out FLAG 896 816 0 FLAG 896 720 p1 IOPIN 896 720 Out FLAG 880 560 0 FLAG 880 448 emf_a FLAG 1008 560 0 FLAG 1008 448 emf_b FLAG 1312 944 omega IOPIN 1312 944 In FLAG 720 400 0 FLAG 720 240 0 FLAG 1456 1024 0 FLAG 864 1232 0 FLAG 864 1072 0 SYMBOL bv 768 1088 R180 WINDOW 3 -416 -52 Left 0 WINDOW 0 -74 104 Left 0 SYMATTR Value I=KT1*SQRT(I(Va)**2+I(Vb)**2)*sin( (V(eqp)-V(phi) )*pi/2/phip ) SYMATTR InstName Btorq SYMBOL cap 960 976 R0 SYMATTR InstName CJrotor SYMATTR Value {Jr} SYMBOL bv 592 1088 R180 WINDOW 3 -61 -20 Left 0 WINDOW 0 24 104 Left 0 SYMATTR Value I=V(omega) SYMATTR InstName Bphi SYMBOL cap 656 976 R0 SYMATTR InstName C2 SYMATTR Value 1 SYMBOL voltage 880 304 R0 SYMATTR InstName Va SYMATTR Value 0 SYMBOL voltage 1008 304 R0 SYMATTR InstName Vb SYMATTR Value 0 SYMBOL ind 848 272 R90 WINDOW 0 -8 66 VRight 0 WINDOW 3 -5 2 VRight 0 SYMATTR InstName La SYMATTR Value {Lw} SYMATTR SpiceLine Rser=0 SYMBOL ind 928 112 R90 WINDOW 0 48 70 VRight 0 WINDOW 3 50 5 VRight 0 SYMATTR InstName Lb SYMATTR Value {Lw} SYMATTR SpiceLine Rser=0 SYMBOL bv 592 720 R0 WINDOW 3 -39 139 Left 0 WINDOW 0 40 66 Left 0 SYMATTR Value V=eqp(I(Va),I(Vb)) SYMATTR InstName Beqpos SYMBOL bv 896 720 R0 WINDOW 3 -114 138 Left 0 WINDOW 0 -76 24 Left 0 SYMATTR Value V={per}*(V(phi)/{per}-FLOOR(V(phi)/{per})) SYMATTR InstName Bp1 SYMBOL bv 880 464 R0 WINDOW 3 -139 165 Left 0 SYMATTR Value V=EMF_a(Ker,V(omega),V(phi)) SYMATTR InstName B1 SYMBOL bv 1008 464 R0 WINDOW 3 -363 132 Left 0 SYMATTR Value V=EMF_b(Ker,V(omega),V(phi)) SYMATTR InstName B2 SYMBOL bi 864 992 R0 WINDOW 0 13 -9 Left 0 WINDOW 3 -28 118 Left 0 SYMATTR InstName Bdetent SYMATTR Value I=MDT*sin(2*pi/phip*V(phi)) SYMBOL res 704 144 R0 SYMATTR InstName Reddy1 SYMATTR Value {Reddy} SYMBOL res 704 304 R0 SYMATTR InstName Reddy2 SYMATTR Value {Reddy} SYMBOL res 608 144 R270 WINDOW 0 -17 14 VRight 0 WINDOW 3 -17 48 VRight 0 SYMATTR InstName R1 SYMATTR Value {Rw} SYMBOL res 608 304 R270 WINDOW 0 -19 8 VRight 0 WINDOW 3 -17 45 VRight 0 SYMATTR InstName R2 SYMATTR Value {Rw} SYMBOL voltage 1456 928 R0 WINDOW 3 24 160 Left 0 WINDOW 123 0 0 Left 0 WINDOW 39 24 132 Left 0 SYMATTR Value PULSE(0 1 10n 1n 1n 99999) SYMATTR SpiceLine Rser=0 SYMATTR InstName V1 SYMBOL res 1328 960 R270 WINDOW 0 32 56 VTop 0 WINDOW 3 0 56 VBottom 0 SYMATTR InstName R3 SYMATTR Value 1p TEXT -434 90 Left 0 !.tran 0 2 0 TEXT -440 128 Left 0 !.options plotwinsize=0 TEXT -480 792 Left 0 !*---Motor Parameters, ARSAPE AM2224-AV-18 (see: pdf_metric215_de.pdf, www.faulhaber.com)\n.param phip_deg=15 ;full step angle /degrees\n.param phip=phip_deg/360*2*pi per=phip*4 ;electrical period\n.param HT=26m ;holding torque/ Nm, 2-phases under current\n.param MDT=2m ;Detent Torque(magnetic) / Nm at I=0\n.param KT1=(HT-MDT)/0.25A/SQRT(2) ;single phase(!) torque sensitivity Nm/A\n;**NOTE: EMF should theoretically be: Ker = KT1 [ Nm/A = V*s ]\n;Spec. ARSAPE: 16.7 V/(kSteps/s)\n.param Ker=16.7m/phip ;back EMF in V*s [ =V/(rad/s) ]\n.param Jr=228n ;Rotor Inertia / kg*m^2\n.param Rw0 = 18 T0=20 ;winding resistance at temperature T0\n.param Tw=100 ;winding temperature / °C\n.param Rw=Rw0*(1+3.8m*(Tw-T0))\n.param Lw=35m ;inductivity\n;**Eddy current losses: enter Qfactor at high-end clock frequency Fed\n.param Qed=10 Fed=600 Reddy=2*pi*Lw*fed*Qed ;asumption,no data available TEXT 1144 568 Left 0 !.func f1() {2*phip/pi*ATAN(I(Vb)/I(Va))}\n.func f2() {2*phip/pi*ATAN(-I(Va)/I(Vb))+phip}\n.func f3() {2*phip/pi*ATAN(I(Vb)/I(Va))+2*phip}\n.func f4() {2*phip/pi*ATAN(-I(Va)/I(Vb))+3*phip}\n*-equilibrium rotor position\n.func eqp(Ia,Ib) {if(Ia>=0 & Ib>=0,f1(),\n+ if(Ia<0 & Ib>=0,f2(),IF(Ia<0 & Ib<0,f3(),\n+ IF(Ia>=0 & Ib<0,f4(),0) ) ) ) }\n.func EMF_a(Ker,speed,el_pos) {-Ker*speed*sin(pi/2/phip*el_pos)}\n.func EMF_b(Ker,speed,el_pos) {-Ker*speed*sin(pi/2/phip*el_pos-pi/2)} TEXT 928 672 Left 0 ;actual electrical\nrotor position/rad\nin electr. frame.\nNot needed,\nfor display only TEXT 616 672 Left 0 ;electrical equilibrium\nrotor position/rad TEXT 704 496 Left 0 ;Back EMF of\nwinding La TEXT 1048 512 Left 0 ;Back EMF of\nwinding Lb TEXT 456 912 Left 0 ;mechanical rotor\nposition/rad TEXT 1072 992 Left 0 ;mechanical output:\nspeed in rad/s\nHere is where to\nconnect mech. loads TEXT 536 56 Left 0 ;---------- 2-phase Stepper Motor Model (Version 11-Aug-05) ----------\n** motor shaft externally moved to check detent torque and EMF *** TEXT 768 912 Left 0 ;Current=Torque TEXT 1144 136 Left 0 ;ARSAPE AM2224-AV-18,\nrated Torque(speed) at V=6V\nFclk/Hz Torque/ Nm\n-----------------------------------\n50 15m\n100 12m\n200 7.5m\n400 3.0m\n600 1.4m ? questionable at 6V