Comment repenser un circuit pour utiliser un circuit intégré de descente de courant plutôt qu'un circuit intégré de source de courant

9

Je construis un servo-contrôleur série pour en savoir plus sur l'électronique et le langage d'assemblage dans le cadre de mon projet de robot hexapode . Très tôt, j'ai décidé que j'avais besoin de plus de canaux d'E / S que mon ATTiny2313 que j'utilisais à l'époque prise en charge, j'ai donc étudié quelques puces de démultiplexeur de 3-8 lignes ( CD74HCT238E ) qui m'ont permis de créer un servo PWM 64 canaux contrôleur avec seulement 8 broches d'E / S pour les canaux PWM et 3 lignes d'adresse.

En tous cas. J'ai également acheté des CD74HCT138E qui sont actifs bas plutôt que des CD74HCT238E actifs élevés. Je comprends, en principe, les différences entre la puce d'approvisionnement actuelle que j'utilise et les puces d'amortissement actuelles, mais je ne sais pas vraiment comment ajuster mon circuit pour utiliser les puces d'amortissement actuelles au lieu des puces d'approvisionnement actuelles.

Le schéma des puces hautes actives est ici: texte alternatif Que dois-je changer pour échanger les CD74HCT238E contre CD74HCT138E?

Notez que la raison de poser cette question est que j'ai acheté un tube des circuits intégrés bas actifs par erreur et je suis curieux de voir à quel point le schéma et la conception des circuits devraient être plus complexes pour que je puisse les utiliser.

Len Holgate
la source

Réponses:

2

Le '238 n'a qu'une seule des huit sorties logique haute, source de courant, le reste des broches sera logique faible, courant descendant. Le '138 est précisément l'opposé, l'une des huit broches peut être faible, le courant de descente, le reste sera élevé, le courant de source.

Pour "inverser" la fonction du '138, vous pouvez utiliser huit transistors PNP avec les bases liées chacune à une sortie du' 138 avec une résistance, les émetteurs tous connectés à +5 et les collecteurs connectés chacun à l'un de vos servos connecteurs. Ou utilisez un groupe d'onduleurs (74HCT04 ou 74HCT240 octal) pour changer le sens des sorties.

Votre choix de 1 parmi 8 décodeurs limitera ce que vous pouvez faire avec vos servos, car votre circuit ne peut activer qu'une seule sortie à la fois. La vitesse maximale d'un servo sera limitée par le nombre de servos que vous souhaitez activer. Si vous vouliez que les 64 canaux soient activés, par exemple, ils fonctionneraient tous à une vitesse moyenne de 1 / 64e.

Le PCF8575C est très pratique pour étendre les E / S numériques en utilisant le protocole série I2C à partir d'appareils comme Arduino. Vous pouvez exécuter 64 servos à l'aide de 2 broches sur l'Arduino et 4 PCF8575C. Cela vous donnerait plus de flexibilité dans la définition de vos cycles de service PWM.

SiliconFarmer
la source
J'ai l'impression que si j'utilisais ces puces pour étendre les E / S pour une raison autre que la servocommande, l'échange du haut actif contre le bas actif serait moins un problème, car je inverserais simplement le circuit que je se connectait à la broche. Cependant, comme je dois piloter la ligne de servocommande avec + VE, j'ai besoin des onduleurs pour me le donner car je ne peux pas conduire la ligne de contrôle ailleurs et la plonger simplement dans le circuit intégré.
Len Holgate
Soit dit en passant, la servocommande PWM utilisant les circuits intégrés actifs élevés fonctionne bien. Je lance 8 des 1 puces de décodeur sur 8 hors de mon microprocesseur, puis je fais défiler les lignes d'adresse (en les changeant toutes les 2,5 ms) afin de pouvoir générer le rafraîchissement de 50 Hz requis sur les 64 canaux. Cela me permet de générer les impulsions 600us-2.4ms requises sur chaque canal. Je suppose que le PCF8575C est plus facile à utiliser car vous lui envoyez simplement une commande pour activer / désactiver la broche appropriée et cela reste ainsi plutôt que pour les 238, la broche correspondante du microprocesseur doit être maintenue haute pendant toute la durée.
Len Holgate
1
Cela dépend vraiment de l'application, je suis heureux d'apprendre que cela fonctionne. Dans de nombreux cas, la puce à laquelle vous êtes accroché est facile à gérer avec le changement de haut actif à bas actif, mais le vôtre n'en faisait pas partie.
Kortuk
3

Ils sont la même chose à l'exclusion de la sortie. Le bas actif est exactement le même que le haut actif avec une entrée inversée sur toutes les broches.

J'ai quelques applications avec des servos, cela nécessiterait de mettre un onduleur sur chaque chemin ou de changer mes servos. Avec des informations pour votre servo, je pourrais peut-être aider davantage, mais je doute que ce changement en vaille la peine.

J'ai jeté un œil à votre site, je l'ai apprécié les deux fois que je l'ai visité, mais je n'ai pas trouvé plus d'informations sur le matériel, si j'ai raté quelque chose, je m'en excuse. -Max Murphy

Kortuk
la source
2
Oui, je me rends compte qu'ils sont les mêmes, sauf pour la sortie. J'ai supposé qu'il y avait un moyen assez facile de câbler le servo au circuit intégré bas actif. Les servos sont de simples Hitec HS-422. Si je devais faire passer un fil de VCC, via, je suppose, une résistance, à la broche de sortie basse active, alors je suppose que rien ne coulerait à moins que la broche ne soit tirée bas?
Len Holgate
1
Je ne suis pas complètement sûr de comprendre votre question, vous avez raison, votre appareil ne tirera pas de courant d'une résistance de rappel lorsque sa sortie est élevée. La grille du servo tirera du courant à travers la résistance et / ou de votre sortie élevée, probablement les deux. Il restera élevé pour le rapport cyclique exactement opposé. Avant, si vous faisiez un rapport cyclique de 5% et maintenant un rapport cyclique de 95%. La fiche technique sur robotshop.us/PDF/Servomanual.pdf , ou devrais-je dire le guide produit, donne d'excellentes informations. Votre temps de pouls avec un temps d'arrêt spécifique est important.
Kortuk
1
Pourquoi avez-vous besoin de changer les puces en Active Low?
Kortuk
2
Non, j'en ai juste acheté un tube par erreur et je veux savoir si c'est possible. J'ai vu une conception pour une conception similaire de servo-contrôleur qui utilise ce qui (d'après la fiche technique) semblait être des circuits intégrés bas actifs et j'étais curieux :)
Len Holgate
1
Ahh, je suis désolé, j'essayais de vous empêcher de changer de design, avez-vous l'autre design? Vous avez vraiment juste besoin de mettre des onduleurs, si cela ne vous dérange pas l'espace, cela peut être fait avec un transistor et une résistance.
Kortuk