정확하게 설계하는 방법을 알아 내려고하지만 시작하는 데 어려움이 있습니다. 나는 이전에 555 “로 작업했지만 단계적으로 수정할 수있는 정확한 카운팅을 위해 작업하지 않았습니다.
나는 + 5v의 출력을 정확하게 펄스하는 5V 시스템을 만들려고합니다. 60과 240 사이의 분당 펄스 또는 분당 비트로 측정 및 표시됩니다. BPM은 타이머 +1과 -1을 단계적으로 조절하는 2 개의 순간 버튼으로 조정 가능해야합니다. 또한 초가있을 수 있다면 좋을 것입니다. +10 및 -10 단계의 버튼 세트입니다.
555 타이머를 사용하는 것이 잘못된 방법인가요? 게이팅을 참조하는 데 사용할 수있는 더 정확한 방법이 있나요? 이미 IC가 있습니까? 이 작업을 자체적으로 수행 할 수 있고 수학 계산을 비교해 볼 수 있습니까?
지금까지 가지고있는 내용을 게시하지 않은 것에 대해 사과드립니다. 나는 브레드 보드에 버전 80을 사용하고 있으며 정확하게 작동하는 것이 없습니다. 멀리. 나는 또한 ROM을 프로그래밍하지 않고 개별 IC “를 고수하고 싶다. 다시 말하지만, 나는 칩을 프로그래밍하고 싶지 않다.
내가 추구하는 것은 함수 발생기 일 수있다. 주파수 카운터이지만 이것이 최선의 방법인지 모르겠습니다.
댓글
- 555와 정확도는 섞이지 않습니다. 이것은 수정 발진기가있는 마이크로 컨트롤러 (Arduino 등)에 훨씬 더 적합합니다.
- @BrianDrummond I ' Adruino를 멀리하고 물건을 보관하려고합니다. 간단하고 저렴하지만 …
- 당신은 MCU 기반 설계에 대해 끔찍한 오해를 가지고 있다고 생각합니다. 검색하려는 단순성, 저렴한 비용 및 정밀도를 제공하는 MCU 구성 요소는 다양합니다. 디스크리트 IC 디자인은 특히 버튼과 디스플레이를 믹스에 넣을 때보 다 훨씬 더 복잡합니다. MCU는 모든 것을 쉽게 할 수 있습니다. 마지막으로 MCU 기반 설계를 달성하면 1970 ' s 또는 1980 ' s를 시도하는 것을 결코 되돌아 보지 않을 것입니다. 이러한 유형의 프로젝트를위한 스타일 디자인입니다.
- @MichaelKaras 그것도 새로운 것입니다. ' 참가하고 싶은지 잘 모르겠습니다. 저에게는 트랜지스터와 진공관이 일을 처리합니다. lol IC '도 괜찮지 만 아직 저에게는 새로운 것입니다. 하지만 MCU '는 ' 어디에서 시작해야할지조차 모릅니다. ' 프로그래밍 칩에 들어가고 싶지 않습니다 …
- 버전 80의 브레드 보드에이 기능 중 어느 정도가 있습니까?
답변
맞춤형 주파수 발진기 이상의 프로그래밍 가능한 부품을 사용하지 않고 무언가를 구현하려면 3 자리 BCD 주파수를 사용하는 회로를 구축 할 수 있어야합니다. 오실레이터와 5 개의 기성품 칩을 사용하여 분당 많은 비트로 신호를 출력합니다. 1,092,267Hz 발진기를 CD4060에 공급하여 16 배 축소합니다 (Digi-Key의 DIP 패키지 발진기는 최소 속도가 1Mhz입니다). 68,266.7Hz 신호를 “ADD”모드로 설정된 3 개의 CD4527 칩의 계단식 시퀀스에 공급하여 (1-999) / 4,096bpm의 출력을 생성하고 그 출력을 CD4040에 공급하여 원하는 출력 속도를 얻습니다. 다양한 2의 거듭 제곱 배수와 그에 대한 submultiples. 첫 번째 CD4060의 더 높은 탭은 66.7Hz의 다양한 2 제곱 배수를 제공하는 데 사용될 수 있습니다 [아마도 “삐”소리로 사용 가능].
3 개의 BCD 썸휠이있는 경우에만 필요할 수 있습니다. 6 개의 주요 전자 부품, 모두 DIP; Digikey의 수량 1 개 가격은 다음과 같습니다.
3x CD4527BE -- $0.80ea ($2.40 total) 2x CD4060BE -- $0.56ea ($1.12 total) oscillator -- $3.02ea ($3.02 total) $6.54 total
전원 및 접지 이외의 유일한 상호 연결은 발진기이기 때문에 어셈블리는 0.1 “perfboard에서 상당히 간단해야합니다. 첫 번째 CD4060을 공급하는 출력, 세 개의 CD4527을 모두 공급하는 출력, 처음 두 개의 CD4527은 다음 두 신호를 공급하고 마지막 CD4527은 하나의 신호를 마지막 CD4060에 공급합니다.
Comments
Comments
- 예! 이제 ' 제 언어로 말하고 있습니다. 🙂 이것이 제가 필요한 완벽한 시작점입니다! 단순하고 모든 하드웨어 프로그래밍에 지장을주지 않습니다. 감사합니다!
- 프로그래밍 가능한 오실레이터 칩조차 피하고 ' 클래식 CMOS 부품은 3.2768MHz 크리스털을 사용하고 예를 들어 4018 및 4011을 사용하여 3으로 나누어 1.092267MHz 클록을 생성 할 수 있습니다. 그런 다음 동일한 작업을 수행해야합니다. 마이크로 컨트롤러 및 어느 것이 더 쉬운 지 결정하십시오.
- @nekomatic : 저는 3.2768Mhz 크리스털을 12로 나누는 아이디어를 좋아합니다 (분당 비트 수를 범위에 맞추는 데 충분하다고 생각합니다. 4060; 상위 비트를 사용할 수있는 14 비트 및 24 비트 카운터가 있다는 것이 이상하지만 예를 들어 볼 수있는 것은 없습니다.비트 18-20 사용 가능). 동일한 수의 칩이지만 맞춤형 오실레이터는 없습니다. 4011이 어떻게 맞을지 확실하지 않습니다. 7 세그먼트 패턴 만 사용할 수 있기 때문입니다. BTW, EPROM 프로그래머를 사용할 수 있지만 마이크로 컨트롤러 용 프로그래머가 아닌 경우 교육적 일 수있는 또 다른 접근 방식은 시프트 레지스터 기반 상태 머신을 구축하는 것입니다 …
- … 나는 ' 표시된 목적을 위해 얼마나 커야할지 잘 모르겠지만 그러한 것들은 매우 강력 할 수 있습니다. 마지막으로, 또 다른 흥미로운 관찰은 1970 년대의 COSMAC 마이크로 프로세서가 IIRC 10 개 스위치, 8 개 LED 및 버튼 1 개를 사용하여 프로그램에 들어가면 ROM없는 구성에서 사용할 수있는 충분한 부트 스트랩 로직을 가졌다는 것입니다. 그것은 현대적인 병렬 EEPROM 칩을 프로그래밍 할 수있는 무언가를 갖기에 충분할 것입니다.
- @supercat 4018 데이터 시트 ti.com/lit/ds/ symlink / cd4018b.pdf 는 홀수로 나누려면 추가 4011이 필요하다고 말하고 그대로 인용했습니다. 좀 더 자세히 살펴보면 실제로 필요한 것은 몇 가지 다른 가능한 부분으로 구현할 수있는 AND 함수입니다. , 또는 (아마도) 두 개의 다이오드와 Vdd에 대한 저항.
Answer
이 작업은 다음과 같이 쉽게 수행 할 수 있습니다. 마이크로 컨트롤러. 240BPM은 4Hz입니다. 타이머 주변 장치가있는 마이크로 컨트롤러를 사용하면 +/- 0.01 % 범위의 정확도를 쉽게 얻을 수 있습니다.
작은 디스플레이, 버튼이있는 PIC 또는 AVR 또는 MSP430과 같은 마이크로 컨트롤러를 제안하십시오. LCD 디스플레이를 사용하여 전력을 절약 할 수 있으며 보드에 LCD 컨트롤러가있는 마이크로가 있습니다. 비용과 회로 복잡성은 매우 낮습니다.
Arduino와 같은 것으로 프로토 타입을 만들 수 있습니다.
555를 사용하고 주파수 카운터를 부착 할 수 수 있지만 주파수 카운터는 주파수에서 벗어나면서 노브를 조정하지만 주파수 카운터는 마이크로 및 따라서 원하는 주파수를 처음부터 정확하게 합성하는 것이 더 쉽습니다.
예를 들어 PIC16F628을 기반으로 한 오픈 소스 LCD 모듈 디스플레이 주파수 카운터 설계를 찾을 수 있지만 아마도 이러한 저주파에는 직접 사용할 수 없습니다. 간단한 주파수 카운터로 1 BPM 분해능을 얻으려면 1 분의 게이트 시간이 필요하므로주기 계산과 수학이 더 나은 접근 방식이 될 것입니다. 실제로는 설정된 주파수를 생성하는 것보다 더 어렵습니다.
답변
다른 사람들이 말했듯이 PIC 또는 Arduino는 갈 길이지만 “피하기로 결정한 경우 프로그래밍 …
안정성을 위해 크리스털이있는 고주파 발진기와 CMOS 칩을 사용하는 것을 고려할 수 있습니다. 그런 다음 카운터 칩을 사용하여 펄스를 계산하고 출력 핀에 현재 카운트를 제공합니다. 특정 카운트에서 출력 펄스를 제공하고 카운터를 재설정하기위한 로직이 제공됩니다.
이와 함께 비교를 위해 재설정 지점을 설정하려면 다른 카운터가 필요합니다. . 만약 당신이 100, 200, 300, 400 등의 맥박을 세는 것에 만족한다면 그것은 할 수 있을지도 모르지만 문제는 당신이 분당 비트를 지정하기를 원한다는 것입니다. 그래서 당신은 “짝수를 계산하기 위해 1 / BPM을 계산해야합니다.” BPM 단계.
프로그래밍에 대해 다시 생각해보십시오. Micro “s는 지난 한동안 잘 해왔습니다. 나는 그들이”잡을 것이라고 생각합니다!
Comments
- 맞춤형 발진기 주파수를 사용하기 때문에 ' 기성품 CMOS를 사용하여 십진수 BPM 값을 주파수로 변환하는 것이 너무 어렵다고 생각하지 않습니다. 1.00MHz의 지루한 주파수를 사용하더라도 ' 너무 나쁘지는 않지만 60,000으로 나눌 수있는 분배기 체인 (예 : 240×250)이 필요합니다. 사실, 두 개의 칩에서 가능할 수 있습니다. 다른 설계와 동일한 부품 수를 산출 할 수 있습니다.하지만 2의 거듭 제곱 서브 멀티플을 갖는 것이 도움이 될 수 있고 2 칩 분할이 도움이 될 수 있다고 생각합니다. -60000은 ' tat를 달성하지 못합니다.
- 아마도 문제는 + 또는-버튼을 누를 때마다 새로운 구분선을 계산해야한다는 것입니다. ' 상호 (1 / BPM) 함수입니다. 예를 들어 1MHz 마스터 클럭의 경우 카운트 수는-60BPM-> 1,000,000 펄스입니다. 61 BPM-> 983,606.6 펄스; 62 BPM-> 968,741.9 펄스. 1BPM 증분을 얻는 것은 매우 복잡하지만 ' 마이크로 계산은 간단합니다.
- 소수점 3 배율 승수 칩을 사용하면 가능합니다. 12 자리 BCD 값을 가져와 원하는 속도의 배수로 출력을 산출 한 다음 고정 분할기를 사용하여 축소 할 수 있습니다. 어떤 종류의 상호를 생성 할 필요가 없습니다.썸휠보다 속도를 설정하기 위해 업다운 버튼과 카운터를 사용하면 더 많은 회로가 필요하지만 그 요구 사항이 얼마나 유연한 지 ' 알 수 없습니다.