Générateur de BPM avec écran?

Essayer de comprendre comment concevoir cela avec une précision décente mais avoir du mal à démarrer. Jai travaillé avec des 555 avant mais pas pour un comptage précis qui peut être modifié par étapes.

Jessaye de proposer un système 5 volts qui impulsions avec précision une sortie de + 5v qui est mesuré et affiché en impulsions par minute, ou battements par minute, entre 60 et 240. Le BPM doit être réglable par 2 boutons momentanés qui feront avancer la minuterie de +1 et -1. Ce serait également génial sil pouvait aussi y avoir une seconde ensemble de boutons pour les étapes +10 et -10.

Est-ce que lutilisation dune minuterie 555 est incorrecte à ce sujet? Y a-t-il quelque chose de plus précis que je puisse utiliser pour référencer le gating? peut le faire seul et faire une comparaison pour calculer les calculs?

Toutes mes excuses pour ne pas avoir publié ce que jai jusquà présent. Je suis sur la version 80 – quelque chose sur ma maquette et rien na fonctionné avec précision, donc loin. Je veux aussi éviter davoir à programmer des roms et de men tenir à des circuits intégrés discrets. Encore une fois, je ne veux PAS programmer des puces.

Je pense que ce que je recherche pourrait être un générateur de fonctions avec un compteur de fréquence, mais je ne sais pas si cest la meilleure façon de procéder.

Commentaires

  • 555 et la précision ne font pas bon ménage. Cest un bien meilleur ajustement pour un microcontrôleur (Arduino, etc.) avec un oscillateur à cristal.
  • @BrianDrummond Je ‘ jessaie de rester à lécart dAdruino et de garder les choses simple et peu coûteux cependant …
  • Je pense que vous avez une terrible idée fausse sur une conception basée sur MCU. Il existe de nombreux choix de composants MCU qui offriront la simplicité, le faible coût et la précision que vous recherchez. Une conception de circuit intégré discrète sera beaucoup plus compliquée en comparaison, en particulier lorsque vous intégrez les boutons et laffichage dans le mix. Le MCU peut tout faire facilement. Une dernière pensée est quune fois que vous aurez atteint la conception basée sur le MCU, vous ne reviendrez jamais en arrière en essayant de faire des années 1970 ‘ ou 1980 ‘ s conception de style pour ce type de projet.
  • @MichaelKaras Cest aussi quelque chose de nouveau dans lequel je ‘ ne suis pas sûr de vouloir entrer. Pour moi, les transistors et les tubes à vide font avancer les choses lol IC ‘ s sont bien aussi, mais encore nouveaux pour moi. Mais MCU ‘ s, je ne sais ‘ même pas par où commencer, et je ne ‘ t veux entrer dans la programmation des puces …
  • Quelle part de cette fonctionnalité avez-vous sur votre maquette pour la version 80?

Réponse

Si vous souhaitez implémenter quelque chose sans utiliser de parties programmables au-delà dun oscillateur à fréquence personnalisée, il devrait être possible de construire un circuit qui prend une fréquence BCD à 3 chiffres et émet un signal avec autant de battements par minute en utilisant un oscillateur plus cinq puces standard. Introduisez un oscillateur de 1 092 267 Hz dans un CD4060 pour le réduire dun facteur 16 (les oscillateurs à boîtier DIP de Digi-Key ont une vitesse minimale de 1 Mhz). Introduisez ce signal de 68 266,7 Hz dans une séquence en cascade de trois puces CD4527 configurées pour le mode «ADD» pour produire une sortie de (1-999) / 4096 bpm, et alimentez la sortie de celui-ci dans un CD4040 pour obtenir le débit de sortie souhaité ainsi que divers multiples et sous-multiples de puissance de deux de cela. Des prises plus élevées du premier CD4060 peuvent être utilisées pour fournir divers multiples de puissance de deux de 66,7 Hz [peut-être utilisables comme des tonalités de «bip»].

Si vous avez trois molettes BCD, vous n’auriez besoin que de six principaux composants électroniques, tous DIP; Le prix de la quantité un chez Digikey serait:

3x CD4527BE -- $0.80ea ($2.40 total) 2x CD4060BE -- $0.56ea ($1.12 total) oscillator -- $3.02ea ($3.02 total) $6.54 total 

Lassemblage devrait être assez simple sur un perfboard de 0,1 « puisque les seules interconnexions autres que lalimentation et la terre seraient loscillateur sortie alimentant le premier CD4060, la sortie de celui alimentant les trois CD4527, chacun des deux premiers CD4527 alimentant deux signaux au suivant, et le dernier CD4527 alimentant un signal au dernier CD4060.

Commentaires

  • Ah oui! Maintenant, vous ‘ parlez ma langue 🙂 Cest le point de départ parfait dont javais besoin! Simple, tout matériel et pas de problèmes de programmation. Merci!
  • Si vous vouliez éviter même une puce doscillateur programmable et tout faire avec ‘ classic ‘ Parties CMOS, vous pouvez utiliser un cristal de 3,2768 MHz et les diviser par 3, en utilisant par exemple un 4018 et un 4011, pour produire lhorloge de 1,092267 MHz. Alors vous devriez essayer de faire le même travail avec un microcontrôleur et décider de ce qui était le plus facile.
  • @nekomatic: Jaime lidée dutiliser le cristal de 3,2768 Mhz avec une division par douze (je pense que cela suffirait pour obtenir le nombre de battements par minute dans la plage 4060; Je trouve étrange quil y ait des compteurs 14 bits et 24 bits avec les bits supérieurs disponibles, mais je nai rien pu voir avec par exemplebits 18-20 disponibles). Donc même nombre de puces, mais pas doscillateur personnalisé. Je ne sais pas comment un 4011 sintégrerait, car je ne vois que des modèles à sept segments disponibles à partir de cela. BTW, une autre approche qui pourrait être éducative si lon avait un programmeur EPROM disponible mais pas un pour un microcontrôleur …
  • … serait de construire une machine à états basée sur un registre à décalage. Je ‘ ne sais pas quelle taille il faudrait pour le but indiqué, mais de telles choses peuvent être assez puissantes. Enfin, une autre observation intéressante est que le microprocesseur COSMAC des années 1970 avait suffisamment de logique damorçage pour pouvoir lutiliser dans une configuration sans ROM si lon entrait dans un programme utilisant dix commutateurs, huit LED et un bouton IIRC. Cela pourrait aller assez loin pour avoir quelque chose qui pourrait programmer une puce EEPROM parallèle moderne.
  • @supercat the 4018 fiche technique ti.com/lit/ds/ symlink / cd4018b.pdf indique quun 4011 supplémentaire est nécessaire pour diviser par un nombre impair, et je viens de le citer textuellement – en regardant de plus près, ce dont vous avez réellement besoin est une fonction AND que vous pouvez implémenter avec plusieurs autres parties possibles , ou (probablement) deux diodes et une résistance à Vdd.

Answer

Cela pourrait facilement être fait avec un microcontrôleur. 240 BPM correspond à 4 Hz. En utilisant un microcontrôleur avec des périphériques de minuterie, il serait facile dobtenir une précision de lordre de +/- 0,01%.

Suggérer un microcontrôleur tel que PIC ou AVR ou MSP430 avec un petit écran, des boutons. Un écran LCD pourrait être utilisé pour économiser de lénergie, et il y a des micros avec des contrôleurs LCD à bord. Le coût et la complexité du circuit seraient très faibles.

Vous pouvez prototyper ceci avec quelque chose comme un Arduino.

Alors que vous pourriez utiliser un 555 et y attacher un compteur de fréquence (et ajuster le bouton lorsquil dérive de la fréquence), le compteur de fréquence serait mieux implémenté avec un micro et il est donc plus facile de simplement synthétiser correctement la fréquence que vous voulez en premier lieu.

Vous pouvez trouver des conceptions de compteur de fréquence daffichage de module LCD open-source basées sur le PIC16F628, par exemple, mais elles sont probablement pas directement utilisable pour ces basses fréquences. Pour obtenir une résolution de 1 BPM avec un simple compteur de fréquence, il faut un temps de porte dune minute, donc le comptage de période et les mathématiques seraient une meilleure approche – en fait plus difficile que de générer une fréquence définie.

Réponse

Comme les autres lont dit, un PIC ou un Arduino est la voie à suivre, mais si vous êtes déterminé à éviter programmation …

Vous pourriez envisager dutiliser des puces CMOS avec un oscillateur haute fréquence avec un cristal pour la stabilité. Vous utiliseriez alors une puce de compteur pour compter les impulsions et donner le décompte actuel sur ses broches de sortie. être alimenté par une logique pour donner une impulsion de sortie à un certain nombre et réinitialiser le compteur.

Parallèlement à cela, vous auriez besoin dautres compteurs pour définir le point de réinitialisation à des fins de comparaison. Malheureusement, cest là que les choses se compliquent . Si vous êtes heureux de compter 100, 200, 300, 400, etc. impulsions, cela peut être faisable, mais le problème est que vous voulez spécifier des battements par minute, vous devrez donc calculer 1 / BPM pour vous donner des comptes pour pair Étapes du BPM.

Repensez à la programmation. Les micro « se portent bien ces derniers temps. Je pense quils » vont se faire une place!

Commentaires

  • Si on peut utiliser un fréquence doscillateur personnalisée, je ne ‘ pas penser que les choses fonctionnent trop difficile pour convertir une valeur de BPM décimale en fréquence en utilisant un CMOS standard. Même utiliser une fréquence ennuyeuse de 1,00 MHz ne serait pas ‘ t être dommage, même sil serait nécessaire davoir une chaîne de division qui pourrait diviser par 60 000 (cest-à-dire 240×250). En fait, en y réfléchissant bien, cela pourrait être faisable en deux puces, donnant le même nombre de pièces que mon autre design, bien que je pense quavoir le sous-multiple de puissance de deux pourrait être utile et la division par deux puces -60000 naccomplirait pas ‘ tat.
  • Peut-être, mais le problème est que chaque fois que vous appuyez sur le bouton + ou -, vous devez calculer un nouveau diviseur et il ‘ est une fonction réciproque (1 / BPM). Par exemple, pour votre horloge maître à 1 MHz, le nombre de comptages serait de – 60 BPM – > 1 000 000 impulsions; 61 BPM – > 983 606,6 impulsions; 62 BPM – > 968 741,9 impulsions. Obtenir même des incréments dun BPM sera très complexe alors que ‘ est un simple calcul dans un micro.
  • Lutilisation dun multiplicateur à trois décimales rendra possible pour prendre une valeur BCD à 12 chiffres et produire une sortie à un multiple de la vitesse souhaitée qui peut ensuite être réduite à laide dun diviseur fixe. Pas besoin de générer aucune sorte de réciproque.Utiliser des boutons et des compteurs haut-bas pour définir le taux plutôt que des molettes nécessiterait plus de circuits, mais je ne ‘ pas à quel point cette exigence est flexible.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *