Агуулгын хүснэгт:

Функцийн генератор: 12 алхам (зурагтай)
Функцийн генератор: 12 алхам (зурагтай)

Видео: Функцийн генератор: 12 алхам (зурагтай)

Видео: Функцийн генератор: 12 алхам (зурагтай)
Видео: Автомобильный генератор для генератора с самовозбуждением с использованием ДИОДА 2024, Долдугаар сарын
Anonim
Функцийн генератор
Функцийн генератор
Функцийн генератор
Функцийн генератор

Энэхүү заавар нь MAX038 Maxims -ийн аналог нэгдсэн хэлхээнд суурилсан функц генераторын загварыг тайлбарласан болно

Генераторын функц нь электроникийн хувьд маш хэрэгтэй хэрэгсэл юм. Энэ нь резонансын хэлхээг тааруулах, аудио, видео төхөөрөмжийг турших, аналог шүүлтүүр зохион бүтээх, бусад олон зорилгоор ашиглахад шаардлагатай болно.

Өнөөдөр функц үүсгэгч хоёр үндсэн төрөл байдаг; дижитал, (DSP дээр суурилсан, DDS…) нь улам бүр түгээмэл хэрэглэгддэг ба гарал үүсэл нь аналог юм.

Хоёр төрөл хоёулаа давуу болон сул талуудтай. Дижитал генераторууд нь маш тогтвортой давтамжтай дохио үүсгэж чаддаг боловч маш цэвэр синус дохиог үүсгэхэд асуудал гардаг (энэ нь аналог нэгэнд асуудал биш юм). Түүнчлэн DDS хандлагад суурилсан ихэвчлэн тархсан функц генераторууд давтамж үүсгэх хүрээ тийм ч том байдаггүй.

Удаан хугацааны турш би хоёр төрлийн (аналог ба дижитал) генераторуудын зарим давуу талыг нэгтгэж болох ашигтай функциональ генераторыг зохион бүтээхийг хүсч байсан. Би Maxim чип MAX038* дээр үндэслэн загвараа гаргахаар шийдсэн.

* Тэмдэглэл - энэ чипийг Максим үйлдвэрлэж, зарахаа больсон. Энэ нь хуучирсан байна. Үүнийг eBay, Aliexpress болон электрон эд ангиудын бусад сайтуудаас олох боломжтой хэвээр байна.

Бусад аналог функц генераторын чипүүд байдаг (Exar -аас XR2206, Intersil -аас icl8038), гэхдээ надад байсан

нэг MAX038 бэлэн байгаа бөгөөд би үүнийг ашигласан. Функцийн генераторын дижитал функцийг нэг Atmega328 чип гүйцэтгэсэн. Үүний чиг үүрэг нь дараах байдалтай байна.

  • давтамжийн хүрээний сонголтыг хянадаг
  • дохионы төрлийг хянадаг (синус, тэгш өнцөгт, гурвалжин, хөрөө)
  • дохионы далайцыг хэмждэг
  • DC -ийн офсетыг хэмждэг
  • дохионы давтамжийг хэмждэг
  • синус дохионы THD -ийг аудио мужид хэмждэг (үүнийг хэрэгжүүлэх шаардлагатай хэвээр байна)
  • Энэ бүх мэдээллийг 16x2 хэмжээтэй LCD дэлгэц дээр харуулдаг.

Алхам 1: MAX038 тодорхойлолт

MAX038 тодорхойлолт
MAX038 тодорхойлолт

Би MAX038 мэдээллийн хуудсыг хавсаргасан болно. Чипийн хамгийн чухал параметрүүдийг эндээс харж болно.

♦ 0.1 Гц -ээс 20 МГц -ийн ажиллагааны давтамжийн хүрээ

♦ Гурвалжин, хөрөө, синус, дөрвөлжин, импульсийн долгионы хэлбэр

♦ Бие даасан давтамж ба үүргийн мөчлөгийн тохируулга

♦ 350 -аас 1 давтамжтай цэвэрлэх хүрээ

♦ 15% -85% Хувьсах үүргийн мөчлөг

♦ Бага эсэргүүцэлтэй гаралтын буфер: 0.1Ω

♦ Бага 200ppm/° C температурын шилжилт

Өөр нэг чухал шаардлага бол давхар нийлүүлэлтийн хэрэгцээ (± 5V) юм. Гаралтын далайц тогтмол байна (0 V DC офсет бүхий ~ 2 VP-P).

Мэдээллийн хүснэгтийн 8-р хуудсан дээр чипний блок диаграмыг харж болно. 11 -р хуудсан дээр синус долгионы дохио үүсгэхэд ашиглаж болох хамгийн энгийн хэлхээг харж болно. Энэ хэлхээг функцийн генераторын дизайны үндэс болгон авсан болно.

Алхам 2: Хэлхээ …

Хэлхээ …
Хэлхээ …

Зураг дээр төхөөрөмж бүрийн утгыг зөв унших боломжтой гэдгийг баталгаажуулахын тулд би энэ зургийг хамгийн өндөр нарийвчлалтай хийсэн генераторын функцийг харуулав. Схем нь нэлээд төвөгтэй харагдаж байгаа тул илүү сайн ойлгохын тулд би түүний үндсэн хэсгүүдийг тусад нь тайлбарлах болно. Олон уншигчид намайг тойрог хэт их болсон гэж буруутгаж магадгүй юм. Энэ үнэн. Эхэндээ энэ нь хоёр MAX038 чип агуулсан болохыг харж болно. Үүний шалтгаан нь ПХБ нь SO болон DIP хоёр төрлийн багцыг дэмждэгт оршино. Илүүдэл байдлыг зарим функцээс харж болно -

1) LED нь одоогийн идэвхтэй давтамжийн хүрээг харуулдаг боловч энэ нь бас LCD дэлгэц дээр харагддаг;

2) LED нь дохионы төрлийг тодорхойлоход хэрэглэгддэг боловч LCD нь энэ мэдээллийг харуулдаг

Энэхүү загварыг хэрэглэгчид илүү уян хатан болгох үүднээс ийм байдлаар хийсэн бөгөөд түүний хүслээр тэрээр LCD ашиглах боломжгүй, эсвэл LED -ийн гагнуурыг орхиж болно. Дизайн хийх явцад функцийг дибаг хийх боломжтой байхын тулд би тэдгээрийг гагнасан.

Би маш олон опамп ашигладаг болохыг бас анзаарч болно. Тэдгээрийн заримыг асуудалгүй орхиж болно, ялангуяа буфер. Одоогийн байдлаар опампууд өөрсдөө их хэмжээний илүүдэл санал болгож байна - нэг багцад та 2, 4 бүр 8 тусдаа өсгөгч олох боломжтой бөгөөд үүнийг харьцангуй хямд үнээр худалдаж авах боломжтой. Тэднийг яагаад ашиглаж болохгүй гэж?

Шүүлтүүрийн конденсаторууд нь бас илүүдэл байдаг - ашигласан аналог чип бүр өөрийн гэсэн конденсатор банктай байдаг (тантал + керамик конденсатор нь нийлүүлэлтэд хоёуланд нь байдаг). Тэдгээрийн заримыг нь орхигдуулж болно.

Алхам 3: Хэлхээний тайлбар - Цахилгаан хангамж (1)

Хэлхээний тайлбар - Цахилгаан хангамж (1)
Хэлхээний тайлбар - Цахилгаан хангамж (1)

Миний хэлснээр энэ генератор нь давхар хангамж шаарддаг. Эерэг хүчдэлийг 7805 шугаман хүчдэлийн зохицуулагч ашиглан бий болгодог. Сөрөг нийлүүлэлтийг 7905 чип үүсгэдэг. 2х6В трансформаторын дунд цорго нь самбарын нийтлэг газартай холбогддог. Үүсгэсэн цахилгаан хангамж - эерэг ба сөрөг аль алиныг нь аналог ба дижитал руу залгуураар тусгаарладаг. Хоёр LED нь нийлүүлэлт бүр байгааг илтгэнэ.

Алхам 4: Хэлхээний тайлбар - Давтамжийн хүрээний хяналт (2)

Хэлхээний тайлбар - Давтамжийн хүрээний хяналт (2)
Хэлхээний тайлбар - Давтамжийн хүрээний хяналт (2)

Том давтамжийн хүрээг хамрахын тулд олон конденсатор банк ашигладаг. Конденсатор нь өөр өөр утгатай бөгөөд өөр өөр давтамжийн дэд хязгаарыг тодорхойлдог бөгөөд ажлын явцад эдгээр конденсаторуудын зөвхөн нэгийг ашигладаг бөгөөд түүний доод хавтан нь MOS транзисторын унтраалгаар газардсан байдаг. Аль конденсаторын доод хавтанг газардуулахыг 74HC238 чип мультиплексор чип ашиглан Atmega328 удирддаг. MOS шилжүүлэгчийн хувьд би BSS123 транзисторыг ашигласан. Энэ унтраалгад тавигдах гол шаардлага бол Рон багатай, ус зайлуулах багтаамж хамгийн бага байх явдал юм. Конденсаторын банкны дижитал хяналтыг орхигдуулж болно - ПХБ нь механик эргэдэг унтраалгын утсыг гагнах нүхийг агуулдаг.

Алхам 5: Хэлхээний тайлбар - Давтамжийн тохируулга (3)

Хэлхээний тайлбар - Давтамжийн тохируулга (3)
Хэлхээний тайлбар - Давтамжийн тохируулга (3)

Зураг дээр давтамж ба ажлын мөчлөгийн хяналтын хэлхээг харуулав. Тэнд би стандарт LM358 opamp (нэг багцад хос өсгөгч) ашигласан. Би бас хос 10К потенциометр ашигласан.

MAX038 чип нь 2.5V дотоод хүчдэлийн лавлагаа үүсгэдэг бөгөөд үүнийг бүх тохируулгын лавлагаа болгон ашигладаг.

Энэ хүчдэлийг IC8a -ийн урвуу оролтод ашигладаг бөгөөд DADJ (үүргийн мөчлөгийн тохируулга) -д ашигладаг сөрөг хүчдэлийн лавлагаа үүсгэдэг. Хоёр хүчдэл хоёулаа DADJ -ийн потенциометр дээр хэрэглэгддэг бөгөөд дунд цорго нь буфертай бөгөөд MAX038 чипийн DADJ зүү дээр хэрэглэгддэг. JP5 холбогчийг газардуулгатай холбохдоо DADJ функцийг идэвхгүй болгоход ашиглаж болно. "Курс" давтамжийн хяналтыг MAX038 "IIN" зүү дэх одоогийн живсэн / эх үүсвэрийг өөрчлөх замаар урьдчилан боловсруулдаг. Энэ гүйдлийг R41 резистор ба курс давтамжийг хянах потенциометрийн дунд цоргыг буфержуулдаг опампын гаралтын хүчдэлээр тодорхойлно. Эдгээр бүгдийг REF ба IIN MAX038 тээглүүрүүдийн хооронд нэг потенциометрээр (реостат холболтоор) сольж болно.

Алхам 6: Хэлхээний тайлбар - Далайцын хяналт, SYNC дохио үүсгэх … (4)

Хэлхээний тайлбар - далайцын хяналт, SYNC дохио үүсгэх … (4)
Хэлхээний тайлбар - далайцын хяналт, SYNC дохио үүсгэх … (4)
Хэлхээний тайлбар - далайцын хяналт, SYNC дохио үүсгэх … (4)
Хэлхээний тайлбар - далайцын хяналт, SYNC дохио үүсгэх … (4)
Хэлхээний тайлбар - далайцын хяналт, SYNC дохио үүсгэх … (4)
Хэлхээний тайлбар - далайцын хяналт, SYNC дохио үүсгэх … (4)
Хэлхээний тайлбар - далайцын хяналт, SYNC дохио үүсгэх … (4)
Хэлхээний тайлбар - далайцын хяналт, SYNC дохио үүсгэх … (4)

Мэдээллийн хүснэгтэд бичсэнчлэн MAX038 гаралтын дохио нь ~ 1 В далайцтай бөгөөд тогтмол хүчдэл нь газрын потенциалтай тэнцүү байна.

Би дохионы далайцыг хянаж, тогтмол гүйдлийн офсетыг өөрөө тодорхойлох чадвартай байхыг хүсч байсан. Нэмэлт функцын хувьд би гаралтын дохиотой зэрэгцэн CMOS түвшинтэй SYNC дохиог авахыг хүссэн. Анхдагч байдлаар MAX038 чип нь ийм дохио үүсгэдэг боловч мэдээллийн хуудсан дээр хэрэв энэ функц идэвхжсэн бол (энэ нь 5V -т холбогдсон DV+ зүү гэсэн утгатай) гаралтын аналог дохиогоор зарим оргил (дуу чимээ) ажиглагдаж болохыг би уншсан. Энэ нь аль болох цэвэрхэн байсан тул SYNC дохиог гаднаас үүсгэсэн. ПХБ нь DV+ зүүг гол хангамж руу хялбархан холбох замаар хийгддэг. SYNC зүүг BNC холбогч руу чиглүүлдэг - зөвхөн 50 Ом эсэргүүцэл гагнах ёстой. Энэ тохиолдолд SYNC дохио үүсгэх хэлхээг орхиж болно. Таны харж байгаагаар би давхар потенциометр ашигладаг боловч тэдгээр нь зэрэгцээ холбогддоггүй. Үүний шалтгаан нь би далайцыг харьцангуйгаар хэмждэг. Нэг потенциометрийн дунд цэг дээрх хүчдэлийг Atmega328 ADC мэдэрч, энэ утгыг үндэслэн дохионы далайцыг тооцоолно. Мэдээжийн хэрэг, энэ арга нь тийм ч нарийвчлалтай биш юм (энэ нь үргэлж тохиолддоггүй потенциометрийн хэсгүүдийн хоёуланг нь тааруулахад тулгуурладаг), гэхдээ энэ нь миний програмуудад хангалттай нарийвчлалтай байдаг. Энэ хэлхээнд IC2A хүчдэлийн буфер болж ажилладаг. IC4A бас. IC2B опам нь нийлүүлэх өсгөгчөөр ажилладаг бөгөөд энэ нь функциональ генераторын гаралтын дохиог офсет хүчдэл ба далайцыг тохируулсан үндсэн дохионы нийлбэр болгон үүсгэдэг. Үүнийг Atmega328 ADC мэдэрдэг. IC4B опамп нь харьцуулагч байдлаар ажилладаг - энэ нь хоёр MOS транзистор (BSS123 ба BSS84) -ээр хийгдсэн SYNC үеийн инвертерийг хянадаг. U6 (THS4281 - Texas Instruments) нь 2.5 В хүчдэл бүхий MAX038 DC -ийн үүсгэсэн гаралтын дохиог шилжүүлж, 1.5 дахин нэмэгдүүлдэг. Тиймээс үүсгэсэн дохиог AVR ADC мэдэрч, цаашид FFT алгоритмаар боловсруулдаг. Энэ хэсэгт би 130 МГц зурвасын өргөнтэй (TI - LMH6619) опампуудыг төмөр замаар холбохын тулд өндөр чанартай төмөр замыг ашигласан.

SYNC дохио хэрхэн бүтээгддэг болохыг ойлгоход хялбар байхын тулд би хэлхээний LTSpice симуляцийн зарим зургийг оруулсан болно. Гурав дахь зураг дээр: цэнхэр дохио нь офсет хүчдэл (IC2B оролт) юм. Ногоон бол далайцыг тохируулсан гаралтын дохио юм. Улаан нь функциональ генераторын гаралтын дохио, цэнхэр муруй нь SYNC дохио юм.

Алхам 7: ПХБ -ийн дизайн

ПХБ -ийн дизайн
ПХБ -ийн дизайн

Би ПХБ -ийн дизайнд "Ийгл" -ийг ашигласан. Би PCB -ийг "PCBway" дээр захиалсан. Тэд хавтанг үйлдвэрлэхэд ердөө дөрвөн өдөр, хүргэхэд долоо хоног л зарцуулсан. Тэдний чанар өндөр, үнэ нь маш бага юм. Би 10 ПХБ -д ердөө 13 доллар төлсөн!

Үүнээс гадна би үнийн өсөлтгүйгээр өөр өнгөт ПХБ захиалж болно. Би шар өнгийг сонгосон:-).

Би gerber файлуудыг "PCBway" дизайны дүрмийн дагуу хавсаргаж байна.

Алхам 8: Гагнах

Image
Image
Гагнах
Гагнах
Гагнах
Гагнах

Эхлээд би цахилгаан хангамжийн хэлхээний төхөөрөмжийг гагнав.

Нийлүүлэлтийн блокыг туршиж үзсэний дараа би Atmega328 чипийг кварцын болор, конденсатор, шүүлтүүрийн таг, ISP холбогчтой хамт гагнав. Таны харж байгаагаар надад AVR чипийн нийлүүлэлтийн шугамд холбогч байна. Би чипийг ISP -ээр програмчлахдаа үүнийг салгадаг. Би энэ зорилгоор USBtiny програмист ашигладаг.

Дараагийн алхам бол би 74HC238 de-mux чипийг гагнав. Би мультиплексийг туршиж байсан Atmega чипт жижигхэн Arduino програмыг ачаалсан. (дээрх линк дээрх видеог үзнэ үү)

Алхам 9: Гагнах …

Гагнах…
Гагнах…
Гагнах…
Гагнах…
Гагнах…
Гагнах…

Дараагийн алхам бол би DC горимд ажилладаг опампуудыг (LM358), давтамж ба DADJ тохируулгын потенциометрийг гагнаж, бүх функцийг нь шалгасан.

Дараа нь би BSS123 унтраалга, давтамжийг тодорхойлох конденсатор, MAX039 чипийг гагнав. Би функциональ генераторыг дохиог эх чип дохионы гаралт дээр туршиж үзсэн. (Та миний хуучин Зөвлөлтийг 1986 онд үйлдвэрлэсэн, осциллограф ажиллаж байгааг харж болно:-))

Алхам 10: Илүү гагнах …

Илүү гагнах…
Илүү гагнах…
Илүү гагнах…
Илүү гагнах…
Илүү гагнах…
Илүү гагнах…

Үүний дараа би LCD дэлгэцийн залгуурыг гагнаж, "Hello world" ноорогоор туршиж үзсэн.

Үлдсэн бусад опамп, конденсатор, потенциометр, БНК холбогчийг би гагнав.

Алхам 11: Програм хангамж

Image
Image
Програм хангамж
Програм хангамж

Atmega328 програмыг бий болгохын тулд би Arduino IDE -ийг ашигласан.

Давтамжийг хэмжихийн тулд би "FreqCounter" номын санг ашигласан. Ноорог файл болон ашигласан номын санг татаж авах боломжтой. Би одоо ашиглаж буй горимыг (синус, тэгш өнцөгт, гурвалжин) дүрслэх тусгай тэмдгийг бүтээсэн.

Дээрх зураг дээр LCD дэлгэц дээрх мэдээллийг харж болно.

  • Давтамж F = xxxxxxxx Гц
  • Давтамжийн хүрээ Rx
  • MV дахь далайц A = xxxx
  • MV 0 = xxxx дэх офсет
  • дохионы төрөл x

Генераторын функц нь зүүн талын урд талд хоёр товчлууртай бөгөөд тэдгээрийг давтамжийн хүрээг өөрчлөхөд ашигладаг (дээшээ доошоо алхам). Тэдний баруун талд горимыг удирдах слайд унтраалга байрладаг бөгөөд дараа нь зүүнээс баруун тийш давтамж (курс, нарийн, DADJ), далайц ба офсетыг хянах потенциометрийг дагана. Офсет тохируулах потенциометрийн ойролцоо 2.5V тогтмол гүйдлийн офсет ба тохируулагдсан хооронд шилжих унтраалга байрладаг.

Би ZIP файл дахь "Generator.ino" кодоос жижиг алдаа олсон - синус ба гурвалжин долгионы хэлбэрийн тэмдгийг сольсон. Энд хавсаргасан ганц "Generator.ino" файлд алдааг зассан болно.

Алхам 12: Хийх ёстой …

Image
Image

Сүүлийн алхам бол би нэмэлт функцийг хэрэгжүүлэхийг зорьж байна - FFT ашиглан аудио давтамжийн синус дохионы THD -ийг бодит цаг хугацаанд хэмжих. Синус дохионы үүргийн мөчлөг 50%-иас ялгаатай байж болох тул дотоод чипний тохиромжгүй байдал болон бусад шалтгаанаас үүдэлтэй байж болох ба гармоник гажуудал үүсгэж болзошгүй тул үүнийг хийх шаардлагатай байна. Ажлын мөчлөгийг потенциометрээр тохируулж болох боловч осциллограф эсвэл спектрийн анализатор дээрх дохиог ажиглахгүйгээр түүний хэлбэрийг нарийн засах боломжгүй юм. THF -ийг FFT алгоритм дээр үндэслэн тооцоолох нь асуудлыг шийдэж чадна. THD тооцооллын үр дүнг LCD дэлгэц дээр баруун дээд хоосон зайд харуулна.

Видео бичлэг дээр MAX038 синус дохионы үүсгэсэн спектрийг харж болно. Спектрийн анализатор нь Arduino UNO самбар + 2.4 TFT бамбай дээр суурилдаг. Спектр анализатор нь Анатолий Кузьменкогийн боловсруулсан SpltRadex Arduino номын санг ашиглан FFT -ийг бодит цаг хугацаанд гүйцэтгэдэг.

Би энэ номын санг ашиглах эсвэл Musiclabs -ийн үүсгэсэн FHT номын санг ашиглахаар шийдээгүй байна.

Би давтамжийн тоолуурын хэмжилтээс авсан мэдээллийг ашиглан дээж авах зөв цонхыг тооцоолох, FFT тооцооллын явцад нэмэлт цонх ашиглахыг зогсоохыг зорьж байна. Үүнийг хийхийн тулд надад чөлөөт цаг л хэрэгтэй. Удахгүй тодорхой үр дүнд хүрнэ гэж найдаж байна ….

Зөвлөмж болгож буй: