
Ax7010 servo reva
magic-alt/fpga-servo
This directory preserves the ADS8588S legacy PCB, native project and custom rules from b0172a2f65902c7281cf4a8454f192dc791a9ef9.

Alimentation flyback isolée et flottante 200kHz (11-25V→5,5-13V/3A) pour chauffage filament tube + préampli bas bruit — KiCad 10.
KICAD HT is an open-source printed circuit board by Nicolboy, from the Nicolboy/KICAD-C2000-float-flyback repository on GitHub, published under the CERN-OHL-S-2.0 licence. It is a 4-layer board of 85 × 70 mm with 168 parts on 76 nets, routed with 843 tracks and 373 vias.
It is built around the MCP6001OB, TSV791ILT and UCC27517DBV, with the ISO7710D, DPC-817S and ISO7710FD among its other parts. Its parts include 53 capacitors, 45 resistors, 18 ICs, 8 diodes and 7 transistors.
Flyback power supply for vacuum-tube filament heating and a low-noise
preamp stage, designed in KiCad 10, with the control side (C2000)
galvanically isolated from the power stage. Update 2026-10-25: the
secondary is no longer floating/galvanically isolated from the primary
in the final assembly — only the control↔power barrier remains isolated;
see doc/plan-isolation-4couches.md for the current barrier scope.
200kHz, 11–25V in → 5.5–13V/3A out, secondary liftable 0–90V for
cathode/filament stress reduction. Synchronous secondary rectification
(UCC24612, direct Vds sensing — no firmware timing) validated by SPICE at
the real 18.9W target, including a secondary-side overvoltage finding and
the clamp that fixes it — see Validation below for the figures and
doc/sim-vs-mesure.md for the full data.
Alimentation flyback pour le chauffage d'un filament de tube à vide et un
étage de préamplification bas bruit, conçue sous KiCad 10 — le côté
contrôle (C2000) reste isolé galvaniquement de l'étage de puissance.
Mise à jour 2026-10-25 : le secondaire n'est plus flottant/isolé
galvaniquement du primaire dans le montage final — seule la barrière
contrôle↔puissance reste isolée ; voir doc/plan-isolation-4couches.md
pour le périmètre actuel des barrières.
Convertisseur flyback 200kHz, 11-25V en entrée → 5,5-13V/3A en sortie. Secondaire élevable de 0 à 90V par un pont symétrique 2×100kΩ (une résistance vers Vout+, une vers Vout-) — pour réduire le stress cathode/chauffage sur un préamplificateur à tubes bas bruit (montage cascode).
Le redressement synchrone secondaire (Q2) est piloté par un UCC24612, pas par le C2000 : ce contrôleur détecte directement le Vds de Q2 (diode emulation) et pilote sa grille tout seul — aucun signal PWM ni isolateur dédié à faire traverser la barrière pour ce canal. Avant ça, la commande passait par un ISO7710+UCC27517 secondaires pilotés en PWM depuis le C2000 : un timing fixé par le firmware, « à l'aveugle », sans retour sur le vrai Vds de Q2 — remplacé une fois ce défaut identifié. L'UCC24612 est alimenté directement depuis Vout (VDD dans sa plage 4,5-28V, pas de bootstrap nécessaire) ; côté primaire, l'isolation PWM/EN (ISO7710 + UCC27517 + DPC817) reste inchangée.
Chaque composant de puissance (MOSFETs, clamp, condensateurs d'entrée et de
sortie) est sourcé avec sa propre fiche datasheet dans
composants-datasheets/data/carte-flyback/
— page citée, base (absolue / recommandée / typique / calculée), jamais de
valeur choisie à l'oeil. Ce sourcing a d'ailleurs fait revenir deux fois sur
le choix de Cin et Cout : le premier calcul prenait le coin 13V/3A (39W)
comme pire cas, avant d'être recorrigé sur les vrais coins d'usage — deux
câblages de filament qui tombent à la même puissance réelle (18,9W) et
divisent par deux la contrainte de courant et d'ondulation retenue au départ.
Le détail (formules, marges, historique des choix) est dans
00-intention-conception.md.
| Bloc | Rôle |
|---|---|
| Primaire | Cin, MOSFET N (TO-252), clamp TVS D1 (boîtier SMC), UCC27517 + ISO7710 (PWM) |
| Isolation | ISO7710 (PWM primaire) + DPC817 (EN) — plus de canal PWM dédié au secondaire |
| Secondaire (non isolé du primaire depuis 2026-10-25) | MOSFET N potentiel bas (rectification synchrone), UCC24612 (détection Vds, alimenté direct depuis Vout) + clamp TVS D4, banc Cout, pont bias 2×100kΩ |
| Couplage | Coilcraft MSD1514, 1:1 (k≈0,99), 10µH par enroulement |
| Limitation de courant (§19) | TSV791 (×10,09) + LMV7219 (comparateur) + 74LVC1G132/74LVC1G74 (blanking/verrou) + ISO7710F, 100% primaire sauf le retour isolé I_Shunt_ht_comp — coupe Q1 en ~100ns sur défaut, indépendant du C2000 |
Ce tableau n'a pas suivi toutes les évolutions depuis §13 (U8/U9, feuille
polarisation.kicad_sch, connecteur J2) — 00-intention-conception.md
reste la source de vérité pour l'architecture actuelle.
L'isolation fonctionnelle (barrière contrôle↔puissance, via les AMC03xx/
ISO7710/DPC817) est dimensionnée pour l'écart réel présent sur la carte,
pas pour la tenue diélectrique complète des isolateurs (5000V) — pas de
slot d'isolation dans le PCB. Le primaire et le secondaire de puissance,
eux, ne sont plus traités comme deux domaines isolés (2026-10-25) : voir
doc/plan-isolation-4couches.md.
00-intention-conception.md source de vérité (calculs, marges, sourcing)
│
├── gen_symboles.py → lib/custom_parts.kicad_sym
│ (UCC27517, ISO7710, MSD1514, MOSFET 3 broches)
│
└── gen_composants.py → alim.kicad_sch / flyback.kicad_sch /
▲ isolation.kicad_sch (feuilles hiérarchiques)
│ kicad_gen.py — primitives communes
étiquettes globales uniquement, aucun fil posé par scriptUne fois qu'une feuille a été reprise à la main dans KiCad (repositionnement des composants, rotation, déplacement des étiquettes Référence/Valeur), elle devient un fichier de travail permanent : les générateurs ne sont plus rejoués dessus.
ERC sur la hiérarchie complète des 3 feuilles : 0 erreur. Empreintes custom
(lib_fp/*.pretty/) pour l'inductance couplée MSD1514, le MOSFET TO-252 et le
condensateur KEMET A786MW (V-chip), toutes construites à partir des cotes
mécaniques des datasheets plutôt que d'une empreinte générique approximative.
Placement et routage du PCB faits à la main, comme pour les autres cartes de
ce workspace. Routage terminé (2026-10-29), DRC à 0 violation (voir
§29 de 00-intention-conception.md) — reste
la revue de placement/routage finale et l'envoi en fabrication.
| Étape | État |
|---|---|
| Calcul analytique | fait — 00-intention-conception.md |
| Simulation LTspice (diode, 10W) | étapes 1-4 faites, modèles réels (MOSFET Infineon, clamp D1) |
| Simulation LTspice (18,9W, synchrone) | faite — proxy UCC24612, clamp secondaire dimensionné |
| Redressement synchrone (KiCad) | implémenté — UCC24612 (U12) + clamp D4 |
| Placement + routage PCB | fait (DRC : 0 violation, 2026-10-29) |
| Prototype | à fabriquer |
| Mesures au banc | à faire |
Balayage à Vin=11/20/25V, 6V et 12V à 10W (+ un point à charge légère) : rendement 84-91%, et la tension drain de Q2 dépasse déjà 100V (sa tenue en tension) à Vin≥23V environ, sans clamp secondaire modélisé à ce stade.
Autre résultat notable : la plupart des points réels fonctionnent en CCM, pas en DCM comme une estimation rapide l'avait d'abord suggéré — déterminé sur la forme d'onde (passage par zéro de I(L2)), pas supposé. Comparé à un modèle Schottky générique simplifié (rapide mais pas le composant réel) pour chiffrer la perte dans le clamp D1 :
Rejoué à la cible réelle (18,9W) avec un proxy de redressement synchrone : le dépassement empire (dès Vin=20V, jusqu'à 106,8V) — indépendant du redresseur, c'est une résonance de l'inductance de fuite. Le passage en synchrone (UCC24612) apporte jusqu'à +5 points de rendement, mais ne corrige pas la surtension :
D'où le clamp secondaire D4 (SMCJ54A), qui ramène Vds_Q2 à 61-65V (marge ×1,5) pour 0,03-0,76W de dissipation (marge ×6,6 vs les 5W du composant) — comparé au SMCJ43A (même réf. que D1, déjà au BOM) qui tient aussi mais coûte jusqu'à 2 points de rendement de plus :
Le détail, le protocole de mesure et le tableau calcul / simulation /
mesure : doc/sim-vs-mesure.md (§7/§7bis pour le
passage 18,9W) ; l'implémentation KiCad correspondante :
00-intention-conception.md §16.
polarisation.kicad_sch)La boucle qui linéarise la polarisation flottante du secondaire (MCP6001 +
Q6/Q7, contre-réaction sur HV_BIAS) a d'abord été validée avec des modèles
idéaux, puis rejouée avec les composants réels (MMBF170, MCP6001 paramétré
depuis sa datasheet) une fois le schéma modifié. Ce passage aux modèles
réels a révélé un défaut invisible sur le schéma seul : à consigne figée,
la boucle part en oscillation auto-entretenue — un cycle limite qui
grandit puis se stabilise en amplitude constante, pas du bruit de
simulation, confirmé en figeant VAR_GATE et en observant le régime sur
plusieurs millisecondes :
La simulation a aussi servi à trouver un premier correctif et à le vérifier
avant de toucher au vrai schéma : une résistance de dégénérescence sur la
source de Q6 (330Ω) supprime l'oscillation sans sacrifier l'accès à
HV_BIAS=0V, et un condensateur de compensation autour de l'ampli-op
(1nF, sortie → entrée inverseuse) élimine le dépassement en échelon, même
au pire cas (front de commande 10ns).
Ce correctif n'a été validé qu'avec un signal d'entrée déjà filtré (échelon analogique propre) — pas avec le vrai PWM du C2000. En rejouant la boucle avec le PWM réel, il a fallu élargir le filtre d'entrée (1kΩ/1nF → 100kΩ/100nF) pour écraser l'ondulation résiduelle avant l'ampli-op, ce qui a réintroduit une oscillation auto-entretenue différente — ~700kHz cette fois, confirmée indépendante du PWM par un échelon direct avant le filtre (l'oscillation persiste à l'identique sans aucun PWM : c'est la boucle elle-même qui devient instable avec ce nouveau filtre, pas une fuite du signal de commande). Le premier correctif n'avait jamais été vérifié pour ce filtre élargi.
Reporté : résistance de dégénérescence à 1kΩ (au lieu de 330Ω) et condensateur de compensation à 100pF (au lieu de 1nF) stabilisent la boucle avec le nouveau filtre d'entrée — vérifié sur le profil complet de commande PWM (rapport cyclique 1%→60%→palier→99%→palier→40%→1%, 3,5s), ondulation résiduelle en sortie sous le mV grâce au filtre de sortie déjà en place :
CERN-OHL-S v2 — voir LICENSE.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 26 | 100n | Capacitor_SMD:C_0805_2012Metric | C15, C16, C18, C19, C28, C31, C32, C34, C35, C36, C37, C38, C39, C41, C43, C46 +10 |
| 11 | 100k | Resistor_SMD:R_0805_2012Metric | R5, R7, R8, R9, R10, R21, R24, R37, R48, R50, R53 |
| 9 | 10k | Resistor_SMD:R_0805_2012Metric | R4, R14, R20, R23, R29, R32, R34, R36, R54 |
| 8 | 1k | Resistor_SMD:R_0805_2012Metric | R18, R26, R27, R30, R31, R33, R49, R51 |
| 6 | 1n | Capacitor_SMD:C_0805_2012Metric | C24, C50, C64, C65, C66, C68 |
| 6 | 1u | Capacitor_SMD:C_0805_2012Metric | C9, C13, C14, C44, C45, C59 |
| 4 | 10 | Resistor_SMD:R_0805_2012Metric | R40, R41, R42, R43 |
| 4 | 100p | Capacitor_SMD:C_0805_2012Metric | C23, C40, C52, C61 |
| 4 | MountingScrew | MountingHole:MountingHole_3.2mm_M3 | H1, H2, H3, H4 |
| 3 | 10u | Capacitor_SMD:C_0805_2012Metric | C10, C21, C42 |
| 2 | 1 | Resistor_SMD:R_0805_2012Metric | R11, R12 |
| 2 | 100 | Resistor_SMD:R_0805_2012Metric | R1, R15 |
| 2 | 10n | Capacitor_SMD:C_0805_2012Metric | C63, C67 |
| 2 | 330u | Capacitor_SMD:CP_Elec_6.3x9.9 | C3, C4 |
| 2 | 47n | Capacitor_SMD:C_0805_2012Metric | C33, C60 |
| 2 | AMC0302R | SOIC_DWV:SOIC-8_DWV_5.85x11.5mm_P1.27mm | U9, U22 |
| 2 | AMC0311R | SOIC_DWV:SOIC-8_DWV_5.85x11.5mm_P1.27mm | U7, U11 |
| 2 | BAT54S | Package_TO_SOT_SMD:SOT-23 | D5, D10 |
| 2 | BSS127I | Package_TO_SOT_SMD:SOT-23 | Q6, Q7 |
| 2 | IPD050N10N5 | TO252:TO252-3_TabPin2 | Q1, Q2 |
| 2 | ISO7710 | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U3, U10 |
| 2 | MCP1703-3302 | Package_TO_SOT_SMD:SOT-23-3 | Reg2, Reg3 |
| 2 | MMBF170 | Package_TO_SOT_SMD:SOT-23 | Q4, Q8 |
| 1 | 1.00k | Resistor_SMD:R_0805_2012Metric | R28 |
| 1 | 10m | Resistor_SMD:R_1210_3225Metric_Pad1.30x2.65mm_HandSolder | R25 |
| 1 | 10m | WSK1206:WSK1206R0100FEA | R19 |
| 1 | 150 | Resistor_SMD:R_0805_2012Metric | R35 |
| 1 | 22p | Capacitor_SMD:C_0805_2012Metric | C47 |
| 1 | 2A-T | Fuse:Fuseholder_Clip-5x20mm_Littelfuse_111_Lateral_P18.80x5.00mm_D1.17mm_Horizontal | F1 |
| 1 | 3,9k | Resistor_SMD:R_0805_2012Metric | R52 |
| 1 | 3V3P | TestPoint:TestPoint_Pad_D1.5mm | TP2 |
| 1 | 3V3S | TestPoint:TestPoint_Pad_D1.5mm | TP3 |
| 1 | 3V3_ISO | TestPoint:TestPoint_Pad_D1.5mm | TP10 |
| 1 | 470 | Resistor_SMD:R_0805_2012Metric | R3 |
| 1 | 470k | Resistor_SMD:R_0805_2012Metric | R22 |
| 1 | 470u | A786:A786MW_VChip | C1 |
| 1 | 51k | Resistor_SMD:R_0805_2012Metric | R13 |
| 1 | 560 | Resistor_SMD:R_0805_2012Metric | R2 |
| 1 | 8V25 | TestPoint:TestPoint_Pad_D1.5mm | TP1 |
| 1 | ATL431 | Package_TO_SOT_SMD:SOT-23 | U15 |
| 1 | Bias | TestPoint:TestPoint_Pad_D1.5mm | TP4 |
| 1 | COM_HT | Connector_IDC:IDC-Header_2x10_P2.54mm_Vertical | J2 |
| 1 | CURRENT_LIMIT | LED_THT:LED_D3.0mm | D6 |
| 1 | DPC817 | Package_DIP:SMDIP-4_W7.62mm | U5 |
| 1 | GND | Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical | TP21 |
| 1 | GND_CTRL | Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical | TP20 |
| 1 | G_Q1 | TestPoint:TestPoint_Pad_D1.5mm | TP7 |
| 1 | G_Q2 | TestPoint:TestPoint_Pad_D1.5mm | TP5 |
| 1 | HV_BIAS_IN | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J1 |
| 1 | IPD60R360P7 | TO252:TO252-3_TabPin2 | Q5 |
| 1 | ISO7710F | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U19 |
| 1 | I_Out_ht | TestPoint:TestPoint_Pad_D1.5mm | TP16 |
| 1 | I_P | TestPoint:TestPoint_Pad_D1.5mm | TP8 |
| 1 | I_S | TestPoint:TestPoint_Pad_D1.5mm | TP22 |
| 1 | I_Shunt_ht | TestPoint:TestPoint_Pad_D1.5mm | TP17 |
| 1 | I_Shunt_ht_comp | TestPoint:TestPoint_Pad_D1.5mm | TP18 |
| 1 | LM317M | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | Reg1 |
| 1 | LMV7219 | Package_TO_SOT_SMD:SOT-23-5 | U16 |
| 1 | LOGO | artwork:pcbway-logo-small | G*** |
| 1 | LOGO | artwork:lebel-logo-cartouche | G*** |
| 1 | MCP6001 | Package_TO_SOT_SMD:SOT-23-5 | U21 |
| 1 | MSD1514-103ME | MSD1514:MSD1514 | T1 |
| 1 | PWM_EN | TestPoint:TestPoint_Pad_D1.5mm | TP12 |
| 1 | PWM_bias | TestPoint:TestPoint_Pad_D1.5mm | TP13 |
| 1 | PWM_ht | TestPoint:TestPoint_Pad_D1.5mm | TP11 |
| 1 | SMBJ05 | Diode_SMD:D_SMB | D7 |
| 1 | SMBJ100 | Diode_SMD:D_SMB | D8 |
| 1 | SMBJ9 | Diode_SMD:D_SMB | D2 |
| 1 | SMCJ43A | Diode_SMD:D_SMC | D1 |
| 1 | SMCJ54A | Diode_SMD:D_SMC | D4 |
| 1 | SN74LVC1G08 | Package_TO_SOT_SMD:SOT-23-5 | U13 |
| 1 | SN74LVC1G132 | Package_TO_SOT_SMD:SOT-23-5 | U17 |
| 1 | SN74LVC1G74 | Package_SO:VSSOP-8_3x3mm_P0.65mm | U18 |
| 1 | TSV791 | Package_TO_SOT_SMD:SOT-23-5 | U14 |
| 1 | UCC24612 | Package_TO_SOT_SMD:SOT-23-5 | U12 |
| 1 | UCC27517 | Package_TO_SOT_SMD:SOT-23-5 | U1 |
| 1 | VIN | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | In1 |
| 1 | VODA1275 | VODA1275:SMD-4_VODA1275_VIS | U20 |
| 1 | VOUT | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | Out1 |
| 1 | V_N | TestPoint:TestPoint_Pad_D1.5mm | TP6 |
The 164 most common of 168 parts.
It measures 85 × 70 mm and has 4 copper layers, 1.6 mm thick.
168 parts, built around the MCP6001OB, TSV791ILT, UCC27517DBV and ISO7710D. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the Nicolboy/KICAD-C2000-float-flyback repository on GitHub, at the commit this page was made from: the board is KICAD-HT.kicad_pcb and its schematic KICAD-HT.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the CERN-OHL-S-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

magic-alt/fpga-servo
This directory preserves the ADS8588S legacy PCB, native project and custom rules from b0172a2f65902c7281cf4a8454f192dc791a9ef9.

JimKueneman/TurnoutBoss
This repository contains all the design files, manuals, firmware, production information for the LCC TurnoutBoss Node

arthur-wirjo/FOC_v1_project
A custom-designed, 60V 50A Field Oriented Control (FOC) BLDC motor controller built from scratch. Designed for high-performance robotics, featuring a 4-layer power PCB, isolated USB telemetry, and CAN bus communication.


super-cow-powers/better-lamp-controller
A custom lamp controller with audio, controlled with an RP2040

iblue/mhi-xy-bus
Reverse engineering of the Mitsubishi Heavy Industries X/Y Bus as used in FDUM air condition

