BPM-generaattori näytöllä?

Yritetään selvittää, kuinka suunnitella tämä kunnollisella tarkkuudella, mutta on vaikeuksia aloittaa. Olen työskennellyt aiemmin 555 ”: n kanssa, mutta en tarkkaa laskentaa varten, jota voidaan muuttaa vaiheittain.

Pyrin keksimään 5 voltin järjestelmän, joka pulssii tarkasti + 5v: n lähdön, joka on mitataan ja näytetään pulsseina minuutissa tai lyönteinä minuutissa välillä 60 ja 240. BPM: n tulisi olla säädettävissä kahdella hetkellisellä painikkeella, jotka asettavat ajastimen +1 ja -1. Olisi myös hienoa, jos myös toinen voisi olla joukko painikkeita +10- ja -10-vaiheille.

Onko 555-ajastimen käyttö väärällä tavalla? Onko jotain tarkempaa, jolla voin viitata portointiin? Onko siellä jo IC osaa tehdä tämän yksin ja tehdä vertailun laskeaksesi matematiikan?

Anteeksi, että en ole lähettänyt toistaiseksi minua. Olen versiossa 80 – jotain leipälautalleni, eikä mikään ole toiminut oikein, joten kaukana. Haluan myös pysyä kaukana siitä, että minun on ohjelmoitava romeja ja pidettävä kiinni erillisistä IC: stä. Jälleen, en halua olla ohjelmointisiruja.

Luulen, että sen jälkeen mitä voin olla, voi olla funktiogeneraattori taajuuslaskuri, mutta en tiedä, onko se paras tapa edetä.

Kommentit

  • 555 ja tarkkuus eivät ole keskenään sekoitettavissa. Tämä sopii paljon paremmin mikro-ohjaimeen (Arduino jne.), Jossa on kideoskillaattori.
  • @BrianDrummond I ’ yritän pysyä poissa Adruinosta ja pitää asiat yksinkertainen ja edullinen …
  • Luulen, että sinulla on kauhea väärinkäsitys MCU-pohjaisesta suunnittelusta. MCU-komponentteja on monia vaihtoehtoja, jotka tuottavat etsimäsi yksinkertaisuuden, edullisuuden ja tarkkuuden. Diskreetti IC-muotoilu on paljon monimutkaisempi verrattuna varsinkin kun tuot painikkeet ja näytön sekoitukseen. MCU voi tehdä kaiken helposti. Viimeinen ajatus on, että kun saavutat MCU-pohjaisen suunnittelun, et koskaan yritä yrittää tehdä 1970 ’ s tai 1980 ’ s tyylisuunnittelu tämäntyyppiselle projektille.
  • @MichaelKaras Se on myös jotain uutta, mihin ’ en ole varma, haluaisin päästä. Minulle transistorit ja tyhjiöputket saavat aikaan asioita. Lol IC ’ s ovat myös hienoja, mutta silti uusia minulle. Mutta MCU ’ s, en tiedä edes ’ t, mistä aloittaa, enkä ’ eivät halua päästä ohjelmointisiruihin …
  • Kuinka paljon tästä toiminnosta sinulla on leipätaulussa versiolle 80?

Vastaus

Jos haluat toteuttaa jotain käyttämättä mitään ohjelmoitavia osia muokatun taajuusoskillaattorin lisäksi, piirin tulisi olla mahdollista rakentaa, joka ottaa 3-numeroisen BCD-taajuuden. ja antaa niin monta lyöntiä minuutissa signaalin oskillaattorin ja viiden valmiin sirun avulla. Syötä 1 092 267 Hz: n oskillaattori CD4060: een pienentääkseen sitä kertoimella 16 (Digi-Keyssä DIP-pakatuilla oskillaattoreilla on vähintään 1 MHz: n nopeus). Syötä tämä 68 266,7 Hz: n signaali kolmen ”ADD” -tilaa varten asetetun CD4527-sirun kaskadoituun sekvenssiin (1-999) / 4096 bpm: n tuotoksi ja syötä sen ulostulo CD4040: een saadaksesi halutun lähtönopeuden samoin kuin sen kahden kerrannaisen ja alikertoimen erilaiset voimat. Ensimmäisen CD4060: n korkeammilla napautuksilla voidaan tuottaa erilaisia 66,7 Hz: n kahden kerrannaisia [ehkä käyttää ”äänimerkkinä”].

Jos sinulla on kolme BCD-käsipyörää, tarvitset vain kuusi elektronista pääosaa, kaikki DIP; määrä-yksi hinnat Digikeyssä olisivat:

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

Asennuksen tulisi olla melko suoraviivaista 0,1 tuuman levylle, koska ainoat liitännät paitsi virta ja maa olisivat oskillaattori lähtö syöttää ensimmäisen CD4060: n, tämän syötteen tulos kaikki kolme CD4527, kukin kahdesta ensimmäisestä CD4527 syöttää kaksi signaalia seuraavalle ja viimeinen CD4527 syöttää yhden signaalin viimeiselle CD4060: lle.

Kommentit

  • Ah kyllä! Nyt ’ puhut uudelleen kieltäni 🙂 Tämä on täydellinen lähtökohta, jota tarvitsin! Yksinkertainen, kaikenkattava laitteisto eikä mitään sotkua minkään ohjelmoinnin kanssa. Kiitos!
  • Jos haluat välttää edes ohjelmoitavaa oskillaattorisirua ja tehdä kaiken ’ classic ’ CMOS-osia voit käyttää 3,2768 MHz: n kristallia ja jakaa 3: lla, esimerkiksi 4018 ja 4011, tuottaa 1,092267 MHz kellon. Sitten sinun pitäisi yrittää tehdä samaa työtä mikrokontrolleri ja päättää, mikä oli helpompaa.
  • @nekomatic: Pidän ajatuksesta käyttää 3,2768 MHz: n kideä jakamalla kaksitoista (mielestäni se riittää saamaan lyöntien määrän minuutissa alueelle 4060; Minusta on outoa, että käytettävissä on 14-bittisiä ja 24-bittisiä laskureita, mutta ylemmillä biteillä ei ole mitään mitä voisin nähdä esim.terät 18-20 saatavana). Joten sama määrä pelimerkkejä, mutta ei mukautettua oskillaattoria. En ole varma, miten 4011 sopisi, koska näen vain seitsemän segmentin malleja. BTW, toinen lähestymistapa, joka saattaa olla opettavaista, jos jollakin olisi EPROM-ohjelmoija käytettävissä, mutta ei yhtä mikro-ohjaimelle …
  • … olisi siirtorekisteripohjaisen tilakoneen rakentaminen. En ’ ole varma, kuinka suuren sen pitäisi olla ilmoitettuun tarkoitukseen, mutta sellaiset asiat voivat olla melko voimakkaita. Lopuksi, toinen mielenkiintoinen havainto on, että 1970-luvun COSMAC-mikroprosessorilla oli tarpeeksi käynnistysvanteiden logiikkaa, jota voitiin käyttää ROM-ilman kokoonpanoa, jos jokin ohjelmasta tuli IIRC: n kymmenellä kytkimellä, kahdeksalla LEDillä ja painikkeella. Se saattaa päästä tarpeeksi pitkälle, jotta meillä olisi jotain, joka voisi ohjelmoida modernin rinnakkaisen EEPROM-sirun.
  • @supercat 4018-tietolomake ti.com/lit/ds/ symlink / cd4018b.pdf sanoo, että 4011: n lisääminen tarvitaan jakamaan parittomalla numerolla, ja minä vain lainasin sitä sanatarkasti – tarkemmin tarkasteltuna mitä tarvitset, on AND-toiminto, jonka voit toteuttaa useilla muilla mahdollisilla osilla tai (todennäköisesti) kaksi diodia ja vastus Vdd: lle.

Vastaa

Tämä voidaan helposti tehdä mikro-ohjain. 240 BPM on 4Hz. Käyttämällä mikrokontrolleria ajastinoheislaitteiden kanssa, olisi helppo saada tarkkuus +/- 0,01%.

Ehdota mikro-ohjainta, kuten PIC, AVR tai MSP430, jossa on pieni näyttö, painikkeet. LCD-näyttöä voitaisiin käyttää virran säästämiseen, ja aluksella on LCD-ohjaimilla varustettuja mikroja. Kustannukset ja piirien monimutkaisuus olisi hyvin alhainen.

Voit tehdä tämän prototyypillä Arduinon kaltaisella tavalla.

Vaikka voisit käyttää 555-laitetta ja liittää siihen taajuuslaskurin (ja säätää nuppia sen poistuessa taajuudelta), taajuuslaskuri olisi parasta toteuttaa mikro- ja näin on ensinnäkin helpompaa yksinkertaisesti syntetisoida haluamasi taajuus.

Löydät esimerkiksi avoimen lähdekoodin LCD-moduulin näyttötaajuuslaskurimallit, jotka perustuvat esimerkiksi PIC16F628: een, mutta ne ovat todennäköisesti ei voida käyttää suoraan tällaisille matalille taajuuksille. Yhden BPM-tarkkuuden saaminen yksinkertaisella taajuuslaskurilla vaatii 1 minuutin porttiajan, joten jaksolaskenta ja matematiikka olisi parempi lähestymistapa – itse asiassa vaikeampi kuin asetetun taajuuden luominen.

Vastaa

Kuten muut ovat sanoneet, PIC tai Arduino on oikea tapa edetä, mutta jos olet päättänyt välttää ohjelmointi …

Voisit harkita CMOS-sirujen käyttöä korkean taajuuden oskillaattorilla, jolla on kristalli vakauden takaamiseksi. Sitten laskisit pulsseja laskurilaskurin avulla ja annaisit nykyiselle lähtöliittimille ne. syötetään johonkin logiikkaan, jotta saadaan lähtöpulssi tietyllä määrällä ja nollataan laskuri.

Tämän lisäksi tarvitset joitain muita laskureita, jotta palautuspiste asetettaisiin vertailuun. Valitettavasti tässä asiat sotkevat Jos laskit mielelläsi 100, 200, 300, 400 jne., Pulsseja, se voi olla toteutettavissa, mutta ongelmana on, että haluat määrittää lyöntiä minuutissa, jotta sinun on laskettava 1 / BPM, jotta saat laskennan tasaisille BPM-vaiheet.

Ajattele uudelleen ohjelmointia. Microilla on mennyt hyvin viimeisen ajan. Luulen, että he tulevat kiinni!

Kommentit

  • Jos voidaan käyttää mukautetun oskillaattorin taajuus, en usko ’ luulevan, että asiat toimivat liian vaikeaksi muuntaa desimaalinen BPM-arvo taajuudeksi käyttämällä valmiita CMOS-ohjelmia. Jopa 1,00 MHz: n tylsän taajuuden käyttäminen ei olisi liian huono, vaikka olisi välttämätöntä, että sinulla on jakoketju, joka voisi jakaa 60 000: lla (ts. 240 x 250). Oikeastaan ajatellut sitä, mikä voi olla mahdollista kahdessa pelimerkissä, jolloin samat osat lasketaan kuin toinen muotoiluni, vaikka mielestäni kahden aliryhmän voiman saaminen voisi olla hyödyllistä ja kahden sirun jakaminen -60000 ei ’ ei toteudu.
  • Ehkä, mutta ongelmana on, että joka kerta kun painat + tai – -painiketta, sinun on laskettava uusi jakaja ja se ’ on vastavuoroinen (1 / BPM) toiminto. esim. 1 MHz: n pääkellollesi lukumäärä olisi – 60 BPM – > 1 000 000 pulssia; 61 BPM – > 983 606,6 pulssia; 62 BPM – > 968 741,9 pulssia. Yhden BPM-lisäyksen saaminen on hyvin monimutkaista, kun taas ’ on yksinkertainen laskenta mikrossa.
  • Kolmen desimaalinopeuden kertoja-sirujen käyttäminen tekee mahdolliseksi. ottaa 12-numeroinen BCD-arvo ja tuottaa ulostulo halutun nopeuden kerrannaisena, joka voidaan sitten pienentää käyttämällä kiinteää jakajaa. Ei tarvitse luoda minkäänlaista vastavuoroista.Ylös-alas-painikkeiden ja laskurien käyttäminen nopeuden asettamiseen pikahammaspyörän sijasta vaatisi enemmän piirejä, mutta en tiedä ’, kuinka vaativa tämä joustavuus on.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *