quarta-feira, 29 de abril de 2009

quinta-feira, 16 de abril de 2009

Plotter UP - Software de controle do plotter 100% funcional.


Seguem algumas imagens do software(Fig. 1) em delphi desenvolvido por Eduardo Sampaio para controlar o plotter, o circuito utilizado no exemplo(Fig. 2) e a placa de circuito como ficaria(fig. 3).

Descrição:
O software trata-se de um software de controle numérico (CN) o qual através da interpretação de um arquivo no formato HPGL trata essas informações e a partir disso gera o controle de 2 motores de passo pertencentes aos eixos X, Y e de um motor continuo do eixo Z.

Informações gerais sobre o funcionamento do software:
Primeiramente, desenvolve-se o circuito pretendido através do proteus e o exporta como imagem vetorial(Vector - HPGL) e em seguida abre o Plotter UP. Neste clica-se no botão carregar e escolhe-se o arquivo HPGL anteriormente exportado. Em seguida o programa deverá ficar como na imagem acima com diferença apenas do circuito(em vermelho). Após isso, o usuário deverá configurar os campos "Delay entre passos" e "Resolução" e então clicar em "Executar todo". Neste momento, o Plotter deverá acionar os motores e começar a plotagem da placa de circuito seja este a caneta ou com o Dremmel (irá frezar ou passar a caneta apenas na parte que está em vermelho ficando como na figura 3).

Informações sobre desenvolvimento do software:
A primeira etapa no desenvolvimento do software foi estudar os diversos padrões de imagens vetoriais que poderiam ser utilizados(HPGL, HPDL, GERBER, CODIGO G etc) e então definiu-se que iria se utilizar o HPGL pelo fato deste ser compatível com o ISIS (principal ferramenta para desenvolvimento de circuitos) e por ter se achado uma maior quantidade de informação referentes a esse padrão.
Em seguida deu-se inicio ao desenvolvimento do tratamento desse arquivo e interpretação das suas funções.
Terminada essas duas etapas houve um estudo na área da geometria analítica (função da reta, Traj. do circulo, Traj. do arco etc) para que se tivesse embasamento suficientes para o desenvolvimento do algorítimo de controle numérico(CN) que foi finalizado. Após finalização do algorítimo de software aconteceram os testes ,inicialmente, através da placa de teste da porta paralela e num segundo momento com o circuito, os motores de passo e o motor continuo(solenóide).
Agora o software encontra-se totalmente funcional e faltando apenas melhoramentos na interface.

Gostaria de deixar os meus agradececimentos a Bruno Cavalcantti e ao Professor Victory que me auxiliaram no desenvolvimento desse Software e foram peças fundamentais para seu desenvolvimento/conclusão.


PS: O programa só será disponibilizado quando concluido o layout por completo.

Eduardo Sampaio - Graduando de Mecatronica - 3o Semestre

sexta-feira, 6 de março de 2009

2009.1

Com o começo do novo semestre a equipe Laranja Mecânica vem com algumas novidades, entra um novo integrante Thassyo Pinto Graduando em Engenharia Mecatrônica. Nesse novo semestre firmamos uma parceria com a Equipe de Engenharia Mecânica Davinci 1, responsaveis pelo projeto da escada rolante no semestre passado. Novas parcerias formam novos projetos, por isso a equipe Laranja Mecânica apresenta juntamente com a equipe Davinci 1 o projeto LM4 - PCB PLOTTER.
ao lado dois desenhos feitos no programa Solid Works














O projeto esse semestre consiste na criação de um Plotter para confeccao de Placas de cirucuito impresso. Apesar de simples na discricao é um pouco mais complicado do q parece diante de certa complexidade, otimizamos o grupo subdividindo-o em 3 subgrupos mecanica eletronica e programacao
Programação: Confeccao de software para controle do plotter através de controle numerico computadorizado.
Mecanica: maquina para obter-se uma resolução de no max 1mm por passo. Consite de 3 eixos x,y,z, sendo o x e o y sendo movidos por motores de passo e usando parafusos sem fim, e o eixo z representado por uma mola senoide.
Eletrônica: responsavel pela integração entre e a mecanica e a programação, consiste basicamente no controle e acionamento dos motores e da valvula.

quinta-feira, 20 de novembro de 2008

Balança implementada

Após a apresentação do ARHTE sem a eletrônica estar pronta, a equipe laranja mecanica não deixa de se empenhar. Na mesma tarde fizemos a parte mecânica e a programação em PIC para um novo componente da esteira, uma balança, onde qnd tiver 200g de brita a esteira irá parar. Agora faltando só mesmo a finalização da eletrônica que está quase pronta.

Amanhã pela manhã haverá notícias da finalização da eletrônica e pela tarde teste de todos os componentes juntos funcionando. Amanhã postamos video da Esteira LM3 finalizada.

Aí segue o código para PIC 16f628a comentado:

#include

__CONFIG _WDT_OFF & _INTRC_OSC_NOCLKOUT & _MCLRE_OFF & _LVP_OFF

CBLOCK 0x20 ;ENDEREÇO INICIAL DA MEMÓRIA DE USUÁRIO
TEMPO
ENDC

#DEFINE BANK0 BCF STATUS,RP0
#DEFINE BANK1 BSF STATUS,RP0
#DEFINE LED PORTA,1
#DEFINE MOTOR PORTA,2
#DEFINE INFRA PORTA,0
#DEFINE LEDV PORTA,3
#DEFINE BALANCA PORTA,4
ORG 0x00
GOTO INICIO

ORG 0x04
GOTO TRATA_TIMER

INICIO

CLRF PORTA
BANK1
MOVLW B'00000111' ; bit do 0 ao 2, configuração de Preescale - 111 = 1:256 Timmer0; bit 8, habilita uso de periféricos.
MOVWF OPTION_REG ; Move o byte de configuração do Work para o registrador OPTION_REG
MOVLW B'11110001'
MOVWF TRISA ; seta as portas de entrada e saida
BANK0
MOVLW b'00000111'
MOVWF CMCON ; Desabilita comparadores
MOVLW .20 ; Atribui 20 para W
MOVWF TEMPO ; Atribui valor de W para TEMPO

MAIN
BTFSS BALANCA ;Checa se o peso exedeu 200g
GOTO EXPESO ;Se execedeu va para expeso
BTFSS INFRA ;Checa se o laser foi interrompido
CALL PARA ;se foi va para subrotina PARA
BTFSC INFRA ;checa se laser nao está interrompido
CALL LIGADO ;se nao estiver va para LIGADO
GOTO MAIN

LIGADO ;Sub-Rotina Ligado
BSF LEDV ;Liga led verde
BCF LED ;Desliga led vermelho
BSF MOTOR ;Liga motor
RETURN

PARA ;Sub-Rotina PARA
BCF LEDV ;desliga led verde
BSF LED ;liga led vermelho
BCF MOTOR ;desliga motor
MOVLW .20
MOVWF TEMPO
MOVLW B'10100000' ; BIT: 7-INTERRUPÇÃO, 5-TIMMER, 2-Flag Timmer
MOVWF INTCON ; Move o byte de configuração do Work para o registrador INTCON
LOOP
GOTO LOOP
RETURN

TRATA_TIMER ; Trata a interrupção gerada pelo Timmer0
BCF INTCON, T0IF ; Desabilita flag de Timmer0
BCF INTCON, GIE ; Habilita Interrupção Geral
BTFSS INFRA
GOTO MAIN
DECFSZ TEMPO ; Decrementa Variavel TEMPO2 e testa se TEMPO2 = 0 pula a proxima linha.
GOTO TESTALED
GOTO MAIN


TESTALED ;Sub-Rotina TESTALED
BTFSC LED ;Checa se led vermelho está apagado
GOTO ASCENDE ;se estiver vai para subrotina ascende
BTFSS LED ;testa se led vermelho está aceso
GOTO APAGA ;se estiver vai para subrotina apaga

ASCENDE ;Sub-Rotina ASCENDE
BCF LED ;Apaga led vermelho
RETFIE

APAGA ;Sub-Rotina APAGA
BSF LED ;Ascende led vermelho
RETFIE

EXPESO ;Sub-Rotina EXPESO
BCF LEDV ;Apaga led verde
BSF LED ;Ascende led vermelho
BCF MOTOR ;Desliga motor
GOTO MAIN

END

segunda-feira, 17 de novembro de 2008

Algorítimo PIC aperfeiçoado

Aproveitando para estudar PIC resolví fazer um algorítimo mais rebuscado. (Código comentado em breve)

Implementações:

-Esperar 5s sempre que o sensor for interrompido para a esteira voltar ao funcionamento.

-LED vermelho piscando enquanto esteira pausa 5s.

Video:



Aí segue o novo código do PIC:

#include

__CONFIG _WDT_OFF & _INTRC_
OSC_NOCLKOUT & _MCLRE_OFF & _LVP_OFF

CBLOCK 0x20 ;ENDEREÇO INICIAL DA MEMÓRIA DE USUÁRIO
TEMPO
ENDC

#DEFINE BANK0 BCF STATUS,RP0
#DEFINE BANK1 BSF STATUS,RP0
#DEFINE LED PORTA,0
#DEFINE MOTOR PORTA,2
#DEFINE INFRA PORTA,1
#DEFINE LEDV PORTA,3
ORG 0x00
GOTO INICIO

ORG 0x04
GOTO TRATA_TIMER

INICIO

CLRF PORTA
BANK1
MOVLW B'00000111'; bit do 0 ao 2, configuração
de Preescale - 111 = 1:256 Timmer0; bit 8, habilita uso de periféricos.
MOVWF OPTION_REG ; Move o byte de configuração do Work para o registrador OPTION_REG
MOVLW B'11110010'
MOVWF TRISA
BANK0
MOVLW b'00001111'
MOVWF CMCON
MOVLW .20 ; Atribui 5 para W
MOVWF TEMPO ; Atribui valor de W
para TEMPO

MAIN
BTFSS INFRA
CALL PARA
BTFSC INFRA
CALL LIGADO
GOTO MAIN

LIGADO
BSF LEDV
BCF LED
BSF MOTOR
RETURN

PARA
BCF LEDV
BSF LED

BCF MOTOR
MOVLW .20
MOVWF TEMPO
MOVLW B'10100000'; BIT: 7-INTERRUPÇÃO, 5-TIMMER, 2-Flag Timmer
MOVWF INTCON ; Move o byte de configuração do Work para o registrador INTCON
LOOP
GOTO LOOP
RETURN

TRATA_TIMER ; Trata a interrupção gerada pelo Timmer0
BCF INTCON, T0IF ; Desabilita flag de Timmer0
BCF INTCON, GIE ; Habilita Interrupção Geral
BTFSS INFRA
GOTO MAIN
DECFSZ TEMPO ; Decrementa Variavel TEMPO2 e testa se TEMPO2 = 0 pula a proxima linha.
GOTO TESTALED
GOTO MAIN


TESTALED
BTFSC LED
GOTO ASCENDE
BTFSS LED
GOTO APAGA

ASCENDE
BCF LED
RETFIE

APAGA
BSF LED
RETFIE

END

domingo, 16 de novembro de 2008


placa de circuito, feita em uma placa padrão, o chip de cima é o PIC16F628A, e o CI uln2803 o de baixo, detalhe para os LEDs que dizem o funcionamento do motor.

sábado, 15 de novembro de 2008

Simulação Esteira - Pic no ISIS



O led azul aceso representa o Motor DC (Led motor DC)
O led vermelho aceso representa interrupção do laser e parada da esteira
O led verde aceso representa a esteira em movimento

O push button representa, quando pressionado, o laser interrompido.