Orodha ya maudhui:

Jenereta ya Kazi ya Kubebeka kwenye WiFi na Android: Hatua 10
Jenereta ya Kazi ya Kubebeka kwenye WiFi na Android: Hatua 10

Video: Jenereta ya Kazi ya Kubebeka kwenye WiFi na Android: Hatua 10

Video: Jenereta ya Kazi ya Kubebeka kwenye WiFi na Android: Hatua 10
Video: 5 Best Smart Glasses You Can Buy In 2023 2024, Julai
Anonim
Jenereta ya Kazi ya Kubebeka kwenye WiFi na Android
Jenereta ya Kazi ya Kubebeka kwenye WiFi na Android
Jenereta ya Kazi ya Kubebeka kwenye WiFi na Android
Jenereta ya Kazi ya Kubebeka kwenye WiFi na Android
Jenereta ya Kazi ya Kubebeka kwenye WiFi na Android
Jenereta ya Kazi ya Kubebeka kwenye WiFi na Android
Jenereta ya Kazi ya Kubebeka kwenye WiFi na Android
Jenereta ya Kazi ya Kubebeka kwenye WiFi na Android

Karibu na mwisho wa karne ya 20, ubunifu anuwai wa kiteknolojia uliibuka, haswa katika uwanja wa mawasiliano; lakini sio tu. Kwa sisi, watumiaji, watumiaji na wahandisi waligundua utengenezaji wa haraka wa vifaa vya elektroniki, ambavyo vinaweza kufanya maisha yetu kuwa rahisi sana: saa bora, nyumba mahiri, simu mahiri n.k.

Kwa kuwa kila kitu kinaweza kuwa "smart" siku hizi, nimeamua kubuni kifaa chenye faida kubwa kuwa sehemu ya vifaa muhimu vya maabara ya elektroniki - Jenerali wa Kazi ya Kubebeka, inayodhibitiwa na Android OS ya msingi kupitia simu ya moja kwa moja ya WiFi au Mtandao wa Eneo la Mitaa (WLAN).

Kwa nini tunapaswa kujenga kifaa hiki?

Idadi kubwa ya vifaa vya kupima ni ghali sana siku hizi. Na wakati mwingine, vifaa hivi havibebeki. Kama suluhisho la bei kubwa, ukosefu wa usambazaji na ukosefu wa ufikiaji wa mtandao wa kifaa, kifaa hutoa jenereta ya mawimbi ya njia mbili, ambayo kwa kweli ni rahisi na ina ufikiaji usio na kizuizi kwa mtandao - iwe wavuti au wa ndani.

Na kwa kweli, kifaa kinapaswa kujengwa kwa sababu ya shauku, kutii kanuni za DIY - Wakati mwingine lazima tu tufanye vitu wenyewe ili tujisikie sawa:)

Makala muhimu

Ugavi wa Umeme

  • Kontakt Aina ya USB, kwa mifumo na usambazaji wa umeme
  • Mfumo kamili wa usimamizi wa betri ya Li-Ion - Njia za kuchaji na thabiti
  • Utekelezaji wa Smart switch - hakuna haja ya kubadili nguvu
  • Ugavi wa nguvu mbili: + 3.3V na -3.3V kwa kizazi cha umbo la mawimbi ya ulinganifu

Kizazi cha Wimbi

  • Utekelezaji wa kiwango cha DC kwenye mtiririko wa pato - upendeleo wa mawimbi kati ya mipaka ya voltage
  • Uzazi wa umbo la wimbi la aina ya 4-DDS - Sine, pembetatu, mraba na DC
  • Hadi msaada wa masafa ya 10MHz
  • Pato la sasa hadi 80mA na upatikanaji wa nguvu ya kiwango cha juu cha 500mW
  • Njia zilizotengwa za kizazi cha umbo la mawimbi - kugawanya mizunguko ya AD9834

Mawasiliano

  • Utekelezaji wa ESP32 - Uwezo wa WiFi unaotumika
  • Kamilisha usaidizi wa TCP / IP na kifaa cha jenereta na Android smartphone
  • Uwezo wa kuhifadhi vigezo vya watumiaji kwa kila mzunguko wa kifaa
  • Ufuatiliaji wa serikali - mifumo yote inafahamu hali ya kila mmoja: FuncGen (wacha tuiite hivi kuanzia sasa) na smartphone.

Muunganisho wa Mtumiaji

  • 20 x 4 LCD Tabia na interface rahisi ya data ya 4-bit
  • Programu ya Android - udhibiti kamili wa mtumiaji juu ya kifaa cha FuncGen
  • Mzunguko wa Buzzer - maoni ya sauti kwa mtumiaji

Hatua ya 1: Zuia Mchoro - Vifaa

Mchoro wa Kuzuia - Vifaa
Mchoro wa Kuzuia - Vifaa
Mchoro wa Kuzuia - Vifaa
Mchoro wa Kuzuia - Vifaa

Kitengo cha Microcontroller - ATMEGA32L

Microcontroller ni chip inayoweza kupangiliwa ambayo ina utendaji wote wa kompyuta ambao unakaa kwenye chip moja ya elektroniki. Kwa upande wetu, ni "ubongo" na sehemu kuu ya mfumo. Madhumuni ya MCU ni kusimamia mifumo yote ya pembeni, kushughulikia mawasiliano kati ya mifumo hii, kudhibiti utendaji wa vifaa na kutoa msaada kamili kwa kiolesura cha mtumiaji na mwingiliano wake na mtumiaji halisi. Mradi huu kulingana na ATMEGA32L MCU, ambayo inaweza kufanya kazi kwa 3.3V na masafa ya 8MHz.

Mawasiliano SoC - ESP32

SoC (Mfumo wa Chip) hutoa msaada kamili wa mawasiliano kwa FuncGen - Upatikanaji wa uwezo wa WiFi pamoja na mawasiliano ya moja kwa moja, ya ndani au ya mtandao. Madhumuni ya kifaa ni:

  • Kushughulikia usambazaji wa data kati ya programu ya Android na kifaa cha FuncGen
  • Usimamizi wa ujumbe wa kudhibiti / data
  • Msaada wa usanidi endelevu wa TCP / IP Mteja-Seva

Katika mradi wetu SoC ni espressif ESP32, hiyo ni maarufu sana kuipanua hata zaidi:)

Mfumo wa Usimamizi wa Batri ya Li-Ion

Ili kubadilisha kifaa chetu kuwa cha kubebeka, kifaa kina mzunguko wa kuchaji betri ya Li-Ion iliyoundwa. Mzunguko unategemea MC73831 IC, na malipo ya sasa yanayoweza kudhibitiwa kupitia kurekebisha thamani ya kontena moja ya programu (Tutazungumzia mada hii katika hatua ya Schematics). Uingizaji wa usambazaji wa kifaa ni kiunganishi cha Aina ya A ya USB.

Mzunguko wa Kubadilisha Smart

Mzunguko wa kudhibiti nguvu ya kifaa cha Smart hutoa udhibiti kamili wa programu juu ya mlolongo wa kuzima kwa kifaa na ukosefu wa hitaji la ubadilishaji wa nje wa kugeuza upunguzaji wa voltage ya kifaa. Shughuli zote za nguvu zinafanywa kwa kubonyeza kitufe cha kushinikiza na programu ya MCU. Katika hali nyingine, kutakuwa na haja ya kufunga mfumo chini: Voltage ya chini ya betri, voltage ya pembejeo kubwa, makosa ya mawasiliano na kadhalika. Kubadili smart kunategemea STM6601 switch switch IC, ambayo ni ya bei rahisi na ya kupendeza kucheza nayo.

Kitengo kuu cha Ugavi wa Umeme

Kitengo hiki kina mizunguko miwili ya umeme inayosababishwa na betri - + 3.3V kwa nyaya zote za usambazaji wa dijiti / analog na -3.3V kwa pato la ulinganifu wa FunGen kulingana na uwezo wa 0V (yaani muundo wa mawimbi uliotengenezwa unaweza kuwekwa katika [-3.3V: 3.3V] mkoa.

  • Mzunguko kuu wa usambazaji unategemea LP3875-3.3 LDO (kuacha chini) 1A mdhibiti wa voltage ya mstari.
  • Mzunguko wa usambazaji wa sekondari unategemea LM2262MX IC, ambayo hufanya ubadilishaji wa voltage hasi ya DC-DC kupitia mfumo wa capacitor-malipo-pampu ambayo IC inategemea.

Mfumo wa Jenereta za Waveform

Mfumo huo ulibuniwa na msisitizo kwa DDS tofauti (usanisi wa moja kwa moja wa dijiti) mizunguko iliyojumuishwa, ambayo inaruhusu udhibiti kamili wa kizazi cha wimbi na SPI ya MCU (interface ya pembeni ya pembeni). Mizunguko ambayo ilitumika katika muundo ni Analog Vifaa AD9834 ambazo zinaweza kutoa aina tofauti za maumbo ya mawimbi. Changamoto tunazohitaji kukabiliana nazo wakati tunafanya kazi na AD9834 ni:

  • Amplitude waveform amplitude: Waveform amplitude inadhibitiwa na moduli ya nje ya DAC
  • Haijalishi kiwango cha DC cha kukabiliana: Utekelezaji wa mizunguko ya kujumlisha na maadili ya DC ya kukabiliana
  • Matokeo tofauti ya mawimbi ya mraba na pembetatu / wimbi la sine: Utekelezaji wa mzunguko wa juu wa kugeuza mzunguko kwa hivyo kila pato moja la kituo linaweza kutoa wimbi lote la taka: sine, pembetatu, mraba na DC.

Uonyesho wa Kioevu cha Liquid

LCD ni sehemu ya UI (interface ya mtumiaji), na kusudi lake ni kumruhusu mtumiaji kuelewa ni kifaa gani hufanya katika hali halisi ya wakati. Inashirikiana na mtumiaji katika kila hali ya kifaa.

Buzzer

Mzunguko rahisi wa jenereta ya toni kwa maoni ya ziada kutoka kwa kifaa kwenda kwa mtumiaji.

Programu ya Jumuishi ya ISP

Kuna shida inayoendelea kwa kila mhandisi linapokuja suala la mchakato wa programu: Daima kuna hitaji mbaya zaidi la kutenganisha bidhaa hiyo ili kuipanga upya na firmware mpya. Ili kushinda usumbufu huu, programu ya AVR ISP iliambatanishwa na kifaa kutoka ndani, wakati data ya USB na laini za umeme zimefungwa kwenye kontakt ya kifaa ya USB Type-A. Katika usanidi huu, tunahitaji tu kuziba FuncGen yetu kupitia kebo ya USB kwa programu yoyote au kuchaji!

Hatua ya 2: Zuia Mchoro - Mitandao

Mchoro wa Kuzuia - Mitandao
Mchoro wa Kuzuia - Mitandao

Densi ya Kazi ya Dual

Kifaa kuu. Ile ambayo tumepitia katika hatua ya awali

ESP-CHUO-32

Jumuishi ya Mfumo-wa-Chip na uwezo wa WiFi na BLE. SoC imeambatanishwa na bodi kuu (Tutashughulikia hii kwa hatua ya skimu) kupitia moduli ya UART na hufanya kama transciever ya ujumbe kati ya kifaa kuu na smartphone ya Android.

Mtandao wa Mitaa wa WiFi

Smartphone na kifaa vitawasiliana kupitia mtandao wa WiFi wa moja kwa moja au wa eneo, kulingana na usanidi wa seva ya TCP / mteja. Wakati vifaa vinatambuana kwenye WiFi, kifaa kuu huunda seva ya TCP na vigezo sahihi na ina uwezo wa kutuma / kupokea ujumbe. Kifaa hufanya kama sekondari kwa smartphone. Kifaa cha Android kwa upande mwingine, huunganisha kwa seva ya TCP kama kifaa cha mtandao wa mteja, lakini kinachukuliwa kama kifaa cha msingi cha kusambaza ujumbe - smartphone ndiye anayeanzisha mzunguko kamili wa mawasiliano: Kutuma ujumbe - kupokea jibu.

Smartphone ya Android

Kifaa cha msingi cha Android OS kinachotumia programu ya FuncGen

Hatua ya 3: Sehemu, Zana, IDE na Muswada wa Vifaa

Sehemu, Zana, IDE na Muswada wa Vifaa
Sehemu, Zana, IDE na Muswada wa Vifaa
Sehemu, Zana, IDE na Muswada wa Vifaa
Sehemu, Zana, IDE na Muswada wa Vifaa
Sehemu, Zana, IDE na Muswada wa Vifaa
Sehemu, Zana, IDE na Muswada wa Vifaa

Muswada wa Vifaa (Tazama meza iliyoambatishwa ya XLS)

UI na Uunganisho wa Mfumo

  • 1 x 2004A Char-LCD 20x4 Bluu
  • 1 x USB Aina ya Kontakt
  • 1 x 10 Weka Mini Micro JST XH 2.54mm 4 Pin
  • 1 x 6pcs Muda mfupi SW

Kuagiza PCB (Kulingana na Studio ya Seeed)

Nyenzo ya Msingi FR-4

Nambari ya Tabaka 2 tabaka

Wingi wa PCB 10

Idadi ya Miundo Tofauti 1

Unene wa PCB 1.6mm

Rangi ya Bluu ya PCB

Kumaliza uso HASL

Kiwango cha chini cha Solder Mask Bwawa 0.4mm ↑

Uzito wa Shaba 1oz

Kiwango cha chini cha kuchimba visima 0.3mm

Fuatilia Upana / Nafasi 6/6 mil

Plated nusu mashimo / mashimo Castellated No.

Udhibiti wa Impedance No.

Zana

  • Bunduki ya gundi moto
  • Kibano
  • Mkataji
  • ~ Waya 22AWG kwa madhumuni ya utunzaji usiofaa
  • Chuma / kituo
  • Bati ya kulehemu
  • Kituo cha kurekebisha kazi cha SMD (hiari)
  • Printa ya 3D (Hiari)
  • Faili inayoenea
  • Programu ya AVR ISP
  • USB kwa Serial Converter (Hiari, kwa madhumuni ya utatuaji)

Mazingira Jumuishi ya Maendeleo (IDE) na Programu

  • Autodesk EAGLE au Mhariri wa Cadence Schematic / Allegro PCB Mhariri
  • OpenSCAD (Hiari)
  • Ultimaker Cura (Hiari)
  • Logic ya Saleae (Kwa utatuzi)
  • Studio ya Atmel 6.3 au zaidi
  • Android Studio au Eclipse IDE
  • Docklight Serial Monitor / Programu nyingine ya ufuatiliaji wa bandari ya COM
  • ProgISP ya programu ya flash ya AVR ATMEGA32L

Hatua ya 4: Kubuni vifaa - Bodi kuu

Ubunifu wa Vifaa - Bodi Kuu
Ubunifu wa Vifaa - Bodi Kuu
Ubunifu wa Vifaa - Bodi Kuu
Ubunifu wa Vifaa - Bodi Kuu
Ubunifu wa Vifaa - Bodi Kuu
Ubunifu wa Vifaa - Bodi Kuu

Mzunguko wa Usimamizi wa Betri

Mzunguko wa kuchaji betri unategemea MCP7383 IC, ambayo inatuwezesha kuchagua sasa ya kuchaji inayotakiwa kwa betri ya Li-Ion - 3.7V yenye uwezo wa 850mAh. Kuchaji sasa kunawekwa na programu ya thamani ya kipinga (R1) kwa upande wetu

R1 = 3KOhm, mimi (kuchaji) = 400mA

Voltage ya USB VBUS huchujwa na filter-chujio (C1, L3, C3) na hufanya kama chanzo cha nguvu cha kuchaji mzunguko.

Mzunguko wa mgawanyiko wa voltage (R2, R3) inaruhusu MCU kuonyesha ikiwa usambazaji wa umeme wa nje wa USB umeunganishwa au la, kwa kutoa voltage ifuatayo kwa kituo cha MCU A / D:

V (dalili) ~ (2/3) V (BASI)

Kwa kuwa A / D yetu ya ATMEGA32L ni 12-bit, tunaweza kuhesabu anuwai ya dijiti:

A / D (masafa) = 4095V (dalili) / V (REF).

A / D ∈ [14AH: FFFH]

Kitengo cha Nguvu ya Kubadilisha Smart

Mzunguko unaruhusu mfumo kudhibiti usambazaji wa umeme kwa kila block iliyoundwa yote kutoka kifungo cha kushinikiza na programu kwenye MCU na inategemea STM6601 Smart-switch na chaguo la POWER badala ya Rudisha. Vituo ambavyo tunataka kuzingatia ni hivi:

  • PSHOLD - Mstari wa kuingiza, ambao hufafanua hali ya kifaa: ikiwa imevutwa CHINI, kifaa hulemaza vitengo vyote vya usambazaji wa umeme (+ 3.3V na -3.3V). Ikiwa imeshikiliwa HIGH - kifaa kinadumisha hali ya ON.
  • NSR na nPB - Mistari ya kuingiza. Vinjari vya kushinikiza. Wakati kona inayoanguka inagunduliwa kwenye pini hizi, kifaa kinajaribu kuingiza hali ya juu / chini ya nguvu
  • NINT - Mstari wa pato. Vunjwa LOW kila wakati kifungo cha kushinikiza kinabonyeza
  • EN - Pato la laini, hutumiwa kama kuwezesha nguvu kwa vitengo vya umeme vya sekondari. Wakati unashikiliwa CHINI, vifaa vyote viwili vya umeme vimezimwa

Kuna vidokezo muhimu kabla ya kuendelea na muundo wa mwisho:

  • PSHOLD inapaswa kuvutwa hadi 3.3V, kwa sababu kuna visa wakati MCUs zinalazimisha I / Os zote ziwe katika hali ya HIGH-Z. Katika kesi hii, hali ya PSHOLD kutoka MCU haijulikani na inaweza kuathiri sana mchakato wa programu ya kifaa.
  • STM6601 inapaswa kuamriwa na chaguo la kurekebisha EN kwenye vyombo vya habari virefu, badala ya chaguo la Rudisha (nimeanguka katika hiyo).

Kitengo cha Ugavi wa Umeme: + 3.3V

Ugavi kuu wa umeme kwa mifumo yote katika mradi wetu. Wakati laini ya + 3.3V imeshikiliwa kwa kiwango cha GND (i.e. Hakuna zawadi za voltage), IC yote isipokuwa swichi smart imelemazwa. Mzunguko unategemea LDO LP-3875-3.3 IC, na uwezo wa kudhibitiwa kupitia kituo cha EN na kutoa sasa hadi 1A.

Chanzo cha nguvu cha mzunguko huu ni voltage ya betri, na kiashiria cha A / D kilichounganishwa cha kuhisi VBAT katika usanidi, sawa na mzunguko wa kuhisi wa VBUS. Katika kesi hii, mahesabu hutofautiana kidogo;

V (Battery-to-A / D) = 0.59V (Betri); A / D (masafa) ∈ [000H: C03H]

Kitengo cha Ugavi wa Umeme: -3.3V

Mzunguko hasi wa usambazaji wa voltage huturuhusu kutoa fomati za mawimbi zenye ulinganifu na sababu ya DC ya 0V (i.e. thamani ya wastani wa umbo la mawimbi ina uwezo wa kuwa 0V). Mzunguko huu unategemea kibadilishaji cha LM2662MX IC - DC / DC ambacho hufanya kazi kwa njia ya "pampu ya malipo". Upeo wa sasa wa mzunguko ni 200mA ambayo ni ya kutosha kwa mahitaji yetu ya muundo - tumewekewa pato la sasa la 80mA kutoka kwa kila kituo cha kifaa.

IC hufanya kazi zote zinazohitajika, kwa hivyo ni sehemu tu tunazohitaji kuambatisha ni capacitors mbili za elektroni: C33 ya kubadili na C34 kwa -3.3V kupita kwa laini (upunguzaji wa kelele). Mzunguko wa ubadilishaji hauna maana katika muundo ikiwa tunaweka mzunguko wa kutosha kutoka kwa sehemu za kizazi cha mawimbi (Tutaijadili katika hatua ya Mpangilio wa PCB).

Kitengo cha Microcontroller - MCU

Huyu ndiye msimamizi na Mkurugenzi Mtendaji wa mfumo wetu - udhibiti, utunzaji wa mtandao, usafirishaji wa ujumbe na usaidizi wa UI - kila kitu ni kwa MCU.

MCU iliyochaguliwa ni Atmel ATMEGA32L, ambapo L inasimamia operesheni ya voltage inayoungwa mkono ∈ [2.7V: 5.5V]. Kwa upande wetu, voltage ya kufanya kazi ni + 3.3V.

Wacha tuchunguze vitalu kuu vya operesheni, ambavyo ni muhimu kuelewa, kufanya kazi na MCU katika muundo wetu:

  • Oscillator ya nje - Ni sehemu ya hiari, kwani tunavutiwa na masafa ya uendeshaji ya 8MHz
  • Udhibiti wa pembeni, Mtandao wa SPI - Vifaa vyote vya pembeni (isipokuwa ESP32) vinawasiliana na MCU kupitia SPI. Kuna mistari mitatu iliyoshirikiwa kwa vifaa vyote (SCK, MOSI, MISO) na kila mzunguko wa pembeni una safu yake ya kujitolea ya CS (Chip Select). Vifaa vya SPI ambavyo ni sehemu ya kifaa:

    1. D / A kwa udhibiti wa amplitude - Channel A
    2. D / A kwa udhibiti wa amplitude - Channel B
    3. Kifaa cha AD9834 - Channel A
    4. Kifaa cha AD9834 - Channel B
    5. D / A kwa udhibiti wa upendeleo wa voltage - Channel A
    6. D / A kwa udhibiti wa upendeleo wa voltage - Channel B
    7. Potentiometer ya dijiti ya mipangilio ya mwangaza / kulinganisha kwa LCD
  • Msaada wa LCD - Kwa kuwa LCD ni onyesho la kawaida la 20 x 4, tunatumia kiolesura cha 4-bit (Mistari D7: D4), pini za kudhibiti (Mistari RS, E) na udhibiti wa mwangaza / utofauti (Mistari V0 na Anode)
  • Msaada wa RGB LED - Moduli hii ni ya hiari, lakini kuna kontakt ya kawaida ya RGB kontakt ya LED na vipinga sahihi, vilivyounganishwa na MCU.
  • Udhibiti wa Nguvu - MCU hufanya ufuatiliaji wa mfumo wa nguvu katika hali halisi ya wakati, na inashughulikia hafla zote za nguvu zinazohitajika:

    1. VBAT_ADC - Ufuatiliaji wa voltage ya betri na kuamua hali yake (Kituo cha ADC0)
    2. PWR_IND - Dalili ya unganisho la usambazaji wa umeme wa nje (Kituo cha ADC1)
    3. PS_HOLD - Nguvu ya msingi inawezesha laini kwa mifumo yote iliyoainishwa. Wakati vunjwa chini na MCU, kifaa kinashushwa chini
    4. Kituo cha kukatiza cha kubadili smart - Kitufe cha hali ya kifungo cha kushinikiza
  • Usimamizi wa Mtandao wa WiFi - ESP32: MCU inawasiliana na ESP32 kupitia kiolesura cha UART. Kwa kuwa 8MHz inatuwezesha kutekeleza kiwango cha baud cha 115200 na hitilafu ndogo, tunaweza kutumia ESP32 katika mzunguko bila ufafanuzi wa mapema wa mabadiliko ya kiwango cha baud.

Programu ya AVR ISP

MCU yetu imewekwa kupitia SPI na laini ya kuweka upya (/ RST) inapaswa kuvutwa kwa JUU kwa operesheni inayofaa (ikiwa sivyo - MCU itajikuta iko katika hali ya kuweka upya milele).

Ili kuruhusu kifaa kusanidiwa na kushtakiwa kupitia USB, nimeambatanisha programu ya AVR ISP (Bidhaa ndogo, iliyonunuliwa kutoka eBay). Ili kudumisha msaada kamili wa kifaa cha USB, kuna haja ya kufunga vituo vya USB Type-A (D +, D-, VBUS na GND) na kifaa cha AVR ISP.

Mzunguko wa kizazi cha wimbi

Kiini cha kifaa ni nyaya hizi. AD9834 ni kifaa cha DDS chenye nguvu ya chini ambacho hutupatia maumbo yote ya mawimbi ambayo tungependa kupata kutoka kwa mfumo. Mizunguko ina mbili zinazojitegemea za AD9834 IC na oscillators zilizotengwa za 50MHz (kama inavyoonekana katika skimu). Sababu ya oscillator iliyotengwa ni mashauri ya kupunguza kelele ya mizunguko ya dijiti, kwa hivyo uamuzi ulikuwa kushughulikia laini sahihi za 50MHz na oscillators zilizowekwa karibu na AD9834.

Sasa wacha tuangalie hesabu kadhaa:

Kwa kuwa kifaa cha DDS kinafanya kazi kwenye teknolojia ya Awamu ya Gurudumu na thamani ya pato iliyowekwa kwenye rejista ya 28-bit, tunaweza kuelezea kizazi cha umbo la mawimbi kimahesabu:

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

Na kulingana na data ya AD9834, kwa kuzingatia masafa ya juu, azimio la masafa ya pato linaweza kupatikana:

=f = k * f (oscillator) / f (kiwango cha juu) = 0.28 * 50M / 28M = 0.187 [Hz]

AD9834 IC hutoa pato la sasa la analog kwa wimbi la pembetatu / sine (IOUT terminal) na pato la dijiti kwa wimbi la mraba (terminal ya SIGN_OUT). Matumizi ya ishara kidogo ni ngumu kidogo lakini tunaweza kuishughulikia - Kila wakati DDS inapita kizingiti cha thamani ya kulinganisha, SIGN_OUT hutenda ipasavyo. Kinzani ya 200Oh imeambatanishwa na pato la kila kituo, kwa hivyo voltage ya pato itakuwa na maadili ya maana:

I (kituo kimoja) = V (pato) / R (uteuzi wa voltage); V (pato) = R (VS) * I (SS) = 200I (SS) [A]

Udhibiti wa Amplitude (D / A) Circuits

Kulingana na data ya AD9834, ukubwa wake unaweza kubadilishwa kwa kutoa ya sasa kwa mfumo kamili wa DDS, kwa hivyo kwa msaada wa D / A IC mbili, tunaweza kudhibiti amplitude ya ishara ya pato kwa kurekebisha hiyo ya sasa. Mara nyingine tena, hesabu zingine:

Mimi (kiwango kamili) = 18 * (V_REF - V_DAC) / R_SET [A]

Kulingana na hesabu na kuweka nambari kadhaa kwa equation:

Mimi (kiwango kamili) = 3.86 - 1.17 * V_DAC [A]

D / Moduli inayotumiwa katika kubuni ni 12-bit MCP4922, wakati wa sasa uko katika anuwai ya [0mA: 3.86mA] na kazi ya urefu wa urefu ni:

V (chagua amplitude) = 1 - [V (D / A) / (2 ^ 12 - 1)]

Waveform Multiplexing Mzunguko

Wimbi la mraba na sine / pato la kizazi cha pembe tatu hutenganishwa kwa AD9834 kwa hivyo tunalazimika kutumia mzunguko wa kasi ya kuzidisha kwa matokeo yote ili kuruhusu kurudisha fomu zote za mawimbi kutoka kwa kituo kimoja kilichotengwa. Multiplexer IC ni ubadilishaji wa analog ya ADG836L na upingaji mdogo sana (~ 0.5Ohm).

Jedwali la uteuzi ambalo MCU inatumia kwa matokeo kama ilivyo:

Uteuzi wa Hali [D2: D1] | Pato Channel A | Kituo cha Pato B

00 | Sine / pembetatu | Sine / Pembetatu 01 | Sine / pembetatu | Mraba 10 | Mraba | Sine / pembetatu 11 | Mraba | Mraba

Duru za Upendeleo wa Voltage (D / A)

Moja ya huduma kuu za jenereta ya mawimbi ni kudhibiti thamani yake ya DC. Katika muundo huu hufanywa kwa kuweka voltage inayotarajiwa ya D / A kwa kila kituo, na voltages hizi za upendeleo zimefupishwa na matokeo anuwai ambayo tumejadili mapema kidogo.

Voltage iliyopatikana kutoka kwa D / A iko katika masafa [0V: + 3.3V] kwa hivyo kuna mzunguko wa op-amp ambao unatoa ramani kwa masafa ya D / A hadi [-3.3V: + 3.3V], ikiruhusu kifaa kutoa masafa kamili ya sehemu inayotakiwa ya DC. Tutaruka hesabu za uchambuzi zenye kukasirisha, na tuzingatia tu matokeo ya mwisho:

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

Sasa, safu ya sehemu ya DC iko katika masafa [-3.3V: + 3.3V].

Mzunguko wa Kuhitimisha - Vipengele vya DC na Matokeo ya Waveform

Kwa wakati huu tuna kila kitu tunachohitaji kwa pato linalofaa la kifaa - Upendeleo wa Voltage (sehemu ya DC) katika safu kamili ya voltage, na matokeo ya AD9834 yaliyozidishwa. Tutafanya hivyo kutokea kwa kutumia kipaza sauti cha kuongeza sauti - usanidi wa op-amp

Wacha turuke hesabu tena (Tumefunika mbinu nyingi za hesabu tayari) na tuandike matokeo ya mwisho ya pato la mkusanyiko wa muhtasari:

V (pato la kifaa) = V (upendeleo mzuri) - V (upendeleo hasi) - V (pato lenye msongamano) [V]

Kwa hivyo:

V_OUT = ΔV_BIAS - V_AD9834 [V]

Viunganisho vya pato la aina ya BNC vimeunganishwa na vipinga uteuzi (R54, R55; R56, R57). Sababu ya hiyo ni kwamba katika hali ambayo muundo unaweza kuwa haufanyi kazi, bado tunaweza kuchagua ikiwa tungependa kutumia kipaza sauti.

Ujumbe muhimu: Mitandao ya kontena ya viboreshaji vya mwisho vya kuhitimisha inaweza kubadilishwa na mbuni, ili kubadilisha kiwango cha juu zaidi ambacho kinaweza kupatikana kutoka kwa kifaa. Kwa upande wangu, amps zote zinashiriki faida sawa = 1, kwa hivyo kiwango cha juu kilichopigwa ni 0.7Vpp kwa wimbi la pembetatu / sine na 3.3Vpp kwa wimbi la mraba. Njia maalum ya hisabati inaweza kupatikana kati ya picha zilizoambatishwa kwa hatua.

ESP32 Kama Moduli ya Nje

MCU inawasiliana na ESP32 kupitia kiolesura cha UART. Kwa kuwa nilitaka PCB yangu mwenyewe kwa ESP32, kuna vituo 4 vinavyopatikana kuunganisha: VCC, RX, TX, GND. J7 ni kiunganishi cha kiunganishi kati ya PCB, na ESP32 itatengwa kama moduli ya nje ndani ya kifaa.

Muunganisho wa Mtumiaji - LCD na Spika

LCD ambayo ilitumika ni generic 20 x 4 display with 4-bit interface, Kama inavyoonekana kutoka kwa muundo kuna SPI digital potentiometer iliyoshikamana na vituo vya LCD "A" na "V0" - kusudi lake ni kurekebisha mwangaza na tofauti ya moduli ya LCD kwa mpango.

Spika hutoa pato la sauti kwa mtumiaji na kizazi rahisi cha wimbi la mraba kutoka MCU. BJT T1 inadhibiti sasa kupitia spika ambayo inaweza kuwa katika majimbo mawili - ON / OFF.

Hatua ya 5: Ubuni wa vifaa - Moduli ya ESP32

Ubunifu wa Vifaa - Moduli ya ESP32
Ubunifu wa Vifaa - Moduli ya ESP32

ESP32 hutumiwa kama moduli ya nje ya PCB kuu. Mawasiliano ya kifaa inategemea amri za AT, ambazo zinapatikana kwenye firmware ya kifaa cha kawaida.

Hakuna mengi ya kupanua juu ya muundo huu, lakini kuna maelezo kadhaa ya muundo:

  • Kwa utunzaji wa kutofaulu wa kutumia moduli sahihi ya UART ya ESP32, nimeambatanisha vipinzani vitatu vya uteuzi kwa mistari yote ya TX na RX. (0Ohm kwa kila mmoja). Kwa usanidi wa kawaida, moduli ya UART2 hutumiwa kwa amri za AT (R4, R7 lazima iuzwe)
  • Kifaa kina pato la laini 4 - VCC, GND, TX, RX.
  • Pini za IO0 na EN zinatathmini utendaji wa kifaa na zinapaswa kutengenezwa kama inavyotolewa kwenye hesabu

Vipengele vyote vya PCB tutashughulikia katika hatua ifuatayo.

Hatua ya 6: Mpangilio wa PCB

Mpangilio wa PCB
Mpangilio wa PCB
Mpangilio wa PCB
Mpangilio wa PCB
Mpangilio wa PCB
Mpangilio wa PCB

Malengo ya kubuni PCB

  1. Unda mfumo uliopachikwa kwa mizunguko yote iliyojumuishwa kwenye bodi moja
  2. Boresha utendaji wa kifaa kupitia kubuni PCB kuu moja
  3. Kupunguza gharama - ikiwa ungependa kutafuta bei, miundo ya bei ya chini ni gharama nafuu
  4. Punguza ukubwa wa bodi ya elektroniki
  5. Rahisi kusuluhisha - Tunaweza kutumia TPs (Vipimo vya Mtihani) kwa kila laini inayoweza kufanya kazi vibaya.

Vigezo vya Kiufundi

Pcb zote mbili: bodi kuu na ESP32 zinashiriki sifa sawa kwa mchakato wa utengenezaji - gharama ya chini na inaendeshwa kwa madhumuni yetu. Wacha tuwaone:

A - Bodi Kuu

  • Ukubwa: 10cm x 5.8cm
  • Idadi ya Tabaka: 2
  • Unene wa PCB: 1.6mm
  • Kiwango cha chini cha ufuatiliaji / upana: 6 / 6mil
  • Kiwango cha chini kupitia kipenyo cha shimo: 0.3mm
  • Shaba kwa makali ya umbali wa chini wa PCB: 20mil
  • Kumaliza uso: HASL (Aina nzuri ya rangi nzuri ya fedha)

B - Bodi kuu

  • Ukubwa: 3cm x 4cm
  • Idadi ya Tabaka: 2
  • Unene wa PCB: 1.6mm
  • Kiwango cha chini cha ufuatiliaji / upana: 6 / 6mil
  • Kiwango cha chini kupitia kipenyo cha shimo: 0.3mm
  • Shaba kwa makali ya umbali wa chini wa PCB: 20mil
  • Kumaliza uso: HASL

Hatua ya 7: Ufungaji wa 3D

Kifungo cha 3D
Kifungo cha 3D

Sikuiunda mwenyewe, kwa sababu wakati huo nilikuwa nikishawishi kifaa hiki kufanya kazi, kwa hivyo sikuwa na ufahamu wa misingi yote ya uchapishaji ya 3D. Kwa hivyo nimetumia mradi wa SCAD kutoka Thingiverse, na kushikamana na viboreshaji tofauti kwenye mipaka, kulingana na vipimo vya kifaa changu.

  1. Kifaa cha Uchapishaji: Uumbaji Ender-3
  2. Aina ya Kitanda: Kioo, unene wa 5mm
  3. Kipenyo cha filament: 1.75mm
  4. Aina ya filamenti: PLA +
  5. Kipenyo cha pua: 0.4mm
  6. Kasi ya awali: 20mm / Sek
  7. Kasi ya Wastani: 65mm / Sec
  8. Msaada: N / A.
  9. Kujaza: 25%
  10. Joto:

    • Kitanda: 60 (oC)
    • Pua: 215 (oC)
  11. Rangi ya Filamenti: Nyeusi
  12. Jumla ya Idadi ya Vifunguzi: 5
  13. Idadi ya Paneli za Kufungwa: 4

    • Gamba la juu
    • Shell ya chini
    • Paneli ya mbele
    • Jopo la Nyuma

Hatua ya 8: Utekelezaji wa Programu - MCU

Utekelezaji wa Programu - MCU
Utekelezaji wa Programu - MCU
Utekelezaji wa Programu - MCU
Utekelezaji wa Programu - MCU
Utekelezaji wa Programu - MCU
Utekelezaji wa Programu - MCU

Kiungo cha GitHub kwa Nambari ya Android na Atmega32

Usanifu wa Programu

Shughuli zote ambazo zinafanywa na MCU, zinaelezewa katika chati za mtiririko. Kwa kuongezea hayo, kuna nambari iliyoambatishwa kwa mradi huo. Wacha tuangalie maelezo ya programu:

Anzisha

Katika hatua hii, MCU hufanya mlolongo wote wa uanzishaji pamoja na uamuzi wa aina ya mawasiliano iliyohifadhiwa na kifaa cha Android: Mawasiliano ya moja kwa moja ya Wifi au WLAN mtandao - data hii imehifadhiwa katika EEPROM. Mtumiaji anaweza kufafanua tena aina ya uoanishaji wa kifaa cha Android katika hatua hii.

Uoanishaji wa Vifaa vya Android moja kwa moja

Aina hii ya kuoanisha inategemea uundaji wa mtandao wa WiFi na kifaa cha FuncGen. Itaunda AP (Kituo cha Ufikiaji) na seva ya TCP kwenye IP ya kifaa cha ndani na SSID maalum (jina la mtandao wa WiFi) na nambari maalum ya bandari. Kifaa kinapaswa kushikilia hali - wazi kwa unganisho.

Wakati kifaa cha Android kimeunganishwa na FuncGen, MCU inaingia katika hali ya ACTIVE, na hujibu kulingana na maagizo ya mtumiaji kutoka kwa kifaa cha Android.

Kuoanisha WLAN

Ili kuwasiliana kwenye mtandao wa WiFi, MCU inapaswa kutoa amri kwa ESP32 kuunda AP, kuwasiliana na kifaa cha Android na kubadilishana data muhimu ya mtandao:

  • Kifaa cha Android hupokea kutoka kwa FuncGen anwani yake ya MAC, huihifadhi kwa kumbukumbu.
  • Kifaa cha FuncGen kinapata fomu ya kifaa cha Android kilichochaguliwa vigezo vya WLAN: SSID, aina ya usalama na Nenosiri na huihifadhi katika EEPROM.

Wakati vifaa vimeunganishwa kwa WLAN sawa, kifaa cha Android kitatafuta FuncGen kwa kukagua anwani zote za MAC za vifaa, zilizounganishwa na WLAN. Wakati kifaa cha Android kinapoamua mechi ya MAC, inajaribu kuwasiliana.

Uunganisho na Utunzaji wa Jimbo - MCU

Wakati vifaa vinawasiliana na kila mmoja, itifaki (Angalia hatua ya kabla ya mwisho) inakaa sawa, na chati ya mtiririko ni sawa.

Ufuatiliaji wa Hali ya Kifaa

Kukatizwa kwa wakati kunatoa kwa MCU maelezo muhimu kwa utunzaji wa serikali. Kila mzunguko wa saa unakatisha, orodha zifuatazo zinasasishwa:

  • Ugavi wa umeme wa nje - Washa / Washa
  • Hali ya voltage ya betri
  • Sasisho la UI kwa kila ubinafsishaji
  • Kitufe cha kushinikiza: Imesisitizwa / haijasisitizwa

Hatua ya 9: Utekelezaji wa Programu - Programu ya Android

Utekelezaji wa Programu - Programu ya Android
Utekelezaji wa Programu - Programu ya Android
Utekelezaji wa Programu - Programu ya Android
Utekelezaji wa Programu - Programu ya Android
Utekelezaji wa Programu - Programu ya Android
Utekelezaji wa Programu - Programu ya Android
Utekelezaji wa Programu - Programu ya Android
Utekelezaji wa Programu - Programu ya Android

Programu ya Android imeandikwa kwa mtindo wa Java-Android. Nitajaribu kuelezea kwa njia sawa na hatua zilizopita - kwa kugawanya algorithm katika vizuizi tofauti vya nambari.

Mlolongo wa Nguvu

Mlolongo wa kwanza wa kifaa. Hapa nembo ya programu imewasilishwa pamoja na kuwezesha moduli za GPS na WiFi za kifaa cha Android (Usijali, GPS inahitajika kwa mitandao inayofaa ya skanai tu).

Menyu kuu

Baada ya programu kuwashwa, vifungo vinne vitaonekana kwenye skrini. Kitendo cha vifungo:

  1. Uunganisho wa moja kwa moja: Kuanzisha unganisho kwa AP ya FuncGen na SSID ya IOT_FUNCGEN. Ikiwa muunganisho umefanikiwa, kifaa kinaingia katika hali kuu ya UI.
  2. Uunganisho wa WIFI: Kifaa huangalia ikiwa kuna vigezo vya data vilivyohifadhiwa kwenye kumbukumbu: wifi.txt, mac.txt. Ikiwa hakuna data iliyohifadhiwa, kifaa kitakataa ombi la mtumiaji na kutoa ujumbe ibukizi kwamba uoanishaji wa WLAN unapaswa kufanywa kwanza.
  3. KUUNGANISHA: Kuwasiliana na FuncGen kwa njia sawa na KUUNGANA KWA MOJA KWA MOJA, lakini badala ya kubadilishana ujumbe kwa kuendelea, kuna kupeana mkono mmoja. Kifaa cha Android hukagua ikiwa tayari imeunganishwa kwenye mtandao wa WiFi, na ombi la mtumiaji kuingiza nywila. Ikiwa unganisho limefanikiwa, kifaa cha Android kinahifadhi SSID na vitufe katika faili ya wifi.txt. Baada ya mawasiliano mafanikio na FuncGen, inahifadhi anwani ya MAC katika faili ya mac.txt.
  4. Toka: Imetosha kusema:)

Meneja wa skanning ya WiFi

Nilitaka programu hiyo ifanye kazi yote na bila marekebisho ya nje ya programu kufanywa. Kwa hivyo, nimebuni skana ya WiFi, ambayo hufanya shughuli zote zinazohitajika kuungana na mtandao wa WiFi na kitufe kinachojulikana na SSID.

Uhamisho wa Takwimu na Mawasiliano ya TCP

Hii ndio kizuizi kikuu cha msimbo katika programu. Kwa vitengo vyote vya UI kuna ujumbe uliofafanuliwa katika muundo maalum (Hatua ya kabla ya mwisho), ambayo inalazimisha FuncGen kutoa pato la taka kwa vituo. Kuna aina tatu za uwanja wa UI katika shughuli:

  1. Tafuta Baa: Hapa tunafafanua anuwai halisi ya vigezo vya pato la FuncGen

    1. Amplitude
    2. Kukabiliana na DC
    3. Mwangaza wa LCD
    4. Tofauti ya LCD
  2. Nakala Hariri: Ili kuweka nambari kamili zimefafanuliwa vizuri na sahihi, pembejeo ya masafa hufanywa kupitia nambari tu masanduku ya maandishi
  3. Vifungo: Uchaguzi wa vigezo kutoka kwenye orodha zinazopatikana:

    1. Aina ya Waveform

      1. Sine
      2. Pembetatu
      3. DC
      4. Mraba
      5. ZIMA
    2. Pata Maelezo

      1. Hali ya Betri (Asilimia)
      2. Hali ya AC (Ugavi wa Nguvu za Nje)
    3. Chaguo la Boot (Kwa FuncGen MCU)

      1. Kuweka Kiwanda
      2. Anzisha tena
      3. Kuzimisha
      4. Moja kwa moja - Anza tena na hali ya kuoanisha moja kwa moja
      5. WLAN - Anza tena na hali ya kuoanisha ya WLAN
    4. Toka kwenye Menyu kuu: Imesema ya kutosha:)

Hatua ya 10: Upimaji

Ilipendekeza: