Скетч для испытательного стенда. Построение графиков NodeMCU + Blynk

OneginBC

New member
Приветствую сообщество ардуинщиков.
Наконец-то я добрался до темы, связанной с возможностями разработок на этой платформе.

Появилась задача создать исследовательский стенд для колес или вообще всего, что будет гребти и вращаться на воде.

Для этого также создам собственный динамометр крутящего момента на базе простого потенциометра и пружины. Который будет передавать показания прямо во время работы. Можно будет еще установить линейный потенциометр, чтобы измерять тягу, через АЦП или использовать что-то другое,. Есть пленка с полосочками от принтера и датчик, позиционирующий головку принтера.

Так как я ранее не работал с ардуино, то только сейчас с ним ознакамливаюсь и это для меня сразу практическая работа.

На данный момент уже имеется:
- nodeMCU с базой (либо Ардуино Uno + ESP8266, как вариант с готовым большим количеством аналоговых каналов)
- потенциометр
- инкрементальный энкодер
- тахосенсор
- экран (есть три варианта)
- модуль с кардридером
- nema17 + A4988
- блок питания 12в 1,6а

0-02-0a-eac7abb8cd9eae0ebe7dc472ad0515a7bba310000b47a2b1371a3456bf39d247_1d6c608f.jpg



Переменные которые буду записывать:
- потребление вольт/ампер
- крутящий момент
- тяга
- обороты
- время

Для меня сейчас пока вопрос в скетче. Как правильно его написать? По началу хочу обойтись приложением Blynk, где в стоковом бесплатном варианте "энергии" (осталось 100 из 2000) достаточно для:
- графика (для вывода крутящего момента и тяги)
- ползунка (управление шаговиком, обороты)
- таймера
- и трех экранов (обороты на тахометре, вольтаж/ампераж).
Ну и сама библиотека для приложения значительно упрощает задачу.

0-02-0a-d6abc9eade59c5fbfa6a9ba55d7c40371591e0960e4b9a7d7eeb3203ce50e0d6_b432b5e9.jpg

Есть мысль дополнительно вывести управление оборотами на инкрементальный энкодер и значения на экран. Можно конечно обойтись ползунком в приложении Blynk. Это лишь для удобства.
Также и с модулем для карт памяти, который нужен, чтобы была возможность записи всех данных на карту памяти и построением после графиков уже в Excel.

Узнал, что можно расширить аналоговый канал на ноде благодаря АЦП АЦП ADS1115/ADS1015, думаю скоро докупить.

Сейчас пока только на стадии ознакомления с тем как задавать виртуальные каналы и прикручиванием всего в блинк. Если кому есть, что подсказать по поводу скетча, тогда милости прошу в тему.

За основу взял стандартный скетч по подключению к Blynk. Его эволюцию и прочую информацию буду выкладывать по мере возможности.

#define BLYNK_PRINT Serial


#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "YourAuthToken";

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "YourNetworkName";
char pass[] = "YourPassword";

void setup()
{
// Debug console
Serial.begin(9600);

Blynk.begin(auth, ssid, pass);
// You can also specify server:
//Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80);
//Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);
}

void loop()
{
Blynk.run();
// You can inject your own code or combine it with other sketches.
// Check other examples on how to communicate with Blynk. Remember
// to avoid delay() function!
}
 
Сверху Снизу