Мазмуну:

WiFi жана Androidдеги Portable Function Generator: 10 кадам
WiFi жана Androidдеги Portable Function Generator: 10 кадам

Video: WiFi жана Androidдеги Portable Function Generator: 10 кадам

Video: WiFi жана Androidдеги Portable Function Generator: 10 кадам
Video: Как проверить генератор. За 3 минуты, БЕЗ ПРИБОРОВ и умений. 2024, Ноябрь
Anonim
WiFi жана Androidдеги Portable Function Generator
WiFi жана Androidдеги Portable Function Generator
WiFi жана Androidдеги Portable Function Generator
WiFi жана Androidдеги Portable Function Generator
WiFi жана Androidдеги Portable Function Generator
WiFi жана Androidдеги Portable Function Generator
WiFi жана Androidдеги Portable Function Generator
WiFi жана Androidдеги Portable Function Generator

20 -кылымдын аягында, айрыкча байланыш тармагында ар кандай технологиялык жаңылыктар пайда болгон; бирок гана эмес. Биз үчүн, колдонуучулар, керектөөчүлөр жана инженерлер биздин жашообузду бир топ жеңилдете турган электрондук түзүлүштөрдүн тез өнүгүшүнө келишти: акылдуу сааттар, акылдуу үйлөр, смартфондор ж.

Бүгүнкү күндө бардыгы "акылдуу" болгондуктан, мен эң керектүү электрондук лабораториялык жабдуулардын бир бөлүгү болуу үчүн өтө пайдалуу түзмөктү - Android OS негизиндеги смартфон аркылуу WiFi түз же WiFi локалдык түйүнү (WLAN) аркылуу башкарыла турган дизайнды түзүүнү чечтим.).

Эмне үчүн биз бул аппаратты курушубуз керек?

Сыноо жабдууларынын басымдуу көпчүлүгү азыркы учурда абдан кымбат. Ал эми кээде бул аппараттар көчмө эмес. Жогорку баалардын, портативдүүлүктүн жоктугунун жана түзмөктүн тармакка кирүүсүнүн жоктугунун чечими катары, түзмөк эки каналдуу толкун формасындагы генераторду камсыз кылат, бул чындыгында портативдүү жана тармакка чексиз кирүү мүмкүнчүлүгү бар - интернетке же жергиликтүү.

Жана албетте, шайманды DIY принциптерине баш ийип, шыктануу менен куруу керек - Кээде өзүбүздү туура сезүү үчүн өзүбүздү өзүбүз жасашыбыз керек:)

Негизги өзгөчөлүктөр

Электр камсыздоо

  • USB Type-A туташтыргычы, электр менен жабдуу системалары жана программалоо үчүн
  • Толук Li -Ion батареяны башкаруу системасы - Кубаттоо жана туруктуу режимдер
  • Smart Switch ишке ашыруу - кубат которгучтун кереги жок
  • Кош электр менен камсыздоо: +3.3V жана -3.3V симметриялуу чыңалуу толкундарын түзүү үчүн

Waveform Generation

  • Чыгыштын каскадында DC деңгээлин ишке ашыруу - чыңалуу чектеринин ортосундагы толкун формасы
  • DDS негизиндеги 4 түрдөгү толкун формасы - Синус, үч бурчтук, чарчы жана DC
  • 10 МГцке чейин жыштыктагы колдоо
  • 500 мВт максималдуу кубаттуулук менен 80 мА чейин чыгаруу агымы
  • Толкун формасын түзүү үчүн бөлүнгөн каналдар - AD9834 негизиндеги микросхемаларды бөлүү

Байланыш

  • ESP32 ишке ашыруу - Колдонулуучу WiFi мүмкүнчүлүктөрү
  • Генератор түзмөгү жана Android смартфону аркылуу TCP/IPди толук колдоо
  • Колдонуучунун параметрлерин ар бир цикл үчүн сактоо мүмкүнчүлүгү
  • Мамлекеттик мониторинг - эки система тең бири -биринин абалын билишет: FuncGen (мындан ары ушинтип атайлы) жана смартфон.

Колдонуучу интерфейси

  • Жөнөкөй 4-биттик интерфейси бар 20 x 4 Character LCD
  • Android тиркемеси - FuncGen түзмөгүн колдонуучунун толук көзөмөлү
  • Buzzer схемасы - колдонуучуга үн кайтаруу

1 -кадам: Блок диаграммасы - Аппараттык

Блок диаграммасы - Аппараттык
Блок диаграммасы - Аппараттык
Блок диаграммасы - Аппараттык
Блок диаграммасы - Аппараттык

Микроконтроллер бирдиги - ATMEGA32L

Микроконтроллер - бул бир электрондук чипте жайгашкан компьютердин бардык функцияларынан турган программалоочу чип. Биздин учурда, бул "мээ" жана системанын борбордук компоненти. MCUдун максаты - бардык перифериялык системаларды башкаруу, бул системалар ортосундагы байланышты башкаруу, аппараттык жабдуулардын ишин көзөмөлдөө жана колдонуучу интерфейсине жана анын чыныгы колдонуучу менен өз ара аракеттенүүсүнө толук колдоо көрсөтүү. Бул долбоор ATMEGA32L MCUга негизделген, ал 3.3V жана 8MHz жыштыгында иштей алат.

Байланыш SoC - ESP32

Бул SoC (Чиптеги Система) FuncGen үчүн толук байланышты камсыз кылат - WiFi мүмкүнчүлүктөрүнө жетүү, анын ичинде түз, жергиликтүү же интернет байланышы. Аппараттын максаттары:

  • Android колдонмосу менен FuncGen түзмөгүнүн ортосунда маалыматтарды берүү
  • Башкаруу/маалымат билдирүүлөрдү башкаруу
  • Үзгүлтүксүз TCP/IP Client-Server конфигурациясын колдоо

Биздин долбоордо SoC эспрессивдүү ESP32 болуп саналат, бул аны андан ары кеңейтүү үчүн өтө популярдуу:)

Li-Ion Батарея башкаруу системасы

Биздин аппаратты көчмө түзүлүшкө айландыруу үчүн, түзмөктө Li-Ion батареясын заряддоо схемасы иштелип чыккан. Район MC73831 ICге негизделген, бир программалоо каршылыгынын маанисин тууралоо аркылуу башкарылуучу кубаттоо агымы менен (Бул теманы Схема кадамында карайбыз). Түзмөктүн электр менен камсыздоосу USB Type-A туташтыргычы.

Smart Switch Circuit

Акылдуу коммутатордун кубатын башкаруу схемасы түзмөктү өчүрүү ырааттуулугун программалык камсыздоону толук көзөмөлдөөнү камсыздайт жана түзмөктүн батареясынын чыңалуусун өчүрүү үчүн тышкы которгучка муктаждыктын жоктугун камсыздайт. Бардык күч операциялары баскычты жана MCU программасын басуу менен жасалат. Кээ бир учурларда, системаны өчүрүү керек болот: Батареянын төмөнкү чыңалуусу, жогорку киргизүү чыңалуусу, байланыш катасы ж. Smart switch STM6601 акылдуу коммутатор ICге негизделген, бул арзан жана аны менен ойноо абдан достук.

Негизги электр менен камсыздоо бирдиги

Бул блок батарея менен башкарылуучу эки электрдик схемадан турат -бардык санарип / аналогдук камсыздоо схемалары үчүн +3.3V жана 0V потенциалына карата FunGen симметриялуу чыгаруу үчүн -3.3V (б.а. түзүлгөн толкун формасын [-3.3V: 3.3V] регион.

  • Негизги камсыздоо схемасы LP3875-3.3 LDO (төмөн окуу) 1А сызыктуу чыңалуу жөндөгүчүнө негизделген.
  • Экинчи камсыздоо схемасы LM2262MX ICге негизделген, ал DC-DC терс чыңалуусун конденсатор-заряд насосу аркылуу аткарат-IC негизделген система.

Толкун формасынын генераторлор системасы

Система MCU SPI (сериялык перифериялык интерфейс) тарабынан толкун формасын толук башкарууга мүмкүндүк берген өзүнчө DDS (түз санариптик синтез) интегралдык схемаларына басым жасоо менен иштелип чыккан. Дизайнда колдонулган микросхемалар AD9834 аналогдук түзүлүштөрү болуп саналат, алар ар кандай толкун формаларын камсыздай алышат. AD9834 менен иштөөдө биз туш болушубуз керек болгон кыйынчылыктар:

  • Бекитилген толкун формасынын амплитудасы: Waveform амплитудасы тышкы DAC модулу тарабынан башкарылат
  • Офсеттүү DC деңгээлине эч кандай маани берилбейт: Керектүү DC жылышынын мааниси бар суммалык схемаларды ишке ашыруу
  • Квадрат толкуну жана үч бурчтук/синус толкуну үчүн өзүнчө жыйынтыктар: жогорку жыштыктагы которуштуруу схемасын ишке ашыруу, андыктан ар бир каналдын бирдиктүү чыгышы каалаган толкундун бардык формаларын камсыздай алат: синус, үч бурчтук, квадрат жана DC.

Суюк кристалдуу дисплей

ЖК UIдин (колдонуучу интерфейсинин) бир бөлүгү болуп саналат жана анын максаты колдонуучуга реалдуу убакыт режиминде кандай түзмөк эмне кылаарын түшүнүүгө мүмкүнчүлүк берүү. Бул ар бир түзмөк абалында колдонуучу менен баарлашат.

Коңгуроо

Жөнөкөй обон генератор схемасы түзмөктөн колдонуучуга кошумча кайтарым байланыш үчүн.

Интегралдык ISP программисти

Программалоо процессине келгенде, ар бир инженер үчүн туруктуу көйгөй бар: Продуктту жаңы программалык камсыздоо менен кайра программалоо үчүн, аны бөлүп -бөлүү керек. Бул ыңгайсыздыкты жоюу үчүн, AVR ISP программисти түзмөккө ичинен бекитилген, ал эми USB маалыматтары жана электр линиялары түзмөктүн USB Type-A коннекторуна байланган. Бул конфигурацияда, биз жөн гана программалоо же кубаттоо үчүн USB кабели аркылуу FuncGen'ибизди сайышыбыз керек!

2 -кадам: Блок диаграммасы - Тармак

Блок диаграммасы - Тармак
Блок диаграммасы - Тармак

Dual Channel Function Generator

Негизги түзмөк. Биз мурунку кадамда карап чыккан

ESP-WROOM-32

WiFi жана BLE мүмкүнчүлүктөрү менен интеграцияланган чип-система. SoC UART модулу аркылуу башкы тактага бекитилет (Биз муну схемада карайбыз) жана негизги түзмөк менен Android смартфону ортосунда билдирүүлөрдү кабыл алуучу катары иштейт.

WiFi жергиликтүү тармагы

Смартфон жана түзмөк TCP серверинин/кардар конфигурациясынын негизинде WiFi түз же локалдык тармак аркылуу байланышат. Түзмөктөр WiFiда бири -бирин тааныганда, негизги түзмөк тиешелүү параметрлер менен TCP серверин түзөт жана билдирүүлөрдү жөнөтүүгө/кабыл алууга жөндөмдүү. Түзмөк смартфондун экинчиси катары иштейт. Башка жагынан алганда, Android түзмөгү TCP серверине кардардык тармак түзмөгү катары туташат, бирок негизги билдирүү өткөргүч катары каралат - смартфон байланыштын толук циклин баштайт: Кабар жөнөтүү - жооп алуу.

Android смартфону

Android OS негизделген смартфону FuncGen тиркемесинде иштейт

3 -кадам: Бөлүктөр, Куралдар, IDE жана Билл

Бөлүктөр, шаймандар, IDE жана материалдар Билл
Бөлүктөр, шаймандар, IDE жана материалдар Билл
Бөлүктөр, шаймандар, IDE жана материалдар Билл
Бөлүктөр, шаймандар, IDE жана материалдар Билл
Бөлүктөр, шаймандар, IDE жана материалдар Билл
Бөлүктөр, шаймандар, IDE жана материалдар Билл

Билл материалдары (тиркелген XLS таблицасын караңыз)

UI жана тутум байланыштары

  • 1 x 2004A Char-LCD 20x4 Көк
  • 1 х USB түрү B туташтыргычы
  • 1 x 10 Set Mini Micro JST XH 2.54mm 4 Pin
  • 1 x 6pcs Momentary SW

PCB буйрутмасы (Seeed Studio боюнча)

Негизги материал FR-4

Катмарлардын саны 2 катмар

PCB саны 10

Ар кандай үлгүлөрдүн саны 1

PCB калыңдыгы 1.6 мм

PCB Түсү Көк

Surface Finish HASL

Минималдуу Solder Mask Dam 0.4mm ↑

Жез Салмагы 1oz

Минималдуу бургулоо тешигинин өлчөмү 0.3мм

Издин туурасы / аралык 6/6 млн

Жарым тешик менен капталган / Кастелленген тешиктер Жок

Импеданс контролу №

Куралдар

  • Ысык желим мылтык
  • Пинцет
  • Cutter
  • ~ 22AWG зымы иштебей калгандыгы үчүн
  • Пластикалык темир/станция
  • Калай калай
  • SMD кайра иштетүүчү станция (милдеттүү эмес)
  • 3D принтер (милдеттүү эмес)
  • Экструдинг файлы
  • AVR ISP программисти
  • USBден Serial Converter (Мүчүлүштүктөрдү оңдоо үчүн)

Интегралдык өнүктүрүү чөйрөсү (IDE) жана Программалык камсыздоо

  • Autodesk EAGLE же Cadence схемалык редактору / Allegro PCB редактору
  • OpenSCAD (Милдеттүү эмес)
  • Ultimaker Cura (Милдеттүү эмес)
  • Saleae Logic (Мүчүлүштүктөрдү оңдоо үчүн)
  • Atmel Studio 6.3 же андан жогору
  • Android Studio же Eclipse IDE
  • Docklight Serial Monitor / Башка COM портун көзөмөлдөөчү программа
  • AVR ATMEGA32L флеш программалоо үчүн ProgISP

4 -кадам: Аппараттык Дизайн - Башкы Башкарма

Аппараттык Дизайн - Башкы Башкарма
Аппараттык Дизайн - Башкы Башкарма
Аппараттык Дизайн - Башкы Башкарма
Аппараттык Дизайн - Башкы Башкарма
Аппараттык дизайн - Башкарма
Аппараттык дизайн - Башкарма

Батареяны башкаруу схемасы

Батареяны кубаттоо схемасы MCP7383 ICге негизделген, бул бизге Li -Ion батарейкасы үчүн керектүү кубаттоо агымын тандоого мүмкүндүк берет - кубаттуулугу 850 мАч болгон 3.7 В. Заряддоо ток биздин учурда резистордун мааниси (R1) программалоо менен коюлат

R1 = 3KOhm, I (заряд) = 400mA

USB чыңалуу VBUS π-чыпкасы (C1, L3, C3) аркылуу чыпкаланат жана схеманы кубаттоо үчүн энергия булагы катары иштейт.

Чыңалуу бөлүштүргүч схемасы (R2, R3) MCU A/D каналына төмөнкү чыңалуу менен камсыз кылуу аркылуу MCUга тышкы USB энергия булагы туташкан же туташпаганын көрсөтүүгө мүмкүндүк берет:

V (көрсөткүч) ~ (2/3) V (АВТОБУС)

ATMEGA32L A/D 12-бит болгондуктан, биз санариптик диапазонду эсептей алабыз:

A / D (диапазон) = 4095V (көрсөткүч) / V (REF).

A/D ∈ [14AH: FFFH]

Smart Switch Power Unit

Район системага MCUдагы баскычтан да, программадан дагы ар бир иштелип чыккан блоктун электр менен камсыздалышын көзөмөлдөөгө мүмкүнчүлүк берет жана RESET ордуна POWER опциясы бар STM6601 Smart-Switchке негизделген. Биз карап чыгууну каалаган терминалдар булар:

  • PSHOLD - Киргизүү линиясы, бул түзмөктүн абалын аныктайт: эгер ТӨМӨН тартылса, түзмөк экинчилик энергия менен камсыздоо бирдиктерин өчүрөт (+3.3V жана -3.3V). Эгерде ЖОГОРУ кармалса - түзмөк КҮЙҮК абалын сактайт.
  • nSR жана nPB - киргизүү линиялары. Баскычтын терминалдары. Бул казыктарда жыгылып жатканы аныкталганда, түзмөк күчтү / ылдый режимине кирүүгө аракет кылат
  • nINT - Чыгуу сызыгы. Баскыч басылган сайын ТӨМӨН тартылат
  • EN - Чыгуу линиясы, экинчи энергия менен камсыз кылуу бирдиктери үчүн кубаттуулук катары колдонулат. LOW кармалып турганда, экинчилик энергия булактары тең өчүрүлгөн

Акыркы дизайнга өтүүдөн мурун кээ бир маанилүү эскертүүлөр бар:

  • PSHOLD 3.3Vга чейин тартылышы керек, анткени MCUлар бардык I/Oдорду HIGH-Z абалында болууга мажбурлаган учурлар бар. Бул учурда, MCUдан PSHOLD абалы белгисиз жана түзмөктү программалоо процессине кескин таасир этиши мүмкүн.
  • STM6601 RESET опциясынын ордуна, узун басууда EN жөнгө салуу опциясы менен заказ кылынышы керек (мен андайга түшүп калдым).

Электр менен камсыздоо бирдиги: +3.3V

Биздин долбоордун бардык системалары үчүн негизги электр энергиясы. +3.3V линиясы GND деңгээлинде өткөрүлгөндө (б.а. чыңалуу жок), акылдуу которгучтан башка бардык IC өчүрүлөт. Район LDO LP-3875-3.3 ICге негизделген, EN терминалы аркылуу башкарылып, 1Ага чейин токту камсыздай алат.

Бул схеманын кубат булагы - батареянын чыңалуусу, VBUSты сезүү схемасына окшош VBATти конфигурациялоо үчүн A/D индикатору тиркелет. Бул учурда, эсептөөлөр бир аз айырмаланат;

V (Батареядан A/Dга) = 0.59V (Батарея); A/D (диапазон) ∈ [000H: C03H]

Электр менен камсыздоо бирдиги: -3.3V

Терс чыңалуу менен камсыз кылуу схемасы бизге 0В туруктуу фактор менен симметриялуу толкун формаларын түзүүгө мүмкүндүк берет (б.а. толкундун орточо мааниси 0В болушу мүмкүн). Бул схема "заряд насосу" ыкмасы менен иштеген LM2662MX IC - DC/DC конвертерине негизделген. Райондун максималдуу чыгаруу агымы 200 мА болуп саналат, бул биздин дизайн талаптарыбыз үчүн жетиштүү - биз ар бир түзмөктүн каналынан 80 мА чыгаруу агымы менен чектелебиз.

IC бардык керектүү иштерди аткарат, андыктан биз эки электролитикалык конденсаторду тиркөөбүз керек: C33 жана C34 -3.3V линиясын айланып өтүү үчүн (ызы -чууну азайтуу боюнча ойлор). Эгерде биз схеманы толкун түрүндөгү муун бөлүктөрүнөн алысыраак жайгаштырсак, которуунун жыштыгы дизайнда анча деле маанилүү эмес (Биз аны ПХБнын жайгашуу кадамында талкуулайбыз).

Микроконтроллер бирдиги - MCU

Бул биздин системанын менеджери жана башкы директору - көзөмөлдөө, тармакты иштетүү, билдирүүлөрдү берүү жана UI колдоосу - бардыгы MCU тарабынан.

Тандалган MCU - бул Atmel ATMEGA32L, бул жерде L колдоого алынган чыңалуу операциясын билдирет [2.7V: 5.5V]. Биздин учурда, иштөө чыңалуусу +3.3V.

Келгиле, биздин дизайнда MCU менен иштөөнү түшүнүү үчүн зарыл болгон негизги операциялык блокторду карап көрөлү:

  • Тышкы осциллятор - бул кошумча компонент, анткени бизди 8 МГц иштөө жыштыгы кызыктырат
  • Перифериялык көзөмөл, SPI түйүнү - Бардык перифериялык түзүлүштөр (ESP32 кошпогондо) MCU менен SPI аркылуу байланышып турушат. Бардык түзмөктөр үчүн үч бөлүшүлгөн линия бар (SCK, MOSI, MISO) жана ар бир перифериялык схемада анын атайын CS (Chip Select) линиясы бар. Түзмөктүн бир бөлүгү болгон SPI түзмөктөрү:

    1. D/A амплитудасын башкаруу үчүн - А каналы
    2. D/A амплитудасын башкаруу үчүн - Канал B
    3. AD9834 түзмөгү - А каналы
    4. AD9834 түзмөгү - Канал Б.
    5. D/A чыңалуусун көзөмөлдөө үчүн - Channel A
    6. D/A чыңалуусун көзөмөлдөө үчүн - Channel B
    7. Санарип потенциометр LCD жарыктыгы/контрастын орнотуулары үчүн
  • ЖК колдоосу - ЖК жалпы 20 х 4 белгиден турган дисплей болгондуктан, биз 4 -бит интерфейсин (D7 линиялары: D4), көзөмөл казыктарын (RS, E линиялары) жана жарыктыкты/контрастты көзөмөлдөөнү (V0 жана Анод линиялары) колдонуп жатабыз.
  • RGB LED колдоосу - Бул модуль милдеттүү эмес, бирок MCUга туташкан тиешелүү каршылыгы бар жалпы катоддук RGB LED туташтыргычы бар.
  • Power Control - MCU реалдуу убакыт режиминде энергия системасынын мониторингин жүргүзөт жана керектүү бардык кубаттуулуктарды башкарат:

    1. VBAT_ADC - Батарея чыңалуусун көзөмөлдөө жана анын абалын аныктоо (ADC0 каналы)
    2. PWR_IND - тышкы электр менен камсыздоонун туташуусу (ADC1 каналы)
    3. PS_HOLD - Бардык аныкталган системалар үчүн негизги кубаттуулукту иштетүүчү линия. MCU тарабынан төмөн тартылганда, түзмөк өчүрүлөт
    4. Акылдуу коммутатордун үзгүлтүккө учуроочу терминалы - баскычтын абалынын мониторинги
  • WiFi Network Management - ESP32: MCU USP интерфейси аркылуу ESP32 менен байланышат. 8МГц бизге 115200 ылдамдыгын салыштырмалуу кичине ката менен ишке ашырууга мүмкүндүк бергендиктен, биз ESP32ди схеманын өзгөрүүсүнүн алдын ала аныктамасы жок эле колдоно алабыз.

AVR ISP программисти

Биздин MCU SPI аркылуу программаланган линия менен (/RST) туура иштеши үчүн ЖОГОРУ тартылышы керек (эгер андай болбосо - MCU өзүн биротоло баштапкы абалга келтирет).

Түзмөктү USB аркылуу программалоого жана заряддоого уруксат берүү үчүн, мен AVR ISP программистин тиркеп койдум (eBayден алынган чакан продукт). Түзмөктүн толук USB колдоосун камсыз кылуу үчүн, USB Type-A (D+, D-, VBUS жана GND) терминалдарын AVR ISP түзмөгү менен байлап коюу керек.

Waveform Generation Circuit

Түзмөктүн өзөгү - бул микросхемалар. AD9834-бул кубаттуулугу аз DDS түзмөгү, ал бизге системадан алууну каалаган толкун формаларынын бардыгын камсыз кылат. Микросхемаларда бөлүнгөн тышкы 50 МГц осцилляторлору бар эки көз карандысыз AD9834 IC бар (схемада көрүнүп тургандай). Бөлүнгөн осциллятордун себеби санариптик микросхемалардын ызы -чууну басаңдатуусу, ошондуктан AD9834кө жанаша жайгашкан осцилляторлор менен туура 50 МГц линияларын иштетүү чечими кабыл алынды.

Эми математиканы карап көрөлү:

DDS түзмөгү Phase Wheel технологиясында иштегендиктен, 28-биттик реестрде чыгарылган мааниде, биз толкун формасын муунду математикалык түрдө сүрөттөп бере алабыз:

dP (фаза) = tdt; ω = P '= 2πf; f (AD9834) = ΔP * f (clk) / 2^28; ΔP ∈ [0: 2^28 - 1]

Жана AD9834 маалымат барагына ылайык, максималдуу жыштыкты эске алуу менен, чыгаруу жыштыгынын чечилишин алууга болот:

Δf = k * f (осциллятор) / f (максимум) = 0.28 * 50M / 28M = 0.187 [Гц]

AD9834 ICs үч бурчтук/синус толкуну үчүн аналогдук ток чыгарууну (IOUT терминалы) жана квадрат толкуну үчүн санариптик чыгууну камсыз кылат (SIGN_OUT терминалы). Белги битти колдонуу бир аз татаал, бирок биз аны чече алабыз - DDS салыштыруу маанисинин босогосун өткөн сайын, SIGN_OUT ошого жараша иштейт. 200Ohm резистору ар бир каналдын чыгуусуна тиркелет, андыктан чыгуу чыңалуусу мааниге ээ болот:

I (бир канал) = V (чыгаруу) / R (чыңалуу тандоо); V (чыгаруу) = R (VS)*I (SS) = 200I (SS) [A]

Амплитуданы башкаруу (D/A) микросхемалары

AD9834 маалымат барагына ылайык, анын амплитудасы DDS толук масштабдуу системасына ток берүү аркылуу жөнгө салынышы мүмкүн, андыктан кош D/A ICдин жардамы менен, биз ошол токту тууралоо менен чыгуу сигналынын амплитудасын башкара алабыз. Дагы бир жолу математика:

I (толук масштабдуу) = 18 * (V_REF - V_DAC) / R_SET [A]

Схемаларга жана кээ бир сандарды теңдемеге ылайык:

Мен (толук масштабдуу) = 3.86 - 1.17 * V_DAC [A]

D/Дизайнда колдонулган модуль 12-разряддуу MCP4922 болуп саналат, учурда ток [0mA: 3.86mA] диапазонунда жана сызыктуу амплитудалык функция:

V (амплитуда тандоо) = 1 - [V (D / A) / (2^12 - 1)]

Толкун формасынын мультиплексирлөө микросхемасы

Квадрат толкуну жана синус/үч бурчтук толкундарынын муундагы чыгымдары AD9834те бөлүнөт, ошондуктан биз каалаган бөлүнгөн каналдан бардык керектүү толкун формаларын алууга уруксат берүү үчүн эки жыйынтык үчүн тең жогорку ылдамдыктагы мультиплекстөө схемасын колдонушубуз керек. Мультиплексор IC-бул ADG836L аналогдук өтө начар каршылык менен (~ 0.5Ohm).

MCU чыгаруулар үчүн колдонгон тандоо столу төмөнкүдөй:

Режим тандоо [D2: D1] | Чыгуу каналы A | Чыгуу каналы В.

00 | Синус/Triangle | Sine/Triangle 01 | Синус/Triangle | Square 10 | Square | Синус/Triangle 11 | Square | Square

Bias Voltage Control (D/A) микросхемалары

Толкун формасынын генераторунун негизги өзгөчөлүктөрүнүн бири анын DC баасын көзөмөлдөө. Бул долбоордо ар бир каналга керектүү D/A чыңалуусун коюу менен жасалат жана бул бир жактуу чыңалуу биз бир аз мурда талкуулаган мультиплекстүү жыйынтыктар менен жыйынтыкталат.

D/Aдан алынган чыңалуу [0V: +3.3V] диапазонунда турат, андыктан D/A диапазонун [-3.3V: +3.3V] менен картага алган оп-ампка негизделген схема бар, бул түзмөккө толук диапазонду камсыз кылууга мүмкүндүк берет. каалаган DC компоненти. Биз тажатма аналитикалык математиканы өткөрүп жиберип, акыркы жыйынтыктарга гана көңүл бурабыз:

V_OUT (канал B) = V_BIAS_B (+) - V_BIAS_B (-); V_OUT (канал A) = V_BIAS_A (+) - V_BIAS_A (-)

Эми, DC компоненттеринин диапазону [-3.3V: +3.3V] диапазонунда жайгашкан.

Суммаларды жыйынтыктоо - DC компоненттери жана толкун формалары

Бул жерде бизде түзмөктүн туура чыгышы үчүн керектүү нерселердин бардыгы бар - толук чыңалуу диапазонунда Bias Voltage (DC компоненти) жана AD9834 мультиплекстүү чыгышы. Биз муну сумманы күчөткүч - op -amp конфигурациясын колдонуу менен жасайбыз

Келгиле, дагы бир жолу математиканы аттап өтөлү (Биз буга чейин көптөгөн математикалык ыкмаларды камтыганбыз) жана жыйынтыктоочу күчөткүчтүн акыркы жыйынтыгын жазалы:

V (түзмөктүн чыгышы) = V (оң жактуулук) - V (терс жактуу) - V (мультиплекстүү чыгаруу) [V]

Демек:

V_OUT = ΔV_BIAS - V_AD9834 [V]

BNC түрүндөгү чыгуучу туташтыргычтар тандоо резисторлору менен туташат (R54, R55; R56, R57). Мунун себеби, эгерде дизайн иштебей калышы мүмкүн болсо, анда биз сумманы күчөткүчтү колдонууну кааласак дагы тандай алабыз.

Маанилүү эскертүү: Акыркы сумманы күчөткүчтөрдүн резистордук тармактары түзмөктөн алынуучу максималдуу амплитудасын өзгөртүү үчүн дизайнер тарабынан жөнгө салынышы мүмкүн. Менин учурда, бардык амперлер бирдей кирешени бөлүшөт = 1, ошондуктан максималдуу буфердик амплитудасы үч бурчтук/синус толкуну үчүн 0.7Vpp жана квадрат толкуну үчүн 3.3Vpp болуп саналат. Конкреттүү математикалык ыкманы кадамдын тиркелген сүрөттөрүнүн арасынан тапса болот.

ESP32 тышкы модул катары

MCU USP интерфейси аркылуу ESP32 менен байланышат. Мен ESP32 үчүн өзүмдүн ПХБны каалагандыктан, туташуу үчүн 4 терминал бар: VCC, RX, TX, GND. J7 - бул ПКБнын ортосундагы интерфейс туташтыргычы жана ESP32 түзмөктүн ичинде тышкы модуль катары бөлүнөт.

Колдонуучу интерфейси - ЖК жана Динамик

Колдонулган ЖК - бул 4 -биттик интерфейси бар жалпы 20 х 4 белгиден турган дисплей, дизайндан көрүнүп тургандай, "A" жана "V0" ЖК терминалдарына тиркелген SPI санарип потенциометри бар - анын максаты - жөнгө салуу ЖК модулунун жарыктыгы жана контрасты программалык түрдө.

Динамик MCUдан жөнөкөй квадрат толкуну аркылуу колдонуучуга үн чыгарууну камсыз кылат. BJT T1 токту эки абалда боло турган динамик аркылуу башкарат - ON / OFF.

5 -кадам: Аппараттык дизайн - ESP32 модулу

Аппараттык дизайн - ESP32 модулу
Аппараттык дизайн - ESP32 модулу

ESP32 негизги ПХБ үчүн тышкы модуль катары колдонулат. Түзмөктүн байланышы жалпы команданын программасында жеткиликтүү болгон AT буйруктарына негизделген.

Бул дизайнды кеңейтүү үчүн көп нерсе жок, бирок дизайн үчүн кээ бир эскертүүлөр бар:

  • ESP32нин туура UART модулун колдонбоо үчүн, мен TX жана RX линиялары үчүн үч тандоо каршылыгын тиркем. (Ар бири үчүн 0Ohm). Стандарттык конфигурация үчүн UART2 модулу AT буйруктары үчүн колдонулат (R4, R7 ширетилиши керек)
  • Түзмөк 4 саптуу чыгууга ээ - VCC, GND, TX, RX.
  • IO0 жана EN казыктары түзмөктүн иштешин баалашат жана схемада көрсөтүлгөндөй иштелип чыгышы керек

Бардык PCB өзгөчөлүктөрүн биз кийинки кадамда карайбыз.

6 -кадам: PCB макети

PCB Layout
PCB Layout
PCB Layout
PCB Layout
PCB Layout
PCB Layout

ПХБ долбоорлоо максаттары

  1. Ошол тактадагы бардык интегралдык микросхемалар үчүн камтылган системаны түзүңүз
  2. Жалгыз негизги ПХБ долбоорлоо аркылуу түзмөктүн иштешин жакшыртуу
  3. Чыгымдарды кыскартуу - эгерде сиз бааларды карап көргүңүз келсе, арзан баалуу дизайндар ЧЫНЫНДА арзан
  4. Электрондук тактанын өлчөмүн азайтыңыз
  5. Мүчүлүштүктөрдү оңой оңдоо - Биз ар бир мүмкүн болгон иштебей турган линия үчүн TPs (Test points) колдоно алабыз.

Техникалык параметрлер

ПХБнын экөө тең: негизги жана ESP32 такталары өндүрүш процесси үчүн бирдей мүнөздөмөлөргө ээ - биздин баалар үчүн арзан жана иштей турган. Кел, аларды карап көрөлү:

А - Башкарма

  • Өлчөмү: 10см x 5.8см
  • Катмарлардын саны: 2
  • PCB дыгын: 1.6мм
  • Минималдуу из боштук/туурасы: 6/6мил
  • Минималдуу тешик диаметри аркылуу: 0.3мм
  • Жез PCB минималдуу аралыктын четине чейин: 20мил
  • Беттик бүтүрүү: HASL (Абдан жакшы көрүнгөн күмүш түстүү арзан түрү)

B - Башкы башкармалык

  • Өлчөмү: 3см x 4см
  • Катмарлардын саны: 2
  • PCB дыгын: 1.6мм
  • Минималдуу из боштук/туурасы: 6/6мил
  • Минималдуу тешик диаметри аркылуу: 0.3мм
  • Жез PCB минималдуу аралыктын четине чейин: 20мил
  • Беттик бүтүрүү: HASL

7 -кадам: 3D тиркөө

3D тиркемеси
3D тиркемеси

Мен аны өзүм ойлоп тапкан жокмун, анткени ал кезде мен бул түзмөктү иштөөгө көндүргөм, ошондуктан 3D басып чыгаруунун негиздерин такыр билчү эмесмин. Ошентип, мен Thingiverseден SCAD долбоорун колдондум жана менин түзмөгүмдүн спецификациясына ылайык, ар кандай диафрагмаларды чек араларга бекиттим.

  1. Басып чыгаруу түзмөгү: Creality Ender-3
  2. Керебеттин түрү: айнек, калыңдыгы 5 мм
  3. Жиптин диаметри: 1.75мм
  4. Жип түрү: PLA+
  5. Шлангдын диаметри: 0.4 мм
  6. Баштапкы ылдамдык: 20мм/сек
  7. Орточо ылдамдык: 65мм/сек
  8. Колдоо: Жок
  9. Толтуруу: 25%
  10. Температура:

    • Төшөк: 60 (oC)
    • Мурун: 215 (oC)
  11. Жип түсү: Кара
  12. Тешиктердин жалпы саны: 5
  13. Корпус панелдеринин саны: 4

    • TOP Shell
    • Bottom Shell
    • Алдыңкы панель
    • Арткы панель

8 -кадам: Программаны ишке ашыруу - MCU

Программалык камсыздоону ишке ашыруу - MCU
Программалык камсыздоону ишке ашыруу - MCU
Программалык камсыздоону ишке ашыруу - MCU
Программалык камсыздоону ишке ашыруу - MCU
Программалык камсыздоону ишке ашыруу - MCU
Программалык камсыздоону ишке ашыруу - MCU

GitHub Android жана Atmega32 кодуна шилтеме

Программалык камсыздоо алгоритми

MCU тарабынан аткарылган бардык операциялар тиркелген схемаларда сүрөттөлгөн. Мындан тышкары, долбоор үчүн тиркелген код бар. Келгиле, программалык камсыздоонун өзгөчөлүктөрүн карап көрөлү:

Кубаттоо

Бул этапта MCU бардык инициализация тизмектерин аткарат жана Android түзмөгү менен сакталган байланыштын түрүн аныктайт: Түз WiFi же WLAN тармагы - бул маалыматтар EEPROMдо сакталат. Колдонуучу бул этапта Android түзмөгүнүн жупташуу түрүн кайра аныктай алат.

Түз Android түзмөгүн жупташтыруу

Жупташуунун бул түрү FuncGen түзмөгү тарабынан WiFi тармагын түзүүгө негизделген. Бул белгилүү бир SSID (WiFi тармагынын аталышы) жана белгилүү бир порт номери менен жергиликтүү түзмөктүн IP дарегинде AP (Access Point) жана TCP серверин түзөт. Түзмөк абалын кармашы керек - туташуулар үчүн ачык.

Android түзмөгү FuncGenге туташканда, MCU ACTIVE режимине кирип, Android түзмөгүнүн колдонуучусунун көрсөтмөлөрүнө ылайык жооп берет.

WLAN Pairing

Жергиликтүү WiFi тармагы менен байланышуу үчүн MCU ESP32ге AP түзүүгө, Android түзмөгү менен байланышууга жана тармактын маанилүү маалыматтарын алмашууга буйрук бериши керек:

  • Android түзмөгү FuncGenден MAC дарегин алат, аны эсинде сактайт.
  • FuncGen түзмөгү Android түзмөгүнүн тандалган WLAN параметрлерин алат: SSID, коопсуздуктун түрү жана Сырсөз жана аны EEPROMда сактайт.

Түзмөктөр чын эле ошол WLANга туташканда, Android түзмөгү WLANга туташкан түзмөктөрдүн бардык MAC даректерин сканерлеп, FuncGen издейт. Android түзмөгү MAC далдыгын аныктаганда, ал байланышууга аракет кылат.

Байланыш жана мамлекеттик иштетүү - MCU

Түзмөктөр бири-бири менен байланышканда, протокол (Акыркы кадамды караңыз) ошол бойдон калат жана блок-схема бирдей.

Түзмөктүн абалына мониторинг жүргүзүү

Мөөнөттүү үзгүлтүк MCUга мамлекеттик башкаруу үчүн керектүү деталдарды берет. Таймердин үзгүлтүгүнүн ар бир цикли, параметрлердин төмөнкү тизмеси жаңыртылат:

  • Тышкы электр менен камсыздоо - On/Off
  • Батареядагы чыңалуу абалы
  • Ар бир ыңгайлаштыруу үчүн UI жаңыртуусу
  • Баскыч: Басылган/Басылган эмес

9 -кадам: Программаны ишке ашыруу - Android колдонмосу

Программаны ишке ашыруу - Android колдонмосу
Программаны ишке ашыруу - Android колдонмосу
Программаны ишке ашыруу - Android колдонмосу
Программаны ишке ашыруу - Android колдонмосу
Программаны ишке ашыруу - Android колдонмосу
Программаны ишке ашыруу - Android колдонмосу
Программаны ишке ашыруу - Android колдонмосу
Программаны ишке ашыруу - Android колдонмосу

Android колдонмосу Java-Android стилинде жазылган. Алгоритмди өзүнчө код блокторуна бөлүү менен, мен муну мурунку кадамдардагыдай түшүндүрүүгө аракет кылам.

Power Up ырааттуулугу

Түзмөктүн биринчи ырааттуулугу. Бул жерде колдонмонун логотиби Android түзмөгүнүн GPS жана WiFi модулдарын иштетүү менен кошо берилет (Кабатыр болбоңуз, GPS WiFi тармактарын сканерлөө үчүн гана керек).

Башкы меню

Колдонмо жүктөлгөндөн кийин экранда төрт баскыч пайда болот. Баскычтардын аракети:

  1. ТҮЗ БАЙЛАНЫШ: IOT_FUNCGENдин SSID тарабынан FuncGenдин APге туташуусу башталууда. Эгер туташуу ийгиликтүү болсо, түзмөк UI негизги режимине кирет.
  2. WIFI БАЙЛАНЫШЫ: Түзмөк эс тутумунда сакталган маалымат параметрлери бар -жогун текшерет: wifi.txt, mac.txt. Эгерде эч кандай маалымат сакталбаса, түзмөк колдонуучунун өтүнүчүн четке кагат жана WLAN жупташуу биринчи аткарылышы керек деген калкыма билдирүүнү берет.
  3. ЖУБДАНДЫРУУ: FuncGen менен DIRECT CONNECTION сыяктуу эле баарлашуу, бирок үзгүлтүксүз билдирүү алмашуунун ордуна, бир кол кармашуу бар. Android түзмөгү WiFi тармагына туташкандыгын текшерет жана колдонуучудан сырсөздү киргизүүнү суранат. Эгерде кайра туташуу ийгиликтүү болсо, Android түзмөгү SSIDди жана сырсөздү wifi.txt файлында сактайт. FuncGen менен ийгиликтүү баарлашкандан кийин, ал Mac.txt файлында алынган MAC дарегин сактайт.
  4. Чыгуу: жетиштүү айтылды:)

WiFi сканерлөө менеджери

Мен колдонмонун иштешин жана колдонмодон тышкаркы өзгөртүүлөрдү киргизбешин кааладым. Ошентип, мен WiFi сканерин иштеп чыктым, ал белгилүү тармактын ачкычы жана SSID менен WiFi тармагына туташуу үчүн бардык керектүү операцияларды аткарат.

Маалыматтарды берүү жана TCP байланышы

Бул колдонмодогу негизги код блогу. Бардык UI бирдиктери үчүн белгилүү бир форматта аныкталган билдирүү бар (Акыркы кадам), ал FuncGenди каналдар үчүн керектүү чыгарууну берүүгө мажбурлайт. Иште UI талааларынын үч түрү бар:

  1. Барларды издөө: Бул жерде биз FuncGen чыгаруу параметрлеринин реалдуу диапазонун аныктайбыз

    1. Амплитуда
    2. DC Offset
    3. LCD жарыктыгы
    4. LCD Контраст
  2. Текстти түзөтүү: Бүтүн сандардын маанисин так жана так сактоо үчүн жыштыкты киргизүү сандар аркылуу гана жүргүзүлөт
  3. Баскычтар: Жеткиликтүү тизмелерден параметрлерди тандоо:

    1. Толкун формасы

      1. Синус
      2. Triangle
      3. DC
      4. Square
      5. ӨЧҮК
    2. Маалымат алуу

      1. Батарея абалы (пайыз)
      2. AC статусу (Тышкы электр менен камсыздоо)
    3. Жүктөө опциясы (FuncGen MCU үчүн)

      1. Заводдук жөндөө
      2. Кайра жүргүзүү
      3. Өчүрүү
      4. Түз - түз жупташтыруу режими менен өчүрүп күйгүзүү
      5. WLAN - WLAN жупташтыруу режими менен өчүрүп күйгүзүү
    4. Негизги менюдан чыгуу: жетиштүү:)

10 -кадам: Тестирлөө

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