Мазмуну:

Сигнал генератору AD9833: 3 кадам
Сигнал генератору AD9833: 3 кадам

Video: Сигнал генератору AD9833: 3 кадам

Video: Сигнал генератору AD9833: 3 кадам
Video: Самый простой генератор сигналов для лаборатории радиолюбителя от 1Гц до 2МГц 2024, Ноябрь
Anonim
Сигнал генератору AD9833
Сигнал генератору AD9833
Сигнал генератору AD9833
Сигнал генератору AD9833

Сигнал генератору - бул сыноо шаймандарынын абдан пайдалуу бөлүгү. Бул AD9833 модулун жана Arduino Nano колдонот - мунун баары, жада калса ПХБ эмес. Сиз каалоосу боюнча OLED дисплей кошо аласыз. AD9833 синусун, үч бурчтугун жана квадрат толкундарын 0.1 Гцтен 12.5 МГцке чейин туташтыра алат - бул долбоордун программасы 1 Гцтен 100 КГцке чейин чектелген.

Бул жерде жана бул жерде Arduino жана AD9833 колдонгон башка көрсөтмөлөр бар. Бул жөнөкөй жана тазалоочу генератор катары колдонулушу мүмкүн. Шыпыруу генераторлору чыпкалардын, күчөткүчтөрдүн ж. Башка Instructables конструкцияларынан айырмаланып, бул күчөткүчтү же амплитуда контролун камтыбайт, бирок сиз кааласаңыз, аларды кошо аласыз.

1 -кадам: Жөнөкөй сигнал генератору

Жөнөкөй сигнал генератору
Жөнөкөй сигнал генератору
Жөнөкөй сигнал генератору
Жөнөкөй сигнал генератору
Жөнөкөй сигнал генератору
Жөнөкөй сигнал генератору
Жөнөкөй сигнал генератору
Жөнөкөй сигнал генератору

Эң жөнөкөй Сигнал Генератору үчүн, сиз AD9833 модулун Arduino Nanoнун арт жагына кошуп коюңуз. PCB кереги жок.

Мен тандаган AD9833 модулу ушуга окшош. Мен муну эң жакшы же эң арзан жеткирүүчү деп айтпайм, бирок сиз ошол сүрөттө окшош бирин (же жогорудагы сүрөттү) сатып алышыңыз керек.

Модулдардын ортосундагы байланыштар:

  • негиздер бири -бири менен байланышкан
  • D2 = FSync
  • D3 = Clk
  • D4 = Маалымат
  • AD9833 боюнча D6 = Vcc

AD9833 Arduino D6 маалымат пининен иштейт - Arduino жетиштүү токту бере алат. Мен 100n ажыратуучу конденсатор коштум, анткени мен "керек" деп ойлогом, бирок эч кандай айырмачылыкты көрө алган жокмун - AD9833 модул тактасында ажыратуучу конденсатор бар.

Эгер сиз кооз болсоңуз, анда "аналогдук жер" менен "санариптик жер" жөнүндө тынчсызданышыңыз мүмкүн, бирок эгер сиз кооз болсоңуз, анда 4 фунт стерлингден ашык акча коротмоксуз.

Эң жөнөкөй Сигнал Генератору көзөмөлдөнөт жана компьютерден USB кабели аркылуу иштейт. USB 115200bps ылдамдыкта иштеген сериялык портту эмуляциялайт (8 бит, паритет жок). Командалар төмөнкүлөр:

  • '0'.. '9': цифраны "мин" жыштык массивине жылдыруу
  • 'S': AD9833 жыштыгын коюп, синус толкунун өндүрөт
  • 'T': жыштыкты орнотуу жана үч бурчтук толкунду чыгаруу
  • 'Q': жыштыкты коюп, квадрат толкунду өндүрөт
  • 'R': AD9833 баштапкы абалга келтирүү
  • 'M': "мин" жыштык массивин "max" массивине көчүрүү
  • 'G': "секундадан" "максимумга" 1 секундадан ашык сүрүңүз
  • 'H': 5 мүнөт ичинде "максимумга" чейин шыпыруу
  • 'I': 20 минутанын ичинде "минден" "максимумга" чейин шыпыруу

Arduino программасында "min" жана "max" деген 6 белгиден турган эки массив камтылган. Эгерде сиз цифраны өткөрүп берсеңиз, анда ал "min" массивине которулат. Эгер 'S' жөнөтсөңүз, анда "min" массивинин символдору longint жыштыгы жана AD9833ке жөнөтүлдү. Ошентип, сапты жөнөтүү

002500S

AD9833 чыгарууну 2500 Гц синус толкунуна коёт. Сиз дайыма 6 цифраны жөнөтүшүңүз керек. Минималдуу жыштык 000001 жана максималдуу жыштык 999999.

Эгер сиз 'M' жөнөтсөңүз, анда "мин" массиви "max" массивине көчүрүлөт. Эгерде сиз "H" жөнөтсөңүз, анда AD9833 5 секундадан кийин акырындык менен көбөйүп жаткан жыштыгын кайра кайра чыгарат. Ал "мин" жыштыкта башталат жана 5 секунддан кийин "макс" жыштыгында болот. Ошентип

020000M000100SH

100 Гцтен 20 КГцке чейин тазалайт. Жыштыктын өзгөрүшү логарифмдик болуп саналат, андыктан 1 секунддан кийин жыштык 288Гц, 2 секунддан кийин 833Гц, андан кийин 2402, 6931 жана 20000. Жыштык ар миллисекундда алмаштырылып турат.

Цикл Arduino башка белгини алганда токтойт, андыктан этият болуңуз, андан кийин арабаны кайтаруу же сапты берүү. Бул кошумча мүнөз циклди токтотот. Эгерде сиз Сериялык Мониторду колдонуп жатсаңыз, анда төмөнкү оң жагында, мисалы, "NL & CR экөө тең" деп жазылган кутуча бар (ал менин оюмча) сиздин буйругуңуздан кийин тамгаларды жөнөтөт. Аны "Саптын аягы жок" деп коюңуз.

Төмөндө Windows EXE программасын жүктөп алсаңыз болот, ал керектүү буйруктарды жөнөтөт же өзүңүз жаза аласыз. Arduino INO файлы дагы бул жерде.

2 -кадам: OLED кошуу

OLED кошуу
OLED кошуу
OLED кошуу
OLED кошуу
OLED кошуу
OLED кошуу

Эгерде сиз OLED жана эки баскычты кошсоңуз, сигнал генератору компьютерсиз жалгыз иштей алат.

Менин инструктивдүү осциллографымды окуган адамдар окшоштукту тааныйт. AD9833 модулу "осциллограф жана сигнал генераторун матч кутусунда" чыгаруу үчүн осциллографума кошулушу мүмкүн.

Дисплей I3C автобус аркылуу SH1106 чипи менен башкарылуучу 3.3V чуркоочу 1.3 дюймдук OLED болуп саналат.

EBayден 1.3 "OLED издеңиз. Мен белгилүү бир сатуучуга сунуш кылгым келбейт, анткени шилтемелер тез эле эскирип калат. Ошол сүрөткө окшошту тандаңыз," I2C "же" IIC "деп жазылган жана VDD GND SCL SDA деп белгиленген төрт төөнөгүч бар. (Кээ бир дисплейлерде пиндер башкача тартипте көрүнөт. Аларды текшериңиз. I2C саатынын туура аталышы "SCL", бирок eBayде такталар менин сүрөтүмдөгүдөй "SCK" деп жазылышы мүмкүн.)

OLED китепканасынын толук сүрөттөлүшү менин осциллографымда 8 -кадамда. Сиз 8 -кадамда жайгашкан SimpleSH1106.zip драйвер китепканасын жүктөп алып, орнотушуңуз керек..)

INO файлын төмөндө жүктөп алсаңыз болот. OLED үчүн колдонулган пин номерлери 70 -саптын тегерегинде жарыяланат. Эгерде сиз менин "Осциллографымды жана Сигнал Генераторун" матч кутусуна "куруп, аны менен бул INO файлын сынап көргүңүз келсе, альтернативдүү пин номерлери #define аркылуу иштетилет.

Мен схема үчүн стриптиздин макетин көрсөттүм. Эки стриптоборд бар - бири нано жана AD9833 үчүн, экинчиси дисплей үчүн. Алар бутерброд түзүшү керек. Такталар компонент жагынан көрсөтүлөт. Майда ийкемдүү зымдар эки тактайга кошулат. Тактайларды ширетилген стенддер менен бирге тиркеңиз. Менин диаграммамда стриптиздин жези көк түстө көрсөтүлгөн. Кызыл сызыктар - бул стриптиздеги зым шилтемелер же тактайларды бириктирүүчү ийкемдүү зымдар. Мен күчтү жана "сигналды" көрсөткөн жокмун.

AD9833 модулу стриптиздин жез жагында - Нанонун карама -каршы жагында ширетилген. Жез тилкелерине Solder казыктары, андан кийин аларга AD9833 туура жана аны solder.

Дисплей бир жыштыкты же "мин" жана "максималдуу" жыштыктарды көрсөтөт.

Эки баскыч бар: жыштыктардын цифрасын тандоо үчүн "Горизонталдуу" баскыч жана ал цифраны өзгөртүү үчүн "Тик" баскычы.

Мен иштеп жаткан схемадан сигнал генераторун иштетем - менин жумуш станциямда дайыма 5В бар.

3 -кадам: Келечектеги өнүгүүлөр

Келечектеги өнүгүүлөр
Келечектеги өнүгүүлөр

Батарея менен иштесе болобу? Ооба, жөн эле Nano RAW пинине туташкан 9V PP3 кошуңуз. Ал, адатта, 20mA колдонот.

Ал бир литий клеткасы менен иштей алабы? Эмнеге болбосун түшүнбөйм. Сиз OLED Vdd жана анын тартылуу каршылыгын 3.7V батареясына туташтырышыңыз керек (Arduino 3.3V чыгарылышы туура иштээрине күмөнүм бар).

Чыпкалуу генератору фильтрдин жыштыгын текшерүүдө пайдалуу, эгер сиз амплитудага жыштыкка график түзө алсаңыз. Сигналдын амплитудасын өлчөө татаал - сиз конверттин детекторунун бузулушун төмөн жыштыктарга жана жооп берүү убактысын жогорку жыштыктарга алмаштырышыңыз керек. Амплитудалык детекторуңузду куруп, анын өндүрүшүн "Жөнөкөй сигнал генераторунун" Arduino ADCсине киргизип, натыйжасын учурдагы жыштык менен бирге ЖКга жөнөтө аласыз.

Бул баракча пайдалуу башталгыч пункт же Google'дан "конверт детектору" же "чоку детектору" үчүн издөө. Жогорудагы сунушталган схемада сиз сигналдын жыштыгын коюп, анын турукташуусун күтүп, Arduino A0 пинин санариптик төмөн чыгууга, C түшүрүүнү күтүп, A0ду киргизүүгө, күтө туруңуз, анан ADC менен өлчөңүз. Мага кантип келериңизди айтып бериңиз.

Сунушталууда: