• No se han encontrado resultados

Mag Momento 12 Mag Momento

TRABAJOS FUTUROS

Para un trabajo futuro se propondrá realizar el estudio cinematico y dinámico de cada uno de los mecanismos que forman parte de la máquina de hendir y coser suelas de calzado, ya que en México no existe ni tecnología y fabricación de este tipo de maquinaria.

CONCLUSIONES , RECOMENDACIONES Y TRABAJO FUTURO

A continuación se muestra una serie de fotografías de varias posiciones del prototipo diseñado.

ANEXO A

ANEXO A

Simbologia utilizada el el diagrama de flujo:

Inicio y final

Conexión

Toma de decisión

Ciclo

Proceso

ANEXO A

ANEXO A

ANEXO A

ANEXO A

ANEXO A

ANEXO A

ANEXO A

ANEXO A

ANEXO A

ANEXO A

ANEXO A

ANEXO A

ANEXO A

ANEXO A

DECLARE FUNCTION funorm! (B!(), n!) DECLARE FUNCTION fonorm! (delta(), n!) 'n=numero de incognitas

'm=número de ecuaciones

'max=valor máximo de iteraciones 'po=límite inferior

'pm=límite superior 'tol=tolerancia máxima

'psil=posición inicial de la barra conductora (grados) 'psi2=posición final de la barra conductora (grados) 'phi1=posición inicial de la barra conducida (grados) 'phi2=posicin final de la barra conducida (grados) Cls

Print Print

Print Tab(10); "PROGRAMA PARA GENERAR UNA FUNCIÓN MATEMÁTICA CON UN MECANISMO"

Print Tab(25); "PLANO DE CUATRO BARRAS, RRRR" Print

Print Tab(28); "LA FUNCIÓN ES Y = e^(x)" Print

Print

Print Tab(24); "TECLEE LOS SIGUIENTES DATOS" Print

'INPUT "NÚMERO DE INCÓGNITAS..."; n n = 5

Print "NÚMERO DE INCÓGNITAS..."; n

'INPUT "NÚMERO DE PUNTOS DE PRECISIÓN ..."; m m = 21

Print "NÚMERO DE PUNTOS DE PRECISIÓN ..."; m INPUT "VALOR MÁXIMO DE ITERACIONES..."; MAX Print "VALOR MÁXIMO DE ITERACIONES..."; Max 'INPUT "TOLERANCIA..."; TOL

TOL = 0.000001

Print "TOLERANCIA ..."; TOL 'INPUT "LÍMITE INFERIOR (ø)..."; po po = 1

Print "LÍMITE INFERIOR (ø)..."; po 'INPUT "LÍMITE SUPERIOR (ø)..."; pm pm = 2

Print "LÍMITE SUPERIOR (ø)..."; pm

INPUT "POSICIÓN INICIAL DE LA BARRA CONDUCTORA (ø)..."; PSi1 Print "POSICIÓN INICIAL DE LA BARRA CONDUCTORA (ø)..."; PSi1 INPUT "POSICIÓN FINAL DE LA BARRA CONDUCTORA (ø)..."; PSi2 Print "POSICIÓN FINAL DE LA BARRA CONDUCTORA (ø)..."; PSi2 INPUT "POSICIÓN INICIAL DE LA BARRA CONDUCIDA (ø)..."; PHi1 Print "POSICIÓN INICIAL DE LA BARRA CONDUCIDA (ø)..."; PHi1 INPUT "POSICIÓN FINAL DE LA BARRA CONDUCIDA (ø)..."; PHi2 Print "POSICIÓN FINAL DE LA BARRA CONDUCIDA (ø)..."; PHi2 Dim X(n), delta(25), U(25), PP2(100), Q2(100), P2(100), B(25)

ANEXO A '**************************************************************************** ' PROGRAMA PRINCIPAL '**************************************************************************** pi = 4 * Atn(1) dospi = 2 * pi radian = 180 / pi po = 1 pm = 2 GoSub 1000 Print Print

Print Tab(25); " LOS VALORES INICIALES Y FINALES"

Print Tab(20); "EVALUADOS CON EL POLINOMIO DE CHEVYCHEV" Print Print Tab(29); " P(1) = "; Print USING; "#.############"; P(1) Print Tab(29); "p("; m; ")="; Print USING; "#.############"; P(m) Print Print '*************FUNCION**************** For i = 1 To m Q(i) = Exp(P(i)) Next i '************************************* KMAX = Max damp = 0.5 GoSub 2000 For l = 1 To 10 For j = 1 To n X(j) = Rnd * 5 Next j GoSub 3000 damp = 0.5 Next l Print Print Print

Print Tab(14); "*********FIN DEL PROGRAMA*********" End 1000 Rem CHEVI1 For j = 1 To m P(j) = pi * (2 * j - 1) P(j) = P(j) / (2 * m) P(j) = Cos(P(j)) P(j) = 0.5 * (po + pm) - 0.5 * (pm - po) * P(j) Next j Return

ANEXO A

Print Tab(10); "ESTOS SON LOS PUNTOS DE LA VARIABLE X y Y OBTENIDOS;"; "" Print Tab(15); "EN LA EVALUACIÓN DEL POLINOMIO DE CEBYCHEV"

Print Tab(22);

Print " x(i)", " y(i) = EXP (i)" Print For j = 1 To m Print Tab(16); Print USING; " ### #.############ #.##########"; j; P(j); Q(j) Next j DELTAX = P(m) - P(1) DELTAY = Q(m) - Q(1) For j = 1 To m

PP(j) = (P(j) - P(1)) * (PSi2 - PSi1) / DELTAX + PSi1 QQ(j) = (Q(j) - Q(1)) * (PHi2 - PHi1) / DELTAY + PHi1 Next j For l = 1 To m KL = l + m P(l) = PP(l) P(KL) = QQ(l) Next l Print Print

Print Tab(15); "ESTOS SON LOS PUNTOS DE PRECISIÓN" Print

Print

Print , " PSI(i)", " PHI(i)" Print For j = 1 To m k = j + m Print Tab(16); Print USING; "### ###.####### ###.########"; j; P(j); P(k) P(j) = P(j) / radian P(k) = P(k) / radian Next j Print

Print Tab(20); "*****>RESULTADOS DE LAS ITERACIONES<*****" Print

Print Return

3000 Rem SUBRUTINA NRDAMP ITER = 0

GoSub 7000 1 ITER = ITER + 1

If ITER > Max Then GoTo 10 funorm1 = funorm(B(), m) GoSub 4000 GoSub 5000 GoSub 6000 For i = 1 To m delta(i) = B(i) 2 Next i

ANEXO A

delnor = fonorm(delta(), n) If delnor < TOL Then GoTo 8 k = 1

3 For i = 1 To n X(i) = X(i) - delta(i) 4 Next i

GoSub 7000

funorm2 = funorm(B(), m) If funorm2 < TOL Then GoTo 8 If funorm2 < funorm1 Then GoTo 1 If k > KMAX Then GoTo 7 For i = 1 To n

If k >= 2 Then GoTo 5 delta(i) = (damp - 1) * delta(i) GoTo 6

5 delta(i) = damp * delta(i) 6 Next i

k = k + 1 GoTo 3

7 Print Tab(14); "NO HAY CONVERGENCIA CON DAMP="; Print USING; "########.#########"; damp

damp = -1 Return

8 Print Tab(8); "LA CONVERGENCIA DE KA FUNCIÓN ES...."; Print USING; "#######.#######"; funorm2

Print Tab(8); "NÚMERO DE ITERACIONES..."; Print USING; "#######.##########"; ITER

Print Tab(8); "NÚMERO DE SALTOS EN EL RADIO DE RELACIONES..."; Print USING; "#########.########"; k

Print

Print Tab(8); "LA SOLUCIÓN ES...." Print

For i = 1 To n Print Tab(27); "x("; Print USING; "####"; i; Print ")=";

Print USING; "#######.########"; X(i) If i < n Then GoTo 9 pi = 4 * Atn(1) radian = 180 / pi PSI = X(4) * radian PHI = X(5) * radian A1 = 1 A2 = A1 / X(2) A4 = (A1 / X(3)) A3 = SQR ((A1 * A1 + A2 * A2 + A4 * A4) + (X(1) * A2 * A4 * 2)) Print Tab(10); "LAS DIMENSIONES DE LOS ESLABONES SON" Print

Print Tab(27); "A1=";

Print USING; "########.############"; A1 Print Tab(27); "A2=";

ANEXO A

Print Tab(27); "A3=";

Print USING; "########.############"; A3 Print Tab(27); "A4=";

Print USING; "########.############"; A4 Print

Print Tab(10); "ÁNGULO DE ENTRADA INICIAL(pSi):...."; Print USING; "######.############"; PSI;

Print "(grados)"

Print Tab(10); "ÁNGULO DE SALIDA INICIAL(pHi):..."; Print USING; "######.############"; PHI;

Print "(grados)" 9 Next i Return

10 Print Tab(10); "No converge con"; ITER; "ITERACIONES" Return

4000 Rem SUBRUTINA DFDX CÁLCULO DE LA MATRIZ JACOBIANA For j = 1 To m

A(j, 1) = 1

A(j, 2) = -(Cos(X(5) + P(j + m))) A(j, 3) = Cos(X(4) + P(j))

A(j, 4) = -(X(3) * Sin(X(4) + P(j))) - (Sin((X(4) + P(j)) - (X(5) + P(j + m)))) A(j, 5) = (X(2) * Sin(X(5) + P(j + m))) + (Sin((X(4) + P(j)) - (X(5) + P(j + m)))) Next j

Return

5000 Rem SUBRUTINA HECOMP For k = 1 To n

ALPHA = 0 For i = k To m U(i) = A(i, k)

ALPHA = ALPHA + (U(i) * U(i)) Next i

ALPHA = Sqr(ALPHA)

If U(k) < 0 Then ALPHA = -ALPHA U(k) = U(k) + ALPHA

BETA = ALPHA * U(k) A(k, k) = -ALPHA

If BETA = 0 Or k = n Then GoTo 60

'********************************************* 'APLICA LA REFLEXIN A LAS COLUMNAS 'RESTANTES DE LA MATRIZ "A"

'********************************************* KP1 = k + 1

For j = KP1 To n GAMMA = 0 For i = k To m

GAMMA = GAMMA + (U(i) * A(i, j)) Next i

ANEXO A

For i = k To m

A(i, j) = A(i, j) - (GAMMA * U(i)) Next i

Next j 60 Next k

' EL RESULTADO TRIANGULAR ESTA ALMACENADO 'EN A(I,J) SIENDO I <=J

Return

6000 Rem SUBRUTINA HOLVE For k = 1 To n

T = A(k, k)

BETA = -(U(k)) * A(k, k) A(k, k) = U(k)

GAMMA = 0 For i = k To m

GAMMA = GAMMA + (A(i, k) * B(i)) Next i

GAMMA = GAMMA / BETA For i = k To m

B(i) = B(i) - (GAMMA * A(i, k)) Next i A(k, k) = T Next k '*********************************************** ' SUSTITUCIÓN REGRESIVA '*********************************************** For KB = 1 To n k = n + 1 - KB B(k) = B(k) / A(k, k) If k = 1 Then GoTo 11 Km1 = k - 1 For i = 1 To Km1

B(i) = B(i) - (A(i, k) * B(k)) Next i

11 Next KB Return

7000 Rem SUBRUTINA FUN For j = 1 To m B(j) = X(1) - (X(2) * Cos(X(5) + P(j + m))) B(j) = B(j) + (X(3) * Cos(X(4) + P(j))) B(j) = B(j) + (Cos((X(4) + P(j)) - (X(5) + P(j + m)))) Next j Return Function fonorm(delta(), n) i = 1 k = 2

820 If Abs(delta(i)) >= Abs(delta(k)) Then GoTo 840 i = k

ANEXO A 840 k = k + 1 860 If i = n Or k > n Then GoTo 880 GoTo 820 880 fonorm = Abs(delta(i)) End Function Function funorm(B(), n) i = 1 k = 2

200 If Abs(B(i)) >= Abs(B(k)) Then GoTo 400 i = k GoTo 600 400 k = k + 1 600 If (i = n) Or (k > n) Then GoTo 800 GoTo 200 800 funorm = Abs(B(i)) End Function

ANEXO B

ANEXO B

( D I B U J O S )

Documento similar