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 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 , " 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 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