Реклама: Ректификационная колонна на базе моргалки

 

Хочешь стать куратором любимой темы?

* Комментарии к новостям

1. "Временный" контрллер Kugoo S3 на Arduino (Электросамокаты Kugoo S серии и аналоги ) от Ancharas (3.08.2021 в 22:41)2. Ковид и ковидобесие (Анекдоты и флУДИЛКА) от Лодочник_А (3.08.2021 в 22:35)3. Вопросы начинающих конструкторов электросамокатов (Самодельные электросамокаты) от Александр_23 (3.08.2021 в 22:33)4. Bafang BBS движок под каретку (Электровелосипеды с подвесным двигателем) от Rubik (3.08.2021 в 22:31)5. Электро Тигра (Электромобили. Перенесенные темы. Можно их продолжать) от Ustas (3.08.2021 в 22:30)6. Способы крепления АКБ на электровелосипед (Электровелосипеды) от Север (3.08.2021 в 22:20)
7. Dualtron Eagle Pro (Электросамокаты MiniMotors) от Winwars (3.08.2021 в 22:14)8. KUGOO M5 ошибка E-006 (Электросамокаты Kugoo M и G серии и аналоги ) от 13_chip_13 (3.08.2021 в 22:02)9. Общие проблемы с моноколесами (технические, эксплуатационные) и их устранение (Моноколеса (электроунициклы)) от tolmir (3.08.2021 в 21:58)10. Ликвидность самокатов на вторичном рынке (Электросамокаты) от fondrosel (3.08.2021 в 21:50)11. Система передач для мощных электровелосипедов. Предлагаем идеи. (Электровелосипеды с подвесным двигателем) от ferio (3.08.2021 в 21:36)12. Складной электрофэтбайк Syccyba H1 Pro 20"x4,0 (Электровелосипеды) от Mike 372 (3.08.2021 в 21:18)
Не нравится реклама? Пройдите простую регистрацию на форуме и не будете видеть рекламу.

Прочитано 8750 раз

0 Пользователи и 1 Гость просматривают эту тему.

08 Окт 2019 в 23:24
Прочитано 8750 раз
Оффлайн

Dunkel

Россия, Санкт-Петербург Сообщений: 350
Понимаю, что не формат.
Но я ее сделал!
На профильном форуме не  сложилось. Там посчитали, что я хамлю....  А я ведь даже не начинал!
Так-что вопрос к модераторам - если интересно, я все выложу.


08 Окт 2019 в 23:29
Ответ #1
Оффлайн

Dmitry__

Санкт-Петербург Сообщений: 4171
Конечно интересно! (не модератор)
Оформим как средство для протирки электротранспорта  ;-D


08 Окт 2019 в 23:43
Ответ #2
Оффлайн

serggio

Россия, Москва Сообщений: 5870
, выкладывайте.
А будете хамить, сами знаете что будет)
Так что, когда правила не нарушаете, то не рабей!


08 Окт 2019 в 23:47
Ответ #3
Оффлайн

Dunkel

Россия, Санкт-Петербург Сообщений: 350
Конечно интересно!

Ладно, под твою ответственность.





Добавлено 08 Окт 2019 в 23:52

//  Регулятор-стабилизатор с градусниками для БК
//  (c) dunkel
//  Wemos 9V

#define ver 9190926 // version/data

char auth[] = "сюда свой код"; //blynk

String  Hostname = "сюда свой мак-адрес";  //narmon

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

char ssid[] = "точка доступа";
char pass[] = "пароль";

#include <ArduinoOTA.h>
#include <TimeLib.h>
#include <WidgetRTC.h>
#define BLYNK_PRINT Serial
WidgetTerminal terminal(V21);
WidgetRTC rtc;

#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 13
#define TEMPERATURE_PRECISION 12
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
DeviceAddress insideThermometer = { 0x28, 0xA8, 0x15, 0x94, 0x97, 0x14, 0x3, 0xC5 };
DeviceAddress outsideThermometer   = { 0x28, 0x99, 0x64, 0x94, 0x97, 0xE, 0x3, 0xB4 };
//Адреса DS18b20
//PAR: 28A81594971403C5   28 A8 15 94 97 14 3 C5
//VODA: 28996494970E03B4    28 99 64 94 97 E 3 B4

float tempPAR = 0;
float tempVODA = 0;
const int analogInPin = A0;  // ESP8266 Analog Pin ADC0 = A0
bool Full = 0;  // Форсаж
bool Stop = 0;
int sensorValue = 0;  // value read from the pot
float Uin = 0;
float Uout = 100;
float t = 0;  //пауза, сек
float t2 = 0; //лишняя пауза, сек
int pinSSR = 12;
unsigned long tim = 0;

#define postingInterval  310000 // интервал между отправками данных в миллисекундах (5 минут)
unsigned long lastConnectionTime = 0;           // время последней передачи данных

BLYNK_CONNECTED() {
  // синхронизация значений с сервером Blynk
  Blynk.syncVirtual(V14, V15, V16);
}
//  получаем значения от сервера BLYNK
BLYNK_WRITE(V14) // кнопка
{
  Stop = param.asInt();
}
BLYNK_WRITE(V15) // кнопка
{
  Full = param.asInt();
}
BLYNK_WRITE(V16) // слайдер
{
  Uout = param.asFloat();
}

void setup() {

  Serial.begin(115200);
  pinMode(pinSSR, OUTPUT); // - на реле
  digitalWrite(pinSSR, LOW); //

  Blynk.begin(auth, ssid, pass);
  rtc.begin();
  ArduinoOTA.begin();

  sensors.begin();
  sensors.setResolution(insideThermometer, TEMPERATURE_PRECISION);
  sensors.setResolution(outsideThermometer, TEMPERATURE_PRECISION);

  Serial.println(WiFi.localIP()); Serial.println(WiFi.macAddress());
  Serial.print("Narodmon ID: "); Serial.println(Hostname);

  // вывод в терминал Blynk
  terminal.print("START BK ");
  terminal.print(Hostname); terminal.print(" "); terminal.println(WiFi.localIP());
  terminal.println(ver);
  terminal.flush();
}

void loop() {
  Blynk.run();
  ArduinoOTA.handle();

  ////////////////////////  НАГРЕВ 1сек. ///////////////////////
  if (!Stop) digitalWrite(pinSSR, HIGH);
  tim = millis();

  // Опрос DS18b20
  sensors.requestTemperatures();
  tempPAR = sensors.getTempC(insideThermometer);
  tempVODA = sensors.getTempC(outsideThermometer);
  //

  //  ИЗМЕРЕНИЕ НАПРЯЖЕНИЯ
  sensorValue = 0;
  for (int j = 1; j <= 10; j++) {
    sensorValue += analogRead(analogInPin);
  }
  Uin = sensorValue * 0.0396; ///// КОЭФ. БП
  //

  t = Uin * Uin / Uout / Uout - 1; // Вычисляем длительность паузы


    Serial.print("Uin = ");
    Serial.print(Uin);
    Serial.print("  t = ");
    Serial.println(t);
    Serial.print("TempPAR: ");
    Serial.print(tempPAR);
    Serial.print("  TempVODA: ");
    Serial.print(tempVODA);
    Serial.println();
    Serial.println(millis() - tim);
    Serial.println();

  do {
    yield(); // пустой цикл
  }
  while (millis() - tim < 1000);
  if (!Full) digitalWrite(pinSSR, LOW);
  //////////////////////////////////////////////////////////

  ///////////////  ПАУЗА В НАГРЕВЕ ////////////////////////
  tim = millis();

  //Отправка в Blynk
  Blynk.virtualWrite(V0, Uin); //напр. вх.
  Blynk.virtualWrite(V1, t);  //пауза
  Blynk.virtualWrite(V2, tempPAR);
  Blynk.virtualWrite(V3, tempVODA);
  //

  //Народный мониторинг - отправка каждые 5мин.
  if ((millis() - lastConnectionTime) > postingInterval) {
    if (Full) Uout = Uin;
    SendToNarodmon();
    lastConnectionTime = millis();
    String currentTime = String(hour()) + ":" + minute() + ":" + second() + " ";
    terminal.print(currentTime);
    terminal.print(" P ");
    terminal.print(tempPAR);
    terminal.print(" V ");
    terminal.print(tempVODA);
    terminal.print(" U ");
    terminal.println(Uout);
    terminal.flush();
  }
  //

  t2 = (millis() - tim) / 1000 - t; //лишняя пауза

  if ( t2 < 0 ) { //продолжаем паузу t
    do {
      yield(); // пустой цикл
    }
    while ((millis() - tim) < (t * 1000));
  }
  else { //компенсируем лишнюю паузу
    digitalWrite(pinSSR, HIGH);
    delay(t2 / t * 1000);
    digitalWrite(pinSSR, LOW);
  }

  ////////////////////////////////////////////////////////

} ///////////////////////////////////////////////////////////////loop


void SendToNarodmon() {
  WiFiClient client;
  String buf;
  buf = "#" + Hostname + "\r\n"; // заголовок
  buf = buf + "#Uin#" + String(Uin) + "\r\n";  //напр.
  buf = buf + "#Uout#" + String(Uout) + "\r\n";  //напр.
  buf = buf + "#tpa#" + String(t) + "\r\n";  //
  buf = buf + "#PAR#" + String(tempPAR) + "\r\n";  //
  buf = buf + "#VVOD#" + String(tempVODA) + "\r\n";  //
  buf = buf + "##\r\n"; // закрываем пакет
  if (!client.connect("narodmon.ru", 8283)) { // попытка подключения
    Serial.println("connection failed");
  } else
  {
    client.print(buf); // и отправляем данные
    while (client.available()) {
      String line = client.readStringUntil('\r'); // если что-то в ответ будет - все в Serial
      Serial.print(line);
    }
  }
}


08 Окт 2019 в 23:55
Ответ #4
Оффлайн

Dunkel

Россия, Санкт-Петербург Сообщений: 350
А будете хамить, сами знаете что будет)

Я здесь был тогда, когда вы еще не были модератором. Так что не надо мне  ... и опять скажут, что я хамлю :)

Добавлено 08 Окт 2019 в 23:56



Добавлено 08 Окт 2019 в 23:57



Добавлено 09 Окт 2019 в 00:00


Думаю, на сегодня хватит.  Все равно никто ничего не понял. Завтра буду объяснять.


09 Окт 2019 в 00:02
Ответ #5
Оффлайн

Dunkel

Россия, Санкт-Петербург Сообщений: 350

Пока писал, хвосты пошли в отбор.


09 Окт 2019 в 00:07
Ответ #6
Оффлайн

Dmitry__

Санкт-Петербург Сообщений: 4171
Думаю, на сегодня хватит.  Все равно никто ничего не понял. Завтра буду объяснять.
Чавой это ничего не поняли? :) Все поняли. Вон там колонна, вон там холодильник дефлегматор. Мозги обещают быть интересными, вайфайными :)


Добавлено 09 Окт 2019 в 00:08
Пока писал, хвосты пошли в отбор.
Нам бы тело  ;-D


09 Окт 2019 в 00:14
Ответ #7
Оффлайн

Dunkel

Россия, Санкт-Петербург Сообщений: 350
Все поняли. Вон там колонна, вон там холодильник.

Так ты в теме (извини, что на ты - в хамстве меня сегодня уже обвинили, так что терять нечего)
Действительно колонна и холодильник.
Стабильную РК 22мм мало кто делал. А интерфейс облачный - блинк и народный мониторинг.


09 Окт 2019 в 00:39
Ответ #8
Оффлайн

yurgen

Калининград Сообщений: 927
Все равно никто ничего не понял
Прям так и не понял ,
Я то же иногда балуюсь своей колонной.
У меня она без ардуин и вайфаев  , но зато чисто вся стеклянная , Simax.


09 Окт 2019 в 00:51
Ответ #9
Оффлайн

Dunkel

Россия, Санкт-Петербург Сообщений: 350
но зато чисто вся стеклянная , Simax.

А фото? В яндексе выглядит интересно... Там тарелки?


09 Окт 2019 в 01:05
Ответ #10
Оффлайн

Dunkel

Россия, Санкт-Петербург Сообщений: 350
Идея регулятора очень простая — пропускаем на тэн электроэнергию в течении 1 секунды и смотрим сколько проскочило лишнего (от заданного напряжения U). А дальше делаем паузу t, чтобы  компенсировать излишки.
В результате, за время 1+t должна получиться общая электроэнергия, соответствующая заданному напряжению U.
Пауза t=Uвх^2/U^2 – 1
Для измерения напряжения сети Uвх используется обычный трансформаторный БП (в данном случае 9В), главное, чтобы он был НЕ стабилизированный.
Тогда можно сделать допущение, что его выходное напряжение линейным образом связано с входным, и тем самым легко получить напряжение сети.
В качестве управляющего контроллера используется esp8266, т. к. это наиболее простой путь для организации связи с облачными сервисами.


09 Окт 2019 в 22:59
Ответ #11
Оффлайн

Dunkel

Россия, Санкт-Петербург Сообщений: 350
Проиллюстрирую работу графиком погона.



Хорошо видно, как в начале выходят легкокипящие фракции (головы), а потом колонна стабилизируется на спиртовой полке, около 76,3С при сегодняшнем давлении. Там есть небольшие скачки +/- 0,06С, но это дергается младший разряд градусника ds18b20, с этим я ничего не могу поделать. Да и пусть себе дергается, это ни на что не влияет.
В целом колонна работает стабильно, регулятор справляется. В отборе практически чистый спирт, около 95%.

К чему я все это? А к тому, что моргалка с облачным интерфейсом может не только АКБ заряжать, это гибкий и практически универсальный инструмент для контроля и управления бытовыми приборами.
Я ведь этой штукой еще и духовкой управлял. Там никакого регулятора не было, она сильно перегревала. А с этой моргалкой все сделал в лучшем виде.


09 Окт 2019 в 23:55
Ответ #12
Оффлайн

yurgen

Калининград Сообщений: 927
Она не дома , а на даче.
поэтому фоток нет.
Тарелок нет , хотя изначально планировал.
Насадка простейшая , кольца из тонкостенной ст. трубки.
Знаю что не лучший вариант , но энтузиазм упал , поэтому и так сойдет.

По поводу описания процессов в колонне , вряд ли кому то тут это все будет интересно , уж слишком профиль форума не подходящий.


Добавлено 09 Окт 2019 в 23:59
ЗЫ
В стеклянной колонне интересно наблюдать как движутся фронты  различных фракций  по насадкам , прямо хоть обучающее кино снимай, особенно когда разгонял смесь  воды ,ацетона , изопропанола и этанола


10 Окт 2019 в 00:21
Ответ #13
Оффлайн

Dunkel

Россия, Санкт-Петербург Сообщений: 350
По поводу описания процессов в колонне , вряд ли кому то тут это все будет интересно , уж слишком профиль форума не подходящий.

А вот тут я не уверен. Все-таки форум коммерческий, а подобные темы увеличивают посещаемость.
Но, это пусть решает администрация. Я тут никак и ничем не заинтересован.
Разве что в смысле  просвещения широких народных масс. Дабы не травились сырцом, а делали хороший спирт.

В стеклянной колонне интересно наблюдать как движутся фронты  различных фракций  по насадкам

А как решается вопрос с утеплением? Ведь теплопотери очень существенные!


10 Окт 2019 в 00:26
Ответ #14
Оффлайн

Dunkel

Россия, Санкт-Петербург Сообщений: 350
особенно когда разгонял смесь  воды ,ацетона , изопропанола и этанола

Так ведь это и есть обычный самогон.  И некоторые его пьют!


10 Окт 2019 в 00:28
Ответ #15
Оффлайн

yurgen

Калининград Сообщений: 927
все правильно , когда колона не укутана , она плохо работает.
У меня в качестве утеплителя трубка пенополиэтиленовая , которой водяные трубы по квартире изолируют. Я в ней вырезал узкое продольное окошко на всю длину ,  но не совсем , а так что бы можно было отвернуть , понаблюдать и обратно вставить, что бы режим не нарушать.

Добавлено 10 Окт 2019 в 00:32
и есть обычный самогон.  И некоторые его пьют!
Согласен, .:)
Но у меня это был раствор для замачивания тесловских модулей для извлечения из него пальчиков.
Там еще и этилацетат кажется был, но точно не помню уже., давно было.
И раствора этого было много , литров 10 наверное.
Глупо было его выливать в канализацию.


10 Окт 2019 в 00:45
Ответ #16
Оффлайн

Dunkel

Россия, Санкт-Петербург Сообщений: 350


Спирт закончился, пошли хвосты. Тот самый изопропанол и этилацетат.

Ацетон в головах вышел.


13 Окт 2019 в 16:43
Ответ #17
Оффлайн

NikolajR

Россия, Улан-Удэ Сообщений: 8
Т.е. полка на 76,3 С - это "тело"? И можно по температуре отсекать хвосты?