Sto cercando di capire come progettarlo con una precisione decente ma ho problemi a farlo iniziare. Ho lavorato con 555 “prima, ma non per un conteggio preciso che può essere modificato in più fasi.
Sto cercando di trovare un sistema a 5 volt che pulsi con precisione unuscita di + 5v, cioè misurati e visualizzati in impulsi al minuto, o battiti al minuto, tra 60 e 240. Il BPM dovrebbe essere regolabile da 2 pulsanti momentanei che faranno avanzare il timer di +1 e -1. Sarebbe bello anche se potesse esserci anche un secondo set di pulsanti per i passi +10 e -10.
Usare un timer 555 nel modo sbagliato? Cè qualcosa di più preciso che posso usare per fare riferimento al gating? Esiste già un circuito integrato che può farlo da solo e fare un confronto per calcolare i calcoli matematici?
Mi scuso per non aver pubblicato quello che ho finora. Sono sulla versione 80, qualcosa sulla mia breadboard e niente ha funzionato accuratamente quindi lontano. Voglio anche evitare di dover programmare rom e restare con circuiti integrati discreti. Ancora una volta, NON voglio programmare chip.
Penso che quello che sto cercando potrebbe essere un generatore di funzioni con un frequenzimetro, ma non so se questo è il modo migliore per procedere.
Commenti
- 555 e accuratezza non si mescolano. Questo è molto più adatto per un microcontrollore (Arduino ecc.) Con un oscillatore a cristallo.
- @BrianDrummond Io ‘ sto cercando di stare lontano da Adruino e tenere semplice ea basso costo però …
- Penso che tu abbia un terribile malinteso su un design basato su MCU. Ci sono molte scelte di componenti MCU che offrono la semplicità, il basso costo e la precisione che stai cercando. Un design IC discreto sarà molto più complicato in confronto, specialmente quando inserisci i pulsanti e il display nel mix. LMCU può fare tutto con facilità. Unultima considerazione è che, una volta ottenuto il design basato sullMCU, non guarderai mai indietro al tentativo di realizzare ‘ so 1980 ‘ design di stile per questo tipo di progetto.
- @MichaelKaras Anche questa è una novità in cui ‘ non sono sicuro di voler entrare. Per me, i transistor e le valvole a vuoto fanno le cose lol Anche gli IC ‘ vanno bene, ma sono ancora nuovi per me. Ma ‘ MCU ‘ non so nemmeno da dove cominciare e non ‘ Voglio entrare nei chip di programmazione …
- Quante di queste funzionalità hai sulla breadboard per la versione 80?
Risposta
Se vuoi implementare qualcosa senza utilizzare parti programmabili oltre a un oscillatore a frequenza personalizzata, dovrebbe essere possibile costruire un circuito che accetta una frequenza BCD a 3 cifre ed emette un segnale con quel numero di battiti al minuto utilizzando un oscillatore più cinque chip standard. Inserisci un oscillatore da 1.092.267 Hz in un CD4060 per ridimensionarlo di un fattore 16 (gli oscillatori a pacchetto DIP di Digi-Key hanno una velocità minima di 1 Mhz). Alimenta quel segnale a 68.266,7 Hz in una sequenza in cascata di tre chip CD4527 impostati per la modalità “ADD” per produrre unuscita di (1-999) / 4,096 bpm e alimenta luscita di questo in un CD4040 per ottenere la velocità di uscita desiderata così come vari multipli e sottomultipli della potenza di due. I tocchi più alti del primo CD4060 possono essere usati per fornire varie potenze di due multipli di 66,7Hz [forse utilizzabili come toni “beep”].
Se hai tre rotelline BCD, potresti solo aver bisogno sei parti elettroniche principali, tutte DIP; I prezzi della quantità uno su Digikey sarebbero:
3x CD4527BE -- $0.80ea ($2.40 total) 2x CD4060BE -- $0.56ea ($1.12 total) oscillator -- $3.02ea ($3.02 total) $6.54 total
Lassemblaggio dovrebbe essere abbastanza semplice su una perfboard da 0,1 “poiché le uniche interconnessioni diverse da alimentazione e massa sarebbero loscillatore uscita che alimenta il primo CD4060, luscita di quello alimenta tutti e tre i CD4527, ciascuno dei primi due CD4527 alimenta due segnali al successivo e lultimo CD4527 alimenta un segnale allultimo CD4060.
Commenti
- Ah sì! Ora ‘ stai parlando la mia lingua 🙂 Questo è il punto di partenza perfetto di cui avevo bisogno! Semplice, tutto hardware e nessun problema con la programmazione. Grazie!
- Se volessi evitare anche un chip oscillatore programmabile e fare tutto con il ‘ classico ‘ Parti CMOS potresti usare un cristallo da 3,2768 MHz e dividerlo per 3, usando ad esempio un 4018 e un 4011, per produrre il clock a 1.092267 MHz. Quindi dovresti provare a fare lo stesso lavoro con un microcontrollore e decidere quale è stato più facile.
- @nekomatic: mi piace lidea di utilizzare il cristallo da 3,2768 Mhz con una divisione per dodici (penso che sarebbe sufficiente per ottenere il numero di battiti al minuto nellintervallo per il 4060; Trovo strano che ci siano contatori a 14 e 24 bit con i bit superiori disponibili, ma niente che potessi vedere con es.bit 18-20 disponibili). Quindi stesso numero di chip, ma nessun oscillatore personalizzato. Non sono sicuro di come si adatterebbe un 4011, dal momento che vedo solo modelli a sette segmenti disponibili da quello. A proposito, un altro approccio che potrebbe essere educativo se si avesse un programmatore EPROM disponibile ma non uno per un microcontrollore …
- … sarebbe quello di costruire una macchina a stati basata su registro a scorrimento. ‘ non sono sicuro di quanto dovrebbe essere grande per lo scopo indicato, ma queste cose possono essere piuttosto potenti. Infine, unaltra osservazione interessante è che il microprocessore COSMAC degli anni 70 aveva una logica di boot strapping sufficiente che era possibile utilizzare in una configurazione senza ROM se si accedeva a un programma utilizzando dieci interruttori IIRC, otto LED e un pulsante. Potrebbe essere abbastanza lontano da avere qualcosa in grado di programmare un moderno chip EEPROM parallelo.
- @supercat the 4018 datasheet ti.com/lit/ds/ symlink / cd4018b.pdf dice che è necessario un ulteriore 4011 per dividere per un numero dispari, e lho appena citato letteralmente – guardando più da vicino, ciò di cui hai effettivamente bisogno è una funzione AND che potresti implementare con molte altre possibili parti , o (probabilmente) due diodi e un resistore a Vdd.
Risposta
Questo potrebbe essere fatto facilmente con un microcontrollore. 240 BPM è 4Hz. Utilizzando un microcontrollore con periferiche timer sarebbe facile ottenere una precisione nellintervallo +/- 0,01%.
Suggerisci un microcontrollore come PIC o AVR o MSP430 con un piccolo display e pulsanti. Un display LCD potrebbe essere utilizzato per risparmiare energia e ci sono micro con controller LCD a bordo. Il costo e la complessità del circuito sarebbero molto bassi.
Puoi prototiparlo con qualcosa come un Arduino.
Anche se potresti usare un 555 e attaccarvi un frequenzimetro (e regolare la manopola mentre si allontana dalla frequenza), il frequenzimetro sarebbe meglio implementato con un micro e quindi è più facile sintetizzare semplicemente la frequenza che desideri correttamente in primo luogo.
Puoi trovare modelli di contatori di frequenza con display di moduli LCD open source basati sul PIC16F628, per esempio, ma probabilmente sono non direttamente utilizzabile per frequenze così basse. Per ottenere una risoluzione di 1 BPM con un semplice contatore di frequenza è necessario un tempo di gate di 1 minuto, quindi il conteggio del periodo e la matematica sarebbero un approccio migliore, in realtà più difficile che generare una frequenza impostata.
Risposta
Come hanno detto gli altri, un PIC o Arduino è la strada da percorrere, ma se sei determinato a evitare programmazione …
Potresti prendere in considerazione lutilizzo di chip CMOS con un oscillatore ad alta frequenza con un cristallo per la stabilità. Dovresti quindi utilizzare un chip contatore per contare gli impulsi e dare il conteggio attuale sui suoi pin di uscita. Questi sarebbero essere alimentato da una logica per dare un impulso di uscita a un certo conteggio e azzerare il contatore.
Oltre a questo avresti bisogno di altri contatori per impostare il punto di ripristino per il confronto. Sfortunatamente, qui è dove le cose si complicano . Se fossi felice di contare 100, 200, 300, 400 e così via, potrebbe essere fattibile, ma il problema è che vuoi specificare i battiti al minuto, quindi dovrai calcolare 1 / BPM per ottenere conteggi pari Passaggi BPM.
Ripensa alla programmazione. I micro “stanno andando bene negli ultimi tempi. Penso che” stanno andando a prendere piede!
Commenti
- Se si può usare un frequenza delloscillatore personalizzato, non ‘ penso che le cose siano troppo difficili per convertire un valore BPM decimale in frequenza utilizzando CMOS standard. Anche lutilizzo di una frequenza noiosa di 1,00 MHz non sarebbe ‘ troppo male, anche se sarebbe necessario avere una catena divisoria che potrebbe dividere per 60.000 (cioè 240 x 250). In realtà, a pensarci bene, potrebbe essere fattibile con due chip, producendo le stesse parti contano come il mio altro progetto, anche se penso che avere la potenza di due sub-multipli potrebbe essere utile e la divisione di due chip -60000 non ‘ realizzerebbe tat.
- Forse, ma il problema è che ogni volta che premi il pulsante + o – devi calcolare un nuovo divisore e è ‘ una funzione reciproca (1 / BPM). ad esempio, per il tuo master clock a 1 MHz il numero di conteggi sarebbe – 60 BPM – > 1.000.000 di impulsi; 61 BPM – > 983.606,6 impulsi; 62 BPM – > 968.741,9 impulsi. Ottenere anche incrementi di un BPM sarà molto complesso mentre ‘ un semplice calcolo in un micro.
- Luso di un moltiplicatore di velocità a tre chip lo renderà possibile per prendere un valore BCD a 12 cifre e produrre unuscita a un multiplo della velocità desiderata che può quindi essere ridotta utilizzando un divisore fisso. Non cè bisogno di generare alcun tipo di reciproco.Lutilizzo di pulsanti e contatori su e giù per impostare la velocità anziché le rotelline richiederebbe più circuiti, ma ‘ non so quanto sia flessibile questo requisito.