Placa Controladora para CNC v2

Como disse anteriormente, tenho estado a desenvolver a minha segunda CNC, a TheMaker2, aos poucos.Para controlar a nova máquina também desenvolvi uma nova placa baseada no PIC16LF877A, uma vez que os L297 que usei na primeira Placa Controladora para CNC  podem ser bastante dispendiosos quando comprados cá em Portugal e tinha alguns PIC16F877A cá em casa que com umas quantas linhas de código em C poderiam fazer o mesmo ou mais do que três controladores de motores de passo L297.
 
placa controladora da cnc
 
Tal como a outra placa, esta pode também ser separada em três partes:
 
  1. Isolamento – tem optoacoplacores CNY17-2 da Vishay para isolar a porta paralela do resto do circuito;
  2. Controlador – um PIC16LF877A da Microchip controla três motores de passo em modo unipolar (se preferirem um modo bipolar podem mudar o esquema e as placas à vossa vontade);
  3. Interface de potência – uma série de FETs de canal N SUP85N03 da Vishay funcionam como interruptores controlados pelo PIC16LF877A.

O VCC dos motores é separado do VCC do VCC do resto do circuito, que deverá ser 5V. Para os motores podem usar 5V, 12V, 24V ou outra tensão que seja mais apropriada para os vossos motores. OS SUP85N03 permitem uma corrente contínua máxima no dreno de 85A, por isso não devem ter problemas independentemente dos motores que usem (poderão é ter de aparafusar uns dissipadores aos transístores e reforçar alguns traços da PCB no caso de correntes mais elevadas). Para alimentar a placa uso uma fonte de alimentação ATX, aproveitando as linhas de 5V para alimentar a electrónica e a de 12V para alimentar os motores. Coloquei a fonte e a placa numa caixa construída para o efeito, feita de acrílico e alumínio.
 
A placa tem dois conectores extra:
 
  1. Um conector UART que pode ser usado para comunicar com um PC ou mudar o firmware se um bootloader for colocado no PIC antes de fazer o upload do firmware de controlo da CNC. O firmware actual não tem qualquer protocolo de comunicação definido e, como tal, o conector da UART não está a ser usado. Incluí este conector na placa porque coloquei o Tiny PIC Bootloader no PIC para poder fazer upgrades ao firmware mais facilmente. Pretendo adicionar novas funções ao firmware quanto tiver algum tempo livre para o fazer.
  2. Um conector de sensores que pode ser usado para fazer a leitura dos interruptores de limite da CNC. Contudo, esta funcionalidade também ainda não foi implementada.
O firmware actual apenas tem as funcções básicas para controlar os motores de passo de acordo com os sinais Direcção e Passo e nada mais.
 
pcb_bottom_layer_CNC_cobntroller_v2.jpgpcb_bottom_layer_toner_transfer.jpgpcb_corrosion_chloridric_acid_hydrogen_peroxide.jpgpcb_bottom_layer_CNC_controller_v2.jpgpcb_top_CNC_controller_v2.jpg
O circuito e as placas foram desenhadas no Kicad e podem fazer o download dos ficheiros do projecto aqui.
 
Relembro-vos que irão precisar de um programador de PICs para programar o PIC16LF877A com o firmware fornecido. O firmware foi desenvolvido no Piklab e podem fazer o download do projecto aqui (ficheiro .hex incluído). 
 
Espero que esta placa vos seja útil e que possam usá-la para controlar a vossa CNC. Se conseguirem fazer melhorias e adicionar novas funcionalidades, melhor ainda! 🙂 Agradecia apenas que viessem cá partilhar os vossos desenvolvimentos 🙂
 
Cuidem-se!

Achou esta publicação útil? Deseja contribuir para outros projectos envolvendo ciências computacionais, electrónica, robótica ou mecatrónica que serão publicados neste blog? Se sim, pode fazer uma doação utilizando o botão do Paypal abaixo. Obrigado! 🙂
 

Donate