Агуулгын хүснэгт:

WiFi болон Android дээр зөөврийн функц үүсгэгч: 10 алхам
WiFi болон Android дээр зөөврийн функц үүсгэгч: 10 алхам

Видео: WiFi болон Android дээр зөөврийн функц үүсгэгч: 10 алхам

Видео: WiFi болон Android дээр зөөврийн функц үүсгэгч: 10 алхам
Видео: хакерууд!? хэрэглэгчийн нэр, нууц үгээ мэдэхгүйгээр микротик руу нэвтэрч болно #TeknisiWifi 2024, Долдугаар сарын
Anonim
WiFi болон Android дээр зөөврийн функц үүсгэгч
WiFi болон Android дээр зөөврийн функц үүсгэгч
WiFi болон Android дээр зөөврийн функц үүсгэгч
WiFi болон Android дээр зөөврийн функц үүсгэгч
WiFi болон Android дээр зөөврийн функц үүсгэгч
WiFi болон Android дээр зөөврийн функц үүсгэгч
WiFi болон Android дээр зөөврийн функц үүсгэгч
WiFi болон Android дээр зөөврийн функц үүсгэгч

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

Өнөө үед бүх зүйл "ухаалаг" байж болох тул би Android лабораторид суурилсан ухаалаг гар утаснаас WiFi шууд эсвэл WiFi орон нутгийн сүлжээгээр (WLAN) удирддаг зөөврийн функциональ генератор болох электрон лабораторийн чухал тоног төхөөрөмжийн нэг хэсэг болох маш ашигтай төхөөрөмжийг зохион бүтээхээр шийдлээ.).

Бид яагаад энэ төхөөрөмжийг бүтээх ёстой гэж?

Туршилтын тоног төхөөрөмжийн дийлэнх нь өнөө үед нэлээд үнэтэй байдаг. Заримдаа эдгээр төхөөрөмжүүд зөөврийн биш байдаг. Өндөр үнэ, зөөвөрлөлт, төхөөрөмжийн сүлжээнд нэвтрэх боломжгүй байдлын шийдэл болох төхөөрөмж нь хоёр сувгийн долгионы хэлбэрийн генераторыг өгдөг бөгөөд энэ нь үнэхээр зөөврийн бөгөөд интернэт эсвэл орон нутгийн сүлжээнд хязгааргүй нэвтрэх боломжтой юм.

Мэдээжийн хэрэг, DIY зарчмуудыг дагаж, урам зоригтойгоор төхөөрөмжийг бүтээх ёстой - Заримдаа бид өөрсдийгөө зөв мэдрэхийн тулд өөрсдөө хийх хэрэгтэй болдог:)

Гол онцлог

Цахилгаан хангамж

  • Цахилгаан хангамжийн систем болон програмчлалын аль алинд нь зориулагдсан USB Type-A холбогч
  • Li -Ion батерейны иж бүрэн удирдлагын систем - Цэнэглэх, тогтвортой горим
  • Ухаалаг шилжүүлгийн хэрэгжилт - цахилгаан солих унтраалга шаардлагагүй
  • Хос тэжээл: +3.3V ба -3.3V тэгш хэмт хүчдэлийн долгионы хэлбэрийг бий болгох

Долгионы хэлбэр

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

Харилцаа холбоо

  • ESP32 -ийн хэрэгжилт - Холбогдох WiFi боломжууд
  • Генератор төхөөрөмж болон Android ухаалаг гар утасны TCP/IP -ийн бүрэн дэмжлэг
  • Төхөөрөмжийн мөчлөг бүрт хэрэглэгчийн параметрүүдийг хадгалах чадвар
  • Улсын хяналт - хоёр систем хоёулаа бие биенээ мэддэг: FuncGen (одооноос үүнийг ингэж нэрлэе) болон ухаалаг гар утас.

Хэрэглэгчийн интерфэйс

  • Энгийн 4 битийн өгөгдлийн интерфэйстэй 20 х 4 тэмдэгт LCD
  • Андройд аппликейшн - FuncGen төхөөрөмж дээр хэрэглэгчийн бүрэн хяналт
  • Дуугаралтын хэлхээ - хэрэглэгчдэд өгөх санал хүсэлт

Алхам 1: Блок диаграм - Тоног төхөөрөмж

Блок диаграм - Тоног төхөөрөмж
Блок диаграм - Тоног төхөөрөмж
Блок диаграм - Тоног төхөөрөмж
Блок диаграм - Тоног төхөөрөмж

Микроконтроллерийн нэгж - ATMEGA32L

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

Харилцааны SoC - ESP32

Энэхүү SoC (System on Chip) нь FuncGen -д зориулсан харилцаа холбооны бүрэн дэмжлэгийг үзүүлдэг - Шууд, орон нутгийн эсвэл интернет холболт зэрэг WiFi -ийн боломжуудад нэвтрэх. Төхөөрөмжийн зорилго нь:

  • Андройд апп болон FuncGen төхөөрөмжийн хооронд өгөгдөл дамжуулах
  • Хяналт/өгөгдлийн мессежийг удирдах
  • TCP/IP Client-Server тасралтгүй тохиргоог дэмжих

Манай төслийн хувьд SoC бол espressif ESP32 бөгөөд үүнийг улам өргөжүүлэхэд маш их алдартай болсон:)

Ли-ион батерейны удирдлагын систем

Манай төхөөрөмжийг зөөврийн төхөөрөмж болгон хувиргахын тулд төхөөрөмж нь Li-Ion батерейг цэнэглэх зориулалттай хэлхээг агуулдаг. Энэ хэлхээ нь MC73831 IC дээр суурилсан бөгөөд нэг програмчлалын резисторын утгыг тохируулах замаар цэнэглэх гүйдлийг хянах боломжтой (Бид энэ сэдвийг Схемийн алхамд авч үзэх болно). Төхөөрөмжийн тэжээлийн оролт нь USB Type-A холбогч юм.

Ухаалаг унтраалгын хэлхээ

Ухаалаг унтраалгын төхөөрөмжийн хүчийг хянах хэлхээ нь төхөөрөмжийг унтраах дарааллыг бүрэн хянах боломжийг олгодог бөгөөд төхөөрөмжийн батерейны хүчдэлийг унтраах гадаад унтраалга шаардлагагүй болно. Цахилгаан гүйдлийн бүх ажиллагааг товчлуур болон MCU програм хангамж дээр дарж гүйцэтгэдэг. Зарим тохиолдолд системийг унтраах шаардлагатай болдог: батерейны бага хүчдэл, оролтын өндөр хүчдэл, холбооны алдаа гэх мэт. Ухаалаг унтраалга нь STM6601 ухаалаг унтраалга IC дээр суурилдаг бөгөөд энэ нь хямд бөгөөд тоглоход маш ээлтэй байдаг.

Цахилгаан хангамжийн үндсэн нэгж

Энэ төхөөрөмж нь батерейгаар тэжээгддэг тэжээлийн хангамжийн хоёр хэлхээнээс бүрдэнэ -бүх дижитал / аналог хангамжийн хэлхээнд +3.3V, 0V потенциалтай харьцуулахад FunGen -ийн тэгш хэмт гаралтын хувьд -3.3V (өөрөөр хэлбэл үүсгэсэн долгионы хэлбэрийг [-3.3V: 3.3V -д тохируулж болно)] бүс нутаг.

  • Үндсэн тэжээлийн хэлхээ нь LP3875-3.3 LDO (бага уналт) 1А шугаман хүчдэлийн зохицуулагч дээр суурилдаг.
  • Хоёрдогч нийлүүлэлтийн хэлхээ нь LM2262MX IC дээр суурилдаг бөгөөд энэ нь IC дээр суурилсан конденсатор-цэнэг-насосоор DC-DC сөрөг хүчдэлийн хувиргалтыг хийдэг.

Долгионы хэлбэр үүсгэгч систем

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

  • Тогтмол долгионы далайц: Долгионы хэлбэрийн далайцыг гадаад DAC модуль хянадаг
  • Тогтмол гүйдлийн түвшинг харгалзахгүй: Тогтмол DC офсет утгатай нийлбэр хэлхээг хэрэгжүүлэх
  • Дөрвөлжин долгион ба гурвалжин/синус долгионы тусдаа гаралт: Өндөр давтамжтай сэлгэн залгах хэлхээг хэрэгжүүлснээр суваг тус бүрийн гаралт нь хүссэн долгионы бүх хэлбэрийг хангаж чадна: синус, гурвалжин, дөрвөлжин ба тогтмол гүйдэл.

Шингэн болор дэлгэц

LCD нь UI (хэрэглэгчийн интерфейс) -ийн нэг хэсэг бөгөөд хэрэглэгчид ямар төхөөрөмж бодит цаг дээр юу хийж байгааг ойлгох боломжийг олгох зорилготой юм. Энэ нь төхөөрөмжийн төлөв бүрт хэрэглэгчтэй харилцдаг.

Дуу чимээ

Төхөөрөмжөөс хэрэглэгчдэд нэмэлт санал хүсэлт өгөх энгийн ая генераторын хэлхээ.

ISP -ийн нэгдсэн програмист

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

Алхам 2: Блок диаграм - Сүлжээний сүлжээ

Блок диаграм - Сүлжээний сүлжээ
Блок диаграм - Сүлжээний сүлжээ

Хос сувгийн функц үүсгэгч

Үндсэн төхөөрөмж. Өмнөх алхам дээр бидний авч үзсэн зүйл

ESP-WROOM-32

WiFi болон BLE-ийн чип бүхий нэгдсэн чип систем. SoC нь UART модулийн тусламжтайгаар үндсэн самбар дээр хавсаргасан болно (бид үүнийг схемийн алхамаар тайлбарлах болно) бөгөөд үндсэн төхөөрөмж болон Android ухаалаг гар утасны хооронд мессеж дамжуулагчийн үүргийг гүйцэтгэдэг.

WiFi орон нутгийн сүлжээ

Ухаалаг гар утас, төхөөрөмж нь TCP сервер/үйлчлүүлэгчийн тохиргоонд үндэслэн WiFi шууд эсвэл дотоод сүлжээгээр харилцах болно. Төхөөрөмжүүд WiFi дээр бие биенээ таних үед үндсэн төхөөрөмж нь тохирох параметр бүхий TCP серверийг үүсгэж, мессеж илгээх/хүлээн авах боломжтой болдог. Төхөөрөмж нь ухаалаг гар утасны хоёрдогч үүрэг гүйцэтгэдэг. Нөгөө талаар Андройд төхөөрөмж нь TCP сервертэй харилцагчийн сүлжээний төхөөрөмжөөр холбогддог боловч үндсэн мессеж дамжуулагч гэж тооцогддог - ухаалаг гар утас нь харилцааны бүрэн мөчлөгийг эхлүүлдэг: Мессеж илгээх - хариу хүлээн авах.

Android ухаалаг гар утас

Android OS дээр суурилсан ухаалаг гар утас нь FuncGen програм дээр ажилладаг

Алхам 3: Эд анги, багаж хэрэгсэл, IDE ба Билл материал

Эд анги, багаж хэрэгсэл, IDE ба Билл материал
Эд анги, багаж хэрэгсэл, IDE ба Билл материал
Эд анги, багаж хэрэгсэл, IDE ба Билл материал
Эд анги, багаж хэрэгсэл, IDE ба Билл материал
Эд анги, багаж хэрэгсэл, IDE ба Билл материал
Эд анги, багаж хэрэгсэл, IDE ба Билл материал

Билл материал (хавсаргасан XLS хүснэгтийг үзнэ үү)

UI ба системийн холболтууд

  • 1 x 2004A Char-LCD 20x4 цэнхэр
  • 1 x USB Type B холбогч
  • 1 х 10 багц Mini Micro JST XH 2.54mm 4 зүү
  • 1 х 6 ширхэг Агшин зуурын SW

ПХБ -ийн захиалга (Seeed студийн дагуу)

Үндсэн материал FR-4

Давхаргын тоо 2 давхарга

ПХБ -ийн тоо хэмжээ 10

Янз бүрийн загварын тоо 1

ПХБ -ийн зузаан 1.6 мм

ПХБ -ийн өнгө Цэнхэр

Гадаргуугийн өнгөлгөө HASL

Хамгийн бага гагнуурын маск далан 0.4мм ↑

Зэсийн жин 1 унц

Өрөмдлөгийн цооногийн хамгийн бага хэмжээ 0.3 мм

Ул мөрийн өргөн / зай 6/6 сая

Бүрхүүлтэй хагас нүх / Castellated Holes No

Эсэргүүцлийн хяналтын дугаар

Багаж хэрэгсэл

  • Халуун цавуу буу
  • Хясаа
  • Таслагч
  • ~ 22AWG утас нь эвдрэлийг арилгах зориулалттай
  • Гагнуурын төмөр/станц
  • Гагнуурын цагаан тугалга
  • SMD дахин боловсруулах станц (заавал биш)
  • 3D принтер (заавал биш)
  • Файлыг шахаж байна
  • AVR ISP програмист
  • USB -ээс цуваа хөрвүүлэгч (дибаг хийх зорилгоор заавал биш)

Хөгжлийн нэгдсэн орчин (IDE) ба програм хангамж

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

Алхам 4: Тоног төхөөрөмжийн дизайн - Үндсэн самбар

Тоног төхөөрөмжийн дизайн - Үндсэн самбар
Тоног төхөөрөмжийн дизайн - Үндсэн самбар
Тоног төхөөрөмжийн дизайн - Үндсэн самбар
Тоног төхөөрөмжийн дизайн - Үндсэн самбар
Тоног төхөөрөмжийн дизайн - Үндсэн самбар
Тоног төхөөрөмжийн дизайн - Үндсэн самбар

Батерейны удирдлагын хэлхээ

Батерейг цэнэглэх хэлхээ нь MCP7383 IC дээр суурилсан бөгөөд энэ нь 850mAh багтаамжтай 3.7V Li -Ion батерейны хүссэн цэнэглэх гүйдлийг сонгох боломжийг олгодог. Цэнэглэх гүйдлийг манай тохиолдолд эсэргүүцлийн утгыг (R1) програмчлах замаар тохируулдаг

R1 = 3KOhm, I (цэнэг) = 400mA

USB хүчдэлийн VBUS нь π-шүүлтүүрээр (C1, L3, C3) шүүгддэг бөгөөд хэлхээг цэнэглэх тэжээлийн эх үүсвэр болдог.

Хүчдэл хуваагч хэлхээ (R2, R3) нь MCU A/D сувагт дараах хүчдэлийг өгөх замаар гадаад USB тэжээлийн хангамж холбогдсон эсэхээс үл хамааран MCU -г тодорхойлох боломжийг олгодог.

V (заалт) ~ (2/3) V (BUS)

ATMEGA32L-ийн A/D нь 12 бит учраас дижитал хүрээг тооцоолох боломжтой.

A / D (хүрээ) = 4095V (заалт) / V (REF).

A/D ∈ [14AH: FFFH]

Ухаалаг унтраалгын цахилгаан нэгж

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

  • PSHOLD - Төхөөрөмжийн төлөв байдлыг тодорхойлдог оролтын шугам: хэрэв LOW татвал төхөөрөмж хоёрдогч тэжээлийн бүх нэгжийг (+3.3V ба -3.3V) идэвхгүй болгоно. Хэрэв HIGH дарагдсан бол төхөөрөмж асаалттай байна.
  • nSR ба nPB - Оролтын шугамууд. Товчлуурын терминалууд. Эдгээр тээглүүр дээр уналтын ирмэг илэрсэн тохиолдолд төхөөрөмж асаах / унтраах горимд орохыг оролддог
  • nINT - Гаралтын шугам. Товчлуур дарах бүрт LOW -ийг татаж авдаг
  • EN - Гаралтын шугамыг хоёрдогч тэжээлийн нэгжийн тэжээлийг идэвхжүүлэх зорилгоор ашигладаг. Бага түвшинд байх үед хоёрдогч тэжээлийн хангамж хоёулаа идэвхгүй болно

Эцсийн дизайн руу орохоосоо өмнө зарим чухал тэмдэглэлүүд байна.

  • 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

Сөрөг хүчдэлийн хангамжийн хэлхээ нь 0V тогтмол гүйдлийн хүчин зүйл бүхий тэгш хэмтэй долгионы хэлбэрийг бий болгох боломжийг олгодог (долгионы хэлбэрийн дундаж утга нь 0В байх боломжтой). Энэ хэлхээ нь "цэнэглэх насос" аргаар ажилладаг LM2662MX IC - DC/DC хөрвүүлэгч дээр суурилсан болно. Хэлхээний хамгийн их гаралтын гүйдэл нь 200 мА бөгөөд энэ нь бидний дизайны шаардлагад хангалттай бөгөөд бид төхөөрөмж бүрийн суваг дээрх 80 мА гаралтын гүйдэлээр хязгаарлагддаг.

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

Микроконтроллерийн нэгж - MCU

Энэ бол манай системийн менежер, гүйцэтгэх захирал юм - хяналт, сүлжээний зохицуулалт, мессеж дамжуулах, UI дэмжлэг - бүх зүйлийг MCU хийдэг.

Сонгосон MCU бол Atmel ATMEGA32L бөгөөд L нь дэмжигдсэн хүчдэлийн ∈ [2.7V: 5.5V] гэсэн утгатай. Манай тохиолдолд ажиллах хүчдэл +3.3V байна.

Манай дизайнд MCU -тай хамтран ажиллахын тулд ойлгох шаардлагатай үндсэн блокуудыг авч үзье.

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

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

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

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

Манай MCU нь SPI -ээр програмчлагдсан бөгөөд дахин тохируулах шугам (/RST) -ыг зохих ёсоор ажиллуулахын тулд өндөрт татах шаардлагатай (хэрэв тийм биш бол MCU үүрд анхны байдалд нь орно).

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

Долгионы хэлбэр үүсгэх хэлхээ

Төхөөрөмжийн гол цөм нь эдгээр хэлхээ юм. AD9834 бол бага хүч чадалтай DDS төхөөрөмж бөгөөд системээс авахыг хүссэн бүх долгионы хэлбэрийг бидэнд өгдөг. Хэлхээ нь тусгаарлагдсан гадны 50 МГц осциллятортой хоёр бие даасан AD9834 IC -ийг агуулдаг (үүнийг схемээс харж болно). Осцилляторыг салгах шалтгаан нь дижитал хэлхээний дуу чимээг бууруулах асуудал юм. Тиймээс AD9834 -ийн хажууд байрлуулсан осцилляторуудтай 50 МГц -ийн зөв шугамыг зохицуулахаар шийдсэн.

Одоо математикийг авч үзье.

DDS төхөөрөмж нь 28 битийн бүртгэлд хадгалагдсан гаралтын утга бүхий Phase Wheel технологи дээр ажилладаг тул долгионы хэлбэрийг математикаар тодорхойлж болно.

dP (үе шат) = ωdt; ω = 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 IC нь гурвалжин/синус долгионы аналог гүйдлийн гаралт (IOUT терминал), квадрат долгионы дижитал гаралт (SIGN_OUT терминал) өгдөг. Тэмдгийн битийн хэрэглээ нь жаахан төвөгтэй боловч бид үүнийг зохицуулж чаддаг - DDS харьцуулах утгын босгыг давах бүрт SIGN_OUT зохих ёсоор ажилладаг. Суваг бүрийн гаралтанд 200 Ом эсэргүүцэл суурилуулсан тул гаралтын хүчдэл утга учиртай болно.

Би (нэг суваг) = V (гаралт) / R (хүчдэлийн сонголт); V (гаралт) = R (VS)*I (SS) = 200I (SS) [A]

Далайцын хяналт (D/A) хэлхээ

AD9834 мэдээллийн хүснэгтийн дагуу түүний далайцыг DDS бүрэн хэмжээний системд гүйдэл өгөх замаар тохируулж болох тул хос D/A IC -ийн тусламжтайгаар бид тухайн гүйдлийг тохируулах замаар гаралтын дохионы далайцыг хянах боломжтой болно. Дахин нэг удаа математик:

Би (бүрэн хэмжээний) = 18 * (V_REF - V_DAC) / R_SET [A]

Схемийн дагуу болон зарим тоог тэгшитгэлд оруулахдаа:

I (бүтэн хуваарь) = 3.86 - 1.17 * V_DAC [A]

D/Дизайн хийхэд ашигладаг модуль нь 12 битийн MCP4922 бөгөөд гүйдэл нь [0mA: 3.86mA] хязгаарт байх ба шугаман далайцын функц нь:

V (далайц сонгох) = 1 - [V (D / A) / (2^12 - 1)]

Долгионы хэлбэрийн олон талт хэлхээ

Дөрвөлжин долгион ба синус/гурвалжин долгионы үеийн гаралтыг AD9834 дээр тусгаарласан тул хүссэн бүх долгионы хэлбэрийг нэг тусгаарлагдсан сувгаас авах боломжийг олгохын тулд бид хоёр гаралтын хувьд өндөр хурдны мултиплекс хэлхээг ашиглах ёстой. Мультиплексор IC нь эсэргүүцэл багатай (~ 0.5Ohm) ADG836L аналог унтраалга юм.

MCU -ийн гаралтын хувьд ашиглаж буй сонголтын хүснэгт дараах байдалтай байна.

Горим сонгох [D2: D1] | Гаралтын суваг A | Гаралтын суваг B.

00 | Синус/гурвалжин | Синус/гурвалжин 01 | Синус/гурвалжин | Талбай 10 | Талбай | Синус/Гурвалжин 11 | Талбай | Талбай

Bias Voltage Control (D/A) хэлхээ

Долгионы хэлбэр үүсгэгчийн гол онцлогуудын нэг нь түүний тогтмол гүйдлийн утгыг хянах явдал юм. Энэхүү дизайны хувьд суваг тус бүрт хүссэн 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 нь төхөөрөмжийн гаднах модуль хэлбэрээр хуваарилагдах болно.

Хэрэглэгчийн интерфэйс - LCD ба чанга яригч

Ашигласан LCD бол 4 битийн интерфейстэй 20х4 хэмжээтэй ерөнхий дэлгэц юм. Загвараас харахад "A" ба "V0" LCD терминал дээр хавсаргасан SPI дижитал потенциометр байдаг бөгөөд үүнийг тохируулах зорилготой юм. LCD модулийн тод байдал ба тод байдал.

Чанга яригч нь MCU -аас энгийн дөрвөлжин долгион үүсгэх замаар хэрэглэгчдэд дууны гаралт өгдөг. BJT T1 нь гүйдлийг чанга яригчаар удирддаг бөгөөд энэ нь хоёр төлөвт байж болно - ON / OFF.

Алхам 5: Тоног төхөөрөмжийн дизайн - ESP32 модуль

Тоног төхөөрөмжийн дизайн - ESP32 модуль
Тоног төхөөрөмжийн дизайн - ESP32 модуль

ESP32 нь үндсэн ПХБ -ийн гадаад модуль болгон ашиглагддаг. Төхөөрөмжийн харилцаа холбоо нь ерөнхий төхөөрөмжийн firmware дээр байдаг AT командууд дээр суурилдаг.

Энэ загварыг өргөжүүлэхэд тийм ч их зүйл байхгүй, гэхдээ дизайны талаархи зарим тэмдэглэл байдаг.

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

ПХБ -ийн бүх шинж чанаруудыг бид дараагийн алхамд авч үзэх болно.

Алхам 6: ПХБ -ийн зохион байгуулалт

ПХБ -ийн зохион байгуулалт
ПХБ -ийн зохион байгуулалт
ПХБ -ийн зохион байгуулалт
ПХБ -ийн зохион байгуулалт
ПХБ -ийн зохион байгуулалт
ПХБ -ийн зохион байгуулалт

ПХБ -ийн дизайны зорилго

  1. Нэг самбар дээрх бүх нэгдсэн хэлхээнд суулгагдсан системийг бий болгох
  2. Нэг үндсэн ПХБ -ийг зохион бүтээх замаар төхөөрөмжийн ажиллагааг сайжруулах
  3. Зардлыг бууруулах - хэрэв та үнийг нь харахыг хүсч байвал хямд үнэтэй загварууд нь үнэхээр хямд байдаг
  4. Цахим самбарын хэмжээг багасгах
  5. Алдааг олж засварлахад хялбар - Бид доголдож болзошгүй шугам бүрт TP (туршилтын цэг) ашиглаж болно.

Техникийн параметрүүд

ПХБ -ийн аль аль нь: үндсэн ба ESP32 хавтан нь үйлдвэрлэлийн процесст ижил шинж чанартай байдаг - хямд өртөгтэй, бидний зорилгод нийцдэг. Тэднийг харцгаая:

А - Үндсэн самбар

  • Хэмжээ: 10см х 5.8см
  • Давхаргын тоо: 2
  • ПХБ -ийн зузаан: 1.6 мм
  • Хамгийн бага ул мөрийн зай/өргөн: 6/6 миль
  • Нүхний хамгийн бага диаметр: 0.3 мм
  • ПХБ -ийн хамгийн бага зайны ирмэг хүртэлх зэс: 20 миль
  • Гадаргуугийн өнгөлгөө: HASL (маш сайхан харагддаг мөнгөн өнгө хямд төрөл)

B - Үндсэн самбар

  • Хэмжээ: 3см х 4см
  • Давхаргын тоо: 2
  • ПХБ -ийн зузаан: 1.6 мм
  • Хамгийн бага ул мөрийн зай/өргөн: 6/6 миль
  • Нүхний хамгийн бага диаметр: 0.3 мм
  • ПХБ -ийн хамгийн бага зайны ирмэг хүртэлх зэс: 20 миль
  • Гадаргуугийн өнгөлгөө: HASL

Алхам 7: 3D бүрхүүл

3D хаалт
3D хаалт

Би үүнийг өөрөө зохион бүтээгээгүй, учир нь тэр үед би энэ төхөөрөмжийг ажиллуулахыг ятгаж байсан болохоор 3D хэвлэлийн бүх үндсийг огт мэддэггүй байсан. Тиймээс би Thingiverse -ийн SCAD төслийг ашиглаж, төхөөрөмжийнхөө техникийн дагуу хил хязгаарыг өөр өөр нүх хавсаргасан.

  1. Хэвлэх төхөөрөмж: Creality Ender-3
  2. Орны төрөл: Шил, зузаан нь 5 мм
  3. Утасны диаметр: 1.75 мм
  4. Утасны төрөл: PLA+
  5. Цоргоны диаметр: 0.4 мм
  6. Эхний хурд: 20 мм/сек
  7. Дундаж хурд: 65 мм/сек
  8. Дэмжлэг: Үгүй
  9. Дүүргэлт: 25%
  10. Температур:

    • Ор: 60 (oC)
    • Цорго: 215 (oC)
  11. Утасны өнгө: Хар
  12. Нүхний нийт тоо: 5
  13. Хаалттай хавтангийн тоо: 4

    • TOP Shell
    • Доод бүрхүүл
    • Урд талын самбар
    • Арын самбар

Алхам 8: Програм хангамжийн хэрэгжилт - MCU

Програм хангамжийн хэрэгжилт - MCU
Програм хангамжийн хэрэгжилт - MCU
Програм хангамжийн хэрэгжилт - MCU
Програм хангамжийн хэрэгжилт - MCU
Програм хангамжийн хэрэгжилт - MCU
Програм хангамжийн хэрэгжилт - MCU

Android болон Atmega32 кодын GitHub холбоос

Програм хангамжийн алгоритм

MCU -ийн гүйцэтгэдэг бүх үйлдлийг хавсаргасан схемд тайлбарласан болно. Үүнээс гадна төслийн хавсаргасан код байна. Програм хангамжийн үзүүлэлтүүдийг авч үзье.

Эрчим хүч

Энэ үе шатанд MCU нь бүх эхлүүлэлтийн дарааллыг гүйцэтгэдэг бөгөөд Андройд төхөөрөмжтэй хадгалагдсан холбооны төрлийг тодорхойлдог: Шууд WiFi эсвэл WLAN сүлжээний холбоо - энэ өгөгдлийг EEPROM -д хадгалдаг. Энэ үе шатанд хэрэглэгч Андройд төхөөрөмжийн хослолын төрлийг дахин тодорхойлох боломжтой болно.

Андройд төхөөрөмжийг шууд хослуулах

Энэ төрлийн холболт нь FuncGen төхөөрөмжөөр WiFi сүлжээ үүсгэхэд суурилдаг. Энэ нь тодорхой SSID (WiFi сүлжээний нэр), тодорхой портын дугаар бүхий локал төхөөрөмжийн IP дээр AP (Хандалтын цэг) болон TCP сервер үүсгэх болно. Төхөөрөмж нь холболтын хувьд нээлттэй байх ёстой.

Андройд төхөөрөмж FuncGen -д холбогдсон үед MCU нь Идэвхтэй горимд орж, Андройд төхөөрөмжөөс өгсөн хэрэглэгчийн зааврын дагуу хариу өгдөг.

WLAN холболт

Орон нутгийн WiFi сүлжээгээр холбогдохын тулд MCU нь ESP32 -д AP үүсгэх, Android төхөөрөмжтэй холбогдох, сүлжээний чухал өгөгдлийг солилцох тушаалуудыг өгөх ёстой.

  • Андройд төхөөрөмж нь FuncGen -ээс MAC хаягаа хүлээн авч санах ойд хадгалдаг.
  • FuncGen төхөөрөмж нь сонгосон WLAN параметрүүд болох SSID, аюулгүй байдлын төрөл, нууц үгийг Android төхөөрөмжөөс хүлээн авч EEPROM -д хадгалдаг.

Төхөөрөмжүүд үнэхээр нэг WLAN -д холбогдсон үед Андройд төхөөрөмж нь WLAN -д холбогдсон бүх төхөөрөмжийн MAC хаягийг сканнердах замаар FuncGen -ийг хайж олох болно. Андройд төхөөрөмж MAC тохирохыг тодорхойлоход харилцахыг оролддог.

Холболт ба төрийн зохицуулалт - MCU

Төхөөрөмжүүд хоорондоо харилцах үед протокол (Эцсийн өмнөх алхамыг үзнэ үү) хэвээр байх бөгөөд урсгалын схем ижил байна.

Төхөөрөмжийн төлөв байдлын хяналт

Хугацаатай тасалдал нь мужтай ажиллахад шаардлагатай дэлгэрэнгүй мэдээллийг MCU -д өгдөг. Таймер тасрах мөчлөг бүр дараах параметрүүдийн жагсаалтыг шинэчилдэг.

  • Гадаад цахилгаан хангамж - асаах/унтраах
  • Батерейны хүчдэлийн төлөв
  • Өөрчлөлт бүрийн хувьд UI шинэчлэлт
  • Push-Button: дарагдсан/дарагдаагүй

Алхам 9: Програм хангамжийн хэрэгжилт - Андройд апп

Програм хангамжийн хэрэгжилт - Андройд апп
Програм хангамжийн хэрэгжилт - Андройд апп
Програм хангамжийн хэрэгжилт - Андройд апп
Програм хангамжийн хэрэгжилт - Андройд апп
Програм хангамжийн хэрэгжилт - Андройд апп
Програм хангамжийн хэрэгжилт - Андройд апп
Програм хангамжийн хэрэгжилт - Андройд апп
Програм хангамжийн хэрэгжилт - Андройд апп

Андройд апп нь Java-Android хэв маягаар бичигдсэн болно. Алгоритмыг тусдаа кодын блок болгон хуваах замаар би үүнийг өмнөх алхмуудын нэгэн адил тайлбарлахыг хичээх болно.

Эрчим хүчийг нэмэгдүүлэх дараалал

Төхөөрөмжийн эхний дараалал. Энд аппликейшны логог Андройд төхөөрөмжийн GPS болон WiFi модулийг идэвхжүүлсэнтэй хамт танилцуулж байна (Санаа зоволтгүй, зөвхөн WiFi сүлжээг зөв скан хийхэд GPS хэрэгтэй болно).

Үндсэн цэс

Програмыг ачаалсны дараа дэлгэц дээр дөрвөн товчлуур гарч ирнэ. Товчлуурын үйлдэл:

  1. ШУУД ХОЛБОГДОХ: IOT_FUNCGEN -ийн SSID -ээр FuncGen -ийн AP холболтыг эхлүүлж байна. Хэрэв холболт амжилттай бол төхөөрөмж UI үндсэн горимд орно.
  2. WIFI ХОЛБОО: Төхөөрөмж санах ойд хадгалагдсан өгөгдлийн параметрүүд байгаа эсэхийг шалгадаг: wifi.txt, mac.txt. Хадгалагдсан өгөгдөл байхгүй тохиолдолд төхөөрөмж хэрэглэгчийн хүсэлтийг хүлээж авахгүй бөгөөд WLAN холболтыг эхлээд хийх ёстой гэсэн цонх гарч ирэх болно.
  3. ХОЛБООТОЙ: FuncGen -тэй ШУУД ХОЛБОГДОХтой адил харилцах боловч тасралтгүй мессеж солилцохын оронд ганцхан гар барих явдал гардаг. Андройд төхөөрөмж нь WiFi сүлжээнд аль хэдийн холбогдсон эсэхийг шалгаж, хэрэглэгчээс нууц үг оруулахыг хүсдэг. Хэрэв дахин холболт амжилттай болбол Андройд төхөөрөмж SSID болон нууц үгээ wifi.txt файлд хадгалдаг. FuncGen -тай амжилттай харилцсаны дараа хүлээн авсан MAC хаягийг mac.txt файлд хадгалдаг.
  4. Гарах: хангалттай хэлсэн:)

WiFi скан хийх менежер

Би програмыг бүхэлд нь ажиллагаатай, аппын тохиргоог хийхгүйгээр хийхийг хүссэн. Тиймээс би WiFi сүлжээнд холбогдох нууц үг, SSID ашиглан холбогдох бүх үйлдлийг гүйцэтгэдэг WiFi сканнер зохион бүтээсэн.

Мэдээлэл дамжуулах ба TCP холбоо

Энэ бол апп дахь үндсэн кодын блок юм. Бүх UI нэгжийн хувьд FuncGen-ийг сувгуудын хүссэн гаралтыг хангахад хүргэдэг тодорхой форматтай (эцсийн шатны өмнөх алхам) тодорхой мессеж байдаг. Үйл ажиллагаанд гурван төрлийн UI талбар байдаг:

  1. Бар хайх: Энд бид FuncGen гаралтын параметрүүдийн бодит хүрээг тодорхойлдог

    1. Далайц
    2. DC офсет
    3. LCD гэрэл
    4. LCD тодосгогч
  2. Текст засварлах: Бүхэл тоон утгыг нарийвчлалтай, нарийвчлалтай байлгахын тулд давтамжийн оролтыг зөвхөн тооны хайрцгаар хийдэг
  3. Товчнууд: Боломжтой жагсаалтаас параметрүүдийг сонгох:

    1. Долгионы хэлбэр

      1. Синус
      2. Гурвалжин
      3. DC
      4. Талбай
      5. OFF
    2. Мэдээлэл авах

      1. Зайны төлөв (хувь)
      2. AC статус (гадаад цахилгаан хангамж)
    3. Ачаалах сонголт (FuncGen MCU -ийн хувьд)

      1. Үйлдвэрийн тохиргоо
      2. Дахин ачааллах
      3. Унтраах
      4. Шууд - Шууд хослуулах горимоор дахин эхлүүлнэ үү
      5. WLAN - WLAN хослуулах горимоор дахин эхлүүлнэ үү
    4. Үндсэн цэс рүү гарах: хангалттай гэж хэлсэн:)

Алхам 10: Туршилт

Зөвлөмж болгож буй: