Încercând să vă dau seama cum să proiectați acest lucru cu o precizie decentă, dar având probleme la pornirea acestuia. Am mai lucrat cu 555 „s, dar nu pentru o contorizare precisă, care poate fi modificată în trepte.
Încerc să vin cu un sistem de 5 volți care impulsionează cu precizie o ieșire de + 5 v, care este măsurată și afișată în impulsuri pe minut, sau în ritmuri pe minut, între 60 și 240. BPM ar trebui să fie reglabil cu 2 butoane momentane care vor face cronometrul +1 și -1. Ar fi, de asemenea, minunat dacă ar putea exista și o secundă set de butoane pentru +10 și -10 pași.
Folosește un cronometru 555 într-un mod greșit în acest sens? Există ceva mai precis pe care îl pot folosi pentru a face referință la gating? Există deja un IC acolo pot face asta de unul singur și pot face o comparație pentru a calcula matematica?
Scuze pentru că nu am postat ceea ce am până acum. Sunt la versiunea 80-ceva pe panoul meu de calcul și nimic nu a funcționat cu precizie, așa că departe. De asemenea, vreau să stau departe de a trebui să programez roms și să rămân cu IC-uri discrete. Din nou, NU vreau să programez cipuri.
Cred că ceea ce urmăresc ar putea fi un generator de funcții cu un contor de frecvență, dar nu știu dacă acesta este cel mai bun mod de urmat.
Comentarii
- 555s și precizia nu se amestecă. Aceasta se potrivește mult mai bine pentru un microcontroler (Arduino etc.) cu un oscilator de cristal.
- @BrianDrummond Încerc
să încerc să stau departe de Adruino și să păstrez lucrurile simplu și cu preț redus …
Răspuns
Dacă doriți să implementați ceva fără a utiliza părți programabile dincolo de un oscilator cu frecvență personalizată, ar trebui să fie posibil să construiți un circuit care să ia o frecvență BCD de 3 cifre și emite un semnal cu atâtea bătăi pe minut folosind un oscilator plus cinci jetoane de pe piață. Introduceți un oscilator de 1.092.267 Hz într-un CD4060 pentru a-l reduce cu un factor de 16 (oscilatoarele DIP-pack la Digi-Key au o viteză minimă de 1 MHz). Introduceți acel semnal 68.266,7Hz într-o secvență în cascadă de trei cipuri CD4527 configurate pentru modul „ADD” pentru a produce o ieșire de (1-999) / 4.096bpm și alimentați ieșirea acestuia într-un CD4040 pentru a obține rata de ieșire dorită precum și diverse puteri de două multipli și submultipli ai acestuia. Atingerile superioare ale primului CD4060 pot fi utilizate pentru a furniza diferite puteri de doi multipli de 66,7Hz (poate fi utilizată ca tonuri „bip”).
Dacă aveți trei rotițe BCD, ar putea fi necesar doar șase piese electronice principale, toate DIP; prețurile cantității-unu la Digikey ar fi:
3x CD4527BE -- $0.80ea ($2.40 total) 2x CD4060BE -- $0.56ea ($1.12 total) oscillator -- $3.02ea ($3.02 total) $6.54 total
Asamblarea ar trebui să fie destul de simplă pe placa de perfecționare de 0,1 „, deoarece singurele interconectări, altele decât puterea și masa, ar fi oscilatorul ieșirea alimentează primul CD4060, ieșirea respectivului alimentând toate cele trei CD4527, fiecare dintre primele două CD4527 alimentând două semnale către următorul și ultimul CD4527 alimentând un semnal către ultimul CD4060.
Comentarii
- Ah da! Acum ‘ îmi vorbești limba 🙂 Acesta este punctul de pornire perfect de care aveam nevoie! Simplu, complet hardware și nu vă deranjați cu nicio programare. Vă mulțumim!
- Dacă ați dorit să evitați chiar și un cip oscilator programabil și să faceți totul cu ‘ clasic ‘ Piese CMOS puteți utiliza un cristal de 3.2768 MHz și împărțiți la 3, folosind de exemplu un 4018 și un 4011, pentru a produce ceasul de 1.092267 MHz. Atunci ar trebui să încercați să faceți aceeași treabă cu un microcontroler și decide care a fost mai ușor.
- @nekomatic: îmi place ideea de a folosi cristalul de 3.2768Mhz cu o împărțire la douăsprezece (cred că ar fi suficient pentru a obține numărul de bătăi pe minut în interval pentru 4060; Mi se pare ciudat că există contoare de 14 biți și 24 de biți cu biții superiori disponibili, dar nimic nu am putut vedea de ex.biți 18-20 disponibili). Deci, același număr de cipuri, dar fără oscilator personalizat. Nu sunt sigur cum s-ar potrivi un 4011, din moment ce văd doar șabloane cu șapte segmente disponibile. BTW, o altă abordare care ar putea fi educativă dacă cineva ar avea un programator EPROM disponibil, dar nu unul pentru un microcontroler …
- … ar fi să construiască o mașină de stare bazată pe registru de schimbare. Nu ‘ nu sunt sigur cât de mare ar trebui să fie pentru scopul indicat, dar astfel de lucruri pot fi destul de puternice. În cele din urmă, o altă observație interesantă este că microprocesorul COSMAC din anii 1970 avea suficientă logică de boot-strapping pe care era posibil să o utilizați într-o configurație fără ROM dacă intrați într-un program folosind zece comutatoare IIRC, opt LED-uri și un buton. S-ar putea ajunge destul de departe pentru a avea ceva care ar putea programa un cip EEPROM paralel modern.
- @supercat foaia de date 4018 ti.com/lit/ds/ symlink / cd4018b.pdf spune că este nevoie de 4011 suplimentar pentru a împărți la un număr impar și tocmai l-am citat textual – uitându-mă mai atent, ceea ce ai nevoie este o funcție ȘI pe care ai putea să o implementezi cu alte câteva părți posibile , sau (probabil) două diode și un rezistor la Vdd.
Răspuns
Acest lucru se poate face cu ușurință cu un microcontroler. 240 BPM este de 4Hz. Prin utilizarea unui microcontroler cu periferice cu temporizator, ar fi ușor să obțineți precizie în intervalul +/- 0,01%.
Sugerați un microcontroler precum PIC sau AVR sau MSP430 cu un afișaj mic, butoane. Un ecran LCD ar putea fi folosit pentru a economisi energie și există micro cu controlere LCD la bord. Costul și complexitatea circuitului ar fi foarte mici.
Puteți prototipa acest lucru cu ceva de genul unui Arduino.
În timp ce ați putea utiliza un 555 și atașați un contor de frecvență la acesta (și reglați butonul pe măsură ce scade frecvența), contorul de frecvență ar fi cel mai bine implementat cu un micro și prin urmare, este mai ușor să sintetizați corect frecvența pe care o doriți corect în primul rând.
Puteți găsi modele LCD cu sursă deschisă care afișează contoare de frecvență bazate pe PIC16F628, de exemplu, dar acestea sunt probabil nu poate fi utilizat direct pentru astfel de frecvențe joase. Pentru a obține rezoluție de 1 BPM cu un contor de frecvență simplu necesită un timp de poartă de 1 minut, deci numărarea perioadelor și matematica ar fi o abordare mai bună – de fapt mai dificilă decât generarea unei frecvențe setate.
Răspuns
După cum au spus ceilalți, un PIC sau Arduino este calea de urmat, dar dacă sunteți hotărât să evitați programare …
Ați putea lua în considerare utilizarea cipurilor CMOS cu un oscilator de înaltă frecvență cu un cristal pentru stabilitate. Ați folosi apoi un contor cip pentru a număra impulsurile și a da numărul actual pe pinii de ieșire. fiți alimentat cu o anumită logică pentru a da un impuls de ieșire la un anumit număr și pentru a reseta contorul.
Pe lângă acesta, veți avea nevoie de alte contoare pentru a seta punctul de resetare pentru comparație. Din păcate, aici lucrurile se încurcă . Dacă v-ați bucura să numărați 100, 200, 300, 400 etc., impulsurile ar putea fi realizabile, dar problema este că doriți să specificați bătăi pe minut, așa că va trebui să calculați 1 / BPM pentru a vă oferi conturi pentru chiar Pași BPM.
Gândește-te din nou la programare. Micro-urile se descurcă bine în ultimul timp. Cred că „o să prindă!
Comentarii
- Dacă se poate folosi un frecvența personalizată a oscilatorului, nu cred că ‘ nu cred că lucrurile funcționează prea dificil pentru a converti o valoare BPM zecimală în frecvență folosind CMOS disponibil. Chiar și utilizarea unei frecvențe plictisitoare de 1,00 MHz nu ar fi ‘ nu ar fi prea rău, deși ar fi necesar să existe un lanț divizor care s-ar putea împărți la 60.000 (adică 240×250). De fapt, gândiți-vă la asta, ar putea fi realizabil în două jetoane, obținând aceleași părți ca și celălalt design al meu, deși cred că puterea a doi sub-multipli ar putea fi utilă, iar divizarea cu două jetoane -60000 nu ar ‘ nu va realiza.
- Poate, dar problema este că de fiecare dată când apăsați butonul + sau – trebuie să calculați un nou divizor și ‘ este o funcție reciprocă (1 / BPM). de exemplu, pentru ceasul dvs. principal de 1 MHz numărul de conturi ar fi – 60 BPM – > 1.000.000 de impulsuri; 61 BPM – > 983.606,6 impulsuri; 62 BPM – > 968.741,9 impulsuri. Pentru a obține chiar și creșteri de un BPM va fi foarte complex, întrucât ‘ este un calcul simplu într-un micro.
- Utilizarea unui jetoan multiplicator cu trei rate zecimale va face posibilă să ia o valoare BCD de 12 cifre și să obțină o ieșire la un multiplu al vitezei dorite, care poate fi apoi redusă folosind un divizor fix. Nu este nevoie să generați niciun fel de reciprocitate.Folosirea butoanelor și a contoarelor sus-jos pentru a seta rata, mai degrabă decât roțile, ar necesita mai multe circuite, dar nu ‘ nu știu cât de flexibilă este acea cerință.