Question:
Minuterie de temps aléatoire
Chris
2012-05-16 09:31:27 UTC
view on stackexchange narkive permalink

Je construis un circuit simple qui émet un bip sur un intervalle de temps donné, en utilisant une minuterie 555. Existe-t-il un moyen simple de randomiser l'heure du minuteur 555 entre deux intervalles donnés, disons, n'importe quel temps entre 30 secondes et deux minutes? Je ne cherche même pas une vraie randomisation, juste quelque chose de simple pour rendre l'intervalle différent entre chaque impulsion. Idéalement, ce serait assez simple / petit pour que je puisse mettre deux d'entre eux dans un circuit avec une minuterie 556 - le second serait un timing inférieur à la seconde pour créer un `` bip '' différent à chaque fois. Des idées?

Merci.

P.S. - bonus si les intervalles peuvent être ajustés avec un potentiomètre?

Accepter une réponse si rapidement est décourageant pour les autres qui, autrement, auraient également affiché une réponse. Maintenant, vous aurez probablement moins de réponses / idées.
@FedericoRusso vraiment? Haha je n'avais jamais envisagé cela auparavant, merci pour le tuyau!
Je me souviens de mon testeur préféré que j'ai conçu pour composer un numéro de téléphone pour tester un réseau numérique DS1. Il a décroché, a composé le 888.8888 s'est connecté puis a raccroché, a attendu et répété toute la semaine. Je l'ai fait avec seulement quelques compteurs et quelques portes avec numérotation par impulsion. Chris pouvez-vous refuser. J'aimerais voir une solution plus simple. Pouvez-vous frapper un PIC? Le meilleur design est celui qui utilise les outils que vous savez utiliser.
@TonyStewart bien sûr, pas de problème. Et oui, peut-être, et je pourrais aussi avoir un peu plus de fonctionnalités. Peut-être un PICAXE?
Cinq réponses:
Olin Lathrop
2012-05-16 17:23:36 UTC
view on stackexchange narkive permalink

Vous avez dit que vous vouliez des éléments simples et petits, mais vous utilisez pourtant une minuterie 555. Ces deux éléments sont en désaccord.

Remettez le minuteur 555 dans le musée dans lequel vous l'avez trouvé et utilisez un microcontrôleur. Le petit PIC10F200 peut faire ce travail. Il est livré dans un package SOT-23, et n'a besoin que d'une seule partie supplémentaire du capuchon de contournement.

Le reste est du firmware. Cette partie possède un oscillateur interne et 255 mots d'instructions utilisables. C'est beaucoup pour un petit code de synchronisation et de nombre pseudo-aléatoire. Vous pouvez même lui faire faire les multiples sorties en même temps. Cette partie a six broches: alimentation, terre, une entrée et trois E / S. Vous pouvez donc lui faire produire jusqu'à 3 événements distincts directement à partir de ses broches.

Ajouté:

Apparemment, il y a un désir de contrôler la longueur moyenne de l'intervalle avec un pot. Si c'est ce que vous voulez, vous pouvez utiliser un PIC 10F220 au lieu du 10F200. Ce PIC a un 8 bits A / D et ne coûte qu'un peu plus que le '200 (toujours seulement 0,38 $ en 100s chez microchipdirect). Encore une fois, la seule autre partie dont vous avez besoin en dehors du microcontrôleur est un capuchon de dérivation. Le pot peut être d'environ 20 kΩ ou 47 kΩ. Les extrémités sont connectées à Vdd et à la masse, et l'essuie-glace à l'une des deux broches d'entrée analogiques. Le reste est du firmware.

+1. Exactement ce à quoi je pensais, seulement j'étais trop paresseux pour le taper. :-)
Quand j'ai vu Olin, je savais que c'était un PIC :) +1
@Chris - Si vous le voulez petit: le 10F200 est disponible dans un boîtier DFN 2 mm x 3 mm.
@stevenvh Qu'en est-il de la programmation d'un microcontrôleur SMD? Vous devriez envisager des éléments supplémentaires ICSP dans l'empreinte, non? Je ne pense pas qu'OP se soucie qu'il soit petit, il mentionne un pot pour l'ajuster et le considère comme un bonus.
@abdullah - ICSP utilise 3 broches d'E / S que vous voudrez probablement câbler de toute façon. Pour un produit commercial, vous fourniriez 3 pads en bas (+ deux pour l'alimentation), auxquels vous vous connectez sur un gabarit de test à l'aide de [broches de test à ressort] (http://www.ladyada.net/make/pogojig /index.html). Ils ne sont pas seulement utiles pour la programmation, mais ils sont largement utilisés dans les tests de cartes.
@abdullah - De toute façon, il aura également besoin de composants supplémentaires pour le potentiomètre; le 10F200 n'a pas d'ADC à bord.
@abdullahkahraman: si votre carte est trop petite pour les broches de programmation, vous pouvez également faire programmer le contrôleur par votre fournisseur. Nous le faisons souvent pour de gros lots, c'est moins cher que de le faire nous-mêmes.
Hé, il n'y a pas non plus de brevet sur mon idée, même si Olin l'a dupliquée, la meilleure réponse est celle qui convient au demandeur avec des outils qu'il peut utiliser. Factoid: chaque joueur d'échecs a plus de 4 milliards de combinaisons possibles de coups dans les quatre premières entrées. L'électronique est plus multidimensionnelle et encore plus de mouvements que les échecs.
Vous pouvez l'implémenter en mode terminal en utilisant des commandes AT et sans avoir besoin d'un PIC ou de tout matériel personnalisé ... et beaucoup plus rapide à réaliser, des sonneries flexibles, évolutives et gratuites aussi ... hmm un PIC était trop évident ... .
@stevenvh ah, pourquoi ils ne sont pas utiles pour la programmation? Je viens de terminer un design de 2600qty comme vous le dites, avec des tampons. Bien que j'aie programmé toutes les puces en deux jours jusqu'à l'arrivée des PCB, je n'ai pas testé les broches ICSP.
@abdullah - J'ai dit * non seulement * utile. Ils sont utiles pour la programmation et les tests.
@stevenvh, oups, désolé :) OK, alors, maintenant ce sera une douleur dans le cul d'avoir ces broches pogo en Turquie ..
Le 555 a l'avantage d'être nettement moins cher par unité.Si vous n'avez pas besoin de faire de logique sophistiquée, ne faites pas de folies pour le microcontrôleur.Si vous avez besoin d'un peu de logique sophistiquée, optez pour un micro-contrôleur de format "minuscule" avec une petite quantité de mémoire.
stevenvh
2012-05-22 14:27:11 UTC
view on stackexchange narkive permalink

Je suis d'accord avec Olin: abandonnez le 555 et obtenez un microcontrôleur. Le PIC10F200 est le premier qui vous vient à l'esprit si vous n'avez besoin que de quelques E / S et d'un programme simple. Grâce à l'oscillateur interne, il n'a besoin d'aucun des composants externes requis par le LM555. Le 10F200 ne coûte que quelques centimes de plus que le LM555 et peut facilement en remplacer deux. Le LM556 n'est pas non plus une concurrence: il coûte le double de ce que vous payez pour le 10F200.

La réponse d'Olin est donc la bonne? Non :-). Je vais pour le bonus! J'ai récemment trouvé l'Atmel ATTiny5, qui est comparable au PIC10F200: même package SOT23, même mémoire programme de 512 octets, oscillateur interne. MAIS! L'ATTiny5 a un ADC , que le PIC n'a pas! Connectez-y le potentiomètre et le bonus est à moi! :-)

(Vous pouvez également faire un ADC brut avec le PIC, mais il a besoin de 2 broches que vous pouvez utiliser comme sorties, et comme nous avons déjà deux sorties et une E / S du 10F200 est seule entrée, vous devrez abandonner cette sortie buzzer. Modifier. À la réflexion, vous pouvez le faire avec une E / S, mais vous aurez besoin de deux résistances et d'un condensateur au lieu d'une résistance et d'un condensateur . )

Le logiciel sera très similaire à celui du PIC: programmez un LFSR (Linear Feedback Shift Register):

enter image description here

Un LFSR 8 bits peut parcourir jusqu'à 255 combinaisons avant de se répéter, un LFSR 16 bits jusqu'à 65535. Utilisez la lecture du potentiomètre pour définir les valeurs d'écrêtage pour la minuterie.

Notez que de minuscules PIC sont également disponibles avec les A / D. La série PIC 10F22x est à peu près la série 10F20x avec un A / N et quelques autres éléments mineurs ajoutés.
Une fois que vous avez un MCU, vous pouvez également utiliser d'autres sources pour le hasard - par exemple, utilisez une broche analogique non connectée et échantillonnez le LSB dessus. Ou, configurez une course de transistor médiée par une broche MCU.
@Olin - Bah, tu gâches ma réponse! :-)
Cool! Merci pour la réponse détaillée et divertissante, et profitez de votre bonus!
Tony Stewart Sunnyskyguy EE75
2012-05-16 09:42:12 UTC
view on stackexchange narkive permalink

Bien sûr, c'est trivial. Procurez-vous simplement un registre à décalage, une porte quadruple XOR et un potentiomètre sur le 555 ou utilisez un inverseur Schmitt pour faire de même (Relaxation Osc) et pilotez un compteur binaire pour obtenir la période minimale de 1 minute. Utilisez un autre onduleur pour créer une tonalité différente. Utilisez un délai RC sur une porte XOR et vous obtenez un seul coup pour chaque transition. Portez-le avec votre tonalité ou utilisez un autre inverseur de Schmitt pour créer un autre son f fixe, ou utilisez le même son, donc lorsque vous changez d'intervalle avec le potentiomètre, le son change également de hauteur. ou RNG ou ... .... tout ce dont vous avez besoin est un générateur de séquence aléatoire à 8 étages. Il existe des polynômes plus longs que vous pouvez également utiliser simplement. Si vous utilisez un inverseur dans la rétroaction, tous les zéros ou une réinitialisation peuvent être utilisés comme semences de départ. Ou vous pouvez charger une graine aléatoire d'une autre manière ... Mais tous les 1 sont illégaux. Cela aura du sens après avoir vu le design classique. (Je l'ai utilisé en 1976)

Sur la deuxième pensée, vous voulez seulement un rapport 4: 1 de 0,5 à 2 min et cela créerait un rapport 8: 1. Ce n'est pas trop difficile à réparer ... en utilisant un délai fixe de 30 secondes et un PRNG polynomial plus élevé pour une meilleure résolution, puis utilisez une bascule ou 2 portes pour régler après 30 secondes et réinitialiser après 2 minutes. Maintenant, lancez-le en VHDL et mettez-le dans une simple puce CPLD. Suivant?

Génial, merci pour la bonne réponse! Je cherchais un projet de base pour m'occuper pendant la semaine ou les deux prochaines, cela semble parfait, merci!
la semaine? devrait pouvoir le monter en une heure ... avec de la pratique ...
haha vrai, je suis bon avec un fer à souder mais pas tellement avec mes propres schémas. Sur cette note - Ai-je raison de dire que j'ai besoin de 3 IC - un registre à décalage 4015, un 4070 XOR et une source de minuterie 555? Aussi, j'ai trouvé ce schéma - http://www.doctronics.co.uk/4015.htm#applications, pourriez-vous me dire si cette entreprise avec le 4093 est remplaçable par un 555? Merci beaucoup pour l'aide, vous m'avez vraiment fait réfléchir !!
"Recherchez PRSG, [...]". Ce n’est pas ainsi. Les réponses doivent rester autonomes. Si vous pensez que PRSG est intéressant, expliquez-le ici, même si ce n'est que brièvement.
Everyone
2012-09-18 23:57:57 UTC
view on stackexchange narkive permalink

Je suppose que le 555 est utilisé dans une configuration monostable.

L'intervalle est déterminé par le RC, et C est fixe. R peut être modifié; par exemple en utilisant un LDR ou une thermistance. Ainsi, la constante RC changerait probablement aussi.

Il y a, bien sûr, l'avertissement qu'une telle résistance / pilote variable devrait être exposée au bon environnement pour que sa résistance varie.

J'espère que cela vous aidera.

Les LDR et les thermistances sont des résistances variables, mais elles ne varieront pas d'elles-mêmes. Si le niveau de lumière et la température sont constants, vous ne verrez pas beaucoup de changement dans les intervalles.
@stevenvh: Vous avez raison. J'ai mis à jour la réponse pour tenir compte de la mise en garde.
Tony Stewart Sunnyskyguy EE75
2012-05-16 11:32:14 UTC
view on stackexchange narkive permalink

Les 555 sont tellement old school ... Vous pouvez créer 6 oscillateurs avec un onduleur HEx Schmitter ou utiliser Schmitt NAND.

Ensuite, utilisez les deux entrées XOR avec retard RC en une pour créer une fréquence à un coup doubler.

En fait, tout cela est de la vieille école et utilisez un registre à décalage pas D FF. et un compteur d'ondulation binaire pour réduire l'horloge.

Il suffit d'utiliser une maquette.

enter image description here

C'est intéressant en tant que poésie du courant de conscience, mais c'est un peu économe en explication pour aider OP à répondre à sa question.
Feynman a déclaré qu'il valait mieux ne pas connaître et se demander la réponse complète que de connaître la réponse complète et ne pas savoir qu'elle est fausse. Si vous votez pour des réponses de livres de cuisine plutôt que pour des instructions suggestives, vous n'enseignez pas comment penser, mais régurgitez simplement des données. Si vous comprenez ses premières réponses, vous comprenez ma dérive.
@TonyStewart en fait c'est un site de questions / réponses, où le `A` signifie" Answer ", pas" Argue ":) Il ne s'agit pas uniquement de l'OP, vous devriez laisser un contenu précieux pour tous les lecteurs


Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...