Мазмуну:
- 1 -кадам: Блок диаграммасы - Аппараттык
- 2 -кадам: Блок диаграммасы - Тармак
- 3 -кадам: Бөлүктөр, Куралдар, IDE жана Билл
- 4 -кадам: Аппараттык Дизайн - Башкы Башкарма
- 5 -кадам: Аппараттык дизайн - ESP32 модулу
- 6 -кадам: PCB макети
- 7 -кадам: 3D тиркөө
- 8 -кадам: Программаны ишке ашыруу - MCU
- 9 -кадам: Программаны ишке ашыруу - Android колдонмосу
- 10 -кадам: Тестирлөө
Video: WiFi жана Androidдеги Portable Function Generator: 10 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:36
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 жана Билл
Билл материалдары (тиркелген 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 түзмөктөрү:
- D/A амплитудасын башкаруу үчүн - А каналы
- D/A амплитудасын башкаруу үчүн - Канал B
- AD9834 түзмөгү - А каналы
- AD9834 түзмөгү - Канал Б.
- D/A чыңалуусун көзөмөлдөө үчүн - Channel A
- D/A чыңалуусун көзөмөлдөө үчүн - Channel B
- Санарип потенциометр LCD жарыктыгы/контрастын орнотуулары үчүн
- ЖК колдоосу - ЖК жалпы 20 х 4 белгиден турган дисплей болгондуктан, биз 4 -бит интерфейсин (D7 линиялары: D4), көзөмөл казыктарын (RS, E линиялары) жана жарыктыкты/контрастты көзөмөлдөөнү (V0 жана Анод линиялары) колдонуп жатабыз.
- RGB LED колдоосу - Бул модуль милдеттүү эмес, бирок MCUга туташкан тиешелүү каршылыгы бар жалпы катоддук RGB LED туташтыргычы бар.
-
Power Control - MCU реалдуу убакыт режиминде энергия системасынын мониторингин жүргүзөт жана керектүү бардык кубаттуулуктарды башкарат:
- VBAT_ADC - Батарея чыңалуусун көзөмөлдөө жана анын абалын аныктоо (ADC0 каналы)
- PWR_IND - тышкы электр менен камсыздоонун туташуусу (ADC1 каналы)
- PS_HOLD - Бардык аныкталган системалар үчүн негизги кубаттуулукту иштетүүчү линия. MCU тарабынан төмөн тартылганда, түзмөк өчүрүлөт
- Акылдуу коммутатордун үзгүлтүккө учуроочу терминалы - баскычтын абалынын мониторинги
- 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 негизги ПХБ үчүн тышкы модуль катары колдонулат. Түзмөктүн байланышы жалпы команданын программасында жеткиликтүү болгон AT буйруктарына негизделген.
Бул дизайнды кеңейтүү үчүн көп нерсе жок, бирок дизайн үчүн кээ бир эскертүүлөр бар:
- ESP32нин туура UART модулун колдонбоо үчүн, мен TX жана RX линиялары үчүн үч тандоо каршылыгын тиркем. (Ар бири үчүн 0Ohm). Стандарттык конфигурация үчүн UART2 модулу AT буйруктары үчүн колдонулат (R4, R7 ширетилиши керек)
- Түзмөк 4 саптуу чыгууга ээ - VCC, GND, TX, RX.
- IO0 жана EN казыктары түзмөктүн иштешин баалашат жана схемада көрсөтүлгөндөй иштелип чыгышы керек
Бардык PCB өзгөчөлүктөрүн биз кийинки кадамда карайбыз.
6 -кадам: PCB макети
ПХБ долбоорлоо максаттары
- Ошол тактадагы бардык интегралдык микросхемалар үчүн камтылган системаны түзүңүз
- Жалгыз негизги ПХБ долбоорлоо аркылуу түзмөктүн иштешин жакшыртуу
- Чыгымдарды кыскартуу - эгерде сиз бааларды карап көргүңүз келсе, арзан баалуу дизайндар ЧЫНЫНДА арзан
- Электрондук тактанын өлчөмүн азайтыңыз
- Мүчүлүштүктөрдү оңой оңдоо - Биз ар бир мүмкүн болгон иштебей турган линия үчүн 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 басып чыгаруунун негиздерин такыр билчү эмесмин. Ошентип, мен Thingiverseден SCAD долбоорун колдондум жана менин түзмөгүмдүн спецификациясына ылайык, ар кандай диафрагмаларды чек араларга бекиттим.
- Басып чыгаруу түзмөгү: Creality Ender-3
- Керебеттин түрү: айнек, калыңдыгы 5 мм
- Жиптин диаметри: 1.75мм
- Жип түрү: PLA+
- Шлангдын диаметри: 0.4 мм
- Баштапкы ылдамдык: 20мм/сек
- Орточо ылдамдык: 65мм/сек
- Колдоо: Жок
- Толтуруу: 25%
-
Температура:
- Төшөк: 60 (oC)
- Мурун: 215 (oC)
- Жип түсү: Кара
- Тешиктердин жалпы саны: 5
-
Корпус панелдеринин саны: 4
- TOP Shell
- Bottom Shell
- Алдыңкы панель
- Арткы панель
8 -кадам: Программаны ишке ашыруу - 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 колдонмосу Java-Android стилинде жазылган. Алгоритмди өзүнчө код блокторуна бөлүү менен, мен муну мурунку кадамдардагыдай түшүндүрүүгө аракет кылам.
Power Up ырааттуулугу
Түзмөктүн биринчи ырааттуулугу. Бул жерде колдонмонун логотиби Android түзмөгүнүн GPS жана WiFi модулдарын иштетүү менен кошо берилет (Кабатыр болбоңуз, GPS WiFi тармактарын сканерлөө үчүн гана керек).
Башкы меню
Колдонмо жүктөлгөндөн кийин экранда төрт баскыч пайда болот. Баскычтардын аракети:
- ТҮЗ БАЙЛАНЫШ: IOT_FUNCGENдин SSID тарабынан FuncGenдин APге туташуусу башталууда. Эгер туташуу ийгиликтүү болсо, түзмөк UI негизги режимине кирет.
- WIFI БАЙЛАНЫШЫ: Түзмөк эс тутумунда сакталган маалымат параметрлери бар -жогун текшерет: wifi.txt, mac.txt. Эгерде эч кандай маалымат сакталбаса, түзмөк колдонуучунун өтүнүчүн четке кагат жана WLAN жупташуу биринчи аткарылышы керек деген калкыма билдирүүнү берет.
- ЖУБДАНДЫРУУ: FuncGen менен DIRECT CONNECTION сыяктуу эле баарлашуу, бирок үзгүлтүксүз билдирүү алмашуунун ордуна, бир кол кармашуу бар. Android түзмөгү WiFi тармагына туташкандыгын текшерет жана колдонуучудан сырсөздү киргизүүнү суранат. Эгерде кайра туташуу ийгиликтүү болсо, Android түзмөгү SSIDди жана сырсөздү wifi.txt файлында сактайт. FuncGen менен ийгиликтүү баарлашкандан кийин, ал Mac.txt файлында алынган MAC дарегин сактайт.
- Чыгуу: жетиштүү айтылды:)
WiFi сканерлөө менеджери
Мен колдонмонун иштешин жана колдонмодон тышкаркы өзгөртүүлөрдү киргизбешин кааладым. Ошентип, мен WiFi сканерин иштеп чыктым, ал белгилүү тармактын ачкычы жана SSID менен WiFi тармагына туташуу үчүн бардык керектүү операцияларды аткарат.
Маалыматтарды берүү жана TCP байланышы
Бул колдонмодогу негизги код блогу. Бардык UI бирдиктери үчүн белгилүү бир форматта аныкталган билдирүү бар (Акыркы кадам), ал FuncGenди каналдар үчүн керектүү чыгарууну берүүгө мажбурлайт. Иште UI талааларынын үч түрү бар:
-
Барларды издөө: Бул жерде биз FuncGen чыгаруу параметрлеринин реалдуу диапазонун аныктайбыз
- Амплитуда
- DC Offset
- LCD жарыктыгы
- LCD Контраст
- Текстти түзөтүү: Бүтүн сандардын маанисин так жана так сактоо үчүн жыштыкты киргизүү сандар аркылуу гана жүргүзүлөт
-
Баскычтар: Жеткиликтүү тизмелерден параметрлерди тандоо:
-
Толкун формасы
- Синус
- Triangle
- DC
- Square
- ӨЧҮК
-
Маалымат алуу
- Батарея абалы (пайыз)
- AC статусу (Тышкы электр менен камсыздоо)
-
Жүктөө опциясы (FuncGen MCU үчүн)
- Заводдук жөндөө
- Кайра жүргүзүү
- Өчүрүү
- Түз - түз жупташтыруу режими менен өчүрүп күйгүзүү
- WLAN - WLAN жупташтыруу режими менен өчүрүп күйгүзүү
- Негизги менюдан чыгуу: жетиштүү:)
-
10 -кадам: Тестирлөө
Сунушталууда:
DIY Function/Waveform Generator: 6 кадам (Сүрөттөр менен)
DIY Function/Waveform Generator: Бул долбоордо биз DIY версиясы үчүн кандай өзгөчөлүктөр маанилүү экенин аныктоо үчүн коммерциялык функцияга/толкун формасындагы генераторлорго кыскача карап чыгабыз. Андан кийин мен сизге жөнөкөй функция генераторун, аналогду жана цифраны кантип түзүүнү көрсөтөм
Фейсбукту Androidдеги видеолорду автоматтык түрдө ойнотуудан кантип токтотсо болот!: 10 кадам
Фейсбукту Androidдеги видеолорду автоматтык түрдө ойнотуудан кантип токтотуу керек !!: Бул көрсөтмө сизге фейсбукту андроид түзмөгүндө видеолордо да, wifiде да автоматтык түрдө ойнотууну кантип токтотууну көрсөтөт. Сураныч, менин каналыма жазылыңыз Рахмат
Androidдеги содалык чаң сенсору: 6 кадам
Androidдеги Sodial Dust Sensor: Бир жыл мурун менин бир досум экологиялык мониторинг боюнча дем алыш күндөрү семинар өткөргөн. Семинардын максаты - тез -тез жаңыртылып турган чаңды камсыз кылган кээ бир серверге өлчөө маалыматын коюу үчүн малина пи тактасына туташкан чаң сенсорун куруу болчу
Arduinoдогу Portable Function Generator: 7 кадам (Сүрөттөр менен)
Arduinoдогу Portable Function Generator: Функция генератору - бул абдан пайдалуу курал, айрыкча, биз схемабыздын белгилүү бир сигналга болгон реакциясын текшерип жатканда. Бул көрсөтмөдө мен кичинекей, колдонууга оңой, көчмө функция генераторунун курулуш ыраатын сүрөттөп берем
DIY Function Generator (ICL8038) 0 Гц - 400Khz: 11 кадам
DIY Функция Генератору (ICL8038) 0 Гц - 400КГц: Функция Генераторлору электроникалык отургучта абдан пайдалуу курал, бирок бул кымбатка турушу мүмкүн, бирок бизде аны арзан куруунун көптөгөн варианттары бар. Бул долбоордо биз ICl8038 колдонобуз