Përmbajtje:

Gjenerator i funksioneve portativ në WiFi dhe Android: 10 hapa
Gjenerator i funksioneve portativ në WiFi dhe Android: 10 hapa

Video: Gjenerator i funksioneve portativ në WiFi dhe Android: 10 hapa

Video: Gjenerator i funksioneve portativ në WiFi dhe Android: 10 hapa
Video: НЕ ВЗДУМАЙ снимать аккумулятор с машины. Делай это ПРАВИЛЬНО ! 2024, Nëntor
Anonim
Gjenerator i funksioneve portativ në WiFi dhe Android
Gjenerator i funksioneve portativ në WiFi dhe Android
Gjenerator i funksioneve portativ në WiFi dhe Android
Gjenerator i funksioneve portativ në WiFi dhe Android
Gjenerator i funksioneve portativ në WiFi dhe Android
Gjenerator i funksioneve portativ në WiFi dhe Android
Gjenerator i funksioneve portativ në WiFi dhe Android
Gjenerator i funksioneve portativ në WiFi dhe Android

Afër fundit të shekullit të 20 -të, u shfaqën risi të ndryshme teknologjike, veçanërisht në fushën e komunikimit; por jo vetem Për ne, përdoruesit, konsumatorët dhe inxhinierët dolën në dritë me zhvillimin e shpejtë të pajisjeve elektronike, të cilat mund ta bëjnë jetën tonë shumë më të lehtë: Orë të zgjuara, shtëpi të zgjuara, smartphone etj.

Meqenëse gjithçka mund të jetë "e zgjuar" në ditët e sotme, kam vendosur të krijoj një pajisje super të dobishme për të qenë pjesë e pajisjeve thelbësore elektronike të laboratorit - Portable Function Generator, e kontrollueshme nga smartphone i bazuar në Android OS nëpërmjet WiFi direkt ose WiFi Local Area Network (WLAN)

Pse duhet ta ndërtojmë këtë pajisje?

Shumica dërrmuese e pajisjeve të testimit janë shumë të shtrenjta në ditët e sotme. Dhe ndonjëherë, këto pajisje nuk janë të lëvizshme. Si një zgjidhje për çmimet e larta, mungesën e transportueshmërisë dhe mungesën e aksesit në rrjetin e pajisjes, pajisja siguron gjenerator të formave të valëve me dy kanale, që është vërtet i lëvizshëm dhe ka një qasje të pakufizuar në rrjet - qoftë internet ose lokal.

Dhe sigurisht, pajisja duhet të ndërtohet për shkak të entuziazmit, duke iu bindur parimeve të DIY - Ndonjëherë ne vetëm duhet të bëjmë gjëra vetë në mënyrë që të ndihemi të drejtë:)

Karakteristikat kryesore

Furnizimi me energji elektrike

  • Lidhës USB Type-A, si për sistemet e furnizimit me energji ashtu edhe për programimin
  • Sistemi i plotë i menaxhimit të baterisë Li -Ion - Mënyra e karikimit dhe e qëndrueshme
  • Zbatimi i Smart Switch - nuk ka nevojë për ndërprerës të ndërrimit të energjisë
  • Furnizimi me energji i dyfishtë: +3.3V dhe -3.3V për gjenerimin e formës valore simetrike të tensionit

Gjenerimi i formës valore

  • Zbatimi i nivelit DC në kaskadën e daljes - formë e njëanshme e valës midis kufijve të tensionit
  • Krijimi i formës valore të tipit 4 me bazë DDS - Sinus, trekëndësh, katror dhe DC
  • Mbështetje për frekuencë deri në 10 MHz
  • Rryma e daljes deri në 80mA me 500mW fuqi maksimale në dispozicion
  • Kanalet e ndara për gjenerimin e formave valore - qarqet e ndara AD9834

Komunikimi

  • Zbatimi i ESP32 - Aftësitë e zbatueshme WiFi
  • Mbështetje e plotë TCP/IP nga pajisja gjeneruese dhe smartphone Android
  • Aftësia për të ruajtur parametrat e përdoruesit për çdo cikël të pajisjes
  • Monitorimi shtetëror - të dy sistemet janë të vetëdijshëm për gjendjen e njëri -tjetrit: FuncGen (le ta quajmë kështu tani e tutje) dhe smartphone.

Ndërfaqja e përdoruesit

  • 20 x 4 Karakter LCD me ndërfaqe të thjeshtë 4-bit të të dhënave
  • Aplikimi Android - kontroll i plotë i përdoruesit mbi pajisjen FuncGen
  • Qarku i sinjalizimit - reagime të shëndosha për përdoruesit

Hapi 1: Diagrami i Bllokut - Pajisje kompjuterike

Diagrami i Bllokut - Pajisje kompjuterike
Diagrami i Bllokut - Pajisje kompjuterike
Diagrami i Bllokut - Pajisje kompjuterike
Diagrami i Bllokut - Pajisje kompjuterike

Njësia e mikrokontrolluesit - ATMEGA32L

Mikrokontrolluesi është një çip i programueshëm që përbëhet nga të gjitha funksionalitetet e kompjuterit që ndodhen në një çip të vetëm elektronik. Në rastin tonë, është "truri" dhe një përbërës qendror i sistemit. Qëllimi i MCU është të menaxhojë të gjitha sistemet periferike, të trajtojë komunikimin midis këtyre sistemeve, të kontrollojë funksionimin e harduerit dhe të sigurojë mbështetje të plotë për ndërfaqen e përdoruesit dhe ndërveprimin e tij me një përdorues aktual. Ky projekt i bazuar në ATMEGA32L MCU, që mund të funksionojë në 3.3V dhe një frekuencë prej 8MHz.

Komunikimi SoC - ESP32

Ky SoC (System on Chip) siguron mbështetje të plotë komunikimi për FuncGen - Qasje në aftësitë WiFi duke përfshirë komunikimin direkt, lokal ose në internet. Qëllimet e pajisjes janë:

  • Trajtimi i transmetimit të të dhënave midis aplikacionit Android dhe pajisjes FuncGen
  • Menaxhimi i mesazheve të kontrollit/të dhënave
  • Mbështetje e konfigurimit të vazhdueshëm TCP/IP Client-Server

Në projektin tonë SoC është espressif ESP32, që është shumë i popullarizuar për tu zgjeruar edhe më tej:)

Sistemi i Menaxhimit të Baterisë Li-Jon

Për të transformuar pajisjen tonë në një të lëvizshme, pajisja përmban qarkun e ngarkuar të baterisë Li-Ion të projektuar. Qarku bazohet në IC MC73831, me rrymë ngarkimi të kontrollueshme duke rregulluar vlerën e një rezistence të vetme programimi (Ne do ta mbulojmë këtë temë në hapin e Skematikës). Hyrja e furnizimit me energji të pajisjes është lidhësi USB Type-A.

Qarku i Ndërrimit të Zgjuar

Qarku i kontrollit të energjisë së pajisjes me ndërprerës inteligjent siguron kontroll të plotë të softuerit mbi sekuencën e fikjes së pajisjes dhe mungesën e nevojës për ndërprerës të jashtëm të ndërrimit për ndërprerjen e tensionit të baterisë së pajisjes. Të gjitha operacionet e energjisë bëhen duke shtypur butonin dhe softuerin e MCU. Në disa raste, do të ishte e nevojshme të fiket sistemi: Tension i ulët i baterisë, tension i lartë hyrës, gabim komunikimi etj. Ndërprerësi inteligjent bazohet në IC ndërprerës inteligjent STM6601, i cili është i lirë dhe shumë miqësor për të luajtur me të.

Njësia kryesore e furnizimit me energji elektrike

Kjo njësi përbëhet nga dy qarqe të furnizimit me energji të drejtuar nga bateria - +3.3V për të gjitha qarqet dixhitale / analoge të furnizimit dhe -3.3V për daljen simetrike të FunGen në lidhje me potencialin 0V (p.sh. forma e gjeneruar e valës mund të vendoset në [-3.3V: 3.3V] Rajon.

  • Qarku kryesor i furnizimit bazohet në LP3875-3.3 LDO (braktisje e ulët) 1A rregullator linear i tensionit.
  • Qarku sekondar i furnizimit bazohet në LM2262MX IC, që kryen konvertimin e tensionit negativ DC-DC përmes kondensatorit-pompës së ngarkimit-sistemit në të cilin IC është i bazuar.

Sistemi i Gjeneratorëve të Formave Vale

Sistemi u krijua me theks në qarqet e integruara të veçanta DDS (sinteza direkte dixhitale), të cilat lejojnë kontroll të plotë të gjenerimit të formës valore nga SPI e MCU (ndërfaqja serike periferike). Qarqet që janë përdorur në dizajn janë Pajisjet Analog AD9834 që mund të ofrojnë lloje të ndryshme të formave të valëve. Sfidat me të cilat duhet të përballemi gjatë punës me AD9834 janë:

  • Amplituda e fiksuar e formës së valës: Amplituda e formës valore kontrollohet nga moduli i jashtëm DAC
  • Pa marrë parasysh nivelin e kompensuar DC: Zbatimi i qarqeve përmbledhës me vlerat e dëshiruara të kompensimit DC
  • Dalje të veçanta për valën katrore dhe trekëndëshin/valën sinusale: Zbatimi i qarkut të ndërrimit të frekuencës së lartë kështu që çdo dalje e vetme e kanalit mund të sigurojë të gjitha format e dëshiruara të valës: sinus, trekëndësh, katror dhe DC.

Ekran me kristal të lëngshëm

LCD është një pjesë e UI (ndërfaqja e përdoruesit), dhe qëllimi i tij është të lejojë përdoruesin të kuptojë se çfarë bën pajisja në modalitetin në kohë reale. Ndërvepron me përdoruesin në çdo gjendje të pajisjes.

Zile

Qark i thjeshtë i gjeneratorit të tonit për reagime shtesë nga pajisja te përdoruesi.

Programues i integruar ISP

Ekziston një problem i vazhdueshëm për çdo inxhinier kur është fjala për procesin e programimit: Gjithmonë ekziston nevoja më e keqe për ta çmontuar produktin në mënyrë që ta riprogramojmë me një firmware të ri. Për të kapërcyer këtë shqetësim, programuesi AVR ISP ishte i bashkangjitur në pajisje nga brenda, ndërsa të dhënat USB dhe linjat e energjisë janë të lidhura me lidhësin USB Type-A të pajisjes. Në këtë konfigurim, ne vetëm duhet të lidhim FuncGen -in tonë përmes kabllit USB për programim ose karikim!

Hapi 2: Diagrami i Bllokut - Rrjetëzimi

Bllok Diagrami - Rrjetëzimi
Bllok Diagrami - Rrjetëzimi

Gjenerator i funksioneve me dy kanale

Pajisja kryesore. Ai që kemi rishikuar në hapin e mëparshëm

ESP-WROOM-32

Sistem i integruar në çip me aftësi WiFi dhe BLE. SoC është bashkangjitur në tabelën kryesore (Ne do ta mbulojmë këtë në hapat e skemave) përmes modulit UART dhe vepron si një transmetues mesazhi midis pajisjes kryesore dhe smartphone Android.

Rrjeti WiFi WiFi

Smartfoni dhe pajisja do të komunikojnë nëpërmjet WiFi direkt ose rrjetit lokal, bazuar në konfigurimin e serverit/klientit TCP. Kur pajisjet njohin njëra -tjetrën në WiFi, pajisja kryesore krijon serverin TCP me parametrat e duhur dhe është në gjendje të dërgojë/marrë mesazhe. Pajisja vepron si sekondare për smartphone. Pajisja Android nga ana tjetër, lidhet me serverin TCP si një pajisje e rrjetit të klientit, por konsiderohet si transmetuesi kryesor i mesazheve - smartphone është ai që fillon ciklin e plotë të komunikimit: Dërgimi i mesazhit - marrja e përgjigjes.

Smartphone Android

Pajisja smartphone e bazuar në Android OS që funksionon në aplikacionin FuncGen

Hapi 3: Pjesët, Mjetet, IDE dhe Fatura e Materialeve

Pjesë, Mjete, IDE dhe Fatura e Materialeve
Pjesë, Mjete, IDE dhe Fatura e Materialeve
Pjesë, Mjete, IDE dhe Fatura e Materialeve
Pjesë, Mjete, IDE dhe Fatura e Materialeve
Pjesë, Mjete, IDE dhe Fatura e Materialeve
Pjesë, Mjete, IDE dhe Fatura e Materialeve

Fatura e Materialeve (Shihni tabelën e bashkangjitur XLS)

UI dhe lidhjet e sistemit

  • 1 x 2004A Char-LCD 20x4 Blu
  • 1 x Lidhës USB Type B
  • 1 x 10 Set Mini Micro JST XH 2.54mm 4 Pin
  • 1 x 6 copë JP Momental

Renditja e PCB (Sipas Seeed Studio)

Materiali bazë FR-4

Nr i Shtresave 2 shtresa

PCB Sasia 10

Nr. I modeleve të ndryshme 1

PCB Trashësia 1.6mm

PCB Ngjyra Blu

Përfundimi i sipërfaqes HASL

Diga e maskës së saldimit minimal 0.4mm

Pesha e bakrit 1oz

Madhësia minimale e vrimës së stërvitjes 0.3mm

Gjerësia e Gjurmës / Hapësira 6/6 mil

Gjysmë-vrima të mbuluara / Vrima të Castellated Nr

Kontrolli i Pengesës Nr

Mjetet

  • Armë me zam të nxehtë
  • Piskatore
  • Prestar
  • Wire Teli 22AWG për qëllimet e trajtimit të mosfunksionimit
  • Saldim/stacion
  • Kallaji i saldimit
  • Stacioni i përpunimit SMD (opsional)
  • Printer 3D (opsional)
  • Nxjerrja e skedarit
  • Programues AVR ISP
  • Konvertuesi USB në Serial (Opsionale, për qëllime korrigjimi)

Mjedisi i Zhvillimit të Integruar (IDE) dhe Softueri

  • Autodesk EAGLE ose Cadence Schematic Editor / Allegro PCB Editor
  • OpenSCAD (Opsionale)
  • Ultimaker Cura (Opsionale)
  • Saleae Logic (Për zgjidhjen e problemeve)
  • Atmel Studio 6.3 ose më lart
  • Android Studio ose Eclipse IDE
  • Monitoruesi serik i Docklight / Softuer tjetër i monitorimit të portave COM
  • ProgISP për programimin flash AVR ATMEGA32L

Hapi 4: Dizajni i Hardware - Bordi Kryesor

Dizajni i Hardware - Bordi kryesor
Dizajni i Hardware - Bordi kryesor
Dizajni i Hardware - Bordi kryesor
Dizajni i Hardware - Bordi kryesor
Dizajni i Hardware - Bordi kryesor
Dizajni i Hardware - Bordi kryesor

Qarku i Menaxhimit të Baterisë

Qarku i karikimit të baterisë bazohet në IC MCP7383, i cili na lejon të zgjedhim rrymën e dëshiruar të karikimit për baterinë Li -Ion - 3.7V me kapacitet 850mAh. Rryma e ngarkimit përcaktohet nga vlera e rezistencës së programimit (R1) në rastin tonë

R1 = 3KOhm, I (ngarkesë) = 400mA

Tensioni USB VBUS filtrohet nga π-filtri (C1, L3, C3) dhe vepron si një burim energjie për qarkun e karikimit.

Qarku i ndarjes së tensionit (R2, R3) lejon MCU të tregojë nëse furnizimi me energji i jashtme USB është i lidhur apo jo, duke siguruar tensionin e mëposhtëm në kanalin MCU A/D:

V (tregues) ~ (2/3) V (BUS)

Meqenëse A/D-ja jonë e ATMEGA32L është 12-bit, ne mund të llogarisim gamën dixhitale:

A / D (diapazoni) = 4095V (tregues) / V (REF).

A/D ∈ [14AH: FFFH]

Njësia e energjisë Smart Switch

Qarku i lejon sistemit të kontrollojë furnizimin me energji elektrike për çdo bllok të projektuar si nga butoni shtytës ashtu edhe nga softueri në MCU dhe bazohet në opsionin STM6601 Smart-Switch me POWER në vend të RESET. Terminalet që duam të marrim parasysh janë këto:

  • PSHOLD - Linja hyrëse, që përcakton gjendjen e pajisjes: nëse tërhiqet LOW, pajisja çaktivizon të gjitha njësitë dytësore të furnizimit me energji (+3.3V dhe -3.3V). Nëse mbahet LART HIGH - pajisja ruan gjendjen ON.
  • nSR dhe nPB - Linjat hyrëse. Terminalet e butonit të shtypur. Kur zbulohet skaji në rënie në këto kunja, pajisja përpiqet të hyjë në modalitetin e ngritjes / uljes së energjisë
  • nINT - Linja e daljes. Tërhiqet LOW çdo herë kur shtypet butoni
  • EN - Linja e daljes, përdoret si mundësues i energjisë për njësitë e furnizimit me energji dytësore. Ndërsa mbahet LOW, të dy furnizimet sekondare të energjisë janë me aftësi të kufizuara

Ka disa shënime të rëndësishme para se të vazhdojmë me modelin përfundimtar:

  • PSHOLD duhet të tërhiqet deri në 3.3V, sepse ka raste kur MCU-të po detyrojnë të gjithë I/O të jenë në gjendje HIGH-Z. Në këtë rast, gjendja e PSHOLD nga MCU është e panjohur dhe mund të ndikojë në mënyrë dramatike në procesin e programimit të pajisjes.
  • STM6601 duhet të porositet me një opsion rregullues EN në shtypje të gjatë, në vend të opsionit RESET (kam rënë në atë).

Njësia e Furnizimit me Energji: +3.3V

Furnizimi kryesor me energji për të gjitha sistemet në projektin tonë. Kur linja +3.3V mbahet në nivelin GND (dmth. Nuk ka tension), të gjithë IC përveç çelësit të zgjuar janë të çaktivizuar. Qarku bazohet në LDO LP-3875-3.3 IC, me një aftësi të kontrollohet përmes terminalit EN dhe të sigurojë rrymë deri në 1A.

Burimi i energjisë për këtë qark është tensioni i baterisë, me një tregues A/D të bashkangjitur për të ndjerë VBAT në konfigurim, i ngjashëm me qarkun e ndjesisë VBUS. Në këtë rast, llogaritjet ndryshojnë pak;

V (Bateria-në-A/D) = 0.59V (Bateria); A/D (diapazoni) ∈ [000H: C03H]

Njësia e Furnizimit me Energji: -3.3V

Qarku negativ i furnizimit me tension na lejon të gjenerojmë forma valore simetrike me një faktor DC 0V (dmth. Vlera mesatare e formës së valës është në gjendje të jetë 0V). Ky qark bazohet në konvertuesin LM2662MX IC - DC/DC që funksionon në metodën e "pompës së ngarkimit". Rryma maksimale e daljes së qarkut është 200mA e cila është e mjaftueshme për kërkesat tona të projektimit - ne jemi të kufizuar me 80mA rrymë dalëse nga çdo kanal i pajisjes.

IC kryen të gjithë punën e nevojshme, kështu që vetëm pjesët që duhet të bashkojmë janë dy kondensatorë elektrolitikë: C33 për ndërrim dhe C34 për anashkalim të linjës -3.3V (konsiderata për zvogëlimin e zhurmës). Frekuenca e ndërrimit është e papërfillshme në dizajn nëse e vendosim qarkun mjaft larg pjesëve të gjenerimit të formës valore (Ne do ta diskutojmë atë në hapin e Planifikimit të PCB).

Njësia e Mikrokontrolluesit - MCU

Ky është menaxheri dhe CEO i sistemit tonë - kontrolli, trajtimi i rrjetit, transmetimi i mesazheve dhe mbështetja e UI - gjithçka është nga MCU.

MCU që u zgjodh është Atmel ATMEGA32L, ku L nënkupton funksionimin e tensionit të mbështetur ∈ [2.7V: 5.5V]. Në rastin tonë, tensioni i funksionimit është +3.3V.

Le të shqyrtojmë blloqet kryesore të funksionimit, të cilat janë të nevojshme për t'u kuptuar, duke punuar me MCU në modelin tonë:

  • Oshilator i jashtëm - anshtë një komponent opsional, pasi ne jemi të interesuar për frekuencën e funksionimit 8MHz
  • Kontrolli periferik, Rrjeti SPI - Të gjitha pajisjet periferike (përjashtuar ESP32) po komunikojnë me MCU përmes SPI. Ekzistojnë tre linja të përbashkëta për të gjitha pajisjet (SCK, MOSI, MISO) dhe çdo qark periferik ka linjën e tij të dedikuar CS (Chip Select). Pajisjet SPI që janë pjesë e pajisjes:

    1. D/A për kontrollin e amplitudës - Kanali A
    2. D/A për kontrollin e amplitudës - Kanali B
    3. Pajisja AD9834 - Kanali A
    4. Pajisja AD9834 - Kanali B
    5. D/A për kontrollin e tensionit të njëanshëm - Kanali A
    6. D/A për kontrollin e tensionit të njëanshëm - Kanali B
    7. Potenciometër dixhital për cilësimet e shkëlqimit/kontrastit LCD
  • Mbështetje LCD - Meqenëse LCD është një ekran i përgjithshëm 20 x 4 karaktere, ne po përdorim ndërfaqe 4 -bitësh (Linjat D7: D4), kunjat e kontrollit (Lines RS, E) dhe kontrollin e shkëlqimit/kontrastit (Linjat V0 dhe Anode)
  • Mbështetje RGB LED - Ky modul është opsional, por ka lidhje të zakonshme katode RGB LED me rezistorë të përshtatshëm, të lidhur me MCU.
  • Kontrolli i energjisë - MCU kryen monitorimin e sistemit të energjisë në modalitetin në kohë reale dhe trajton të gjitha ngjarjet e nevojshme të energjisë:

    1. VBAT_ADC - Monitorimi i tensionit të baterisë dhe përcaktimi i gjendjes së tij (ADC0 Channel)
    2. PWR_IND - Tregues i lidhjes së jashtme të furnizimit me energji elektrike (ADC1 Channel)
    3. PS_HOLD - Linja kryesore e mundësimit të energjisë për të gjitha sistemet e përcaktuara. Kur tërhiqet poshtë nga MCU, pajisja fiket
    4. Ndërprerja e terminalit të ndërprerësit inteligjent - Monitorimi i gjendjes së butonit me buton
  • Menaxhimi i Rrjetit WiFi - ESP32: MCU komunikon me ESP32 përmes ndërfaqes UART. Meqenëse 8MHz na lejon të zbatojmë normën e baudit prej 115200 me një gabim relativisht të vogël, ne mund të përdorim ESP32 në qark pa para-përkufizime të ndryshimeve të shpejtësisë baud.

Programues AVR ISP

MCU -ja jonë është programuar përmes SPI me linjën e rivendosjes (/RST) duhet të tërhiqet LART HIGH për një funksionim të duhur (nëse jo - MCU do ta gjejë veten në një gjendje rivendosjeje përgjithmonë).

Për të lejuar që pajisja të programohet dhe karikohet përmes USB, kam bashkangjitur programuesin AVR ISP (Produkt i vogël, i blerë nga eBay). Për të ruajtur mbështetjen e plotë të pajisjes USB, duhet të lidhni terminalet USB Type-A (D+, D-, VBUS dhe GND) me pajisjen AVR ISP.

Qarku i Gjenerimit të Formës Vale

Thelbi i pajisjes janë këto qarqe. AD9834 është një pajisje DDS me fuqi të ulët që na siguron të gjitha format e valëve që do të donim të merrnim nga sistemi. Qarqet përmbajnë dy IC të pavarur AD9834 me oshilatorë të jashtëm të ndarë 50MHz (siç mund të shihet në skemat). Arsyeja për oshilatorin e ndarë janë konsideratat e zvogëlimit të zhurmës të qarqeve dixhitale, kështu që vendimi ishte të trajtoheshin linjat e duhura 50MHz me oshilatorë të vendosur ngjitur me AD9834.

Tani le të shohim disa matematikë:

Meqenëse pajisja DDS funksionon në teknologjinë Phase Wheel me vlerë dalëse të mbajtur në një regjistër 28-bit, ne mund të përshkruajmë matematikisht gjenerimin e formës valore:

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

Dhe sipas fletës së të dhënave AD9834, duke marrë parasysh frekuencën maksimale, zgjidhja e frekuencës së daljes mund të merret:

Δf = k * f (oshilator) / f (maksimal) = 0.28 * 50M / 28M = 0.187 [Hz]

AD9834 IC -të sigurojnë një dalje aktuale analoge për valën e trekëndëshit/sinusit (terminali IOUT) dhe daljen dixhitale për valën katrore (terminali SIGN_OUT). Përdorimi i bitit të shenjës është pak i ndërlikuar, por ne jemi në gjendje ta trajtojmë atë - Sa herë që DDS kalon pragun e vlerës së krahasimit, SIGN_OUT sillet në përputhje me rrethanat. Një rezistencë 200Ohm i bashkëngjitet daljes së secilit kanal, kështu që tensioni i daljes do të ketë një vlerë kuptimplote:

I (kanali i vetëm) = V (dalja) / R (përzgjedhja e tensionit); V (dalja) = R (VS)*I (SS) = 200I (SS) [A]

Qarqet e Kontrollit të Amplituda (D/A)

Sipas fletës së të dhënave të AD9834, amplituda e tij mund të rregullohet duke siguruar rrymë në sistemin e shkallës së plotë DDS, kështu që me ndihmën e IC të dyfishtë D/A, ne mund të kontrollojmë amplitudën e sinjalit dalës duke rregulluar atë rrymë. Edhe një herë, disa matematikë:

I (shkallë e plotë) = 18 * (V_REF - V_DAC) / R_SET [A]

Sipas skemave dhe vendosja e disa numrave në ekuacion:

I (shkallë e plotë) = 3.86 - 1.17 * V_DAC [A]

D/Një modul i përdorur në dizajn është 12-bit MCP4922, kur rryma është në rangun e [0mA: 3.86mA] dhe funksioni linear i amplitudës është:

V (amplituda e zgjedhur) = 1 - [V (D / A) / (2^12 - 1)]

Qarku i shumëfishtë i formës së valës

Valët katrore dhe daljet e gjenerimit të valës sinus/trekëndësh janë të ndara në AD9834 prandaj ne duhet të përdorim një qark multipleximi me shpejtësi të lartë për të dy daljet në mënyrë që të lejojmë marrjen e të gjitha formave të dëshiruara të valëve nga një kanal i vetëm i ndarë. IC multiplexer është një ndërprerës analog ADG836L me një rezistencë shumë të ulët on (~ 0.5Ohm).

Tabela e përzgjedhjes që MCU po përdor për rezultatet siç është:

Zgjedhja e modalitetit [D2: D1] | Kanali i daljes A | Kanali i daljes B

00 | Sinus/Trekëndësh | Sinus/Trekëndësh 01 | Sinus/Trekëndësh | Sheshi 10 | Sheshi | Sinusi/Trekëndëshi 11 | Sheshi | Sheshi

Qarqet e Kontrollit të Paragjykimit të Tensionit (D/A)

Një nga karakteristikat kryesore të gjeneratorit të formave valore është kontrollimi i vlerës së tij DC. Në këtë dizajn bëhet duke vendosur tensionin e dëshiruar D/A për secilin kanal, dhe këto tensione paragjykuese përmblidhen me dalje të shumëfishta që kemi diskutuar pak më parë.

Tensioni i marrë nga D/A qëndron në intervalin [0V: +3.3V] kështu që ekziston një qark i bazuar në op-amp që e përcakton gamën D/A në [-3.3V: +3.3V], duke lejuar pajisjen të sigurojë rreze të plotë të komponentit të dëshiruar DC. Ne do të anashkalojmë matematikën e bezdisshme analitike dhe do të përqendrohemi vetëm në rezultatet përfundimtare:

V_OUT (kanali B) = V_BIAS_B (+) - V_BIAS_B (-); V_OUT (kanali A) = V_BIAS_A (+) - V_BIAS_A (-)

Tani, diapazoni i komponentit DC gjendet në intervalin [-3.3V: +3.3V].

Qarqet Përmbledhëse - Komponentët DC dhe Rezultatet e Formës Vale

Në këtë pikë ne kemi gjithçka që na nevojitet për daljen e duhur të pajisjes - Bias Voltage (komponenti DC) në gamën e tensionit të plotë, dhe daljet e shumëfishta AD9834. Ne do ta bëjmë atë të ndodhë duke përdorur përforcuesin përmbledhës - konfigurimin op -amp

Le ta kalojmë edhe një herë matematikën (Ne kemi trajtuar tashmë shumë qasje matematikore) dhe të shkruajmë rezultatin përfundimtar të daljes së përforcuesit të përmbledhjes:

V (dalja e pajisjes) = V (paragjykim pozitiv) - V (paragjykim negativ) - V (dalje e shumëfishtë) [V]

Prandaj:

V_OUT = ΔV_BIAS - V_AD9834 [V]

Lidhësit dalës të tipit BNC janë të lidhur me një rezistencë përzgjedhëse (R54, R55; R56, R57). Arsyeja për këtë është se në rast se dizajni mund të jetë jofunksional, ne ende mund të zgjedhim nëse dëshirojmë të përdorim përforcues përmbledhës.

Shënim i rëndësishëm: Rrjetet e rezistencës së amplifikatorëve të përmbledhjes përfundimtare mund të rregullohen nga një projektues, në mënyrë që të ndryshojë amplituda maksimale që mund të merret nga pajisja. Në rastin tim, të gjithë amperët ndajnë të njëjtën fitim = 1, kështu që amplituda maksimale e ruajtur është 0.7Vpp për valën e trekëndëshit/sinusit dhe 3.3Vpp për valën katrore. Qasja specifike matematikore mund të gjendet midis imazheve të bashkangjitura të hapit.

ESP32 Si modul i jashtëm

MCU komunikon me ESP32 përmes ndërfaqes UART. Meqenëse doja PCB -në time për ESP32, ka 4 terminale në dispozicion për t'u lidhur: VCC, RX, TX, GND. J7 është një lidhje ndërfaqeje midis PCB -ve dhe ESP32 do të ndahet si modul i jashtëm brenda pajisjes.

Ndërfaqja e përdoruesit - LCD dhe altoparlant

LCD që u përdor është një ekran i përgjithshëm 20 x 4 karaktere me një ndërfaqe 4 -bit, siç mund të shihet nga dizajni ka një potenciometër dixhital SPI të bashkangjitur në terminalet LCD "A" dhe "V0" - qëllimi i tij është të rregullojë shkëlqimi dhe kontrasti i modulit LCD në mënyrë programore.

Altoparlanti siguron dalje të shëndoshë për përdoruesin nga gjenerimi i thjeshtë i valës katrore nga MCU. BJT T1 kontrollon rrymën përmes altoparlantit që mund të jetë vetëm në dy gjendje - ON / OFF.

Hapi 5: Dizajni i pajisjeve - Moduli ESP32

Dizajni i Pajisjeve - Moduli ESP32
Dizajni i Pajisjeve - Moduli ESP32

ESP32 përdoret si një modul i jashtëm për PCB kryesore. Komunikimi i pajisjes bazohet në komandat AT, të cilat janë të disponueshme në firmware -in e një pajisjeje të përgjithshme.

Nuk ka shumë për të zgjeruar në këtë dizajn, por ka disa shënime për dizajnin:

  • Për trajtimin e dështimit të përdorimit të modulit të duhur UART të ESP32, unë kam bashkangjitur tre rezistorë përzgjedhës për të dy linjat TX dhe RX. (0 Ohm për secilën). Për konfigurimin standard, moduli UART2 përdoret për komandat AT (R4, R7 duhet të bashkohen)
  • Pajisja ka dalje me 4 rreshta - VCC, GND, TX, RX.
  • Kunjat IO0 dhe EN vlerësojnë funksionimin e pajisjes dhe duhet të dizajnohen ashtu siç parashikohet në skemat

Të gjitha tiparet e PCB -së do t'i mbulojmë në hapin vijues.

Hapi 6: Paraqitja e PCB

Paraqitja e PCB -së
Paraqitja e PCB -së
Paraqitja e PCB -së
Paraqitja e PCB -së
Paraqitja e PCB -së
Paraqitja e PCB -së

Qëllimet e dizajnimit të një PCB

  1. Krijoni një sistem të integruar për të gjitha qarqet e integruara në të njëjtën tabelë
  2. Përmirësoni performancën e pajisjes duke krijuar një PCB kryesore të vetme
  3. Reduktimi i kostos - nëse dëshironi të shikoni çmimet, modelet me kosto të ulët janë me të vërtetë kosto të ulët
  4. Minimizoni madhësinë e bordit elektronik
  5. Lehtë për tu zgjidhur - Ne mund të përdorim TP (Pikat e testimit) për secilën linjë të mundshme të mosfunksionimit.

Parametrat teknikë

Të dy PCB -të: bordi kryesor dhe ESP32 ndajnë të njëjtat karakteristika për procesin e prodhimit - me kosto të ulët dhe të funksionueshëm për qëllimet tona. Le t'i shohim ato:

A - Bordi kryesor

  • Madhësia: 10cm x 5.8cm
  • Numri i Shtresave: 2
  • Trashësia e PCB: 1.6mm
  • Hapësira/gjerësia minimale e gjurmës: 6/6mil
  • Diametri minimal i vrimës: 0.3 mm
  • Bakri në buzë të distancës minimale të PCB: 20mil
  • Përfundimi i sipërfaqes: HASL (ngjyrë argjendi mjaft e bukur, e lirë)

B - Bordi kryesor

  • Madhësia: 3cm x 4cm
  • Numri i Shtresave: 2
  • Trashësia e PCB: 1.6mm
  • Hapësira/gjerësia minimale e gjurmës: 6/6mil
  • Diametri minimal i vrimës: 0.3 mm
  • Bakri në buzë të distancës minimale të PCB: 20mil
  • Përfundimi i sipërfaqes: HASL

Hapi 7: Shtojca 3D

Shtojcë 3D
Shtojcë 3D

Unë nuk e kam dizajnuar vetë, sepse në atë kohë po e bindja këtë pajisje të punonte, kështu që nuk isha fare në dijeni të të gjitha bazave të printimit 3D. Kështu, unë kam përdorur një projekt SCAD nga Thingiverse dhe i kam bashkuar hapje të ndryshme kufijve, sipas specifikimeve të pajisjes sime.

  1. Pajisja e printimit: Creality Ender-3
  2. Lloji i krevatit: Xhami, trashësi 5mm
  3. Diametri i filamentit: 1.75mm
  4. Lloji i filamentit: PLA+
  5. Diametri i hundës: 0.4 mm
  6. Shpejtësia fillestare: 20 mm/sek
  7. Shpejtësia Mesatare: 65mm/Sek
  8. Mbështetje: N/A
  9. Mbush: 25%
  10. Temperatura:

    • Shtrati: 60 (oC)
    • Grykë: 215 (oC)
  11. Ngjyra e filamentit: E zezë
  12. Numri i përgjithshëm i hapjeve: 5
  13. Numri i paneleve të rrethimit: 4

    • TOP Shell
    • Predha e poshtme
    • Paneli perballe
    • Paneli i pasmë

Hapi 8: Zbatimi i Softuerit - MCU

Zbatimi i Softuerit - MCU
Zbatimi i Softuerit - MCU
Zbatimi i Softuerit - MCU
Zbatimi i Softuerit - MCU
Zbatimi i Softuerit - MCU
Zbatimi i Softuerit - MCU

Lidhja GitHub me Android dhe kodin Atmega32

Algoritmi i Softuerit

Të gjitha operacionet që kryhen nga MCU, përshkruhen në diagramet e bashkangjitura. Përveç kësaj, ekziston një kod i bashkangjitur për projektin. Le të mbulojmë specifikimet e softuerit:

Fuqizim

Në këtë fazë, MCU kryen të gjitha sekuencat e inicializimit së bashku me përcaktimin e llojit të komunikimit të ruajtur me pajisjen Android: Komunikim direkt WiFi ose rrjet WLAN - këto të dhëna ruhen në EEPROM. Përdoruesi mund të ripërcaktojë llojin e çiftimit të pajisjes Android në këtë fazë.

Çiftimi direkt i pajisjes Android

Ky lloj çiftimi bazohet në krijimin e rrjetit WiFi nga pajisja FuncGen. Do të krijojë AP (Pika e hyrjes) dhe një server TCP në një IP të pajisjes lokale me një SSID specifike (emri i rrjetit WiFi) dhe një numër specifik të portit. Pajisja duhet të mbajë gjendjen - e hapur për lidhje.

Kur pajisja Android është e lidhur me FuncGen, MCU hyn në modalitetin ACTIVE dhe përgjigjet sipas udhëzimeve të përdoruesit nga pajisja Android.

Çiftimi WLAN

Për të komunikuar në një rrjet WiFi lokal, MCU duhet të sigurojë komanda për ESP32 për të krijuar AP, të komunikojë me pajisjen Android dhe të shkëmbejë të dhënat vendimtare të rrjetit:

  • Pajisja Android merr nga FuncGen adresën e saj MAC, e ruan atë në kujtesë.
  • Pajisja FuncGen merr nga pajisja Android parametrat e zgjedhur të WLAN: SSID, lloji i sigurisë dhe fjalëkalimi dhe e ruan atë në EEPROM.

Kur pajisjet janë vërtet të lidhura me të njëjtën WLAN, pajisja Android do të kërkojë FuncGen duke skanuar të gjitha adresat MAC të pajisjeve, të lidhura me WLAN. Kur pajisja Android përcakton përputhjen MAC, ajo përpiqet të komunikojë.

Lidhja dhe trajtimi i gjendjes - MCU

Kur pajisjet komunikojnë me njëra-tjetrën, protokolli (Shih hapin para-përfundimtar) mbetet i njëjtë, dhe grafiku i rrjedhës është i njëjtë.

Monitorimi i gjendjes së pajisjes

Ndërprerja në kohë i jep MCU detajet e nevojshme për trajtimin e gjendjes. Çdo cikël i ndërprerjes së kohëmatësit, lista e mëposhtme e parametrave azhurnohet:

  • Furnizimi me energji të jashtme - Aktiv/Fikur
  • Gjendja e tensionit të baterisë
  • Përditësimi i ndërfaqes së përdoruesit për çdo personalizim
  • Butoni Shtypi: Shtypur/Jo Shtypur

Hapi 9: Zbatimi i Softuerit - Aplikacioni Android

Zbatimi i Softuerit - Aplikacioni Android
Zbatimi i Softuerit - Aplikacioni Android
Zbatimi i Softuerit - Aplikacioni Android
Zbatimi i Softuerit - Aplikacioni Android
Zbatimi i Softuerit - Aplikacioni Android
Zbatimi i Softuerit - Aplikacioni Android
Zbatimi i Softuerit - Aplikacioni Android
Zbatimi i Softuerit - Aplikacioni Android

Aplikacioni Android është shkruar në stilin Java-Android. Do të përpiqem ta shpjegoj në të njëjtën mënyrë si hapat e mëparshëm - duke e ndarë algoritmin në blloqe të veçantë kodesh.

Sekuenca e fuqizimit

Sekuenca e parë e pajisjes. Këtu logoja e aplikacionit paraqitet së bashku me mundësimin e moduleve GPS dhe WiFi të pajisjes Android (Mos u shqetësoni, GPS është i nevojshëm vetëm për skanimin e rrjeteve të duhura WiFi).

Menyja kryesore

Pasi të fillojë aplikacioni, katër butona do të shfaqen në ekran. Veprimi i butonave:

  1. LIDHJE DIREKT: Fillimi i lidhjes me AP të FuncGen nga SSID i IOT_FUNCGEN. Nëse lidhja është e suksesshme, pajisja hyn në modalitetin kryesor të ndërfaqes së përdoruesit.
  2. LIDHJA WIFI: Pajisja kontrollon nëse ka parametra të të dhënave të ruajtura në kujtesë: wifi.txt, mac.txt. Nëse nuk ka të dhëna të ruajtura, pajisja do të refuzojë kërkesën e përdoruesit dhe do të japë mesazh pop-up që çiftimi WLAN duhet të bëhet së pari.
  3. Çiftimi: Komunikimi me FuncGen në të njëjtën mënyrë si LIDHJA DIREKT, por në vend të shkëmbimit të vazhdueshëm të mesazheve, ekziston një shtrëngim duarsh i vetëm. Pajisja Android kontrollon nëse është e lidhur tashmë me rrjetin WiFi dhe kërkon që përdoruesi të futë fjalëkalimin. Nëse rilidhja është e suksesshme, pajisja Android ruan SSID dhe çelësin e kalimit në skedarin wifi.txt. Pas komunikimit të suksesshëm me FuncGen, ai ruan adresën MAC në skedarin mac.txt.
  4. Dalja: Mjaft tha:)

Menaxheri i Skanimit të WiFi

Doja që aplikacioni të ishte plotësisht funksional dhe pa bërë rregullime jashtë aplikacionit. Pra, unë kam krijuar skanerin WiFi, i cili kryen të gjitha operacionet e nevojshme për t'u lidhur me rrjetin WiFi me një çelës të njohur dhe SSID.

Transmetimi i të dhënave dhe komunikimi TCP

Ky është blloku kryesor i kodit në aplikacion. Për të gjitha njësitë UI ekziston një mesazh i përcaktuar në një format specifik (Hapi parafundimtar), që detyron FuncGen të sigurojë daljen e dëshiruar për kanalet. Ekzistojnë tre lloje të fushave të UI në aktivitet:

  1. Kërkoni shufra: Këtu ne përcaktojmë gamën reale të parametrave të daljes së FuncGen

    1. Amplituda
    2. DC Offset
    3. Ndriçimi LCD
    4. Kontrasti LCD
  2. Redaktimi i tekstit: Për të mbajtur vlerat e plota të përcaktuara mirë dhe saktësisht, futja e frekuencës bëhet përmes kutive të tekstit vetëm me numra
  3. Butonat: Përzgjedhja e parametrave nga listat në dispozicion:

    1. Lloji i formës së valës

      1. Sinus
      2. Trekëndësh
      3. DC
      4. Sheshi
      5. FIKUR
    2. Marr informacion

      1. Statusi i baterisë (përqindja)
      2. Statusi AC (Furnizimi me energji i jashtme)
    3. Opsioni i nisjes (Për FuncGen MCU)

      1. Vendosja e fabrikës
      2. Rifillo, fillo përsëri
      3. Fike
      4. Direkt - Rinisni me mënyrën e çiftimit të drejtpërdrejtë
      5. WLAN - Rinisni me modalitetin e çiftimit WLAN
    4. Dilni në menunë kryesore: Mjaft tha:)

Hapi 10: Testimi

Recommended: