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

Пуужингийн телеметрийн/байрлалыг ажиглагч: 7 алхам
Пуужингийн телеметрийн/байрлалыг ажиглагч: 7 алхам

Видео: Пуужингийн телеметрийн/байрлалыг ажиглагч: 7 алхам

Видео: Пуужингийн телеметрийн/байрлалыг ажиглагч: 7 алхам
Видео: ТРЕКОВЫЕ светильники для дома. Освещение в квартире. 2024, Арваннэгдүгээр
Anonim
Пуужингийн телеметрийн/байрлалыг ажиглагч
Пуужингийн телеметрийн/байрлалыг ажиглагч

Энэхүү төсөл нь 9 DOF мэдрэгч модулийн нислэгийн өгөгдлийг SD карт руу бүртгэж, GPS байршлыг үүрэн сүлжээгээр дамжуулж сервер рүү дамжуулах зорилготой юм. Энэхүү систем нь системийн буух талбай нь LOS -ээс хол байвал пуужинг олох боломжийг олгодог.

Алхам 1: эд ангиудын жагсаалт

Эд ангиудын жагсаалт
Эд ангиудын жагсаалт
Эд ангиудын жагсаалт
Эд ангиудын жагсаалт

Телеметрийн систем:

1x ATmega328 микроконтроллер (Arduino UNO, Nano)

1x Micro SD Breakout -

1x Micro SD карт - (хэмжээ нь FAT 16/32 форматтай байх нь хамаагүй) - Amazon Link

1x Gy -86 IMU - Амазоны холбоос

Албан тушаалын хяналт:

1x ATmega328 микроконтроллер (Arduino UNO, Nano) (систем бүрт өөрийн микро хэрэгтэй)

1x Sim800L GSM GPRS модуль - Амазоны холбоос

1х SIM карт (дата төлөвлөгөөтэй байх ёстой) - https://ting.com/ (зөвхөн хэрэглэж буй зүйлийнхээ төлбөрийг төлдөг)

1x NEO 6M GPS модуль - Amazon LInk

Ерөнхий хэсгүүд:

1x 3.7v lipo зай

1х 3.7-5V хүчдэлийн хувиргагч (хэрэв та PCB бүтээхгүй бол)

1x Raspberry pi, эсвэл php сервер байрлуулах боломжтой ямар ч компьютер

-3D принтер ашиглах боломжтой

-PCM -ийн BOM -ийг хүснэгтэд жагсаасан болно

-Герберчүүд github репо дээр байна -https://github.com/karagenit/maps-gps

Алхам 2: Дэд систем 1: Албан тушаалын хяналт

Туршилт:

Системийн эд ангиудыг (NEO-6M GPS, Sim800L) гартаа авсны дараа та системийн үйл ажиллагааг бие даан туршиж үзэх хэрэгтэй бөгөөд ингэснээр системийг нэгтгэх үед юу ажиллахгүй байгааг ойлгохын тулд толгой өвдөхгүй болно.

GPS тест:

GPS хүлээн авагчийг туршихын тулд та Ublox (U-Center Software) -ээс өгсөн програм хангамжийг ашиглаж болно.

эсвэл github репо -д холбогдсон туршилтын ноорог (GPS тест)

1. U-center програм хангамж ашиглан тест хийхийн тулд GPS хүлээн авагчийг USB-ээр залгаж U-center дэх ком портыг сонгоно уу. Үүний дараа систем таны байршлыг автоматаар хянаж эхлэх ёстой.

2. Микроконтроллер ашиглан туршихын тулд GPS-ийн туршилтын тоймыг IDE-ээр дамжуулан arduino-д байршуулна уу. Дараа нь 5V ба GND -ийг хүлээн авагч дээрх шошготой зүүгээр arduino, GPS RX зүүг дижитал 3, TX зүүг arduino дээрх дижитал 4 -тэй холбоно уу. Эцэст нь arduino IDE дээрх цуваа дэлгэцийг нээж, дамжуулалтын хурдыг 9600 болгож, хүлээн авсан координат зөв эсэхийг шалгана уу.

Тэмдэглэл: NEO-6M модуль дээрх хиймэл дагуулын түгжээний харааны таних тэмдэг нь улаан LED заагч хэдэн секунд тутамд анивчиж, холболтыг илтгэнэ.

SIM800L туршилт:

Үүрэн модулийг туршихын тулд та идэвхтэй мэдээллийн төлөвлөгөөнд бүртгүүлсэн сим карттай байх шаардлагатай тул Ting -ийг санал болгож байна, учир нь тэд сар бүрийн мэдээллийн төлөвлөгөөний оронд зөвхөн таны ашигладаг зүйлийн төлбөрийг төлдөг.

Sim модулийн зорилго нь HTTP GET хүсэлтийг GPS хүлээн авагчийн хүлээн авсан байршлын хамт сервер рүү илгээх явдал юм.

1. Нүдний модулийг туршихын тулд симкортыг модны дотор ирмэгийн үзүүрийг дээш харуулан оруулна уу

2. Sim модулийг GND болон 3.7-4.2v эх үүсвэрт холбоно уу, 5v бүү ашиглаарай !!!! модуль нь 5 вольтоор ажиллах боломжгүй. Sim модулийг RX -ийг Analog 2, TX -ийг Arduino дээрх аналог 3 руу холбоно уу

3. Нүдний модульд командыг илгээх боломжтой байхын тулд github-ээс цуваа нэвтрүүлэх схемийг байршуулна уу.

4. Энэ зааврыг дагана уу, эсвэл AT Command Tester -ийн туршилтыг татаж аваад HTTP GET функцийг туршиж үзээрэй

Хэрэгжилт:

Хоёр систем хоёулаа бие даан ажилладаг болохыг баталгаажуулсны дараа та ноорогийг микроконтроллерийн github -д байршуулах ажлыг үргэлжлүүлж болно. Та цуваа дэлгэцийг 9600 baud дээр нээж, систем нь вэб сервер рүү өгөгдөл илгээж байгаа эсэхийг шалгах боломжтой.

*Серверийн IP болон портыг өөрийн болгож өөрчлөхөө бүү мартаарай, ашиглаж буй үүрэн үйлчилгээ үзүүлэгчийнхээ APN -ийг олохоо мартуузай.

Серверийг тохируулах дараагийн алхам руу очно уу

Алхам 3: Серверийн тохиргоо

Серверийн тохиргоо
Серверийн тохиргоо

Пуужингийн байршлыг харуулах сервер тохируулахын тулд би бөөрөлзгөнө pi -г хост болгон ашигладаг байсан ч та ямар ч компьютер ашиглаж болно.

RPI дээр lightphp -ийг тохируулах талаархи энэ зааврыг дагаж, дараа нь php файлуудыг github -аас RPI -ийн/var/www/html фолдерт хуулж аваарай. Зүгээр л тушаалыг ашиглана уу

sudo үйлчилгээ lighttpd хүчээр дахин ачаална

серверийг дахин ачаалах.

Өгөгдөл рүү алсаас хандахын тулд чиглүүлэгч дээрх сервертэй холбоотой портуудыг дамжуулахаа мартуузай. Rpi дээр энэ нь 80 -р порт байх ёстой бөгөөд гадаад порт нь дурын тоо байж болно.

RPI -д статик IP тохируулах нь зүйтэй бөгөөд ингэснээр таны дамжуулж буй портууд нь RPI хаягийг үргэлж зааж өгдөг.

Алхам 4: Дэд систем 2: Телеметрийн бүртгэл

Телеметрийн програм нь байрлалыг хянах системээс тусдаа микроконтроллер дээр ажилладаг. Энэхүү шийдвэр нь ATmega328 дээрх санах ойн хязгаарлалтын улмаас хоёулаа хоёулаа нэг систем дээр ажиллах боломжгүй болсонтой холбоотой юм. Нарийвчилсан үзүүлэлт бүхий микроконтроллерийн өөр сонголт нь энэ асуудлыг шийдэж, нэг төв процессор ашиглах боломжийг олгодог боловч би ашиглахад хялбар байхын тулд өөрт байгаа эд ангиудыг ашиглахыг хүссэн юм.

Онцлог: Энэ програмыг эндээс онлайнаар олсон өөр нэг жишээ дээр үндэслэсэн болно.

  • Хөтөлбөр нь харьцангуй өндөр (эхлэх үед өндрийн уншилтыг тэглэсэн), температур, даралт, X чиглэл дэх хурдатгалыг (мэдрэгчийн физик чиг баримжаа дээр үндэслэн унших хурдатгалын чиглэлийг өөрчлөх шаардлагатай болно), цагийн тэмдгийг (миллисээр) уншдаг.).
  • Эхлэх самбар дээр сууж, хадгалах зайг дэмий үрэхээс урьдчилан сэргийлэхийн тулд систем нь зөвхөн өндрийн өөрчлөлтийг (програмд тохируулах боломжтой) илрүүлсний дараа өгөгдөл бичиж эхлэх бөгөөд пуужин анхны хувилбар руугаа буцаж ирснийг олж мэдсэний дараа өгөгдөл бичихээ зогсооно. өндөр, эсвэл нислэгийн дараа 5 минутын хугацаа өнгөрч байна.
  • Систем нь асаалттай байгааг харуулж, өгөгдлийг нэг заагч LED -ээр бичдэг.

Туршилт:

Системийг туршихын тулд эхлээд SD картны салангид хэсгийг холбоно уу

Arduino SD карт

Pin 4 ---------------- CS

Pin 11 -------------- DI

Зүү 13 -------------- SCK

Зүү 12 -------------- DO

Одоо GY-86-г I^2C-ээр системд холбоно уу

Arduino GY-86

А4 зүү -------------- SDA

Зүү A5 -------------- SCL

Зүү 2 ---------------- INTA

SD карт дээр datalog.txt нэртэй үндсэн лавлахад файл үүсгэн энд систем өгөгдөл бичих болно.

Data_Logger.ino ноорогыг микроконтроллерт байршуулахаас өмнө ALT_THRESHOLD -ийн утгыг 0 болгож өөрчил, ингэснээр систем нь туршилтын өндрийг үл тоомсорлох болно. Байршуулсны дараа 9600 baud дээр цуваа дэлгэцийг нээж системийн гаралтыг харах боломжтой. Систем нь мэдрэгчтэй холбогдох боломжтой бөгөөд өгөгдлийг SD карт руу бичиж байгаа эсэхийг шалгаарай. Карт дээр өгөгдөл бичигдсэн эсэхийг шалгахын тулд системийг салгаад SD картаа компьютертээ оруулна уу.

Алхам 5: Системийн интеграцчлал

Системийн интеграцчлал
Системийн интеграцчлал
Системийн интеграцчлал
Системийн интеграцчлал

Системийн хэсэг бүр үндсэн ПХБ -д ашиглагддаг ижил тохиргоонд ажилладаг болохыг шалгасны дараа бүгдийг нэгтгэж, ажиллуулахад бэлэн болно! Би PCB болон схемийн хувьд Gerbers болон EAGLE файлуудыг github -д оруулсан болно. Үйлдвэрлэхийн тулд та гэрчүүдийг OSH park эсвэл JLC зэрэг үйлдвэрлэгч рүү оруулах шаардлагатай болно. Эдгээр хавтан нь хоёр давхар бөгөөд жижиг хавтангуудын хувьд 10см10см хэмжээтэй ихэнх үйлдвэрүүдэд багтахаар хэмжээтэй байдаг.

Самбарыг үйлдвэрээс гаргасны дараа хүснэгтэд байгаа бүх бүрэлдэхүүн хэсэг, эд ангиудын жагсаалтыг самбар дээр гагнах цаг болжээ.

Програмчлал:

Бүх зүйл гагнагдсаны дараа та програмыг хоёр микроконтроллерт оруулах хэрэгтэй болно. Удирдах зөвлөлийн орон зайг хэмнэхийн тулд би USB функц оруулаагүй боловч ICSP болон цуваа портуудыг эвдсэн тул та програмыг байршуулж, хянах боломжтой хэвээр байна.

  • Хөтөлбөрийг байршуулахын тулд Arduino самбарыг програмист болгон ашиглах талаархи энэ зааврыг дагана уу. SimGpsTransmitter.ino -г ICSP_GPS порт руу, Data_Logger.ino -г ICSP_DL порт руу байршуулна уу (ПХБ дээрх ICSP порт нь Arduino UNO -ийн стандарт самбар дээр байрлуулсан схемтэй ижил байна).
  • Бүх програмыг байршуулсны дараа та төхөөрөмжийг 3.7-4.2V хүчдэлээр цэнэглэж, 4 индикаторын гэрлийг ашиглан системийн ажиллагааг шалгаж болно.

    • Эхний хоёр гэрэл 5V_Ok ба VBATT_OK нь батерей болон 5в төмөр зам тэжээгддэг болохыг харуулж байна.
    • Гурав дахь гэрэл DL_OK нь 1 секунд тутамд анивчиж, телеметрийн бүртгэл идэвхтэй байгааг илтгэнэ.
    • SIM_Transmit -ийн хамгийн сүүлийн гэрэл нь үүрэн болон GPS модулийг холбож, өгөгдлийг сервер рүү илгээсэн тохиолдолд асах болно.

Алхам 6: Хашаа

Хашаа
Хашаа

Миний энэ төслийг зохион бүтээж буй пуужин нь электроникийг хамгаалах, уг төхөөрөмжийг пуужингийн цилиндр хэлбэрийн биед багтаах боломжийг олгохын тулд дотоод диаметр нь 29 мм бөгөөд би өөрөө боолтоор бэхэлсэн хоёр хэсгээс бүрдсэн 3d хэвлэмэл хайрцаг хийжээ. заагч гэрлийн портуудыг үзэх. Хэвлэх STL файлууд болон анхны.ipt файлууд github репо дотор байна. Тухайн үед ашиглах батерейгаа сайн мэдэхгүй байсан тул би энэ загварыг хийгээгүй боловч 120 мАч батерейны хайрцгийн ёроолд нийцэхийн тулд гараар завсар гаргалаа. Энэхүү батерей нь ~ 200мА цахилгаан зарцуулалттай системийн хамгийн их ажиллах хугацааг ~ 45минутаар тооцдог (Энэ нь процессорын хэрэглээ болон өгөгдөл дамжуулах чадал зэргээс шалтгаална, SIM800L нь харилцаа холбооны явцад 2А -аас дээш тэсрэлт хийдэг).

Алхам 7: Дүгнэлт

Энэхүү төсөл нь Амазон дээрээс олдсон салангид модулиудыг ашиглаж байсан тул төслийн ерөнхий хэмжээ нь хийж буй зүйлийнхээ хувьд нэлээд том тул системийн ерөнхий интеграц нь жаахан сул байна. Зарим үйлдвэрлэгчдийн санал болгосноор үүрэн болон GPS хоёуланг нь багтаасан SIP -ийг ашиглах нь багцын нийт хэмжээг эрс багасгах болно.

Нислэгийн туршилтын дараа би хөтөлбөрт зарим өөрчлөлт оруулах шаардлагатай болж, Github репо -г ямар нэгэн өөрчлөлтөөр шинэчлэх болно гэдэгт итгэлтэй байна.

Энэхүү төсөл танд таалагдсан гэж найдаж байна. Асуух зүйл байвал надтай холбоо бариарай.

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