Termos tecnicos sobre CNC (Dicionario do CNC)

ACME Screw – é o mesmo que fuso trapezoidal, ao contrário de um fuso rosqueado comum que possui uma rosca triangular, no fuso trapezoidal a rosca é em formato de trapézio, assim o atríto com a castanha é menor.

Ballnut – é o mesmo que castanha, ela é uma espécie de “porca de parafuso” do fuso trapezoidal/fuso esfera que desloca de forma linear com a rotação do fuso.

Backlash – uma folga que pode existir em fusos (comum e trapezoidal) ou em polias que causam problemas quando o motor inverte o sentido de rotação. Um CNC com backlash terá dificuldades em fazer cortes em forma de círculo, o corte sairá oval ao invés de circular. Existem formas de reduzir o backlash nos fusos e alguns software tentam compensar o backlash, mas a melhor opção é usar um fuso de esfera de qualidade, onde o backlash é quase zero (desprezível).

Step-over – quando o CNC está fresando uma área ele precisa passar novamente nas adjacências (bordas) do local onde ele já havia passado anteriormente para garantir que não sobrará material sem fresar na peça. Esta pequena sobreposição é chamada de “Step-over”.

Spindle – Motor que controla a rotação da broca. Em CNC amadores o Spindle pode ser substituído por retíficas manuais ou tupias.

VFD (Variable Frequency Drive) – normalmente trata-se de um inversor de frequência que controla a velocidade do motor (spindle) de rotação da broca.

Para um dicionário mais completo acesse: http://www.cnccookbook.com/MTCNCDictionary.htm

Escolhendo o motor de passo para seu CNC

Nem todo mundo se atenta aos detalhes do motor de passo para usar num CNC, acreditando que o principal (ou único) fator importante é o torque do motor.

A escolha de um motor inadequado pode gerar perdas de passos e/ou redução drástica de torque em velocidades mais altas.

Se você quiser saber mais sobre quais são os fatores limitam a velocidade do motor de passo, leia esta página wiki do LinuxCNC:
http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Stepper_Motor_Speed_Limitations

Felizmente encontrei estas dicas antes de comprar o motor, do contrário teria comprado um motor inadequado.

Se você quiser saber mais sobre motores de passo:
http://reprap.org/wiki/Stepper_motor
http://homepage.cs.uiowa.edu/~jones/step/

Compilando Kicad a partir do codigo fonte

Tentei instalar a versão mais nova do Kicad a partir do repositório do Ubuntu:
https://code.launchpad.net/~js-reynaud/+archive/ppa-kicad/

Mas o programa pcbnew travava por causa de um BUG no suporte a script python:
https://bugs.launchpad.net/kicad/+bug/1299217

Então resolvi compilar a partir do código fonte seguindo estas instruções:
http://www.kicad-pcb.org/display/DEV/Building+KiCad+on+Linux

Infelizmente as instruções não funcionam como descrito no site, então seguem os passos que usei:

$ sudo apt-get install bzr bzrtools build-essential checkinstall cmake doxygen zlib1g-dev
$ sudo apt-get build-dep kicad

$ bzr whoami "Seu Nome <nome@site.com>"

$ mkdir -p ~/build/kicad
$ cd ~/build/kicad

$ bzr checkout lp:kicad kicad.bzr
$ cd kicad.bzr
$ mkdir build
$ cd build

$ cmake -DKICAD_STABLE_VERSION=ON -DKICAD_SCRIPTING_WXPYTHON=OFF ../

$ make -j 4

$ sudo ckeckinstall

$ cd ~/build/kicad
$ bzr branch lp:~kicad-product-committers/kicad/library kicad-library.bzr

$ cd kicad-library.bzr
$ mkdir build 
$ cd build/ 
$ cmake ../ 
$ sudo checkinstall

Chegou a hora de mandar fabricar a placa, como fazer?

Então você desenvolveu sua placa no KiCAD e deseja envia-la para alguma empresa fabricar o PCB, certo?

Como já comentei num outro post (link), existem várias empresas que fabricam PCB pra você. Você só precisa escolher a que melhor atende seus requisitos de preço e qualidade.

Se você ainda está na fase de protótipo, talvez não seja interessante gastar muito dinheiro com uma placa PCB de excelente qualidade, neste caso você pode optar pelo DirtPCBs. Por apenas $12 USD eles te entregam 10 (dez) placas de 5 x 5cm, com frete gratuíto, devidamente testadas, porém com acabamento um pouco inferior. Para mais detalhes clique aqui.

Infelizmente as empresas não abrirão seu arquivo .pcb ou .kicad_pcb para fabricar sua placa, você precisa converte-la num formato padrão da indústria, chamado de Gerber Format.

Felizmente alguém já documentou os passos necessários para enviar sua placa para fabricação no SeeedSudio Fusion:

http://koblents.com/Ches/Original-Work/46-KiCAD—Seeedstudio-Fusion–Getting-Started/

O link para o SeeedStudio Fusion é este aqui:

http://www.seeedstudio.com/service/index.php?r=site/pcbService

Esta dica também servirá para o DirtPCBs e para outras empresas que fabricam PCBs.

Update: Nos comentários do HackADay os usuários deram outras sugestões de empresas que fabricam pelo mesmo preço do DirtPCBs e com qualidade melhor:

Preço $9.9 USD por 10 placas de 5x5cm:
http://imall.iteadstudio.com/open-pcb/pcb-prototyping.html

Preço $9.9 USD por 10 placas de 5x5cm com frete gratuíto:
http://www.elecfreaks.com/store/pcb-service-c-39.html

Getting started to OBD-II using OBDSim

If you are getting started to OBD-II protocol used for cars’ diagnostic, then you need to know the OBDSim simulator. If you want to know more about OBD-II I have posted some links here: http://acassis.tumblr.com/post/81403602911/mais-informacoes-sobre-obd-ii

It is different from others OBD-II simulators because you can emulate the ELM327 dongle interface and the car data. In fact it is a little confuse at start, but it is because this software is very powerful.

The easy way to get started is using the fltk GUI, this way:

$ obdsim -g Cycle -g gui_fltk -g Cycle
SimPort name: /dev/pts/6
Successfully initialised obdsim, entering main loop

Please note it creates a virtual serial port (tty) to receive commands (using ELM327 standard) then use “minicom” or other serial console software to open /dev/pts/6 (I tested it configured to 115200 8n1).

Now you can send some commands:

>ATZ                                                                            
ELM327 v1.3a OBDGPSLogger                                                       
>ATH1                                                                           
OK                                                                              
>010D                                                                           
7E8 03 41 0D 09 09

The above command will read the “Vehicle Speed” you defined in the gui_fltk interface. Just click on the pointer of Vehicle Speed and move it, then execute the “010D” to read the new speed.

Um jeito não muito programático de achar arquivos duplicados no Linux

Eu estava com o seguinte problema:

No diretório X eu tinha 942 livros em PDF dividos em subdiretórios e no diretório Y eu tinha 2655 livros em PDF também distribuídos em vários diretórios.

Objetivo:

Encontrar os livros que são únicos no diretório X para que depois eu possa move-los para o diretório Y.

Fiz várias pesquisas na internet e não encontrei um jeito rápido e fácil de encontrar arquivos duplicados. Neste caso o que importa é o conteúdo do arquivo e não o nome do arquivo, pois um mesmo livro pode estar com nome diferente.

Resolvi implementar minha própria solução:

Executar o comando md5sum em cada arquivo para gerar a listagem com “hash” de todos os livros. Se o “hash” bater é 99.99999999% provável que o arquivo seja o mesmo.

Então vamos ao comando para gerar a lista com todos os MD5 dos livros do diretório X:

$ cd X
$ find . -type f -print0 | xargs -0 md5sum > /tmp/livrosX.txt

Repita este mesmo processo dentro do diretório Y:

$ cd Y
$ find . -type f -print0 | xargs -0 md5sum > /tmp/livrosY.txt

Abra o arquivo livrosX.txt no editor de texto (gedit.txt por exemplo) selecione todo o conteúdo (Ctrl+A) e copie (Ctrl+C). Então atra o programa Gnumeric e posicione o cursor na célula A2 e cole (Ctrl+V). Neste momento aparecerá a tela “Configuração de Importação de texto”, então marque a opção “Largura Fixa” e clique em Avançar”. Nesta tela aparecerá várias linhas com o MD5 e o caminho/nome do livro, então dê duplo clique no espaço que existe entre o MD5 e o nome do livro, serão criadas as Colunas 1 e 2. Então clique em “Fim”.

Repita este mesmo processo para o livrosY.txt, porém no momento de colocar o texto escolha a célula D2 ou invés da C2, pois deixaremos a coluna C para indicar se o livro é único ou não.

Agora clique na célula C2 e cole esta formula:

=if(iserror(match(A2;$D$2:$D$4000;0));"Unico";"Duplicado")

Posicione o cursor na borda inferior direita da célula C2, ele vai virar um pequena cruz, neste momento dê duplo clique sempre mover o mouse, espere alguns segundos e o Gnumeric automáticamente estende a formula para todas as demais linhas.

Não esqueça de colocar nomes aos campos (A1 = MD5, B1 = Nome do Livro, C1 = Unico ou Não?, D1 = MD5 e E1 = Nome do Livro).

Agora use o auto filtro (Dados -> Filtro -> Adicionar Auto Filtro) para listar apenas os nomes dos arquivos que são únicos.

Após gastar tempo escrevendo este post, resolvi refinar minha busca e pesquisar novamente por uma solução.

Este cara fez um script para fazer praticamente a mesma coisa que fiz, usando um script shell:
http://www.techrepublic.com/blog/linux-and-open-source/how-to-remove-duplicate-files-without-wasting-time/2667/

Este outro explica que existe uma ferramenta no Linux chamada fdupes que faz a mesma coisa:
http://forums.scotsnewsletter.com/index.php?showtopic=63146

Existe até mesmo uma ferramenta gráfica chamada FSlint que faz inclusive bem mais que achar arquivos duplicados, ela serve para corrigir nomes de arquivos entre outras coisas:
http://www.pixelbeat.org/fslint/

Outras dicas e opções podem ser encontradas neste site:
http://askubuntu.com/questions/3865/how-to-find-and-delete-duplicate-files

Moral da história: as vezes você precisa reinventar a roda para aprender como pesquisar no google pelas palavras certas. Era só eu ter pesquisado por “linux how to find and remove duplicate files based on its content” (risada do pica-pau triste he he heeeee).

Fonte da dica de formula para encontrar células repetidas numa planilha eletrônica: http://www.ablebits.com/office-addins-blog/2013/09/05/compare-two-columns-remove-duplicates/