Placa Controladora para CNC v2
Posted in Electrónica, Fabricação Digital, Mecatrónica, Microcontroladores, Open Source, Projectos, Robótica
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.
Tal como a outra placa, esta pode também ser separada em três partes:
- Isolamento – tem optoacoplacores CNY17-2 da Vishay para isolar a porta paralela do resto do circuito;
- 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);
- 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:
- 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.
- 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.
Response code is 404
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!
[…] (22/10/12): Coloquei um novo post neste blog que fala de uma nova placa controladora. Vejam a Placa Controladora para CNC v2.Achou esta publicação útil? Deseja contribuir para outros projectos envolvendo ciências […]
tem cnc leitura dos interruptores de limite .
Boas! Como referido no artigo, a placa contém “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.” Pode modificar o código fonte do microcontrolador para fazer essa leitura, se assim o desejar.
Gostaria de saber se existe algum PIC que eu poderia utilizar para controlar 5 motores?
Caro Wesley, lamento a demora na resposta. Qualquer PIC com pinos suficientes pode ser usado para controlar 5 motores.