Chiroptera Los quirópteros (Chiroptera), conocidos comúnmente como murciélagos (en inglés BATS), son un orden de mamíferos placentarios cuyas extremidades superiores se desarrollaron como alas. Con aproximadamente 1100 especies, representan aproximadamente un 20% de todas las especies de mamíferos, lo que los convierte en el segundo orden más numeroso de esta clase (tras los roedores). Están presentes en todos los continentes, excepto en la Antártida. Fuente: Wikipedia
BATS -Bricolabs Arduino Training Shield- es una idea original de Sergio Alvariño y Tucho Méndez de una placa escudo (shield) para Arduino UNO con muchos de los componentes que se utilizan en los cursos para el aprendizaje inicial de esta plataforma. Las ideas son varias:
Esta entrada de la wiki describe la creación de la PCB de BATS con ayuda de KiCAD.
Imos deseñar un shield para Arduino usando KiCad
Daremos unha visión xeral da funcionalidade da suite KiCad pero non vamos a redactar un tutorial detallado nin de deseño de circuitos nin do mesmo KiCad. Daremos as pistas xustiñas para empezar a traballar con KiCad, se queredes un tutorial detallado, en youtube tedes un super recomendable, elaborado por TutoElectro
Tamén comentaremos a nivel xeral os pasos para desenvolver este proxecto.
KiCad é unha suite de deseño electrónico automatizado 1). KiCad permite o deseño tanto de esquemas de circuitos como das placas de circuito impreso a nivel profesional. A suite está dispoñible para Windows, Linux e Apple OS X. É un programa gratuito e libre distribuido baixo licencia GNU GPL v2.
Mellor ainda, a suite KiCad é a elexida polo CERN para o desenvolvemento e deseño de electrónica. É de esperar que con este respaldo a suite mellore ainda mais.
Queremos facer un shield que poida servir para iniciarse no mundo da programación con Arduino, especialmente centrado no ensino (tecnoloxía 3º - 4º ESO). Neste eido, traballar sobre breadboard pode ser complexo, moitas veces o material é compartido e isto implica que, cada clase, hai que montar e desmontar o circuito que logo se programará. Isto leva o seu tempo e ocasiona erros de montaxe que son difíciles de detectar, polo que o uso dun shield parece que pode ser unha solución.
Mália isto, empregando un shield xa ensamblada se perde a oportunidade de profundizar os coñecementos de electrónica e circuitos que se adquiren ao facer un mesmo a montaxe, así que un shield na que o alumno/a teña que colocar e soldar el mesmo os compoñentes, segundo avanza na súa aprendizaxe, parécenos a solución de compromiso idónea.
Queremos que o shield sexa escalable, que sirva para traballar cuns poucos compoñentes se non se quere profundizar demasiado, pero que permita tamén chegar a nivéis máis avanzados e con máis compoñentes sen cambiar de shield.
Estes son os compoñentes que se pensan incluír:
Para instalar o KiCad en Ubuntu basta con facer o típico ciclo de instalación:
sudo apt-get install kicad
Se queremos estar á última temos o ppa de Monsieur Reynaud dispoñible:
sudo apt-add-repository ppa:js-reynaud/ppa-KiCad sudo apt-get update sudo apt-get install kicad
Nos escollimos esta opción.
Se non usades un linux baseado en Debian, teredes que consultar na rede como facer a instalación para o voso sistema operativo. De todolos xeitos a instalación é moi doada, donde podemos atopar algún problemiña é na instalación das bibliotecas de compoñentes que vos contaremos cos mais detalle mais adiante.
Además de desenvolver o proxecto con KiCad queremos ter o proxecto dispoñible en github.
Agora que temos KiCad instalado imos preparar un directorio de traballo ao que chamamos bats.
O directorio bats será o “repositorio” ou depósito do noso proxecto para git. Contén os seguintes subdirectorios:
Unha vez que temos preparado o directorio do proxecto activamos git para iniciar o control de versións.
Describir a configuración de git??
As bibliotecas de KiCad están organizadas en duas partes:
O KiCad trae por defecto varios templates que permiten o desenrolo de proxectos baseados en diferentes modelos de Arduino.
Nos optamos por outro camiño, instalamos unha nova biblioteca de compoñentes e fixemos o proxecto usando esta biblioteca.
Unha biblioteca moi completa é a de Freetronics que podemos atopar tamén en github en:
https://github.com/freetronics/freetronics_KiCad_library.git
As bibliotecas de KiCad poden estar almacenadas en diferentes directorios do noso ordenador. Poderíamos engadir as bibliotecas que usemos en algún subdirectorio de /usr/share/kicad ou de /usr/local/share. Esta podería ser unha boa estratexia nun servidor compartido por varios usuarios. Tamén poderíamos descarregar todas as bibliotecas a un directorio común do noso home. Pero como estamos facendo un control de versións do noso proxecto con git a propia páxina da biblioteca suxírenos o xeito mais adoitado de facer a instalación: coma un submódulo git do noso proxecto.
A vantaxe de engadir a biblioteca de compoñentes de Freetronics coma un submódulo Git é que o noso proxecto queda “aillado” do proxecto engadido como submódulo. Podemos avanzar no noso proxecto e salvar os cambios feitos con Git, sen afectar aos submódulos, e viceversa.
Por exemplo, unha vez que teñamos o noso directorio de traballo configurado con git, e a libreria de Freetronics engadida como submodulo, poderíamos empezar o desenrolo da nosa placa BATS e ir gardando os nosos avances. Estas operacións non afectarán a librería Freetronics, que de feito ainda que esta descarregada no noso directorio de traballo, non está gardada no git do noso proxecto, soamente está enlazada.
Se no futuro nos interesa actualizarnos a unha versión mais avanzada da librería Freetronics, podemos facer un commit do noso proxecto nunha situación controlada, e despois actualizar o submodulo correspondiente a librería.
Dende o directorio principal de noso proxecto descarregamos a biblioteca de Freetronics coma un submodulo do noso proxecto:
cd kicad git submodule add https://github.com/freetronics/freetronics_kicad_library.git kicad/ftlibrary
Despois de engadir a biblioteca como un submódulo se consultamos o estado git do noso proxecto aparecerán dous novos ficheiros:
$ git status On branch master Your branch is up-to-date with 'origin/master'. Changes to be committed: (use "git reset HEAD <file>..." to unstage) new file: .gitmodules new file: kicad/ftlibrary
Git engadíu automáticamente os dous novos ficheiros, o directorio que contén a nosa biblioteca eo ficheiro .gitmodule que levará o control de todolos submódulos que usemos.
En realidade os ficheiros que compoñen a biblioteca non pertencen ao noso depósito de software, git só leva conta da versión da biblioteca de Freetronics que estamos a usar.
Se queres saber mais de esta potente funcionalidade de git podes leer: http://www.git-scm.com/book/en/v2/Git-Tools-Submodules
No menú Preferences → Component Library sinalamos na fiestra inferior o directorio do noso proxecto. Na fiestra superior engadimos o ficheiro da biblioteca.
No github da biblioteca nos aconsellan poñer a biblioteca de primeira na nosa lista por que definen todo tipo de compoñentes. Nos de momento seguimos o consello de Freetronics, e a puxemos de primeira.
Configuramos un ficheiro para o noso proxecto declarando os footprint extra que imos a utilizar.
(fp_lib_table (lib (name FT) (type KiCad) (uri ${KIPRJMOD}/ftlibrary/freetronics_footprints.pretty) (options "") (descr "Freetronics Kicad Library") ) )
Engadimos o novo ficheiro ao noso repositorio
git add fp-lib-table
Abrimos Pcbnew e no menú Preferences→Footprint Libraries Manager comprobamos que na pestaña Project Specific Libraries figura o noso ficheiro.
Pantalla xeral de KiCad opcións, citar a lista de hotkeys
Abrimos un novo proxecto: File::New Project (Ctrl+N) bats
O primeiro que imos facer é o esquema do circuito. Para isto temos que usar a ferramenta Eeschema que podemos atopar en tres lugares diferentes 2) na barra de iconos de ferramentas, no menú de KiCad no título da fiestra, ou có atallo Ctrl+E.
Abrimos eescheme e creamos un novo ficheiro de esquema.
Esta é sen dúbida a parte de KiCAD mais criticada. Hai varias razóns para isto:
Dende o noso punto de vista o mais sinxelo e ter un só directorio donde almacenemos as bibliotecas de terceiros que queremos usar con KiCAD. Nos usamos ~/resources/kicad de feito temos:
Imos ver como engadir unha nova biblioteca de compoñentes de xeito global (quedará dispoñible para todos os proxectos) ou só para un proxecto concreto.
As bibliotecas que imos usar pódense atopar en esta páxina.
Na páxina hai dous ficheiros dispoñibles para descarga. O que contén as plantillas (templates) non o queremos, xa está incluido no github de KiCAD.
Descarregamos o outro e descomprimimos no directorio donde imos ter as bibliotecas de KiCAD, no noso caso: ~/resources/kicad/kicad_3rd
3 x R10K (R9, R11, R13) 8 x R470 (R3, R4, R5, R6, R7, R8, R10, R12) 1 x R1K (R1) 4 x Pulsadores (SW1, SW2, SW4, SW6) 2 x LED Red (LED1, LED2) 1 x LED Yellow (LED3) 2 x LED Green (LED4, LED5) 32 x Pines Largos para el Arduino (1 x Grupo de 6, 2 x Grupo de 8, 1 x Grupo de 10) 3 x Pines normales para la conexión servo 1 x LED RGB cátodo común 1 x Zumbador u1 2 x Potenciómetros ALPS (VR1, VR2)
Dende o seguinte enlace podese descarregar unha biblioteca de compoñentes moi currada, ainda que algo anticuada:
git:smisioto.eu/KiCad_libs.git ====== META ====== Este repositorio usa submódulos de git para a xestión das bibliotecas de compoñentes. Para clonar o repositorio tes que clonar o repositorio e despois actualizar os submódulos executando: <code> $ git clone https://github.com/brico-labs/BATS $ git submodule update –init </code> Este documento está escrito en Markdown-Pandoc. Pandoc e un sistema moi sinxelo de documentación que permite xerar multiples formatos de saída. As fontes do documento están no directorio doc/src. Os formatos de saída son este fichero README.md en formato Markdown-github e os documentos que podes atopar no directorio doc/out incluindo un pdf. Os documentos xéranse automáticamente a partir do ficheiro fonte sen mais que executar: <code> $ cd doc $ make </code> Outras opcións que soporta o makefile serían reset para rexerar todos os documentos de saída por defecto, odt para xerar un bats_gl.odt. <code> $ make reset $ make odt </code>