• Aucun résultat trouvé

Objectif : asservissement num´ erique d’un oscillateur ` a quartz sur GPS

N/A
N/A
Protected

Academic year: 2022

Partager "Objectif : asservissement num´ erique d’un oscillateur ` a quartz sur GPS"

Copied!
11
0
0

Texte intégral

(1)

Introduction Sch´ema Dessiner sa propre empreinte Simulation SPICE Routage ecanique – insertion dans FreeCAD Script Python

Objectif : asservissement num´ erique d’un oscillateur ` a quartz sur GPS

Contexte :

• un oscillateur `a quartz est stable sur le court terme mais d´erive sur le long terme (>1 s)

• GPS est un syst`eme de datation pr´ecis fournissant un signal (1 PPS) avec une exactitude de l’ordre de 100 ns toutes les secondes

• Objectif: contrˆole du quartz caden¸cant un microcontrˆoleur sur le 1 PPS de GPS

1 architecture g´en´erale du syst`eme

2 mise en œuvre du microcontrˆoleur et composants passifs p´eriph´eriques (quartz, reset/programmation. communication)

3 simulation du filtre (PWM →DAC)

4 routage en respectant des contraintes m´ecaniques

5 insertion du circuit dans FreeCAD

1 / 11

(2)

Introduction Sch´ema Dessiner sa propre empreinte Simulation SPICE Routage ecanique – insertion dans FreeCAD Script Python

Objectif : architecture du syst` eme

r´ ecepteur GPS

1.57 GHz Atmega

projet

1 PPS

1 s

32u{2,4}

(Thal`es AC12, Motorola Oncore)

1 microcontrˆoleur + p´eriph´eriques

2 varicap en parall`ele d’un condensateur de pieds pour tirer la fr´equence du quartz

3 mesure de l’intervalle entre deux impulsions 1 PPS par Input Capture

4 pas de DAC ⇒PWM (rapport cyclique) et filtre passe bas

2 / 11

(3)

Introduction Sch´ema Dessiner sa propre empreinte Simulation SPICE Routage ecanique – insertion dans FreeCAD Script Python

Principe de KiCAD

1 2

Debian/GNU Linux :

apt-get install kicad kicad-packages3d kicad-footprints kicad-symbols kicad-templates

| {z }

kicad-libraries

version 5.1.4

(354 MB de packages 3D !)

aussi fonctionnel sous MS-Windows & MacOS X

Cr´e´e en 1992 by J.-P. Charras (IUT de Grenoble), pris en main par le CERN en 2013, soutenu par Digikey ... un outil sp´ecifique par ´etape

• sch´ema (Schematic Layout Editor) – Electrical Rules Check

• assignation des boˆıtiers `a chaque composant

• exporter netlist qui fait le lien avec le routeur

• Pcbnew (printed circuit board) –Design Rules Check

• export STEP/VRML (CAD) & Gerber

1W. Stambaugh,KiCad Version 5 New Feature Demo, FOSDEM 2018, `a https://archive.fosdem.org/2018/schedule/event/cad_kicad_v5/

2W. Stambaugh,KiCad Project Status, FOSDEM 2019, `a https://archive.fosdem.org/2019/schedule/event/kicad/

3 / 11

(4)

Introduction Sch´ema Dessiner sa propre empreinte Simulation SPICE Routage ecanique – insertion dans FreeCAD Script Python

Sch´ ema

• “M”ove pour d´econnecter les fils, “G”rab pour conserver les fils connect´es lors du d´eplacement

• “R”otate d´econnecte les fils

• Not connected (“x”) pour valider Electrical Rule Check

4 / 11

(5)

Introduction Sch´ema Dessiner sa propre empreinte

Simulation SPICE Routage ecanique – insertion dans FreeCAD Script Python

Ajout d’une empreinte manquante

5 / 11

(6)

Introduction Sch´ema Dessiner sa propre empreinte Simulation SPICE Routage ecanique – insertion dans FreeCAD Script Python

Simulation SPICE

• Composant sp´ecifique SPICE (Add→pspice→VSOURCE)

• D´efinition des propri´et´es de la source dans sa valeur

• D´esactiver les composants qui ne font pas partie de la simulation (Edit →Edit Spice Model →Disable symbol for simulation)

• Tools→Simulator→Simulation →Settings

• Run/Stop Simulation→Probe pour s´electionner le point de mesure

• Simulation→Show SPICE Netlist pour r´ecup´erer le fichier ngspice

6 / 11

(7)

Introduction Sch´ema Dessiner sa propre empreinte Simulation SPICE Routage ecanique – insertion dans FreeCAD Script Python

Simulation SPICE

• Tune pour balayer la valeur d’un composant et voir son impact sur la fonction de transfert

7 / 11

(8)

Introduction Sch´ema Dessiner sa propre empreinte Simulation SPICE Routage ecanique – insertion dans FreeCAD Script Python

Routage

• 2-couches (bottom = plan de masse)

• se rappeler de la fonction de chaque composant dans le sch´ema lors du placement

• quartz au plus pr`es du microcontrˆoleur pour ´eviter l’inductance des pistes

• condensateurs de pieds au plus pr`es du quartz

• condensateurs de d´ecouplage au plus pr`es des alimentations (coins)

• surface = prix de fabrication / v.s. nombre de couches

• matrice de vias : click droit sur via et “Create Array”

8 / 11

(9)

Introduction Sch´ema Dessiner sa propre empreinte Simulation SPICE Routage ecanique – insertion dans FreeCAD Script Python

Conception m´ ecanique-´ electronique

Est-ce que le circuit rentrera dans son boˆıtier ?

KiCAD exporte un fichier STEP (penser `a d´efinir le contour du circuit en Edge.Cuts et Add Graphics Line), FreeCAD importe un fichier STEP :

9 / 11

(10)

Introduction Sch´ema Dessiner sa propre empreinte Simulation SPICE Routage ecanique – insertion dans FreeCAD Script Python

Conception m´ ecanique-´ electronique

Est-ce que le circuit rentrera dans son boˆıtier ?

KiCAD exporte un fichier STEP (penser `a d´efinir le contour du circuit en Edge.Cuts et Add Graphics Line), FreeCAD importe un fichier STEP :

10 / 11

(11)

Introduction Sch´ema Dessiner sa propre empreinte Simulation SPICE Routage ecanique – insertion dans FreeCAD Script Python

Interagir avec KiCAD en Python

3

Les fichiers stock´es par KiCAD sont en ASCII et limpides `a lire

(pad 29 smd rect (at 5.7 -0.8) (size 1.5 0.55) (layers F.Cu F.Paste F.Mask)) ...

(fp_line (start 1 0.6) (end -1 0.6) (layer F.Fab) (width 0.1)) ...

(via (at 37.1 32.2) (size 0.6) (drill 0.4) (layers F.Cu B.Cu) (net 2))

(segment (start 37.1 32.2) (end 37.2 32.2) (width 0.25) (layer B.Cu) (net 2) (tstamp 59845870)) ...

et donc `a ´editer avec son outil favori (sed) apt-get install python3-wxgtk4.0pour PCBNewToolsScripting Console Exemple :

i m p o r t pcbnew b o a r d=pcbnew . G e t B o a r d ( ) n e w v i a=pcbnew . VIA ( b o a r d )

n e w v i a . S e t L a y e r P a i r ( pcbnew . PCBNEW LAYER ID START , ,→pcbnew . PCBNEW LAYER ID START+31)

n e w v i a . S e t P o s i t i o n ( pcbnew . w x P o i n t ( 1 5 0 0 0 0 0 0 , 1 5 0 0 0 0 0 0 ) ) n e w v i a . S e t V i a T y p e ( pcbnew . VIA THROUGH )

n e w v i a . S e t W i d t h ( 1 0 0 0 0 0 0 ) b o a r d . Add ( n e w v i a ) pcbnew . R e f r e s h ( )

t x t = pcbnew . TEXTE PCB ( b o a r d ) t x t . S e t T e x t (" H e l l o ")

t x t . S e t P o s i t i o n ( pcbnew . w x P o i n t ( 2 2 0 0 0 0 0 0 , 1 5 0 0 0 0 0 0 ) ) t x t . S e t H o r i z J u s t i f y ( pcbnew . GR TEXT HJUSTIFY CENTER ) t x t . S e t T e x t S i z e ( pcbnew . w x S i z e ( 1 0 0 0 0 0 0 , 1 0 0 0 0 0 0 ) ) t x t . S e t T h i c k n e s s ( 2 0 0 0 0 0 )

b o a r d . Add ( t x t ) pcbnew . R e f r e s h ( )

Unit´e : 10−6mm

http://docs.kicad-pcb.org/

doxygen/layers__id__colors_

_and__visibility_8h.html F_Cu = PCBNEW_LAYER_ID_START, B_Cu = PCBNEW_LAYER_ID_START+31

3https://kicad.mmccoo.com/kicad-scripting-table-of-contents/ (pour KiCAD 4) 11 / 11

Références

Documents relatifs

4 Estimer, au moyen du calculateur du site www.eurocircuits.com, le coˆ ut de fabrication du circuit imprim´ e.. Observer l’´ evolution du coˆ ut avec le nombre

Utilisation de SPICE (Simulation Program with Integrated Circuit Emphasis – Univ.. asservissement num´ erique d’un oscillateur

a l’issue du travail, un membre de chaque groupe choisi au hasard pr´ esente le fruit du travail.. asservissement num´ erique d’un oscillateur

[r]

[r]

[r]

un script (ou une fonction) scilab donnant la solution exacte et la solution num´ erique donn´ ee par le sch´ ema

D´ ecrire les polynˆ omes d’interpolation de Hermite dans le cadre g´