Försöker ta reda på hur man utformar detta med anständig precision men har problem med att få igång det. Jag har arbetat med 555 ”s tidigare men inte för exakt räkning som kan modifieras stegvis.
Jag försöker komma på ett 5 volts system som exakt pulserar en utgång på + 5v som är mätt och visas i pulser per minut, eller slag per minut, mellan 60 och 240. BPM bör justeras med två momentana knappar som kommer att ställa timern +1 och -1. Det skulle också vara bra om det också kunde vara en sekund uppsättning knappar för +10 och -10 steg.
Använder en 555-timer fel sätt om detta? Finns det något mer exakt jag kan använda för att referera till grindningen? Finns det redan en IC där ute som kan göra det på egen hand och göra en jämförelse för att beräkna matematiken?
Ber om ursäkt för att jag inte har lagt upp det jag har hittills. Jag är på version 80-något på mitt brädbräda och ingenting har fungerat exakt så långt. Jag vill också hålla mig borta från att behöva programmera rom och hålla fast vid diskreta IC: er. Återigen vill jag INTE programmera marker.
Jag tror att det jag efter kan vara en funktionsgenerator med en frekvensräknare, men jag vet inte om det är det bästa sättet att gå.
Kommentarer
- 555s och noggrannhet blandas inte. Detta passar mycket bättre för en mikrokontroller (Arduino etc) med en kristalloscillator.
- @BrianDrummond Jag ’ Jag försöker hålla mig borta från Adruino och hålla saker enkelt och billigt men …
- Jag tycker att du har en fruktansvärd missuppfattning om en MCU-baserad design. Det finns många val av MCU-komponenter som ger den enkelhet, låga kostnad och precision som du letar efter. En diskret IC-design kommer att bli mycket mer komplicerad i jämförelse, särskilt när du tar med knapparna och skärmen i mixen. MCU kan göra allt med lätthet. En sista tanke är att när du väl uppnått den MCU-baserade designen kommer du aldrig att se tillbaka på att försöka göra 1970 ’ s eller 1980 ’ s stildesign för denna typ av projekt.
- @MichaelKaras Det är också något nytt som jag ’ inte är säker på att jag vill gå in på. För mig får transistorer och vakuumrör saker att göra lol IC ’ är också bra, men fortfarande nytt för mig. Men MCU ’ s, jag vet inte ’ jag vet inte ens var jag ska börja där, och jag vet inte ’ t vill komma in i programmeringschips …
- Hur mycket av denna funktionalitet har du på din breadboard för version 80?
Svar
Om du vill implementera något utan att använda några programmerbara delar utöver en anpassad frekvensoscillator, bör det vara möjligt att bygga en krets som tar en 3-siffrig BCD-frekvens och matar ut en signal med så många slag per minut med en oscillator plus fem hylsor. Mata in en 1 092 267 Hz-oscillator i en CD4060 för att skala ner den med en faktor på 16 (DIP-förpackade oscillatorer vid Digi-Key har en minsta hastighet på 1 MHz). Mata den 68 266,7 Hz-signalen i en kaskad sekvens av tre CD4527-chips som är inställda för ”ADD” -läget för att ge en utgång på (1-999) / 4 096 bpm, och mata utgången från den till en CD4040 för att få önskad utmatningshastighet liksom olika kraft-av-två multiplar och submultiplar av det. Högre kranar på den första CD4060 kan användas för att ge olika kraft-av-två-multiplar på 66,7Hz [kanske användbara som ”pip” -toner].
Om du har tre BCD-tumhjul kan du bara behöva sex huvudsakliga elektroniska delar, alla DIP; kvantitetspriser på Digikey skulle vara:
3x CD4527BE -- $0.80ea ($2.40 total) 2x CD4060BE -- $0.56ea ($1.12 total) oscillator -- $3.02ea ($3.02 total) $6.54 total
Monteringen bör vara ganska enkel på 0,1 ”perfboard eftersom de enda sammankopplingarna förutom kraft och mark skulle vara oscillatorn mata ut den första CD4060, utmatningen från den mata alla tre CD4527, var och en av de två första CD4527 mata två signaler till nästa och den sista CD4527 mata en signal till den sista CD4060.
Kommentarer
- Ah ja! Nu ’ talar du mitt språk 🙂 Detta är den perfekta startpunkten jag behövde! Enkel hårdvara och inte störa någon programmering. Tack!
- Om du vill undvika till och med ett programmerbart oscillatorchip och göra allt med ’ classic ’ CMOS-delar kan du använda en 3,2768 MHz-kristall och dela med 3, med t.ex. en 4018 och en 4011, för att producera klockan 1.092267 MHz. Då bör du försöka göra samma jobb med en mikrokontroller och bestämma vilken som var enklare.
- @nekomatic: Jag gillar tanken på att använda 3,2768Mhz-kristallen med en dividera-till-tolv (jag tror att det räcker för att få antalet slag per minut inom räckvidd för 4060; Jag tycker det är konstigt att det finns 14-bitars och 24-bitars räknare med de övre bitarna tillgängliga, men inget jag kunde se med t.ex.bitar 18-20 tillgängliga). Så samma antal marker, men ingen anpassad oscillator. Inte säker på hur en 4011 skulle passa in, eftersom jag bara ser sju-segmentmönster tillgängliga från det. BTW, ett annat tillvägagångssätt som kan vara pedagogiskt om man hade en EPROM-programmerare tillgänglig men inte en för en mikrokontroller …
- … skulle vara att bygga en skiftregisterbaserad tillståndsmaskin. Jag ’ är inte säker på hur stor den skulle behöva vara för det angivna ändamålet, men sådana saker kan vara ganska kraftfulla. Slutligen är en annan intressant iakttagelse att COSMAC-mikroprocessorn från 1970-talet hade tillräckligt med loggning för boot-strapping som det var möjligt att använda i en ROM-fri konfiguration om man gick in i ett program med IIRC tio omkopplare, åtta lysdioder och en knapp. Det kan få en tillräckligt lång för att ha något som kan programmera ett modernt parallellt EEPROM-chip.
- @supercat 4018-databladet ti.com/lit/ds/ symlink / cd4018b.pdf säger att ytterligare 4011 krävs för att dividera med ett udda tal, och jag citerade det bara verbatim – när man tittar närmare, vad du faktiskt behöver är en AND-funktion som du kan implementera med flera andra möjliga delar , eller (troligen) två dioder och ett motstånd mot Vdd.
Svar
Detta kan enkelt göras med en mikrokontroller. 240 BPM är 4Hz. Genom att använda en mikrokontroller med kringutrustning för timer skulle det vara lätt att få noggrannhet inom +/- 0,01%.
Föreslå en mikrokontroller som PIC eller AVR eller MSP430 med en liten skärm, knappar. En LCD-skärm kan användas för att spara ström, och det finns mikroer med LCD-kontroller ombord. Kostnad och kretskomplexitet skulle vara mycket låg.
Du kan prototypera detta med något som en Arduino.
Medan du kunde använda en 555 och ansluta en frekvensräknare till den (och justera vredet när den avlägsnar frekvensen), skulle frekvensräknaren bäst implementeras med en mikro- och alltså är det lättare att helt enkelt syntetisera den frekvens du vill ha i första hand.
Du kan hitta öppen källkodsmoduler som visar frekvensräknare baserat på PIC16F628, till exempel, men de är troligtvis inte direkt användbara för sådana låga frekvenser. För att få en BPM-upplösning med en enkel frekvensräknare krävs en minuts grindtid, så periodräkning och matematik skulle vara ett bättre tillvägagångssätt – faktiskt svårare än att generera en inställd frekvens.
Svar
Som de andra har sagt är en PIC eller Arduino vägen att gå men om du är fast besluten att undvika programmering …
Du kan överväga att använda CMOS-chips med en högfrekvent oscillator med en kristall för stabilitet. Du skulle då använda ett motchip för att räkna pulser och ge nuvarande räkningen på dess utgångsstift. Dessa skulle matas till någon logik för att ge en utgångspuls vid ett visst antal och återställa räknaren.
Vid sidan av detta skulle du behöva några andra räknare för att ställa in återställningspunkten för jämförelse. Tyvärr är det här där saker blir rörigt Om du gärna räknar 100, 200, 300, 400, etc., pulser kan det vara genomförbart men problemet är att du vill ange slag per minut så att du måste beräkna 1 / BPM för att ge dig räkningar BPM steg.
Tänk igen om programmeringen. Mikro ”s har gjort det bra för det senaste. Jag tror att de kommer att fånga!
Kommentarer
- Om man kan använda anpassad oscillatorfrekvens, jag tycker inte ’ att saker och ting fungerar för svårt för att konvertera ett decimalt BPM-värde till frekvens med hämtad CMOS. Även med en tråkig frekvens på 1,00 MHz skulle ’ inte vara för dålig, även om det skulle vara nödvändigt att ha en delningskedja som skulle kunna delas med 60 000 (dvs. 240×250). Tänk på det faktiskt, det kan vara genomförbart i två marker, vilket ger samma delar som min andra design, även om jag tror att det kan vara till hjälp att ha två-multipel-kraften och två-chip dividera med -60000 skulle inte ’ t åstadkomma tat.
- Kanske, men problemet är att varje gång du trycker på + eller – måste du beräkna en ny avdelare och det ’ är en ömsesidig funktion (1 / BPM). till exempel för din 1 MHz huvudklocka skulle antalet räkningar vara – 60 BPM – > 1.000.000 pulser; 61 BPM – > 983,606,6 pulser; 62 BPM – > 968,741,9 pulser. Att få till och med en-BPM-steg kommer att vara väldigt komplicerat medan det ’ är en enkel beräkning i ett mikro.
- Med hjälp av multipliceringschips med tre decimaler blir det möjligt för att ta ett 12-siffrigt BCD-värde och ge en utgång med en multipel av önskad hastighet som sedan kan skalas ned med en fast avdelare. Inget behov av att generera någon form av ömsesidigt.Att använda uppåt-ned-knappar och räknare för att ställa in hastigheten snarare än tumhjul skulle kräva mer kretsar, men jag vet inte ’ hur flexibelt detta krav är.