À propos de votre schéma:
Tout semble bien, vous pouvez augmenter le R2 à 10k ou même 100k, la capacité du MOST est si petite, le FAN aura une inertie de rotation beaucoup plus importante que le délai de désactivation dans le MOST, probablement même avec 1M. De cette façon, l'emplacement de votre 100R n'est pas pertinent et pendant que vous ne perdez aucun mA. Si vous ne maintenez jamais de uC dans la réinitialisation, cela n'est techniquement même pas nécessaire du tout, car votre uC le tirera activement vers le haut ou vers le bas.
Pour le signal PWM, vous pouvez voir si la fiche technique permet un pull-up externe jusqu'à 12V, bien que je doute que cela fasse une grande différence dans les deux cas.
À propos du bruit:
EDIT: J'ai mal lu votre intrigue pour kHz, ce qui est stupide si vous y pensez, où c'est Hz. Une partie de mon histoire changera un peu (comme le discours sur la nécessité de MHz pour le travail numérique), mais l'idée générale demeure.
Je laisserai l'intégralité du post tel quel, mais pour un signal de 100 Hz avec un bruit de 30 kHz, au lieu de 100 kHz avec un bruit de> 5 MHz (cela n'a pas vraiment de sens, non?), Vous pourriez augmenter les résistances qui interagissent avec les condensateurs par un facteur de 10, et également augmenter les condensateurs d'un facteur de 50 à 100. Cela vous permettra d'obtenir une fréquence de filtrage de facteur 1000 inférieure dans tous les exemples. Mais il est également normal d'augmenter simplement les condensateurs d'un facteur de 10 à 20, pour des bords plus nets ou une réponse plus rapide sur votre signal d'intérêt, car 30 kHz est très loin de 100 Hz.
Considérez donc ce post comme écrit pour les hautes fréquences et réduisez les idées, ce qui les rend beaucoup plus faciles à mettre en œuvre aussi! (Surtout le rejet numérique en 3.)
Fin du montage
Puisque vous faites un si bon cas d'utilisation pour travailler sur des méthodes de réduction du bruit, je vais essayer d'en faire un qui s'applique à votre situation.
À tous ceux qui lisent, sachez:
Il s'agit uniquement de bruit sur un signal numérique
Dans un signal numérique, vous pouvez faire l'hypothèse qu'il n'y a que deux tensions qui vous intéressent "on" et "off". Tout ce qui se trouve entre les deux est inutile et appartient au bruit ou au mal. Dans un signal analogique, vous devez connaître tous les niveaux de tension et vous devez effectuer un filtrage réel avec des charges de C, L, etc.
Un problème dans votre signal est que les pics de bruit négatifs au niveau élevé et les pics de bruit positifs au niveau bas sont très proches les uns des autres, donc un simple déclencheur standard, même avec un niveau réglable, ne peut vous garantir absolument que vous n'obtiendrez jamais confus.
Vos options:
- Changer le biais
- Modifier les niveaux de tension
- Ajouter une hystérésis "lente"
- Filtrer le bruit
1. Modifiez le biais:
Le positif a des pointes négatives très faibles, car votre pull-up ne peut pas gagner du bruit. La chose la plus simple que vous puissiez essayer est de diminuer cette résistance. Il y a un risque que cela n'augmente que les pointes sur le signal d'arrêt, de sorte que cela ne fonctionne pas toujours. Mais il est très possible que cela vous donne une certaine marge entre les pointes pour définir une simple hystérésis.
2. Modifiez les niveaux de tension
Vous pouvez facilement, si le ventilateur le permet, changer le tachymètre à un niveau de tension plus élevé et ajouter un état intermédiaire:
simuler ce circuit - Schéma créé à l'aide de CircuitLab
Maintenant, il peut y avoir juste assez d'espace entre les pointes hautes et basses pour vous assurer que le MOST est toujours allumé, même lorsqu'il y a des pointes négatives et toujours éteint, même s'il y a des pointes positives. Cela peut prendre quelques diodes, zeners ou résistances pour obtenir le point de consigne dans la nouvelle situation, mais si les pointes sur le signal négatif restent ce qu'elles sont, elles ne devraient pas déclencher le MOSFET, tant que vous ne le faites pas remplacez-le par un qui a un seuil de porte inférieur à 2V.
3. Ajoutez une hystérésis "lente":
C'est une astuce couramment utilisée lorsque vous savez qu'un signal de bruit hérissé est au moins d'un ordre de grandeur plus grand que le signal qui vous intéresse. Il retardera un peu le signal, il ne peut donc pas être utilisé dans des situations où le moment exact d'un changement on / off est important.
Mais pour un signal dont vous ne voulez connaître que la forme ou la fréquence, c'est une méthode très robuste. Il commence essentiellement à se déclencher lorsqu'une tension franchit le seuil, mais ne termine cette action que lorsqu'il y reste. Il existe de nombreuses façons d'en créer un.
Vous pouvez le faire dans le contrôleur (ce qui est plus facile en termes de nombre de composants): vous pouvez déclencher sur un flanc, puis échantillonner quelques valeurs supplémentaires à une vitesse suffisante pour voir le haut entre les pics de bruit, mais ne confondez pas le fait de manquer une période entière de bas. Ensuite, vous faites un jugement prédéfini basé sur la connaissance de votre signal et de votre bruit. Par exemple, si vous pouviez échantillonner à 10 MHz, vous pourriez capturer 50 échantillons et être certain qu'une fréquence maximale de 100 kHz ne sera pas ignorée si vous optez pour la règle de la majorité. C'est à dire: au moins 25 doivent être bas pour qu'il soit réellement bas. Vos pointes ne sont que très minces et la plupart du temps c'est le signal d'origine, donc ça pourrait marcher, mais le nombre d'une majorité peut être ajusté. Cela fonctionnera également avec 1 MHz et 6 ou 7 échantillons, mais ce sera moins d'une majorité réelle, donc il peut y avoir à nouveau des risques.
Vous pouvez également le faire en externe:
mais c'est déjà BEAUCOUP plus compliqué que d'ajouter un simple filtre, surtout lorsque vous regardez le résultat avec un uC avec une certaine hystérésis en entrée. Mais c'est amusant d'y penser, alors:
simuler ce circuit
U1 est tout ampli-op ou comperator approprié. Les comperators sont de meilleurs commutateurs, souvent avec une meilleure oscillation, mais pour les sous-MHz, un OpAmp avec une oscillation rail / rail décente fera facilement l'affaire.
Bien que ce type d'hystérésis puisse être construit avec au moins une résistance de moins, celle-ci est plus facile à expliquer et à ce titre plus facile à modifier.
Imaginez-le d'abord sans le condensateur:
Tout d'abord, voyez que le diviseur de résistance est influencé par la sortie de U1, il le tirera un peu plus bas ou plus haut à travers la résistance apparente de 20kOhm. Disons que sur l'entrée positive de U1 se trouve une tension de 1,1 V arrondie vers le bas lorsque sa sortie est de 0 et de 3,9 V arrondie vers le haut lorsque sa sortie est de 5 V.
Si l'entrée tachymétrique de démarrage en régime permanent est élevée, la sortie de U1 sera faible, en raison de la nature inversée de l'entrée du tachymètre. Ainsi, l'entrée négative sera, encore une fois en raison de la résistance de rappel supplémentaire, d'environ 2,3 V. Étant donné que l'entrée positive n'est que de 1,1 V, l'entrée doit descendre en dessous de 2,2 V pour que l'entrée négative voit une tension inférieure et que la sortie bascule.
Lorsque la sortie bascule, l'entrée négative verra 3,6 V (car à cet instant le signal d'entrée est de 2,2 V, la sortie de U1 est de 5 V, donc leur milieu, fabriqué par les résistances 10k, est d'environ 3,6 V), mais le positif l'entrée sera passée de 1,1 V à 3,9 V, donc le négatif est toujours en dessous de l'entrée positive et la sortie restera 5 V.
Si le signal "abandonne" rapidement et revient en arrière, la sortie de U1 reviendra rapidement en arrière, mais le pic a déjà dû descendre en dessous de 2,2 V, c'est mieux que rien.
Si le signal descend plus bas à 0, la situation stable ne fera que se renforcer, l'entrée négative chutera à 2,5 V (puisque nous supposons que le tacho du FAN est suffisamment fort pour un pull-down) et le positif restera à environ 3,9. V.
Maintenant, le signal doit monter au-dessus de 2,7 V pour que la sortie retourne dans l'autre sens. Très probablement, 95% de vos pointes seront déjà ignorées.
Ajout du condensateur:
Avec le condensateur, le signal entrant doit fournir suffisamment d'énergie pendant assez de temps pour charger ou décharger le condensateur. En effet c'est déjà un filtre RC. Tout pic qui plonge rapidement puis récupère ne pourra pas décharger le condensateur.
La valeur de C dépend bien sûr du signal source et du signal de bruit. J'ai 510pF garé pour un signal source à 100 kHz contre une durée de pointe de 1us tout au plus, mais je n'ai pas vraiment fait beaucoup de mathématiques, c'est juste un instinct basé sur le temps RC, sentant que cela pourrait être proche de ce qui fonctionnera.
4. Filtrez le bruit
C'est un peu comme filtrer un signal analogique. Vous pouvez utiliser un réseau RC simple, comme expliqué dans la section précédente:
simuler ce circuit
Étant donné que les pointes de bruit sont égales ou inférieures à 1us, elles ne peuvent pas faire de changement très significatif de la tension sur le condensateur, car son temps RC est de 5us. Cela signifie que l'énergie dans les pointes est aplatie à une moyenne. Comme vous voyez des hauts et des creux bas sur les pointes, il est même possible que les moyennes soient très proches de 0V et 5V, mais cela ne peut être dit qu'avec de meilleures images ou simplement une expérience. Puisque vous l'alimentez sur une broche uC, le temps RC sera probablement suffisant pour le voir comme haut ou bas. Cela donnera une petite distorsion en raison de la charge plus lente que la décharge, causée par la résistance de rappel. Certains ajustements de valeurs peuvent donner un résultat dans lequel cela est négligeable.
Si cela ne suffit pas, vous pouvez ajouter des composants supplémentaires, mais vous en faites trop rapidement lorsque votre bruit dominant est au moins 10 fois "plus rapide" que votre signal.
Vous pouvez ajouter une inductance de 4,7 uH en série avec la résistance pour lisser certains flancs à haute fréquence, peut-être même 10 uH.
Mais pour être honnête, dans le cas de "l'alimenter en uC", la seule raison d'expérimenter avec les L dans un signal de votre genre est de trouver un équilibre dans lequel le R est grand, C est petit et L aide simplement à lisser quelques flancs, de sorte que R2 / R1 sera suffisamment petit pour ignorer la différence de temps de montée et de descente. comme un R1 de 33k, un C de 150pF et un L en série avec R1 de 56uH. Ou peut-être qu'une perle de ferrite au lieu de l'inducteur, dépend un peu de la netteté de vos pointes.
Mais déjà trop réfléchir, je dirais.