terça-feira, 6 de outubro de 2009

Desenhando uma engrenagem 3D helicoidal no inventor

Nosso objetivo é fazer automaticamente uma engrenagem 3D atravéz de uma linguagem de programação no visual basic com alguns dados fornecidos pelo usuário, mas para isto precisamos entender como fazê-la; Assim optamos por começar utilizando o software inventor, e percebemos que neste programa não é tão complicado desenhar a peça. Vamos relatar este processo passo a passo.
1°- Criando o perfil envolvente da engrenagem


Imagem do livro Sarkis Melconian
Elementos de máquinas:



ts0 = passo frontal
tn0 = passo normal B0 = ângulo da hélice
alfa = ângulo de pressão normal
d0 = diâmetro primitivo
dk = de = diâmetro externo
df = di = diâmetro interno
dg = diâmetro de base


A postagem anterior temos uma imagem do livro cascilas ensinando a traçar o perfil da engrenagem, o que muda aqui são os diâmetros de uma engrenagem helicoidal, vamos calcula-los da seguinte forma:

Lembrando que o módulo normal, número de dentes, largura, ângulo de hélice, e passo normal já são dados conhecidos. Os dado aqui trabalhado são:

tn0 = 6,28; mn = 2; d0 = 61,72; dg = 57,6; di = 56,92; de = 65,72 ; z = 29 dentes;
B0 = 20° (ângulo da hélice) ; alfa = 20° (ângulo de pressão normal)

Espessura = tn0 / 2
Módulo frontal = Mn /cos(ângulo da hélice) ; onde mn é módulo normal
Ângulo de pressão frontal = arctg [tg(ângulo de pressão normal) / cos(ângulo da hélice)]

Do = z * módulo frontal
De = d0 + (2*hk) ; onde hk = mn
Di = d0 – (2*hf) ; onde hf = 1,2.mn

Criando o perfil no sketch do inventor:




Aplicando o comando circular pattern nos dois arcos envolventes da engrenagem. Usando o comando trim e eliminando o diâmetro primitivo e de base temos:
Antes de continuarmos as etapas precisamos entender o que é um passo, pois vai ser muito útil para o desenvolvimento do 3D.

2° - Passo

È todo percuso que resulta num ciclo, diferente do avanço onde este é um percurso que não necessariamente se repete.
Pelo que conhecemos existem quatro tipos de passos:

· Passo angular
· Passo senoidal
· Passo de circunferência
· Passo normal

Na verdade os outros dois passos são derivados do passo angular.

2.1- Passo angular

Vamos pensar num sextavado, seu passo circular é de acordo com seus lados





Onde alfa = ( 360 / n° de lados) , portanto alfa = 60°











2.2- Passo de circunferência

Corresponde ao comprimento do arco:

Onde w ={ (2*raio*PI)/n° de lados} , portanto w = 15,7


2.3 Passo frontal


Esse é o mais usado, corresponde a corda do arco:
Onde c = { sen( 180 / n° de lados )* diâmetro ) ou c = { sen ( 180 / n° de lados ) * 2 * raio }, portanto c = 15


Um passo muito importante para nós, do qual vai ser usado neste método de desenho 3D, é o da função seno ou coseno:


2.4 -Passo senoidal




Onde o passo é o comprimento do percurso senoidal até completar um ciclo.

Agora que sabemos o que é um passo voltemos para nosso desenho.



3° - Conhecendo o passo de uma engrenagem:


O passo principal de uma engrenagem é o angular, pois estes corresponde a todos os passos normais nos diâmetros primitivo, de base, interno e externo, como se fosse de um sextavado dividimos 360° pelo número de dentes; este ângulo corresponde ao início da ponta do dente ao final da próxima:
A partir deste passos angular finalizamos o scktch e aplicamos extrude somente nesta parte do passo ( podemos adotar uma espessura de 1 mm somente por referência) :

3.1- Criando uma linha de referência

Selecionamos sua lateral esquerda e aplicamos o comando scketch, sucessivamente delimitando uma linha de centro paralela a linha de largura que adotamos de 1mm (extrude), saindo do centro desta engrenagem para sua direita, de comprimento um pouco mais que a largura original da engrenagem e finalizamos o scktch (saberemos mais tarde o porquê desta linha):













4°- Usando o comando Circular pattern .

Depois de termos finalizado o scktch, aplicaremos o circular pattern para dar o formato da engrenagem (no nosso caso são 29 dentes) :











Criamos agora um scktch na face onde se localiza a linha de centro e finalizamos o scketch (pois o comando que vamos usar para rotaciona-la em forma helicoidal necessita deste passo):

5° - Criando os dentes helicoidais.

Criacando no comando Coll, que fica na seção do extrude, revolver, hole, Shell, etc; vamos criar os dentes helicoidais,mas antes disto é preciso entendermos algumas coisas:

a) Quando olhamos frontalmente para uma engrenagem observamos que o dente anterior avança um pouco em relação ao dente da frente:





Onde a é a variação influenciada pelo ângulo de hélice, portanto
a = tg ( ângulo da hélice ) * largura da engrenagem, no nosso caso:
a = tg (20°) * 22,3 = 8,116


Para acharmos v, aplicaremos a lei dos cosenos, onde a² = Re² + Re² - 2*Re*Re*cos (v ), daí deduzimos que


V = arccos{ ( 2*Re² - a² ) / ( 2*Re² ) }, no nosso caso v = 14,18°

Concluímos que para um avanço helicoidal ( a ) gerado pelo ângulo de hélice e a largura da engrenagem, conduzirá uma variação angular frontal,.

Com todos estes dados podemos conhecer o que chamamos de passo helicoidal.

5.1 - Passo helicoidal
O passo helicoidal é semelhante a um passo senoidal ( item 2.4), o ciclo completo é 360° ou 2pi, é como se imaginássemos a engrenagem girando sentido horário e avançando no eixo z (largura) ao mesmo tempo.

Assim, se v é menor que 360° esta variação angular frontal não deu uma volta completa, portanto, para sabermos o passo é necessário aplicarmos uma regra de três:

V -------- largura
360------Passo

Passo helicoidal = { ( 360 * largura da engrenagem) / V }

No nosso caso: Passo helicoidal = ( 360 * 22,3 ) / 14,18 = 566,149

Passo helicoidal = 566,149

Contudo, temos um problema ainda, quando usarmos o comando Coll, selecionamos a face pertencente a linha de centro (profile) depois selecionamos a linha de centro (Axis), não podemos clicar em Ok ainda, precisamos ir na aba ( coll size) em type iremos optar por Pitch and revolution ( Passo e voltas) e inserimos o passo helicoidal em pitch; agora precisamos saber a revolucion ( número de voltas)

5.2 Calculando o número de voltas
Se a variação angular frontal (v ) não ultrapassou 360°, significa que não completamos uma volta, então nossa revolution irá ser menor que 1, aplicando mais uma vez a regra de três:

1volta --------- 360°
Xvolta ---------- V

Xvolta = (v / 360), no nosso caso xvolta = (14,18/360) = 0,03938

Xvolta = 0,03938

Resumo:

· a = tg (ângulo da hélice ) * largura da engrenagem

· V = arccos{ ( 2*Re² - a² ) / ( 2*Re² ) } ; onde Re é o raio externo.
· Passo helicoidal = { ( 360 * largura da engrenagem) / V } --> Pitch
· Xvolta = (v / 360) -> Revolution

Agora podemos dar a forma helicoidal para nossa engrenagem.


6° - Forma helicoidal

Clicamos no comando coll, quando este é aberto precisamos selecionar a face e a linha de centro (desenhamos no item 3.1), depois selecionamos a aba coll size preenchendo os campos Pitch (passo helicoidal) e revolution (xvolta):

7°- Excluindo o plano que criamos

Em nossa peça observamos que uma parte continua plana, esta parte foi o plano que criamos de 1mm para construção de nosso desenho, basta selecionar o lado que esta planificado, aplicar e finalizar o scketch; com o comando extrude, ao invés de acrescentarmos material vamos cortar esta parte com o comando CUT dentro do formulário extrude .







terça-feira, 15 de setembro de 2009

Desenhando o perfil do dente de uma engrenagem

Existe vários tipos de perfis, o que vamos estudar aqui é o perfil normal.
São necessários alguns dados da engrenagem para começarmos o desenho:

d0: diâmetro primitivo
dg: diâmetro de base
df: diâmetro interno (no pé do dente)
dk: diâmetro externo (na cabeça do dente)
alfa: ângulo de pressão (normalmente equivale a 20º)
m: módulo

d0 = m.Z
dg = d0.cos(alfa)
df = d0 - 2.hf , onde hf = 1,2.m
dk = d0 + 2.hk , onde hk = m

Este desenho pode ser apresentado em AutoCad, Inventor, Solidworks, Solidedge, entre outros.
Normalmente começamos desenhando o diâmetro interno, diâmetro de base (segundo o Casillas é o CT), primitivo e externo, que são os diâmetros necessários para construção do desenho.
O próximo passo é desenhar o perfil do dente. Existem várias formas para desenhar este perfil, uma destas se encontra neste link:

modelagem em 3D no autoCad

Nesta página o autor ensina a traçar a linha envolvente, que dá o formato convexo nas laterais dos dentes (como já citado, este perfil é o normal).

Outra fonte para este traçado é o Casillas, que trabalha mais com a geometria, sem muito cálculo, apenas os necessários, subdividindo-se em:

sábado, 29 de agosto de 2009

Inicio do processo de elaboração do artigo

Com o término da primeira parte do projeto, o grupo terá como foco principal a realização de um artigo. Ele tem por finalidade inscrever o grupo no Fórum Mundial de Educação Profissional e Tecnológica, que será realizado na cidade de Brasília entre 23 e 24 de novembro deste ano. Caso nosso projeto seja aprovado, iremos para lá apresentá-lo.
Realizamos uma reunião e nela foram discutidos assuntos que poderiam ser abordados no artigo e chegamos a conclusão que o tema-chave de nosso artigo será:

"Os desafios de trabalhar em grupo".

Foi pensando nos desafios que o grupo enfrentou para a realizar o projeto, que decidimos por esse tema, e tomando-o como base começamos um processo de pesquisa que envolve outros artigos que utilizaram como base o mesmo tema.

Primeira parte do programa basicamenta concluída

Nesta parte evitamos usar banco de dados, conseguimos inserir tabelas atráves de comandos, como:


If (análise) then
else
end if

Nos deparamos com muitos problemas, um deles é usar os objetos da forma correta, pois quando selecionavámos um objeto, não conseguíamos desabilitá-lo.
Pesquisamos em várias apostilas, mas apenas uma delas nos deu uma idéia - book - com um pouco de raciocínio analisamos e mesclamos o comando if com objetos check e option.

Aprendendo a usar os objetos check e option.













O objeto check e option funcionam na ativação e na desativação.
Portanto é necessário inserir comandos de entrada e de saída.
Para desabilita-lo é preciso usar uma estrutura de comparação e ativar o unchecked para o check, e value = false para o option .

Eexemplo para o objeto check:

Privat sub check_click

if (check.value = checked) then
a = (3.14 + b)
else
if (check.value = unchecked) then
a = 0
end if
endif

end sub

Este exemplo funciona também para o option, a diferença é de checked para true e unchecked para false.
A variavél recebe o resultado (3.14 + b) se o objeto estiver ativado, se ele for ou estiver desativado a variável recebe 0 .
Toda esta comparação é programada dentro dos objetos.

Algo muito importante que não poderíamos deixar de falar é a respeito da propriedade visible:

Esta por sua vez permite vários frames (quadros) um por cima do outro, relacionados com objetos.

Ex.

Dentro de um formulário temos quatro frames um por cima do outro. Inserimos quatro objetos (option).
Dentro do primeiro objeto (option1) entramos com o comando seguinte:

Privat sub option1_click

if (option1.value = true) then
frame1.visible = true
else
if (option1.value = false) then
frame1.visible = false
end if
endif

end sub

E assim por diante.

Se selecionamos o option2, consequentemente o frame 2 é ativado e qualquer outro que estava visível é desativado (invísivel).

Portanto, terminamos a primeira etapa do trabalho: realizar o dimensionamento e redimensionamento, consultar tabelas, interpolar, aproximação dos resultados (sempre para mais no nosso caso de tensão no pé do dente), comparar a tensão máxima calculada com a tensão do material, recalcular com opções (check e option), voltar para a tela executável em casos de erros.

sexta-feira, 21 de agosto de 2009

Desenhos 3D

Nosso projeto também aborda a parte 3D e 2D, mencionado na primeira postagem. Um de nossos integrantes treinou no inventor a parte 3D, conseguiu desenhar uma máquina e fez um pequeno filme montando todas as partes do equipamento, além de ser um trabalho educacional também foi vinculado a um trabalho profissional.
Nosso próximo desafio é acoplar o inventor no VB6.0 (Visual Basic 6.0) ou desenhar no próprio VB.

quarta-feira, 29 de julho de 2009

Uma pequena parte, crucial, do nosso trabalho

Esta parte podemos chamá-la : "as pernas do projeto" (foi usado 1200 linhas na programação -apenas nessa parte-). É apartir desta que vamos conseguir, agora, dar procedimento no trabalho.
Desde então estavamos meio confusos e aparentemente perdidos, contudo, conseguimos quebrar as barreiras e finalmente poderémos concluir a primeira etapa, não que amanhã já esteja pronta, mas sim uma questão de tempo para inserir todas as fórmulas relacionadas e necessárias para o calculo.

Hoje vamos colocar o exemplo do combobox (executável e estruturado) como prometido na postagem anterior. Esta é uma pequena parte do nosso trabalho: o fator de serviço.

Clique aqui para download do executável e estruturado.

domingo, 19 de julho de 2009

Usando o comando combobox do Visual Basic

Estudando o banco de dados, percebemos que este método também não corresponderia às nossas expectativas. Então surgiu a seguinte pergunta: -Se usássemos o comando combobox?
Este comando é aquela famosa caixa com um botão de rolagem. No momento em que a selecionamos abre-se logo abaixo vários dados, por exemplo:















Quando entramos em qualquer site para nos cadastras, na maioria das vezes eles nos perguntam qual a nossa localidade, então clicamos numa caixa de rolagem e aparecerão vários estados. Começamos a procurar e clicamos quando encontramos São Paulo (no meu caso) , consequentemente na caixa de rolagem aparece o estado selecionado, numa outra caixa de rolagem logo abaixo é ativada gerando em si as respectivas cidades do estado selecionado. Incrível, este comando corresponde muito bem ao que queríamos. Pesquisando numa das apostilas que nosso professor nos enviou por email, encontramos dados suficientes nos ensinando a usar este comando.

  • Breve resumo:


Precisaríamos inserir no programa o fator de serviço, que por sua vez é obtido a partir da área de serviço e sua funcionalidade. Portanto a primeira caixa seria a área de serviço ou seção, exemplo: Uma refinaria de açúcar.
A segunda caixa seria todas as funcionalidades da refinaria de açúcar, por exemplo as moendas.
Ou seja, teríamos e conseguimos relacionar o primeiro combobox com o segundo da seguinte forma:
Inserimos duas caixas de combobox.
Primeiro digitamos todas as áreas de serviços possíveis da mecânica, dentro do formulário, adicionando-os ao comando combobox com a seguinte estrutura:
combo1.additem ("Nome das áreas")
Depois mudamos sua ativação de _charge para _click. Por quê?
Quando clicarmos em alguma área escolhida, consequentemente o segundo combobox é ativado gerando as respectivas funcionalidades da seção selecionada.
Neste segundo comando usamos a estrutura:

If (análise) then

Else

End IF

  • Exemplo:

If (combo1.text = ("Teste")) then

combo2.clear (Comando para limpar tudo que há dentro do combobox_2.)

Combo2.additem ("Nome das funcionalidades")

Else

If (combo1.text = ("Teste2")) then

combo2.clear

combo2.additem ("Nome das funcionalidades")

Else

* assim por diante ( no nosso trabalho ficou meio grande e ainda é o começo!)

End If

End If

sabermos em que área de serviço o usuário clicou e então gerar as relativas subseções.
Todos os dados que inserimos no programa foram de acordo com o livro que adotamos para estudar em nosso curso de tecnólogo (não me lembro o nome ao certo, mas me comprometo a colocá-lo na próxima postagem, e anexar este comando que acabamos de explicar) .

  • Lembrete:

Lembrando que o link na parte superior e direita de nosso blog, há muitos exemplos úteis, dos quais nos ajudaram muito. Neste site o programador não somente explica seus projetos como também nos fornece toda estrutura do programa.

É o que prentendemos fazer!


Bom Final de semana. IF-1ªturma710

quarta-feira, 8 de julho de 2009

Imprevistos do projeto

É preciso armazenar no programa os fatores de serviço, tipos de materiais, etc. Estávamos evitando usar banco de dados e resolvemos substituí-lo por menus, esta idéia não foi muito boa, pois nos menus não há espaço suficiente para todo o armazenamento.
Assim entramos num novo desafio: aprender a usar um banco de dados.
Imprevistos estes que irão tomar nosso tempo e aumentar nosso conhecimento.

Gratos: equipe IFSP-710.

terça-feira, 16 de junho de 2009

Primeira etapa do nosso trabalho

  1. Completando um pouco mais de um mês, conseguimos acabar de estudar uma apostila do visual basic 6.0 de 130 páginas, esta fora citada no link do segundo marcador da postagem engrenagens helicoidais. Consequentemente iniciando os primeiros passos do nosso trabalho, do qual chamamos de primeira etapa,.
    Nesta primeira etapa focalizamos entrar com os dados necessários fornecido pelo usuário, o menu de dados, e todo cálculo de dimensionamento e redimensionamento do par de engrenagem.
    Na próxima semana colocaremos (em hiperlink) todos os exercícios, apostila e os exemplos que estudamos durante o nosso aprendizado.


Com mais detalhes posteriores, agradecemos desde já!

terça-feira, 12 de maio de 2009

Engrenagens helicoidais

  1. Objetivo:

Desenvolvimento de um programa computacional capaz de dimensionar, redimensionar, exibir na tela o desenho bidimensional e tridimensioanl , utilizando apenas alguns dados fornecidos, por exemplo: rotação do motor e sua potência, forças exercidas no sistema, etc...

O primeiro passo deste trabalho foi pesquisar qual o melhor software a ser utilizado. Escolhemos o Visual Basic, porque este software, além de fazer todo o cálculo de programação, tem a capacidade de desenhar em 3D através de comandos, ativar e se relacionar com outros programas, exemplo: AutoCAd.

  1. Nossa tarefa agora é aprender a programá-lo.

Conseguimos baixar algumas apostilas em: http://www.apostilando.com/download.php?cod=82&categoria=Visual%20Basic.

  • Referente às apostilas citadas, conseguimos fazer alguns programas, por exemplo: uma calculadora muito simples e um contador: