• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Скетч для испытательного стенда. Построение графиков 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!
}
 
Сверху Снизу