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

Arduino соронзон хэмжигч: 5 алхам (зурагтай)
Arduino соронзон хэмжигч: 5 алхам (зурагтай)

Видео: Arduino соронзон хэмжигч: 5 алхам (зурагтай)

Видео: Arduino соронзон хэмжигч: 5 алхам (зурагтай)
Видео: Ручной станок для перемотки брони блендеров, дрелей, полировальных машин, пылесосов и т.д. 2024, Арваннэгдүгээр
Anonim
Arduino соронзон хэмжигч
Arduino соронзон хэмжигч

Бид юу барьж байна вэ?

Хүмүүс соронзон орныг илрүүлж чадахгүй ч бид соронзонд байнга түшиглэдэг төхөөрөмжүүдийг ашигладаг. Жишээлбэл, мотор, луужин, эргэлтийн мэдрэгч, салхин цахилгаан үүсгүүрт ажиллахын тулд соронз хэрэгтэй. Энэхүү гарын авлагад гурван Hall эффект мэдрэгч ашиглан соронзон орныг мэдэрдэг Arduino дээр суурилсан соронз хэмжигчийг хэрхэн бүтээх талаар тайлбарласан болно. Соронзон орны векторыг изометрийн проекцийг ашиглан жижиг дэлгэц дээр харуулна.

Arduino гэж юу вэ?

Arduino бол жижиг эх сурвалжтай, хэрэглэгчдэд ээлтэй микроконтроллер юм. Энэ нь дижитал оролт, гаралтын тээглүүртэй. Түүнчлэн аналог оролтын тээглүүртэй бөгөөд энэ нь мэдрэгчийн оролтыг уншихад хэрэгтэй байдаг. Arduino -ийн өөр өөр загварууд байдаг. Энэхүү гарын авлагад Arduino Uno эсвэл Arduino MKR1010 -ийг хэрхэн ашиглах талаар тайлбарласан болно. Гэсэн хэдий ч бусад загварыг ашиглаж болно.

Энэ хичээлийг эхлүүлэхийн өмнө Arduino хөгжүүлэлтийн орчин болон тухайн загварт шаардлагатай номын санг татаж аваарай. Хөгжүүлэлтийн орчныг https://www.arduino.cc/en/main/software дээрээс авах боломжтой бөгөөд суулгах зааврыг https://www.arduino.cc/en/main/software дээрээс авах боломжтой.

Соронзон орон гэж юу вэ?

Байнгын соронз нь бусад байнгын соронзонд хүчтэй нөлөө үзүүлдэг. Одоогийн дамжуулагч утаснууд нь бусад гүйдэл дамжуулах утаснуудад хүчтэй нөлөө үзүүлдэг. Байнгын соронз ба гүйдэл дамжуулах утас нь бие биедээ бас хүчтэй нөлөөлдөг. Туршилтын гүйдэл нэгжийн хүч нь соронзон орон юм.

Хэрэв бид объектын эзэлхүүнийг хэмжвэл ганц скаляр тоо гарна. Гэсэн хэдий ч соронзлолыг илүү төвөгтэй хэмжигдэхүүн болох векторын талбараар дүрсэлдэг. Нэгдүгээрт, энэ нь бүх орон зайд байрлалаас хамаарч өөр өөр байдаг. Жишээлбэл, байнгын соронзноос нэг сантиметр зайтай соронзон орон нь арван сантиметр зайтай соронзон орноос том байх магадлалтай.

Дараа нь орон зайн цэг бүрийн соронзон орныг вектороор дүрсэлнэ. Векторын хэмжээ нь соронзон орны хүчийг илэрхийлдэг. Чиглэл нь хүчний чиглэл ба туршилтын гүйдлийн чиглэлд хоёуланд нь перпендикуляр байна.

Бид нэг байршилд байгаа соронзон орныг сум шиг төсөөлж болно. Бид соронзон орон зайг өөр өөр хэмжээтэй, өөр өөр хэмжээтэй, өөр өөр чиглэлд зааж өгсөн сумаар төсөөлж болно. Сайхан дүрслэлийг https://www.falstad.com/vector3dm/ дээрээс авах боломжтой. Бидний барьж буй соронз хэмжигч нь мэдрэгчийн байрлал дахь соронзон орныг дэлгэцэн дээрх сум шиг харуулдаг.

Hall эффект мэдрэгч гэж юу вэ, энэ нь хэрхэн ажилладаг вэ?

Холлын эффект мэдрэгч нь тодорхой чиглэлд соронзон орны хүчийг хэмждэг жижиг, хямд төхөөрөмж юм. Энэ нь илүүдэл цэнэгээр дүүргэсэн хагас дамжуулагч хэсгээр хийгдсэн. Зарим Hall эффект мэдрэгчийн гаралт нь аналог хүчдэл юм. Бусад Hall эффект мэдрэгч нь нэгдсэн харьцуулагчтай бөгөөд дижитал гаралт гаргадаг. Бусад Hall эффект мэдрэгчийг урсгалын хурд, эргэлтийн хурд эсвэл бусад хэмжигдэхүүнийг хэмждэг том төхөөрөмжүүдэд нэгтгэдэг.

Холлын эффектийн физикийг Лоренцын хүчний тэгшитгэлээр нэгтгэн дүгнэв. Энэхүү тэгшитгэл нь гадаад цахилгаан ба соронзон орны нөлөөгөөр хөдөлж буй цэнэгийн хүчийг тодорхойлдог.

Зураг
Зураг

Доорх зурагт Холлын эффектийг харуулав. Бид соронзон орны хүчийг цэнхэр сумны чиглэлд хэмжихийг хүсч байна гэж бодъё. Зургийн зүүн хэсэгт үзүүлснээр бид хэмжих талбайн чиглэлд перпендикуляр хагас дамжуулагчаар гүйдэл дамжуулдаг. Одоогийн гүйдэл нь цэнэгийн урсгал тул хагас дамжуулагч дахь цэнэг нь тодорхой хурдтай хөдөлдөг. Энэ цэнэг нь зургийн дунд хэсэгт үзүүлсэн шиг гадаад талбайн нөлөөгөөр хүчийг мэдрэх болно. Хүчний улмаас цэнэг хөдөлж, хагас дамжуулагчийн ирмэг дээр хуримтлагдана. Хуримтлагдсан хуримтлалын улмаас үүссэн хүч нь гадаад соронзон орны нөлөөгөөр тэнцвэржих хүртэл цэнэг хуримтлагддаг. Зурагны баруун хэсэгт үзүүлсэн шиг бид хагас дамжуулагчийн хүчдэлийг хэмжих боломжтой. Хэмжсэн хүчдэл нь соронзон орны бат бэхтэй пропорциональ бөгөөд энэ нь гүйдэл ба соронзон орны чиглэлд перпендикуляр чиглэлд байна.

Зураг
Зураг

Изометрийн проекц гэж юу вэ?

Орон зайн цэг бүрт соронзон орныг гурван хэмжээст вектороор дүрсэлдэг. Гэсэн хэдий ч бидний дэлгэцийн дэлгэц нь хоёр хэмжээст юм. Бид гурван хэмжээст векторыг хоёр хэмжээст хавтгайд гаргаж, дэлгэцэн дээр зурж болно. Үүнийг хийхийн тулд изометрийн проекц, орфографийн проекция эсвэл ташуу проекц гэх мэт олон арга бий.

Изометрийн проекцид x, y, z тэнхлэгүүд хоорондоо 120 градусын зайтай байх бөгөөд тэдгээр нь адилхан урагшаа харсан харагдаж байна. Изометрийн проекцийн талаархи нэмэлт мэдээлэл, шаардлагатай томъёог Википедиагийн сэдвээр олж болно.

Алхам 1: хангамж цуглуулах

Arduino ба кабель

Arduino бол соронзон хэмжигчийн тархи юм. Эдгээр заавар нь Arduino Uno эсвэл Arduino MKR1010 -ийг хэрхэн ашиглах талаар тайлбарласан болно. Аль ч тохиолдолд үүнийг компьютерт холбохын тулд кабель хэрэгтэй болно.

Сонголт 1: Arduino Uno ба USB AB кабель

www.digikey.com/product-detail/en/arduino/A000066/1050-1024-ND/2784006

www.digikey.com/product-detail/en/stewart-connector/SC-2ABE003F/380-1424-ND/8544570

Сонголт 2: Arduino MKR1010 ба microUSB кабель

www.digikey.com/product-detail/en/arduino/ABX00023/1050-1162-ND/9486713

www.digikey.com/product-detail/en/stewart-connector/SC-2AMK003F/380-1431-ND/8544577

TFT дэлгэц

TFT нь нимгэн хальсны транзистор гэсэн утгатай. Энэхүү 1.44 инчийн дэлгэц нь 128 х 128 пикселийн багтаамжтай. Жижиг, тод, өнгөлөг. Таслах самбар дээр хавсаргасан байдаг. Гэсэн хэдий ч толгойн зүү нь тусдаа байдаг тул та тэдгээрийг гагнах хэрэгтэй. (Гагнуур ба гагнуурын төмөр хэрэгтэй.)

www.digikey.com/product-detail/en/adafruit-industries-llc/2088/1528-1345-ND/5356830

    Зураг
    Зураг
  • Аналог танхимын эффект мэдрэгч

Гурван танхимын эффект мэдрэгч шаардлагатай. Доорх линк нь Allegro хэсгийн A1324LUA-T хэсгийн дугаар юм. Энэхүү мэдрэгчийн хувьд зүү 1 нь тэжээлийн хүчдэл, зүү 2 нь газардуулга, зүү 3 нь гаралт юм. Бусад танхимын мэдрэгчүүд бас ажиллах ёстой, гэхдээ тэдгээр нь дижитал биш харин аналог эсэхийг шалгаарай. Хэрэв та өөр мэдрэгч ашигладаг бол зүүг шалгаж, шаардлагатай бол утсыг тохируулна уу. (Би үнэндээ туршилтын зорилгоор нэг компанийн өөр мэдрэгчийг ашигласан. Гэсэн хэдий ч миний ашигласан нь хуучирсан бөгөөд энэ мэдрэгч нь түүнийг сольсон болно.)

www.digikey.com/product-detail/en/allegro-microsystems-llc/A1324LUA-T/620-1432-ND/2728144

Жижиг талхны самбар ба утас

www.digikey.com/product-detail/en/adafruit-industries-llc/239/1528-2143-ND/7244929

Туршилтын байнгын соронз

Хөргөгчний соронз сайн ажиллах болно.

Алхам 2: Цахилгааны утас

Цахилгаан утас
Цахилгаан утас

Дэлгэц дээрх толгойг гагнах.

Зураг
Зураг

Мэдрэгчийг талхны тавцангийн нэг төгсгөлд байрлуулж, дэлгэц ба Arduino -ийг эсрэг талд нь байрлуул. Arduino болон дэлгэц дээрх утаснуудын гүйдэл нь соронзон орон үүсгэдэг бөгөөд үүнийг мэдрэгч уншихыг хүсдэггүй. Нэмж дурдахад бид мэдрэгчийг байнгын соронзны дэргэд байрлуулахыг хүсч болох бөгөөд энэ нь дэлгэц ба мэдрэгчийн утаснуудын гүйдэлд сөргөөр нөлөөлж болзошгүй юм. Эдгээр шалтгааны улмаас бид мэдрэгчийг дэлгэц болон Arduino -аас хол байлгахыг хүсч байна. Мөн эдгээр шалтгаанаар энэхүү соронзон хэмжигчийг маш хүчтэй соронзон орноос хол байлгах ёстой.

Мэдрэгчийг бие биендээ перпендикуляр байрлуулах боловч аль болох ойрхон байрлуулна. Мэдрэгчийг зөөлөн нугалж перпендикуляр болгоно. Мэдрэгч бүрийн зүү тус бүрийн талбарын тусдаа эгнээнд байх ёстой бөгөөд ингэснээр тусад нь холбож болно.

Зураг
Зураг

Хоёр шалтгаанаар MKR1010 ба Uno -ийн хооронд утас бага зэрэг ялгаатай байна. Нэгдүгээрт, Arduino болон дэлгэц нь SPI -ээр харилцдаг. Arduino -ийн өөр өөр загварууд нь SPI -ийн тодорхой шугамуудад зориулагдсан өөр өөр тээглүүртэй байдаг. Хоёрдугаарт, Uno -ийн аналог оролт нь 5 В хүртэл, MKR1010 -ийн аналог оролт нь зөвхөн 3.3 В хүртэл хүлээн авах боломжтой. Hall эффект мэдрэгчийн санал болгож буй тэжээлийн хүчдэл нь 5 В. Мэдрэгчийн гаралтыг Arduino аналог оролтод холбосон, мөн эдгээр нь нийлүүлэлтийн хүчдэлийн хэмжээтэй адил байж болно. Uno -ийн хувьд мэдрэгчүүдэд санал болгож буй 5 вольтын тэжээлийг ашиглана уу. MKR1010 -ийн хувьд 3.3 В -ийг ашиглаарай, ингэснээр Arduino -ийн аналог оролт нь ажиллах хүчнээс илүү хүчдэлийг хэзээ ч харахгүй болно.

Доорх диаграм, зааврыг дагаж Arduino -г ашиглана уу.

Arduino Uno -той утас холбох

Зураг
Зураг

Дэлгэц нь 11 голтой. Тэднийг Arduino Uno руу дараах байдлаар холбоно уу. (NC нь холбогдоогүй гэсэн үг юм.)

  • Vin → 5V
  • 3.3 → NC
  • Gnd → GND
  • SCK → 13
  • SO → NC
  • SI → 11
  • TCS → 10
  • RST → 9
  • D/C → 8
  • CCS → NC
  • Lite → NC

Вин мэдрэгчийг Arduino -ийн 5V -тэй холбоно уу. Мэдрэгчийн газардуулгыг Arduino -ийн газартай холбоно уу. Мэдрэгчийн гаралтыг Arduino -ийн A1, A2, A3 аналог оролтод холбоно уу.

Зураг
Зураг

Arduino MKR1010 -тай утас холбох

Зураг
Зураг

Дэлгэц нь 11 голтой. Дараах байдлаар тэдгээрийг Arduino руу холбоно уу. (NC нь холбогдоогүй гэсэн үг юм.)

  • Vin → 5V
  • 3.3 → NC
  • Gnd → GND
  • SCK → SCK 9
  • SO → NC
  • SI → MOSI 8
  • TCS → 5
  • RST → 4
  • D/C → 3
  • CCS → NC
  • Lite → NC

Вин мэдрэгчийг Arduino -ийн Vcc -тэй холбоно уу. Энэ зүү нь 5V биш 3.3V байна. Мэдрэгчийн газардуулгыг Arduino -ийн газартай холбоно уу. Мэдрэгчийн гаралтыг Arduino -ийн A1, A2, A3 аналог оролтод холбоно уу.

Зураг
Зураг

Алхам 3: Дэлгэцийг туршиж үзээрэй

TFT дэлгэцийг ажиллуулцгаая. Аз болоход, Adafruit нь хэрэглэгчдэд ээлтэй номын сантай бөгөөд тэдэнтэй хамт явах маш сайн заавартай байдаг. Эдгээр зааврыг https://learn.adafruit.com/adafruit-1-44-color-tft-with-micro-sd-socket/overview гарын авлагыг дагаж мөрдөнө.

Arduino хөгжүүлэх орчныг нээнэ үү. Хэрэгслүүд → Номын санг удирдах хэсэгт очно уу. Adafruit_GFX, Adafruit_ZeroDMA, Adafruit_ST7735 номын санг суулгаарай. Андройд хөгжүүлэх орчныг дахин эхлүүлнэ үү.

Хамгийн график жишээг номын санд оруулсан болно. Үүнийг нээ. Файл → Жишээ → Adafruit ST7735 ба ST7789 номын сан → graphicstest. 1.44 дэлгэцийн комментийг 95 -р мөрөөс 98 -р мөрийг бичихийн тулд сонгох.

Анхны хувилбар:

94 // 1.8 TFT дэлгэц ашиглаж байгаа бол энэ эхлүүлэгчийг ашиглана уу.

95 tft.initR (INITR_BLACKTAB); // Init ST7735S чип, хар таб 96 97 // Эсвэл 1.44 TFT: 98 //tft.initR(INITR_144GREENTAB) ашиглаж байгаа бол энэ эхлүүлэгчийг (тайлбарлахгүй) ашиглана уу; // ST7735R чип, ногоон таб

1.44 инчийн дэлгэцийн зөв хувилбар:

94 // 1.8 TFT дэлгэц ашиглаж байгаа бол энэ эхлүүлэгчийг ашиглана уу.

95 //tft.initR(INIT_BLACKTAB); // Init ST7735S чип, хар таб 96 97 // Эсвэл 1.44 TFT: 98 tft.initR (INITR_144GREENTAB) ашиглаж байгаа бол энэ эхлүүлэгчийг (тайлбарлахгүй) ашиглана уу; // Init SST35R чип, ногоон таб

Дэлгэц нь SPI ашиглан харилцдаг бөгөөд Arduinos -ийн өөр өөр загвар нь зарим холбооны шугамд өөр өөр зориулалтын тээглүүр ашигладаг. Хамгийн график жишээг Uno тээглүүртэй ажиллахаар тохируулсан болно. Хэрэв та MKR1010 ашиглаж байгаа бол 80 ба 81 мөрүүдийн хооронд дараах мөрүүдийг нэмнэ үү.

MKR1010 -ийн залруулга:

80

#тодорхойлох TFT_CS 5 #тодорхойлох TFT_RST 4 #тодорхойлох TFT_DC 3 #тодорхойлох TFT_MOSI 8 #тодорхойлох TFT_SCLK 9 Adafruit_ST7735 tft = Adafruit_ST7735 (TFT_CS, TFT_DC, TFT_MOSI, TFT_MOSI; 81 хөвөгч p = 3.1415926;

Өөрчлөгдсөн график тестийн жишээг хадгална уу. Хэрэв та хараахан хийгээгүй бол Arduino -г компьютерт холбоно уу. Хэрэгслүүд → Самбар ба багажууд → Порт руу очоод компьютер Arduino -г олох боломжтой эсэхийг шалгаарай. Sketch → Байршуулалт руу очно уу. Хэрэв жишээ ажиллавал дэлгэц дээр шугам, тэгш өнцөгт, текст, бүрэн демо харагдах болно. Adafruit -ийн заавар нь алдааг олж засварлах шаардлагатай байгаа бол илүү дэлгэрэнгүй мэдээллийг өгдөг.

Алхам 4: Магнитометрийн код

Хавсаргасан кодыг татаж аваад Arduino хөгжүүлэлтийн орчинд нээнэ үү.

Энэ програм нь зургаан функцийг ашигладаг:

Setup () нь дэлгэцийг эхлүүлдэг

Loop () нь програмын үндсэн давталтыг агуулдаг. Энэ нь дэлгэцийг харлуулж, тэнхлэг, оролтыг уншиж, соронзон орны векторыг дүрсэлсэн сумыг зурдаг. Энэ нь нэг секундын шинэчлэлтийн хурдтай бөгөөд үүнийг 127 -р мөрийг өөрчлөх замаар өөрчлөх боломжтой

DrawAxes3d () нь x, y, z тэнхлэгийг зурж, шошголно

DrawArrow3d () нь 0 -ээс 1023 хүртэлх x, y, z оролтыг авдаг. Эдгээр утгуудаас орон зайн сумны төгсгөлийн цэгүүдийг тооцоолно. Дараа нь isometricxx () ба isometricyy () функцийг ашиглан дэлгэц дээрх төгсгөлийн цэгүүдийг тооцоолно. Эцэст нь сумыг зурж, дэлгэцийн доод хэсэгт хүчдэлийг хэвлэнэ

Isometricxx () изометрийн проекцийн x координатыг олдог. Энэ нь тухайн цэгийн x, y, z координатыг авч харгалзах x пикселийн байршлыг дэлгэц дээр буцаана

Isometricyy () нь изометрийн проекцийн y координатыг олдог. Энэ нь цэгийн x, y, z координатыг авч, харгалзах y пикселийн байршлыг дэлгэц дээр буцаана

Кодыг ажиллуулахын өмнө бид дэлгэцтэй SPI холболт хийхэд ямар тээглүүр ашиглахыг зааж өгөх ёстой бөгөөд мэдрэгчийн эх үүсвэрийн хүчдэлийг тодорхойлох шаардлагатай. Хэрэв та MKR1010 ашиглаж байгаа бол 92-96, 110-р мөрийг тайлбарлана уу. Дараа нь 85-89, 108-р мөрийг тайлбарла. Хэрэв та Uno ашиглаж байгаа бол 85-89, 108-р мөрийг тайлбарлана уу. Дараа нь 92-96, 110-р мөрийг тайлбарлахгүй.

Кодыг оруулах, ноорог → Байршуулах.

Та x, y, z тэнхлэгийг улаанаар харах ёстой. Цэнхэр тойрог бүхий ногоон сум нь мэдрэгч дээрх соронзон орны векторыг илэрхийлдэг. Хүчдэлийн заалтыг зүүн доод талд харуулав. Соронзыг мэдрэгч рүү ойртуулах үед хүчдэлийн уншилт өөрчлөгдөж, сумны хэмжээ өсөх ёстой.

Зураг
Зураг

Алхам 5: Ирээдүйн ажил

Ирээдүйн ажил
Ирээдүйн ажил

Дараагийн алхам бол төхөөрөмжийг тохируулах явдал юм. Мэдрэгчийн мэдээллийн хуудсан дээр түүхий мэдрэгчийн хүчдэлийн утгыг соронзон орны хүчээр хэрхэн хөрвүүлэх талаар мэдээлэл өгнө. Тохируулгыг илүү нарийвчлалтай соронзон хэмжигчтэй харьцуулж шалгаж болно.

Байнгын соронз нь гүйдэл дамжуулах утастай харилцан үйлчилдэг. Дэлгэцийн ойролцоо болон Arduino дахь утаснууд нь мэдрэгчийн уншилтанд нөлөөлж болох соронзон орныг үүсгэдэг. Нэмж дурдахад, хэрэв энэ төхөөрөмжийг хүчирхэг байнгын соронзны ойролцоо хэмжихэд ашигладаг бол туршиж буй төхөөрөмжийн соронзон орон нь харилцан үйлчлэлцэж, дуу чимээ оруулж, Arduino болон дэлгэцийг гэмтээж болзошгүй юм. Хамгаалалт нь энэхүү соронзон хэмжүүрийг илүү бат бөх болгож чадна. Arduino нь төмөр хайрцгаар хамгаалагдсан бол илүү том соронзон орныг тэсвэрлэх чадвартай бөгөөд нүцгэн утсаар биш мэдрэгчийг хамгаалалтын кабельтай холбовол дуу чимээ бага гарах болно.

Соронзон орон нь байрлалын функц учраас орон зайн бүх цэг дээр өөр өөр байдаг. Энэ төхөөрөмж нь соронзон орны x, y, z бүрэлдэхүүн хэсгүүдийг хэмжих гурван мэдрэгчийг ашигладаг. Мэдрэгчид бие биетэйгээ ойрхон боловч нэг цэг дээр байдаггүй бөгөөд энэ нь соронз хэмжигчийн нарийвчлалыг хязгаарладаг. Соронзон орны заалтыг өөр өөр цэгүүдэд хадгалаад дараа нь харгалзах байршилд сумны массив хэлбэрээр харуулах нь сайхан байх болно. Гэсэн хэдий ч энэ бол өөр нэг өдрийн төсөл юм.

Ашигласан материал

Adafruit Arduino Graphics номын сангийн талаархи мэдээлэл

https://learn.adafruit.com/adafruit-1-44-color-tft-with-micro-sd-socket/overview

Соронзон орны дүрслэл

https://www.falstad.com/vector3dm/

Hall эффект ба Хол эффект мэдрэгчийн талаархи мэдээлэл

  • https://sensing.honeywell.com/index.php?ci_id=47847
  • https://www.allegromicro.com/~/media/Files/Datasheets/A1324-5-6-Datasheet.ashx

Изометрийн проекцийн талаархи мэдээлэл

  • https://en.wikipedia.org/wiki/3D_projection
  • https://en.wikipedia.org/wiki/Isometric_projection

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