Traceur courbes transistors fonds de tiroirs (de luxe)

Ça marche!
Bravo Raffou :wink:
traceur V 5.2.1.jpg

Bon, maintenant que la génération des rampes à base de réseau R2R est opérationnelle et aussi pour terminer en beauté, je vous propose cette dernière amélioration qui ne coûte qu’un ampli OP à entrées JFET genre TL071 et deux résistances.
Cette amélioration permet de transformer l’injecteur de courant base en vrai générateur de courant, ce qui permet de s’affranchir de possibles fluctuations du courant Ib dues à des disparités sur la jonction base/émetteur d’un transistor à l’autre et aussi de la chute de tension dans le shunt de 1 ? occasionnée par le courant d’émetteur. Elle est inspirée du traceur décrit dans Electronique et Loisirs n° 52, voir liens donnés dans un de mes tous premiers messages dans ce fil de discussion.

InjectionIB.PNG

  • L’ampli OP additionnel doit être un amplificateur à entrée JFET ou MOS (TL071, CA3130…) pour ne rien soutirer au courant base.
  • Les 4 résistances cerclées de rouge avaient toutes la même valeur (R13 = R14 = R15 = R16 = 100 k?) sur le schéma inspirateur (voir lien : schema-electronique.net/2012 … rs_18.html). Les valeurs des 2 résistances en sortie de l’ampli OP additionnel TL071 ont été mise au pifomètre, la simulation devrait permettre d’affiner leur valeur.

bien le bonjour a tous ;super démo de mise en pratique des connaissances,bien sur, il y a des RALEURS professionnel,mais bon, on va s’en arranger§ :smiley:
Amitiés jean claude.

Bien le bonjour du râleur :mrgreen:

Quand j’ai lancé ce projet, je ne pensais pas que ça irait aussi loin et que ça serait aussi enrichissant en grande partie grâce à l’ami Raffou " Grand Maître de la logique CMOS" :laughing:
De plus ce projet reste, à mon avis, dans l’esprit du forum avec l’utilisation d’une technologie des années 70 /80 dépassée pour les adeptes des micro-contrôleurs.

Mais dans mon cahier des charges, il y aura tout de même un petit Arduino nano qui sera uniquement chargé de l’affichage des courbes, droit de charge, calcul du gain, affichage du courant de base sur chaque courbe etc…

@ Raffou : J’ai fait la modification avec la source de courant et ça fonctionne mieux avec 100k car avec 220k et 110k, on ne partait pas de 0 mais est-ce gênant?
Un truc cependant me chagrine qui est le retour à 0V de Vce car ça crée un bel arc de cercle mais le verra-t-on sur l’oscilloscope ou l’Arduino, je pense que oui.
Ce phénomène était beaucoup moins prononcé avant cette modification.
Est-ce qu’en générant une double rampe ascendant / descendante de Vce on ne supprimerait pas le phénomène.
Je travaille dessus avec l’inversion UP / DOWN du CD4516 mais je n’ai pas trouvé de solution simple pour inverser ce signal. Une idée serait la bienvenue :wink:

Edité : Oups, en regardant les image, je viens de m’apercevoir que j’ai inversé VCC et VSS sur l’AOP . Honte à moi. Je refais la simul et je rends compte tout de suite après… :mrgreen:

B548C V5.2.jpg

BD135 V5.2.jpg

Erreur rectifieé :blush:

Ci-dessous le détail de la courbe « parasite »

paraste.jpg

Bonjour.

Tout d’abord une petite observation, la valeur choisie (1 nF) pour le condensateur C1 du circuit de reset me semble un peu faiblarde, une valeur entre décuple et centuple semblerait plus appropriée dans la réalité.

Concernant la dernière modification proposée, honte à moi d’avoir proposé des valeurs à la louche pour les deux résistances additionnelles, si j’avais approfondi le fonctionnement de ce type de générateur de courant, je me serais probablement aperçu qu’il fallait conserver les valeurs égales du schéma d’Electronique et Loisirs. A ma décharge, le marchand de sable est passé au moment où je rédigeais le message…
J’avais prévu un TL071 pour l’ampli OP à entrées JFET car je pensai que vous l’aviez dans votre fond de tiroir étant donné qu’il était apparu une fois sur un des schémas postés.

Assurément il sera présent mais probablement non discernable car la rapidité du retour (fonction des temps de propagation de la logique CMOS et de la bande passante de l’oscilloscope) amoindrira largement sa luminosité.
Le moyen trivial d’éviter toutes ces tracés indésirables dus aux fronts abrupts des rampes en dent de scie, c’est de « marcher à reculons dans ses propres pas », ce qui implique de transformer les rampes en dents de scie en signaux triangulaires. Tout comme vous, cette idée avait germée dans mon esprit et je ne vous l’avais pas proposée par souci d’ajouter des « bells and whistles » à un schéma déjà alambiqué.

Ça ne devrait pas être trop compliqué pour la rampe du Vce, il faut juste mémoriser dans une bascule JK ou une bascule D le sens de la rampe pour faire avancer le compteur associé au réseau R2R (pente ascendante) ou le faire compter à rebours (pente descendante).
Pour la rampe en marches d’escalier du courant Ib, ça va être beaucoup plus ardu…enfin peut-être pas, une idée me vient en tête avec le remplacement du compteur et du comparateur par une micro-machine, juste un latch et une petite mémoire programmable (32 × 4). Cette idée serait même applicable à la rampe Vce avec une mémoire 512 × 8.

Bon, ne nous égarons pas, je vais m’atteler au moyen de piloter simplement l’entrée « count up/down » du CD4516 pour inverser la pente de la rampe Vce…

Bonjour,

Sur des simulations avec beaucoup de calculs comme celle-ci (97% d’utilisation du CPU sur mon vieux Toshiba Satellite Pro), je préfère utiliser les librairies Linear Technology qui doivent être optimisées pour leur simulateur. L’utilisation d’un TL071 ou autre avec un modèle spice pourtant issu directement du site de ONSEMI ou Texas, ça me génère des erreurs de time out. J’ai d’ailleurs cherché longtemps d’où venaient ces erreurs…
Il est bien entendu évident que les essais physiques se feront avec des AOP moins « exotiques » et chers ( le LT1792 est à + de 8€/u chez TME :mrgreen: )
D’ailleurs, j’en profite et si d’aucuns étaient tentés par des essais sur « Breaboard » ça me rendrait bien service pour valider et lancer le routage du PCB, car avec toutes ces modifs, il me manque la plupart des CMOS que je vais commander sur ebay chine, donc 1 mois minimum d’attente…

Pour la rampe Vce, je suis parti sur un CD4013 sans grand succès pour le moment.

Je m’éloignerai définitivement de la philosophie première de ce projet. :cry:
Je ne pense pas que la rampe Ib soit impactée car si je ne dis pas de bêtise, il suffit d’envoyer Clock_Vce à chaque passage à 0 de la rampe Vce ça maintiendrait le palier pendant tout le cycle UP/DOWN.

Une première approche d’un double rampe.
Les signaux sont crades car mon réseau R 2R n’est pas optimisé
Au final, un CD4013 et 1 AND 4 entrées et 1 NOR 2 entrée qui seront remplacées par de la logique DTL (pas le CD4013)
C’est au final ce que j’ai trouvé de plus simple tout en respectant ma philosophie…

rampe up down.jpg

Edité 10mn après…

Et avec un CD4013 supplémentaire, le signal d’horloge synchronisé sue le 0 Volt de la rampe Vce

clock paliers I_base.jpg

L’idée, c’est d’utiliser un flip-flop qui s’inverse sur le front descendant de l’impulsion TC/ (ou CARRY OUT/) du deuxième CD4516 pour piloter conjointement les entrées comptage/décomptage des deux. Ainsi l’inversion de comptage s’effectuera pendant que l’horloge synchrone des CD4516 est haute comme le recommande le datasheet Texas.

Le problème est qu’il n’existe pas de boitier avec bascules D ou JK indépendantes ou liées par des commandes communes (reset, horloge…) qui changent d’état sur un front descendant de leur entrée d’horloge.
Il faudrait alors normalement insérer un inverseur mais en cherchant parmi les fonctions nécessitant une horloge, il s’avère que le registre à décalage CD4035 a été conçu pour évoluer sur le front descendant de son horloge…

Voici donc ma proposition à base d’un CD4035 qui pourrait paraître capillotractée au premier abord mais qui devrait néanmoins passer l’épreuve de la simulation.


CD4035.GIF
Ne sont représentées que les connections essentielles :* Une seule bascule du registre est utilisée parmi les 4 disponibles.

  • Le chargement // est validé en permanence.
  • L’inversion des états est validé en permanence sur les sorties.
  • La sortie (inversée) de la bascule est rebouclée sur son entrée de prépositionnement pour pouvoir la convertir en flip-flop.
  • Les autres bascules sont inutilisées et les entrées restées en l’air sur ce schéma de principe doivent être connectés au niveau logique qui va bien.

Alors là, ça va être chaud à simuler.
Aucun modèle de dispo sur le net, juste un bout de code au milieu d’un fichier sur le site Archives.com
J’ai déjà réussi à générer un symbole en partant de la directive .subckt

Maintenant, il me reste à comprendre le fonctionnement.

Ma solution ci-dessus a base de 4013 ne convenait pas?
Ça me semblait fonctionner pourtant.

Bon, ça commence mal, le modèle spice généré est blindé d’erreurs!.
Je vais encore chercher sur Internet, mais je n’y crois pas. Apparemment, il n’y a pas d’équivalence en 74HC ou HCT.

On est mal patron, on est mal ! :laughing:

Ma solution fonctionnelle de la double rampe avec CD4013 et portes logiques (AND 4 entrées et NOR 2 entrées)

Je vais soumettre le code spice du 4035 au grroupe de discussion Yahoo / Ltpice pour analyse et j’espère correctif.
J’essayerai cette solution pour le fun
Le schéma ci-dessous et plus tard, quand le simulation sera terminée, un échantilon des courbes obtenues et des différent signaux logiques.

Edité :
Eratum : le label sur A0 du 74HC85 doit être Q0_1 :blush:

Traceur PNP NPN taille réduiteV5.3.1.jpg

Edité : ajout des courbes

signaux V 5.3.1.jpg

Icfvce V5.3.1.jpg

Certes oui, mais elle nécessite 3 nouveaux boitiers pour n’employer qu’un élément de chaque. Je voulais sortir des sentiers battus en proposant cette solution atypique à base d’un seul boitier CD4035. C’est particulièrement intéressant d’arriver à trouver une utilisation autre que celle pour laquelle un circuit a été conçu en le dévoyant de son fonctionnement usuel.

Par contre, je ne m’explique pas la présence du AND (CD4082), un simple inverseur (CD4069) aurait suffit à la place du NOR (CD4001) pour inverser le signal de clock du flip-flop CD4013.

Je n’ai jamais utilisé de simulateur, je n’ai aucune idée de comment cela fonctionne, va falloir que je m’y mette.
Est ce donc si laborieux que cela de créer un modèle qui n’existe pas dans la bibliothèque, ou de modifier un existant qui serait similaire ?
Je n’ai pas non plus d’idée sur les signaux qu’il est possible de générer en entrée du circuit à simuler. Dans mes recherches j’ai trouvé ce script pour générer un signal vidéo NTSC : analog-innovations.com/VidGen.zip, ce qui laisse entrevoir des simulations bigrement intéressantes une fois qu’il aura été adapté pour générer signal un PAL.

J’ai l’intention de me servir de diodes et transistors pour les portes logiques. De ce fait, j’ai simplement un 4013 supplémentaire
Effectivement ça fonctionne en inversant le signal « Fin de rampe ». J’étais parti sur cette idée au départ et comme je m’étais probablement planté, ça ne fonctionnait pas, d’où l’usine à gaz.

Une vue du code spice du CD4035 que je suis incapable de comprendre dans sa totalité

[code]* CMOS 4 Stage Parallel In/Parallel Out Shift Register

  • Harris AnswerFax document # 1101
  • jat 12/15/95

.SUBCKT CD4035B PI1 PI2 PI3 PI4 Q1/Q1BAR Q2/Q2BAR Q3/Q3BAR Q4/Q4BAR

  • P/S CLK RESET J KBAR T/C
  • OPTIONAL: VDD=$G_CD4000_VDD VSS=$G_CD4000_VSS
  • PARAMS: MNTYMXDLY=0 IO_LEVEL=0

U1 LOGICEXP(17,9) VDD VSS

  • J KBAR P/S PI1 PI2 PI3 PI4 Q1 Q2 Q3 Q4 Q1BAR Q2BAR Q3BAR Q4BAR RESET T/C
  • D1 D2 D3 D4 RESETBAR Q1/Q1BARO Q2/Q2BARO Q3/Q3BARO Q4/Q4BARO
  • D0_GATE IO_4000B MNTYMXDLY={MNTYMXDLY} IO_LEVEL={IO_LEVEL}
  • LOGIC:
  • D1 = {(((J | Q1) & (KBAR | Q1BAR)) & (~P/S)) | (PI1 & P/S)}
  • D2 = {(Q1 & (~P/S)) | (PI2 & P/S)}
  • D3 = {(Q2 & (~P/S)) | (PI3 & P/S)}
  • D4 = {(Q3 & (~P/S)) | (PI4 & P/S)}
  • RESETBAR = {~RESET}
  • Q1/Q1BARO = {(Q1 & T/C) | (Q1BAR & (~T/C))}
  • Q2/Q2BARO = {(Q2 & T/C) | (Q2BAR & (~T/C))}
  • Q3/Q3BARO = {(Q3 & T/C) | (Q3BAR & (~T/C))}
  • Q4/Q4BARO = {(Q4 & T/C) | (Q4BAR & (~T/C))}

U2 DFF(4) VDD VSS

  • $D_HI RESETBAR CLK
  • D1 D2 D3 D4 Q1 Q2 Q3 Q4 Q1BAR Q2BAR Q3BAR Q4BAR
  • D0_EFF IO_4000B MNTYMXDLY={MNTYMXDLY} IO_LEVEL={IO_LEVEL}

U3 PINDLY(4,0,2) VDD VSS

  • Q1/Q1BARO Q2/Q2BARO Q3/Q3BARO Q4/Q4BARO
  • CLK RESET
  • Q1/Q1BAR Q2/Q2BAR Q3/Q3BAR Q4/Q4BAR
  • IO_4000B MNTYMXDLY={MNTYMXDLY} IO_LEVEL={IO_LEVEL}
  • BOOLEAN:
  • CLOCK = {CHANGED_LH(CLK,0)}
  • RST = {CHANGED_LH(RESET,0)}
  • PINDLY:
  • Q1/Q1BAR Q2/Q2BAR Q3/Q3BAR Q4/Q4BAR = {
  • CASE(
  • RST & (TRN_LH | TRN_HL), DELAY(-1,230NS,460NS),
  • CLOCK & (TRN_LH | TRN_HL), DELAY(-1,250NS,500NS),
  • DELAY(-1,251NS,501NS))}

U4 CONSTRAINT(8) VDD VSS

  • CLK J KBAR PI1 PI2 PI3 PI4 RESET
  • IO_4000B IO_LEVEL={IO_LEVEL}
  • WIDTH:
  • NODE = CLK
  • MIN_LO = 100NS
  • MIN_HI = 100NS
  • SETUP_HOLD:
  • CLOCK LH = CLK
  • DATA(2) = J KBAR
  • SETUPTIME = 110NS
  • SETUP_HOLD:
  • CLOCK LH = CLK
  • DATA(4) = PI1 PI2 PI3 PI4
  • SETUPTIME = 70NS
  • FREQ:
  • NODE = CLK
  • MAXFREQ = 4MEG
  • WIDTH:
  • NODE = RESET
  • MIN_LO = 125NS
  • MIN_HI = 125NS

.ENDS CD4035B
[/code]

Sur ce, bonne nuit…

Bonjour à tous,

Tracé d’un joli réseau de caractéristiques sous LTspice (enfin, moi je le trouve joli :mrgreen: )

icf(vce)BC547C.jpg

Bonjour.

La nuit a été inspiratrice et le perfectionniste est de retour…

L’entrée de comptage/décomptage des CD4516 est positionnée comme il se doit juste avec le coup d’horloge qui précède celui qui aurait dû provoquer le débordement du compteur, au temps de propagation près de l’apparition du signal COUT/. Le problème c’est que le compteur CD40163 à sa suite est « clocké » un coup d’horloge trop tôt. Cela semble avoir une incidence négligeable, mais comme il reste une bascule inemployée dans le boitier CD4013, autant l’utiliser pour différer d’un cycle d’horloge l’avance ou le recul du compteur de rampe Ib.

Deux solutions possibles pour l’horloge de cette deuxième bascule :* En synchronisme direct, en lui appliquant la même horloge que les boitiers CD4516.

  • En léger différé, au temps de propagation près de la disparition du signal COUT/ du deuxième CD4516.

J’ai représenté ces deux options par des pointillés sur le schéma retouché.

Un inverseur étant nécessaire pour modifier la phase de l’horloge sur l’entrée Clock du flip-flop, j’en ai profité pour employer tous 4 NAND trigger de Schmitt d’un CD4093 avec les avantages suivants :* Création d’un signal reset et de son complément : le premier pour initialiser les CD4516 et le CD4013, le second pour initialiser le CD40163. L’utilisation du trigger de Schmitt permet d’obtenir un signal de reset propre avec un front raide.

  • Le 4ème NAND se substitue à l’inverseur à base du BS170.
    Comme cela, le CD4035 est à remiser aux oubliettes et aucune des fonctions des différents boitiers ajoutés reste inemployée.

NewSync.PNG

Bonjour,

On ne lâche rien !
Jusquà la moindre ligne cachée des datasheet :laughing:
Je suis bien incapable de les exploiter aussi profondément (en plus en anglais) :mrgreen:
Je vais faire une version 5.4.1 alors et peut-être 5.4.2 pour évaluer les 2 solutions proposées.

Je persiste à dire que la double rampe, ça fait de belles courbes

A plus

¥€$, c’est nettement plus propre, les concepteurs des traceurs de courbes objets des articles cités en référence n’ont pas été assez inventifs, il auraient dû y penser.
Juste une inquiétude, pourquoi ce petit décrochement au niveau des coudes, ainsi que cet offset d’environ 0,8 volt sur l’axe des abscisses ?

Pour ma part, je suis encore infiniment plus handicapé devant l’exploitation d’un simulateur faute de ne m’y être jamais intéressé. Va falloir que je comble cette lacune à marche forcée.

Bon, j’ai fait la modification, je joins le schéma.
Je ne sais pas si je me suis planté quelque part, mais la rampe Vce partait en descente au démarrage. En raccordant UP/Down au Q/, c’est rentré dans l’ordre.
je ne sais pas non plus d’où vient ce décrochement et l’offset. J’ai analysé les signaux et rien vu de particulier. Peut-être est-ce dû au simulateur lui-même mais c’est vrai que ce n’est pas clean.

Je me suis mis au simulateur il y a environ 2ans.
Ma mauvaise vue me faisait faire des bourdes sur les breadboard et j’en ai cramé des composants!
Avec le simulateur, plus de problèmes de ce genre.
C’est marrant, depuis le départ de ce fil de discussion, j’ai eu des demandes par MP pour récupérer le fichier et se mettre au simulateur.
Je ne pense pas que pour un novice, débuter sur ce genre de projet relativement complexe soit le mieux, mais il ne faut pas que je les décourage pour autant.

Traceur V5.4.1.jpg

Bonjour,
Merci pour tes conseils pour l’installation d’un LTspice muscle
Si tu veux des CD40163 je peux t’en envoyer un ou deux des ce soir et si tu me faits une liste je pourrai completer
Pour moi cette logique est un peu depassee et si l’on commence a mettre des RC on va vers des difficultes sans nom
un systeme logique doit fonctionner de quelque mHz jusqu’au MHZ elle doit etre synchrone c’est a dire qu’une seule horloge gere toutes les bascules en meme temps
J’envisagerai en plus des sorties X et Y une sortie blanking qui effacerai les transitions
j’ai bien compris qu’il fallait pour tester les transistors une rampe de courant plutot que de tension
peut etre envisager un offset de tension pour passer le seuil de conduction des tr
Moi qui cherche a simplifier je m’egare
Toutes mes amities
Sylvain
PS de mon cote je me suis garde un hc163 + hc 138 (a la place du comparateur)et je wrappe cet apres midi
Sylvain