[Vídeo do projeto]

Equipa: Grupo 06:
Filipe Loureiro , Emanuel Pereira , Mariangel Castro , Miguel Silva , Renato Rocha
Empresa: Altice Labs
Orientadores: Prof. Telmo Cunha (DETI)
Eng. Hélder Alves (Altice Labs)
Eng. Nuno Balseiro (Altice Labs)

O projeto teve como finalidade encontrar uma solução para o desafio proposto pela Altice Labs, no plano de criação de um autómato para a medição de sinais em placas de circuitos eletrónicos impressos. A solução apresentada contempla o uso de um kit CNC para a movimentação da ponta de teste adaptada, um multímetro para obter as leituras desejadas e um computador como elemento central. Existe também uma User Interface (UI) que contém uma API para fazer a conexão com a base de dados.

Desafio

A Altice Labs é responsável pela criação, desenvolvimento, testagem e validação de vários equipamentos, tais como routers e gateways. Atualmente, todos os testes necesssários realizar nas placas de circuitos impressos são feitos de uma forma manual pelo operador, tornando o processo demorado e extremamente repetitivo. Foi lançado o desafio de tornar este processo automatizado e com pouca interação humana. A solução de utilizar um kit CNC adaptado, um multímetro e um computador permite reduzir o tempo de teste, diminuir os possíveis erros associados à repetição dos testes, bem como a possível inclusão do sistema no final da cadeia de validação dos PCBs.

</br>

Resultados

No final do projeto é possível realizar testes a uma PCB de forma automática, em que o operador apenas tem de fornecer o ficheiro com as coordenadas dos pontos de teste e os valores esperados ler, bem como introduzir a PCB na mesa de testes. O funcionamento do sistema pode ser dividido no funcionamento dos seguintes componentes: Controlo da CNC - Capacidade de enviar a ponta de teste adaptada para as várias coordenadas de teste. Leitura do multímetro - Capacidade de obter a leitura dos pontos de teste. Estes valores vão sendo adicionados ao relatório de teste que será enviado no final para a API. API e Base de Dados - Existe uma API que permite a conexão com a base de dados, possibilitando ao operador introduzir os dados necessários para iniciar e executar o teste. Também é disponibilizado o relatório de teste, podendo consultar os seus detalhes. A base de dados permite guardar a informação de vários testes executados para consula futura.

</br> Sistema

Mais informação

Este diagrama apresenta uma visão geral do funcionamento do sistema. Através do mesmo podemos observar os inputs e outputs globais que correspondem aos valores introduzidos, para dar início ao sistema, e os recebidos, que são o resultado da execução de todos os módulos internos. Os inputs nesta fase resumem-se a: Coordinates file (ficheiro de coordenadas): esta entrada corresponde a um documento .csv que possui as coordenadas dos pontos de teste da PCB que serão entregues à CNC para deslocar a ponta de prova. Expected measurements file (ficheiro de valores esperados): este documento contém os valores que devem ser comparados aos dados obtidos pelo multímetro na medição da placa de teste. Physical board (placa de teste): para dar início ao funcionamento do sistema, é necessário introduzir uma PCB na qual serão praticados os testes. Por outro lado, o output é dado pelo report file (relatório), que contém a avaliação dos testes efetuados à PCB. É necessário destacar que todos os dados introduzidos serão recebidos e transportados pela API e armazenados na base de dados, representado no diagrama através de uma área verde.

</br> Layer 0 do Sistema

</br>

O diagrama seguinte apresenta uma visão geral da arquitetura do software a desenvolver. Entre todos os módulos compostos por este esquema, é necessário destacar os seguintes: Database (Base de dados): este módulo representa a base de dados do sistema, responsável pelo armazenamento dos valores necessários para a operação da CNC e para a redação do relatório. A base de dados irá também armazenar os dados relativos ao relatório. Módulos verdes (dbcom e nodejs): o módulo dbcom irá comportar-se como uma API, pelo que permitirá a troca de informação entre a base de dados e o nodejs. O nodejs irá ser responsável por selecionar os dados que será necessário enviar ou receber da base de dados e fazer a interligação entre os restantes módulos. Módulos azuis (filecom, route, serialcom, board e cnc): estes módulos são responsáveis por ler um ficheiro .csv, traduzi-lo em código gcode para, posteriormente, formular e enviar instruções GRBL para a CNC. De notar que o sistema sofreu uma atualização proveniente da necessidade de acrescentar uma camada de segurança ao manuseamento da CNC. Isto é possível devido à abstração entre o módulo board e o módulo cnc. Módulos vermelhos (filecom, report, multimeter, serialcom): são responsáveis por ler os valores do multímetro e escrevê-los num ficheiro.

</br> Diagrama do Software

</br>

A UI permite ao utilizador navegar entre as várias funcionalidades do sistema:

API 1 API 1

</br>

Imagens do Produto Final:

Produto Produto Produto

</br>

Vídeo de teste de uma PCB: