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

ESP32 бүхий дижитал масштаб: 12 алхам
ESP32 бүхий дижитал масштаб: 12 алхам

Видео: ESP32 бүхий дижитал масштаб: 12 алхам

Видео: ESP32 бүхий дижитал масштаб: 12 алхам
Видео: View Sheen Zoom Camera Modules with Optical Image Stabilization (OIS) 2024, Долдугаар сарын
Anonim
Image
Image
Ашигласан нөөц
Ашигласан нөөц

ESP32 болон мэдрэгч (ачааллын үүр гэж нэрлэдэг) ашиглан дижитал масштаб суурилуулах талаар та бодож байсан уу? Өнөөдөр би үүнийг хэрхэн хийх талаар бусад лабораторийн туршилтуудыг хийх боломжтой бөгөөд жишээлбэл хөдөлгүүрийн нэг цэг дээр гүйцэтгэдэг хүчийг тодорхойлох гэх мэт бусад жишээнүүдээр дамжуулан танд үзүүлэх болно.

Дараа нь би ачааллын үүрийг ашиглахтай холбоотой зарим ойлголтуудыг үзүүлэх болно.

Алхам 1: Ашигласан нөөц

• Heltec Lora 32 WiFi ESP

• Нүдийг ачаалах (масштаб ашиглан 0 -ээс 50 Ньютон хүртэл)

• 100k -ийн 1 потенциометр (хэрэв та нарийн тохируулга хийхдээ олон вольт тримпот ашиглавал дээр)

• 1 Amp Op LM358

• 2 1M5 резистор

• 2 10к эсэргүүцэл

• 1 4k7 эсэргүүцэл

• Утас

• Protoboard

• ESP -д зориулсан USB кабель

• Хуваарь, төгссөн эзэлхүүнтэй сав, эсвэл шалгалт тохируулгын бусад арга.

Алхам 2: Жагсаал

Жагсаал
Жагсаал

Алхам 3: Нүднүүдийг ачаална уу

Нүднүүдийг ачаалах
Нүднүүдийг ачаалах

• Эдгээр нь хүч хувиргагч юм.

• Тэд хэрэглэж буй хүчийг хэмжүүр болгон ашиглаж болох пропорциональ хэмжигдэхүүн болгон хөрвүүлэхийн тулд янз бүрийн арга хэрэглэж болно. Хамгийн түгээмэл зүйл бол хуудас экстенометр, THE пьезоэлектрик эффект, гидравлик, чичиргээт утас гэх мэтийг ашигладаг.

• Тэдгээрийг хэмжих хэлбэрээр (суналт эсвэл шахалт) ангилж болно.

Алхам 4: Эс ба омог хэмжигчийг ачаална

Эсийн ачаалал ба ачаалал хэмжигч
Эсийн ачаалал ба ачаалал хэмжигч
Эсийн ачаалал ба ачаалал хэмжигч
Эсийн ачаалал ба ачаалал хэмжигч

• Хуудасны экстенометр нь хэмжээ нь өөрчлөгдсөнөөс хамаарч эсэргүүцэх чадвартай хэвлэмэл утастай хальс (ихэвчлэн хуванцар) юм.

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

• Бие махбодид зохих ёсоор бэхлэгдсэн тохиолдолд түүний деформаци нь биетэй ижил хэмжээтэй байна. Тиймээс түүний эсэргүүцэл нь биеийн хэв гажилтаас хамаарч өөр өөр байдаг бөгөөд энэ нь эргээд хэв гажилтын хүчтэй холбоотой байдаг.

• Тэднийг омог хэмжигч гэж нэрлэдэг.

• Таталтын хүчээр сунах үед судлууд сунаж нарийсч эсэргүүцлийг нэмэгдүүлдэг.

• Шахалтын хүчээр шахах үед утаснууд богиносч, өргөсөж эсэргүүцлийг бууруулдаг.

Алхам 5: Wheatstone гүүр

Wheatstone гүүр
Wheatstone гүүр

• Илүү нарийвчлалтай хэмжихийн тулд ачааллын үүрэнд эсэргүүцлийн хэлбэлзлийг илүү үр дүнтэй илрүүлэхийн тулд омог хэмжигчийг Wheatstone гүүрэнд угсардаг.

• Энэхүү тохиргоонд бид гүүрний тэнцвэргүй байдлаас үүсэх эсэргүүцлийн өөрчлөлтийг тодорхойлж болно.

• Хэрэв R1 = Rx ба R2 = R3 байвал хүчдэл хуваагч тэнцүү байх ба Vc ба Vb хүчдэлүүд мөн тэнцүү байх бөгөөд гүүр тэнцвэртэй болно. Энэ нь Vbc = 0V;

• Хэрэв Rx нь R1 -ээс өөр байвал гүүр нь тэнцвэргүй болж, Vbc хүчдэл тэг биш болно.

• Энэ өөрчлөлт хэрхэн гарах ёстойг харуулах боломжтой боловч энд бид ADC -д уншсан утгыг ачааллын үүрэнд хэрэглэсэн масстай холбож шууд шалгалт тохируулга хийх болно.

Алхам 6: Олшруулалт

Олшруулалт
Олшруулалт

• Уитстоун гүүрийг ашиглан уншуулалтыг илүү үр дүнтэй болгохын тулд ачааны элементийн металлын бичил деформаци нь Vbc -ийн хооронд бага хүчдэлийн өөрчлөлтийг бий болгодог.

• Энэ байдлыг шийдвэрлэхийн тулд бид олшруулалтын хоёр үе шатыг ашиглах болно. Нэг нь ялгааг тодорхойлох, нөгөө нь ESP -ийн ADC -тэй тэнцүү утгыг тааруулах.

Алхам 7: Олшруулалт (схем)

Олшруулалт (схем)
Олшруулалт (схем)

• Хасах алхамын олзыг R6 / R5 өгөгдсөн бөгөөд R7 / R8 -тай ижил байна.

• Урвуу ороогүй эцсийн шатны олзыг Pot / R10 өгдөг

Алхам 8: Калибровк хийх өгөгдөл цуглуулах

Калибровк хийх өгөгдөл цуглуулах
Калибровк хийх өгөгдөл цуглуулах
Калибровк хийх өгөгдөл цуглуулах
Калибровк хийх өгөгдөл цуглуулах

• Нэгэнт угсарсны дараа бид эцсийн олзыг хамгийн том хэмжсэн массын утга нь ADC -ийн хамгийн их утгатай ойролцоо байхаар тохируулна. Энэ тохиолдолд үүрэнд оруулсан 2кг -ийн хувьд гаралтын хүчдэл 3V3 орчим байв.

• Дараа нь бид хэрэглэсэн массыг (үлдэгдэл ба утга тус бүрээр нь мэддэг) өөрчилж, ADC -ийн LEITUR -ийг холбон дараагийн хүснэгтийг авна.

Алхам 9: Хэмжсэн масс ба ADC -ийн олж авсан үнэ цэнийн хоорондох функциональ хамаарлыг олж авах

Хэмжсэн масс ба ADC -ийн олж авсан үнэ цэнийн хоорондох функциональ хамаарлыг олж авах
Хэмжсэн масс ба ADC -ийн олж авсан үнэ цэнийн хоорондох функциональ хамаарлыг олж авах

Бид PolySolve програм хангамжийг ашиглан ADC -ийн масс ба утгын хоорондын хамаарлыг илэрхийлдэг олон гишүүнтийг олж авдаг.

Алхам 10: Эх код

Эх код - #Оруулсан болно

Одоо бид хэмжилтийг хэрхэн яаж хийх, ADC ба хэрэглэсэн массын хоорондын хамаарлыг мэдэх боломжтой болсон тул бид програмыг бичих ажлыг үргэлжлүүлж болно.

// Bibliotecas para utilização do display oLED #include // Nechário apenas para o Arduino 1.6.5 e anterior #include "SSD1306.h" // o mesmo que #include "SSD1306Wire.h"

Эх код - #Defines

// OLED estão conectados эсвэл ESP32 програмыг GPIO -ийн дарааллаар гүйцэтгэдэг: // OLED_SDA - GPIO4 // OLED_SCL - GPIO15 // OLED_RST - GPIO16 #define SDA 4 #define SCL 15 #destine RST 16 // RST програм хангамжийн програм хангамж програм хангамж

Эх сурвалж - Дэлхийн хувьсагчид ба тогтмолууд

SSD1306 дэлгэц (0x3c, SDA, SCL, RST); // Instantiando e ajustando os pinos do objeto "display" const int amostras = 10000; // número de amostras coletadas para a média const int pin = 13; // pino de leitura

Эх код - Тохиргоо ()

void setup () {pinMode (pin, INPUT); // pino de leitura analógica Serial.begin (115200); // цуврал нэвтрүүлэг хийх // Inicia o display display.init (); display.flipScreenVertically (); // Vira a tela verticalmente}

Эх код - Loop ()

void loop () {float medidas = 0.0; // variável para manipular as medidas float massa = 0.0; // янз бүрийн арга хэмжээ авахын тулд // inticia a coleta de amostras do ADC for (int i = 0; i (5000)) // энэ нь 5 ангилалд багтсан болно {// Envia um CSV contendo or a instante, a medida média do ADC e o valor em gramas // para a Serial. Цуваа.хэвлэх (millis () / 1000.0, 0); // instante em segundos Serial.print (","); Serial.print (medidas, 3); // valor médio obtido no ADC Serial.print (","); Serial.println ((massa), 1); // massa em gramas // Escreve no buffer do display display.clear (); // Limfa o buffer do display // харуулах дэлгэцийг харуулах.setTextAlignment (TEXT_ALIGN_LEFT); // Arial 16 display.setFont (ArialMT_Plain_16); // Escreve no buffer do massa display.drawString (0, 0, "Massa:" + String (int (massa)) + "g") харуулахгүй. // escreve no buffer o valor do ADC display.drawString (0, 30, "ADC:" + String (int (medidas))); } өөр // 5 өдрийн жагсаалт {display.clear (); // limpa o buffer do display.setTextAlignment (TEXT_ALIGN_LEFT); // Дэлгэрэнгүй харуулах дэлгэц.setFont (ArialMT_Plain_24); // ajusta a fonte para Arial 24 display.drawString (0, 0, "Balança"); // escreve no buffer display.setFont (ArialMT_Plain_16); // Aiala a fonte para for Arial 16 display.drawString (0, 26, "ESP-WiFi-Lora"); // escreve no buffer} display.display (); // transferere o buffer para o display delay (50); }

Эх код - Функцийн тооцооMassa ()

// função para cálculo da massa obtida pela regressão // usando oPolySolve float calculaMassa (float medida) {return -6.798357840659e + 01 + 3.885671618930e-01 * medida + 3.684944764970e-04 * medida *10 * 08 * medida * 10 * medida * medida * medida + 1.796252359323e-10 * medida * medida * medida * medida + -3.995722708150e-14 * medida * medida * medida * medida * medida + 3.284692453344e-18 * medida * medida * medida * medida * medida * medida *. Медида; }

Алхам 11: Эхлэх ба хэмжих

Эхлэх ба хэмжих
Эхлэх ба хэмжих

Алхам 12: Файлууд

Файлуудыг татаж авах

INO

PDF

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