Forsøger at finde ud af, hvordan man designer dette med anstændig præcision, men har problemer med at få dette i gang. Jeg har arbejdet med 555 “s før, men ikke for præcis optælling, der kan ændres i trin.
Jeg prøver at komme op med et 5 volt system, der nøjagtigt pulserer en output på + 5v, der er målt og vises i pulser pr. minut eller slag pr. minut mellem 60 og 240. BPM skal justeres med 2 øjeblikkelige knapper, der vil træde timeren +1 og -1. Det ville også være godt, hvis der også kunne være et sekund sæt knapper til trin +10 og -10.
Bruger jeg en 555 timer den forkerte måde ved dette? Er der noget mere præcist, jeg kan bruge til at henvise til porten? Er der allerede en IC derude, der kan gøre dette alene og lave en sammenligning for at beregne matematikken?
Undskyld for ikke at sende det, jeg har hidtil. Jeg er på version 80-noget på mit brødbræt, og intet har fungeret nøjagtigt så langt. Jeg vil også holde mig væk fra at skulle programmere rom og holde fast ved diskrete ICer. Igen vil jeg IKKE programmere chips.
Jeg tror, hvad jeg efter kan være en funktionsgenerator med en frekvens tæller, men jeg ved ikke, om det er den bedste vej at gå.
Kommentarer
- 555s og nøjagtighed blandes ikke. Dette passer meget bedre til en mikrokontroller (Arduino osv.) Med en krystaloscillator.
- @BrianDrummond Jeg ‘ Jeg prøver at holde mig væk fra Adruino og holde tingene simpelt og billigt dog …
- Jeg synes, du har en frygtelig misforståelse om et MCU-baseret design. Der er mange valg af MCU-komponenter, der giver den enkelhed, lave omkostninger og præcision, du søger efter. Et diskret IC-design vil være langt mere kompliceret i sammenligning, især når du bringer knapperne og displayet ind i blandingen. MCU kan gøre det hele med lethed. En sidste tanke er, at når du først opnår det MCU-baserede design, vil du aldrig se tilbage på at prøve at gøre 1970 ‘ s eller 1980 ‘ s stildesign til denne type projekter.
- @MichaelKaras Det er også noget nyt, som jeg ‘ ikke er sikker på, at jeg vil komme ind på. For mig får transistorer og vakuumrør ting til at blive lol IC ‘ er også fint, men stadig nyt for mig. Men MCU ‘ s, jeg ved ikke ‘ ikke engang hvor jeg skal starte der, og jeg ved ikke ‘ t ønsker at komme ind i programmeringschips …
- Hvor meget af denne funktionalitet har du på dit breadboard til version 80?
Svar
Hvis du vil implementere noget uden at bruge nogen programmerbare dele ud over en brugerfrekvent oscillator, skal det være muligt at bygge et kredsløb, der tager en 3-cifret BCD-frekvens og udsender et signal med så mange slag i minuttet ved hjælp af en oscillator plus fem hyldechips. Før en 1.092.267Hz oscillator ind i en CD4060 for at skalere den ned med en faktor på 16 (DIP-pakkede oscillatorer ved Digi-Key har en minimumshastighed på 1 MHz). Indfør det 68.266,7Hz signal i en kaskadefølget sekvens af tre CD4527-chips, der er indstillet til “TILFØJ” -tilstand for at give et output på (1-999) / 4.096 bpm, og før outputet af det til en CD4040 for at få den ønskede outputrate såvel som forskellige power-of-to multipler og submultipler af det. Højere tryk på den første CD4060 kan bruges til at give forskellige power-of-to multipler på 66,7Hz [måske anvendelig som “bip” -toner].
Hvis du har tre BCD thumbwheels, kan du kun have brug for seks vigtigste elektroniske dele, alle DIP; mængde-en priser på Digikey ville være:
3x CD4527BE -- $0.80ea ($2.40 total) 2x CD4060BE -- $0.56ea ($1.12 total) oscillator -- $3.02ea ($3.02 total) $6.54 total
Samlingen skal være ret ligetil på 0,1 “perfboard, da de eneste andre forbindelser end strøm og jord ville være oscillatoren output, der fodrer den første CD4060, output fra den, der fodrer alle tre CD4527, hver af de første to CD4527, der fører to signaler til den næste, og den sidste CD4527, der føder et signal til den sidste CD4060.
Kommentarer
- Ah ja! Nu taler du ‘ mit sprog 🙂 Dette er det perfekte startpunkt, jeg havde brug for! Enkel, alt-hardware og ingen rod med nogen programmering. Tak!
- Hvis du vil undgå endda en programmerbar oscillatorchip og gøre alt med ‘ classic ‘ CMOS-dele kan du bruge en 3,2768 MHz krystal og dele med 3, f.eks. ved hjælp af en 4018 og en 4011, til at producere 1.092267 MHz-uret. Så skal du prøve at udføre det samme job med en mikrokontroller og beslutte, hvad der var lettere.
- @nekomatic: Jeg kan godt lide ideen om at bruge 3.2768Mhz-krystallen med en divide-to-tolv (jeg tror, det ville være tilstrækkeligt til at få antallet af slag pr. minut inden for rækkevidde for 4060; Jeg finder det underligt, at der er 14-bit og 24-bit tællere med de øverste bit tilgængelige, men intet jeg kunne se med f.eks.bit 18-20 til rådighed). Så det samme antal chips, men ingen brugerdefineret oscillator. Ikke sikker på, hvordan en 4011 ville passe ind, da jeg kun ser syv-segment mønstre tilgængelige fra det. BTW, en anden tilgang, der kan være uddannelsesmæssig, hvis man havde en EPROM-programmør tilgængelig, men ikke en til en mikrocontroller …
- … ville være at opbygge en skiftregisterbaseret statsmaskine. Jeg ‘ er ikke sikker på, hvor stor den skal være til det angivne formål, men sådanne ting kan være ret kraftige. Endelig er en anden interessant observation, at COSMAC-mikroprocessoren fra 1970erne havde nok boot-strapping-logik, som det var muligt at bruge i en ROM-fri konfiguration, hvis man kom ind i et program ved hjælp af IIRC ti kontakter, otte lysdioder og en knap. Det kan få en langt nok til at have noget, der kunne programmere en moderne parallel EEPROM-chip.
- @supercat 4018-databladet ti.com/lit/ds/ symlink / cd4018b.pdf siger, at der kræves en yderligere 4011 for at dividere med et ulige tal, og jeg citerede det ordret – hvis man ser nærmere på, hvad man faktisk har brug for er en AND-funktion, som man kunne implementere med flere andre mulige dele , eller (sandsynligvis) to dioder og en modstand til Vdd.
Svar
Dette kunne let gøres med en mikrokontroller. 240 BPM er 4Hz. Ved at bruge en mikrocontroller med timerudstyr ville det være let at få nøjagtighed i området +/- 0,01%.
Foreslå en mikrocontroller som PIC eller AVR eller MSP430 med et lille display, knapper. En LCD-skærm kan bruges til at spare strøm, og der er mikrofoner med LCD-controllere om bord. Omkostninger og kredsløbskompleksitet ville være meget lav.
Du kan prototype dette med noget som en Arduino.
Mens du kunne bruge en 555 og tilslutte en frekvens tæller til den (og justere drejeknappen, når den svæver fra frekvensen), ville frekvens tælleren bedst implementeres med en mikro og således er det nemmere at starte med at syntetisere den ønskede frekvens korrekt i første omgang.
Du kan f.eks. finde open source LCD-modul displayfrekvenstællerdesign baseret på PIC16F628, men de er sandsynligvis ikke direkte anvendelig til så lave frekvenser. For at få 1 BPM-opløsning med en simpel frekvenstæller kræves en 1 times portetid, så periodetælling og matematik ville være en bedre tilgang – faktisk vanskeligere end at generere en indstillet frekvens.
Svar
Som de andre har sagt, er en PIC eller Arduino vejen at gå, men hvis du er fast besluttet på at undgå programmering …
Du kan overveje at bruge CMOS-chips med en højfrekvent oscillator med en krystal for stabilitet. Du vil derefter bruge en modchip til at tælle impulser og give den nuværende tælling på dens outputstifter. Disse ville blive fodret med en eller anden logik for at give en outputpuls ved et bestemt antal og nulstille tælleren.
Ved siden af dette har du brug for nogle andre tællere for at indstille nulstillingspunktet til sammenligning. Desværre er det her, hvor tingene bliver rodet Hvis du var glad for at tælle 100, 200, 300, 400 osv., Impulser, kan det muligvis være muligt, men problemet er, at du vil angive slag pr. Minut, så du bliver nødt til at beregne 1 / BPM for at give dig tæller for jævn BPM trin.
Tænk igen om programmeringen. Mikroer har klaret sig det sidste stykke tid. Jeg tror, de kommer til at fange det!
Kommentarer
- Hvis man kan bruge en brugerdefineret oscillatorfrekvens, jeg synes ikke ‘ at tingene fungerer for vanskeligt til at konvertere en decimal BPM-værdi til frekvens ved hjælp af CMOS fra hylden. Selv ved brug af en kedelig frekvens på 1,00 MHz ville ‘ ikke være for dårlig, selvom det ville være nødvendigt at have en skillekæde, der kunne dele med 60.000 (dvs. 240×250). Kom faktisk til at tænke på det, der kan gøres i to chips, hvilket giver de samme dele tæller som mit andet design, selvom jeg tror, at det at have power-of-to sub-multipler kan være nyttigt, og de to-chips dividerer med -60000 ville ikke ‘ t opnå tat.
- Måske, men problemet er, at hver gang du trykker på + eller – knappen, skal du beregne en ny skillevæg og det ‘ er en gensidig (1 / BPM) funktion. f.eks. for dit 1 MHz master ur ville antallet af tællinger være – 60 BPM – > 1.000.000 pulser; 61 BPM – > 983,606,6 impulser; 62 BPM – > 968,741,9 impulser. At få endnu en-BPM-intervaller vil være meget kompleks, hvorimod det ‘ er en simpel beregning i en mikro.
- Brug af en multiplikatorchips med tre decimaler gør det muligt at tage en 12-cifret BCD-værdi og give et output ved et multiplum af den ønskede hastighed, som derefter kan skaleres ned ved hjælp af en fast skillevæg. Ingen grund til at generere nogen form for gensidig.Brug af op-ned-knapper og tællere til at indstille hastigheden i stedet for tommelfingre ville kræve flere kredsløb, men jeg ved ikke ‘ hvor fleksibelt dette krav er.