Სარჩევი:

ციფრული სასწორი ESP32– ით: 12 ნაბიჯი
ციფრული სასწორი ESP32– ით: 12 ნაბიჯი

ვიდეო: ციფრული სასწორი ESP32– ით: 12 ნაბიჯი

ვიდეო: ციფრული სასწორი ESP32– ით: 12 ნაბიჯი
ვიდეო: ESP32 Modbus Communication | FLProg SCADA 2024, ივლისი
Anonim
Image
Image
გამოყენებული რესურსები
გამოყენებული რესურსები

ოდესმე გიფიქრიათ ციფრული სასწორის დამონტაჟებაზე ESP32 და სენსორის გამოყენებით (ცნობილია როგორც დატვირთვის უჯრედი)? დღეს მე გაჩვენებთ, თუ როგორ უნდა გავაკეთოთ ეს ისეთი პროცესის საშუალებით, რომელიც სხვა ლაბორატორიული ტესტების ჩატარების საშუალებას იძლევა, როგორიცაა ძრავის მიერ იმ ძალის დადგენა, სხვა მაგალითებთან ერთად.

შემდეგ მე ვაჩვენებ რამდენიმე კონცეფციას, რომლებიც დაკავშირებულია დატვირთვის უჯრედების გამოყენებასთან, ავიღებ უჯრედის მონაცემებს მაგალითის მასშტაბის შესაქმნელად და აღვნიშნავ ჩატვირთვის უჯრედების სხვა შესაძლო გამოყენებებს.

ნაბიჯი 1: გამოყენებული რესურსები

• Heltec Lora 32 WiFi ESP

• უჯრედის ჩატვირთვა (0 -დან 50 ნიუტონამდე, მასშტაბის გამოყენებით)

• 1 პოტენომეტრი 100 კ (უკეთესია, თუ იყენებთ მულტივოლტ ტრიმპოტს წვრილი კორექტირებისთვის)

• 1 ამპერი Op LM358

• 2 1M5 რეზისტორი

• 2 10k რეზისტორი

• 1 4k7 რეზისტორი

• მავთულები

• პროტობორდი

• USB კაბელი ESP– სთვის

• სასწორი, კონტეინერი მოცულობითი მოცულობით, ან დაკალიბრების ნებისმიერი სხვა მეთოდი.

ნაბიჯი 2: დემონსტრაცია

დემონსტრაცია
დემონსტრაცია

ნაბიჯი 3: უჯრედების ჩატვირთვა

უჯრედების დატვირთვა
უჯრედების დატვირთვა

• ისინი არიან ძალის გადამყვანები.

• მათ შეუძლიათ გამოიყენონ სხვადასხვა მეთოდი გამოყენებული ძალის პროპორციულ სიდიდეზე გადასათვლელად, რომელიც შეიძლება გამოყენებულ იქნას როგორც საზომი. მათ შორის ყველაზე გავრცელებულია ფურცლების გამშვები მეტრი, პიეზოელექტრული ეფექტი, ჰიდრავლიკა, ვიბრაციული სიმები და ა.

• ისინი ასევე შეიძლება კლასიფიცირდეს გაზომვის ფორმის მიხედვით (დაძაბულობა ან შეკუმშვა)

ნაბიჯი 4: ჩატვირთეთ უჯრედები და დაძაბვის მაჩვენებლები

დატვირთვის უჯრედები და დაძაბულობის მაჩვენებლები
დატვირთვის უჯრედები და დაძაბულობის მაჩვენებლები
დატვირთვის უჯრედები და დაძაბულობის მაჩვენებლები
დატვირთვის უჯრედები და დაძაბულობის მაჩვენებლები

• ფურცლის გაფართოება არის ფილმები (ჩვეულებრივ პლასტიკური) დაბეჭდილი მავთულით, რომლებსაც აქვთ წინააღმდეგობა, რომელიც შეიძლება განსხვავდებოდეს მათი ზომის ცვლილებით.

• მისი მშენებლობა ძირითადად მიზნად ისახავს მექანიკური დეფორმაციის გარდაქმნას ელექტრული სიდიდის (წინააღმდეგობის) ვარიაციად. ეს ხდება სასურველია ერთი მიმართულებით, ასე რომ კომპონენტების შეფასება შეიძლება განხორციელდეს. ამისათვის ხშირია რამდენიმე ექსტენსომეტრის კომბინაცია

• როდესაც სხეულზე სათანადოდ არის მიმაგრებული, მისი დეფორმაცია უტოლდება სხეულისას. ამრიგად, მისი წინააღმდეგობა იცვლება სხეულის დეფორმაციით, რაც თავის მხრივ დაკავშირებულია დეფორმირებულ ძალასთან.

• ისინი ასევე ცნობილია, როგორც დაძაბულობის საზომი.

• როდესაც დაძაბული ძალით იჭიმება, ძაფები წაგრძელებულია და ვიწრო ხდება, იზრდება წინააღმდეგობა.

• კომპრესიული ძალის შეკუმშვისას მავთულები იკლებს და ფართოვდება, რაც ამცირებს წინააღმდეგობას.

ნაბიჯი 5: ხორბლის ქვის ხიდი

ხორბლის ქვის ხიდი
ხორბლის ქვის ხიდი

• უფრო ზუსტი გაზომვისთვის და დატვირთვის უჯრედში წინააღმდეგობის ცვალებადობის უფრო ეფექტური გამოვლენის მიზნით, დაძაბულობის ლიანდაგი აწყობილია ხორბლის ქვის ხიდში.

• ამ კონფიგურაციაში ჩვენ შეგვიძლია განვსაზღვროთ წინააღმდეგობის ცვალებადობა ხიდის დისბალანსის მეშვეობით.

• თუ R1 = Rx და R2 = R3, ძაბვის გამყოფი იქნება თანაბარი, ხოლო ძაბვები Vc და Vb ასევე თანაბარი, ხიდი წონასწორობაში. ანუ, Vbc = 0V;

• თუ Rx სხვაა R1- ის გარდა, ხიდი იქნება არაბალანსირებული და ძაბვა Vbc იქნება ნულოვანი.

• შესაძლებელია იმის ჩვენება, თუ როგორ უნდა მოხდეს ეს ცვალებადობა, მაგრამ აქ ჩვენ გავაკეთებთ პირდაპირ კალიბრაციას, რომელიც ADC– ში წაკითხულ მნიშვნელობას დავაკავშირებთ მასაზე, რომელიც გამოიყენება მტვირთავ უჯრედზე.

ნაბიჯი 6: გაძლიერება

გაძლიერება
გაძლიერება

• Wheatstone ხიდის გამოყენებითაც კი, რომ კითხვა უფრო ეფექტური იყოს, დატვირთვის უჯრედის ლითონის მიკრო დეფორმაციები წარმოქმნის მცირე ძაბვის ცვალებადობას Vbc- ს შორის.

• ამ სიტუაციის გადასაჭრელად, ჩვენ გამოვიყენებთ გაძლიერების ორ სტადიას. ერთი სხვაობის დასადგენად და მეორე ემთხვევა ESP– ის ADC– ს მიღებულ მნიშვნელობას.

ნაბიჯი 7: გაძლიერება (სქემა)

გაძლიერება (სქემა)
გაძლიერება (სქემა)

• გამოკლების საფეხურის მოგება მოცემულია R6 / R5 და იგივეა რაც R7 / R8.

• არაინვერსიული საბოლოო საფეხურის მოგება მოცემულია Pot / R10

ნაბიჯი 8: მონაცემთა შეგროვება კალიბრაციისთვის

მონაცემთა კრებული კალიბრაციისათვის
მონაცემთა კრებული კალიბრაციისათვის
მონაცემთა კრებული კალიბრაციისათვის
მონაცემთა კრებული კალიბრაციისათვის

• შეკრების შემდეგ ჩვენ ვადგენთ საბოლოო მოგებას ისე, რომ ყველაზე დიდი გაზომილი მასის ღირებულება ახლოს იყოს ADC- ის მაქსიმალურ მნიშვნელობასთან. ამ შემთხვევაში, საკანში გამოყენებული 2 კგ -ისთვის, გამომავალი ძაბვა იყო დაახლოებით 3V3.

• შემდეგი, ჩვენ ვცვლით გამოყენებულ მასას (ცნობილია ბალანსისა და თითოეული მნიშვნელობისათვის) და ჩვენ ვაკავშირებთ ADC- ის ლეიტურს, ვიღებთ შემდეგ ცხრილს.

ნაბიჯი 9: საზომი მასისა და მიღებულ ADC ღირებულებას შორის ფუნქციის მიმართების მიღება

საზომი მასისა და მიღებულ ADC ღირებულებას შორის ფუნქციის მიმართების მიღება
საზომი მასისა და მიღებულ ADC ღირებულებას შორის ფუნქციის მიმართების მიღება

ჩვენ ვიყენებთ PolySolve პროგრამულ უზრუნველყოფას, რათა მივიღოთ პოლინომი, რომელიც წარმოადგენს ურთიერთკავშირს მასასა და ADC მნიშვნელობას შორის.

ნაბიჯი 10: წყაროს კოდი

წყაროს კოდი - #მოიცავს

ახლა, როდესაც ჩვენ გვაქვს როგორ მივიღოთ გაზომვები და ვიცით ურთიერთობა ADC და გამოყენებულ მასას შორის, ჩვენ შეგვიძლია გადავიდეთ პროგრამული უზრუნველყოფის რეალურად წერაზე.

// ბიბლიოთეკა გამოყენებისთვის, რომელიც მოიცავს OLED #მოიცავს // საჭიროა // Arduino apenas para o Arduino 1.6.5 და წინა #მოიცავს "SSD1306.h" // o mesmo que #include "SSD1306Wire.h"

წყაროს კოდი - #განსაზღვრა

// OS pinos do OLED estão conectados ao ESP32 pelos seguintes GPIO's: // OLED_SDA - GPIO4 // OLED_SCL - GPIO15 // OLED_RST - GPIO16 #define SDA 4 #define SCL 15 #define RST 16 // RST deve ser aj პროგრამული უზრუნველყოფისათვის

წყარო - გლობალური ცვლადები და მუდმივები

SSD1306 ჩვენება (0x3c, SDA, SCL, RST); // Instanciando 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); // iniciando serial // Inicia o display display.init (); display.flipScreenVertically (); // Vira a tela verticalmente}

წყაროს კოდი - მარყუჟი ()

void loop () {float medidas = 0.0; // variável para manipular as medidas float massa = 0.0; // variável para armazenar o valor da massa // inicia a coleta de amostras do ADC for (int i = 0; i (5000)) // se está ligado a mais que 5 segundos {// Envia um CSV contendo o instante, medida média do ADC e o valor em gramas // para a Serial. Serial.print (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 (); // ლიმპა ან ბუფერული ჩვენება // ადექვატური ინფორმაცია esquerda display.setTextAlignment (TEXT_ALIGN_LEFT); // ajusta a fonte para Arial 16 display.setFont (ArialMT_Plain_16); // Escreve no buffer do display a massa display.drawString (0, 0, "Massa:" + String (int (massa)) + "g"); // არ გამოიყენოთ ბუფერი o valor do ADC display.drawString (0, 30, "ADC:" + String (int (medidas))); } else // se está ligado a menos de 5 segundos {display.clear (); // limpa o buffer do display.setTextAlignment (TEXT_ALIGN_LEFT); // ესკვერდას ჩვენებისათვის. SetFont (ArialMT_Plain_24); // ajusta fonte para Arial 24 display.drawString (0, 0, "Balança"); // არ დაიმახსოვროთ ბუფერული ჩვენება. setFont (ArialMT_Plain_16); // Austra fonte para Arial 16 display.drawString (0, 26, "ESP-WiFi-Lora"); // escreve no buffer} display.display (); // გადატანა ბუფერზე ან ჩვენების დაგვიანებით (50); }

წყაროს კოდი - ფუნქციის გამოთვლა მასა ()

// função para cálculo da massa obtida pela regressão // usando oPolySolve float calcula მასა (float medida) {დაბრუნება -6.798357840659e + 01 + 3.885671618930e-01 * medida + 3.684944764970e-04 * medida * medida + -3 მედიდა * მედიდა * მედიდა + 1.796252359323e-10 * მედიდა * მედიდა * მედიდა * მედიდა + -3.995722708150e-14 * მედიდა * მედიდა * მედიდა * მედიდა * მედიდა * მედიდა + 3.284692453344e-18 * მედიდა * მედიდა * მედიდა * მედიდა * მედიდა * მედიდა * მედიდა; }

ნაბიჯი 11: დაწყება და გაზომვა

დაწყება და გაზომვა
დაწყება და გაზომვა

ნაბიჯი 12: ფაილები

ჩამოტვირთეთ ფაილები

ინო

PDF

გირჩევთ: