Arduino или дешевая автоматика
webserge
Доцент
Саратов
1.7K 468
Отв.40 12 Сент. 15, 01:50
Бугор, старая привычка Т.к. знаю что еще 100500 раз буду переделывать и сам же что-то забуду. В студенческие годы много программировал для себя.
kazu
Кандидат наук
Харьков
375 74
Отв.41 12 Сент. 15, 01:50, через 1 мин
аффтар! пажалуста!! переименуй тему!!! ардВино уж очень режет слух. она ведь ардУино!!
Хотя... Ард и Вино... ну может быть. Но все равно неблагозвучно.
Хотя... Ард и Вино... ну может быть. Но все равно неблагозвучно.
Бугор
Магистр
Город Герой Магадан, St. Louis
211 103
Отв.42 12 Сент. 15, 01:56, через 7 мин
webserge, Смотрю ты приложение DallasTemperature пользуешь
Щуп сам делал или готовый на DS18** покупал?
Щуп сам делал или готовый на DS18** покупал?
Бугор
Магистр
Город Герой Магадан, St. Louis
211 103
Отв.43 12 Сент. 15, 01:59, через 3 мин
уж очень режет слухkazu, 12 Сент. 15, 01:50Ты вслух читаешь?
яб поменял, но чертивознает как оно меняется
webserge
Доцент
Саратов
1.7K 468
Отв.44 12 Сент. 15, 02:10, через 12 мин
Бугор, брал у китайцев готовые в нержовой гильзе. Такого плана - http://ru.aliexpress.com/...2233096288.html
К ним на концы подпаивал резистор и удлинял кабелем микрофонным, на видео синий такой. Очень уж он мне понравился, 2 жилы в нем внутри в изоляции и +1 жила как оплетка по внешнему слою, ее на землю подпаиваю. При длине от разъема до датчика не более 2м каких либо глюков при съеме показаний Т не испытывал. Хотя по инету пишут что такое возможно при длинных кабелях или плохой защиты от помех. На конец кабеля DIN разъем такой - http://www.ebay.com/...K%3AMEBIDX%3AIT
Но сейчас хочу эту связку переделать на разъемные соединения. Был случай как один датчик оторвал с провода, сука вылезать из штуцера не хотел. Так вот имея съемные датчики я бы на его место просто поставил бы запасной, а так пришлось все разбирать и перепаивать. Сейчас делаю на таких колодочках - http://www.ebay.com/...K%3AMEBIDX%3AIT . Промаркировал датчики сразу разными цветами термоусадкой, вот так будет выглядеть. Датчиков будет уже не два как сейчас, а три. Третий в ТСА дефлегматора для отслеживания аварийного перегрева.
К ним на концы подпаивал резистор и удлинял кабелем микрофонным, на видео синий такой. Очень уж он мне понравился, 2 жилы в нем внутри в изоляции и +1 жила как оплетка по внешнему слою, ее на землю подпаиваю. При длине от разъема до датчика не более 2м каких либо глюков при съеме показаний Т не испытывал. Хотя по инету пишут что такое возможно при длинных кабелях или плохой защиты от помех. На конец кабеля DIN разъем такой - http://www.ebay.com/...K%3AMEBIDX%3AIT
Но сейчас хочу эту связку переделать на разъемные соединения. Был случай как один датчик оторвал с провода, сука вылезать из штуцера не хотел. Так вот имея съемные датчики я бы на его место просто поставил бы запасной, а так пришлось все разбирать и перепаивать. Сейчас делаю на таких колодочках - http://www.ebay.com/...K%3AMEBIDX%3AIT . Промаркировал датчики сразу разными цветами термоусадкой, вот так будет выглядеть. Датчиков будет уже не два как сейчас, а три. Третий в ТСА дефлегматора для отслеживания аварийного перегрева.
Бугор
Магистр
Город Герой Магадан, St. Louis
211 103
Отв.45 12 Сент. 15, 02:15, через 6 мин
, старая привыwebserge, 12 Сент. 15, 01:50
отовые в нержовой гильзеwebserge, 12 Сент. 15, 02:10калибровку делал?
Я пока жду разьемы http://www.ebay.com/itm/170999507818?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT
повозился с К-Type сенсором, погрешность бешенная и не стабильная, может шумы влияют, надо бы 0.01uF кондер впаять, может поможет
webserge
Доцент
Саратов
1.7K 468
Отв.46 12 Сент. 15, 02:38, через 23 мин
Бугор, разъем зачетный, понравился)
У меня если код посмотреть поподробнее есть раздел в меню называется "Temp Calibr". Как раз это и есть для калибровки датчиков. Пробовал калибровать в кружке с кипящей водой, получалась херня какая-то, чуть по другому датчик положил и уже другие значения. Потом придумал калибровать в перегонном кубе с кипящей водой. Все стало как нужно, после многократного перетыкивание датчиков все показания такие же как и были с первого раза. В скетче в самом начале есть переменные в которые вписываю поправочные значения для датчиков, можно конечно в eeprom памяти сохранять, но чето мне лень было так делать))
У меня если код посмотреть поподробнее есть раздел в меню называется "Temp Calibr". Как раз это и есть для калибровки датчиков. Пробовал калибровать в кружке с кипящей водой, получалась херня какая-то, чуть по другому датчик положил и уже другие значения. Потом придумал калибровать в перегонном кубе с кипящей водой. Все стало как нужно, после многократного перетыкивание датчиков все показания такие же как и были с первого раза. В скетче в самом начале есть переменные в которые вписываю поправочные значения для датчиков, можно конечно в eeprom памяти сохранять, но чето мне лень было так делать))
Бугор
Магистр
Город Герой Магадан, St. Louis
211 103
Отв.47 12 Сент. 15, 02:50, через 13 мин
возвращаясь к вопросу управлением плавно открывающегося моторизированного крана
не сложно и надежно, можно открывать постепенно можно и сразу как в этом моем видео
не сложно и надежно, можно открывать постепенно можно и сразу как в этом моем видео
/* подробнее читать тут http://tronixlabs.com/...2a-and-arduino/
* Эксперимент , регулировка открытия/закрытия моторизированного клапана с заданым интервалом
* Motor Controller - Stepper Motor Drive Controller Board Module L298N Dual H Bridge DC For Arduino
*/
//Motorized Valve
int myMotorSpeed = 9;
int Direction_01 = 8;
int Direction_02 = 7;
int valveOpen = 6;
int ValveClosed = 5;
int vOpen = 1;
int vClosed = 1;
void setup()
{
Serial.begin(9600);
// set the motor control pins to outputs
pinMode(myMotorSpeed, OUTPUT);
pinMode(Direction_01, OUTPUT);
pinMode(Direction_02, OUTPUT);
}
void ValveController()
{
// open and close the valve
//Open
start=millis(); //начало цикла
digitalWrite(Direction_01, HIGH);
digitalWrite(Direction_02, LOW);
delay(2500); // интервал
finished=millis(); //окончание цикла
elapsed=finished-start; //затраченное время в милисекундах
Serial.print ("Valve Open = " ); //vOpen считает сколко раз кран был открыт
Serial.print(vOpen);
Serial.print("\t Time to open = "); //интересно было посмотреть, на самом ли деле тратится 2,5 секунды
Serial.println(elapsed);
vOpen = vOpen + 1; // плюс один к счетчику
// скорость с которой наш мотор будет вращаться = 250 из возможного диапозона 0~255
//тут можно повозится созначением. Так же можно написать модуль для плавного зауска/остановки мотора
//это будет хорошо видно с мотором без понижающего редуктора
analogWrite(myMotorSpeed, 250);
delay(500);
// now change motor directions
//Close
start=millis();
digitalWrite(Direction_01, LOW);
digitalWrite(Direction_02, HIGH);
delay(2500); // интервал
finished=millis();
elapsed=finished-start;
Serial.print ("Valve Closed = " ); //vClosed считает сколко раз кран был закрыт
Serial.print(vClosed);
Serial.print("\t Time to close = ");
Serial.println(elapsed);
vClosed = vClosed + 1; // плюс один к счетчику
// выключить мотор
digitalWrite(Direction_01, LOW);
digitalWrite(Direction_02, LOW);
}
//Run application
void loop()
{
ValveController();
delay(1000); // интервал
}
webserge
Доцент
Саратов
1.7K 468
Отв.48 12 Сент. 15, 03:00, через 11 мин
Бугор, ссылочку на клапан этот можешь дать? Хочу про него почитать и цену посмотреть у китайцев.
Бугор
Магистр
Город Герой Магадан, St. Louis
211 103
Отв.49 12 Сент. 15, 03:05, через 5 мин
ссылочку на клапанwebserge, 12 Сент. 15, 03:00модуль управления http://www.ebay.com/itm/170926726867?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT
и кран http://www.ebay.com/itm/161472673200?_trksid=p2057872.m2749.l2649&var=460507259493&ssPageName=STRK%3AMEBIDX%3AIT
Схема http://www.academia.edu/5915843/CWX-SERIES_WIRING_DIAGRAM
Бугор
Магистр
Город Герой Магадан, St. Louis
211 103
Отв.50 12 Сент. 15, 03:56, через 51 мин
Если вам нужен многофункциональный редактор то Мелкомягкие дают бсплатную версию Visual Studio 2015, ни чем не отличающуюся от профессиональной https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx
для програмирования Arduino в VS 2015 необходимо загрузить плагин https://visualstudiogallery.msdn.microsoft.com/069a905d-387d-4415-bc37-665a5ac9caba
и если С++ вас напрягает, то для Arduino можно запросто писать в VB.Net http://social.technet.microsoft.com/wiki/contents/articles/14194.how-to-communicate-to-the-arduino-in-visual-basic-net.aspx
для програмирования Arduino в VS 2015 необходимо загрузить плагин https://visualstudiogallery.msdn.microsoft.com/069a905d-387d-4415-bc37-665a5ac9caba
и если С++ вас напрягает, то для Arduino можно запросто писать в VB.Net http://social.technet.microsoft.com/wiki/contents/articles/14194.how-to-communicate-to-the-arduino-in-visual-basic-net.aspx
Бугор
Магистр
Город Герой Магадан, St. Louis
211 103
Отв.51 12 Сент. 15, 03:56, через 1 мин
webserge,
узнаешь свой код ?
компиляция в VS 2015
узнаешь свой код ?
компиляция в VS 2015
webserge
Доцент
Саратов
1.7K 468
Отв.52 12 Сент. 15, 04:05, через 9 мин
Бугор, необычно. Я раньше в VS как раз и работал, не знал что она сейчас умеет под ардуино компилить. И заливать в контроллер может?
Бугор
Магистр
Город Герой Магадан, St. Louis
211 103
Отв.53 12 Сент. 15, 04:14, через 9 мин
И заливать в контроллер может?webserge, 12 Сент. 15, 04:05да, без проблем
http://www.visualmicro.com/page/How-to-compile-and-upload-to-an-Arduino-using-Visual-Studio.aspx
ase70
Студент
Краснодар
46 7
Отв.54 12 Сент. 15, 22:36
Может я тупой ,но не настолько
webserge
Доцент
Саратов
1.7K 468
Отв.55 12 Сент. 15, 23:01, через 26 мин
и если С++ вас напрягает, то для Arduino можно запросто писать в VB.NetБугор, 12 Сент. 15, 03:56Вот тут промашка, приведенная ссылка показывает как написать на VB.Net консольное приложение которое через serial порт подключится к ардуине и считает инфу. Писать ПО для самой ардуины все же нужно на C++, документацию по IDE для VS изучаю, предварительно мне нравится что смогу снова работать с VS.
slony
Магистр
Сочи
246 63
Отв.56 12 Сент. 15, 23:08, через 8 мин
Автор был выпивший
Есть ещё CodeBlocks http://pashkevich.me/article/22.html Сам не ставил, стандартной ide пока хватало.
Бугор
Магистр
Город Герой Магадан, St. Louis
211 103
Отв.57 13 Сент. 15, 01:18
Вот тут промашкаwebserge, 12 Сент. 15, 23:01возможно, я для Ардуино в VB.Net писать не пробовал
Добавлено через 2мин.:
стандартной ide пока хваталоslony, 12 Сент. 15, 23:08кому как, стандартный меня с первого дня не впечатлил
VS 2015 я на работе пользуюсь, как-то привычнее
Бугор
Магистр
Город Герой Магадан, St. Louis
211 103
Отв.58 22 Сент. 15, 22:25
Не большие доработки, и код немного почистил, видео выложу чуть позже, сейчас времени совсем ни на что не хвататет.
В общих чертах - механизм работает без каких либо нареканий кроме того, что не очень мне нравится то, что значение температуры контролирующее открывание/закрывание крана закодировано, хотелось бы такое значение вносить в ручную. По совету webserge заказал LCD shield с кнопачками, жду когда прилетит.
Так же, я посчитал сколько пульсов нужно для того, что-бы открыть/закрыть мой кран и прибавляю или вычитаю единичку в зависимости от направления движения мотора.
В общих чертах - механизм работает без каких либо нареканий кроме того, что не очень мне нравится то, что значение температуры контролирующее открывание/закрывание крана закодировано, хотелось бы такое значение вносить в ручную. По совету webserge заказал LCD shield с кнопачками, жду когда прилетит.
Так же, я посчитал сколько пульсов нужно для того, что-бы открыть/закрыть мой кран и прибавляю или вычитаю единичку в зависимости от направления движения мотора.
/* reference http://tronixlabs.com/...2a-and-arduino/
* An experiment to make motorized valve opend and close on demand
* the idea is to have valve position controlled with respect to a preset temperature
* Temperature controller - MAX6675 Module For K Type Thermocouple Sensor
* Motor Controller - Stepper Motor Drive Controller Board Module L298N Dual H Bridge DC For Arduino
*/
#include "max6675.h"
//Temperature
int thermo_vcc_pin = 13;
int ktcSO = 12;
int ktcCS = 11;
int ktcCLK = 10;
//Motorized Valve
int myMotorSpeed = 9;
int Direction_01 = 8;
int Direction_02 = 7;
int valveOpen = 6;
float onePercent = 2.631578947;
int percentOpen = 0;
float thresholdTemp = 27.75; //значение температуры контролирующее открывание/закрывание крана
float currentTakeOutTemp = -1;
//ToDo: connect and code for limit switches
int valveOpenValue = 0; // Valve Open Limit Switch
MAX6675 ktc(ktcCLK, ktcCS, ktcSO);
void setup()
{
Serial.begin(9600);
// немного времени на стабилизацию
delay(500);
pinMode(thermo_vcc_pin, OUTPUT);
digitalWrite(thermo_vcc_pin, HIGH);
// set the motor control pins to outputs
pinMode(myMotorSpeed, OUTPUT);
pinMode(Direction_01, OUTPUT);
pinMode(Direction_02, OUTPUT);
analogWrite(myMotorSpeed, 255);
delay(500);
//закрываем кран
digitalWrite(Direction_01, LOW);
digitalWrite(Direction_02, HIGH);
delay(2500);
}
void ValveController()
{
//открываем кран если температура поднялась выше заданной
currentTakeOutTemp = ktc.readCelsius();
if (currentTakeOutTemp > thresholdTemp and valveOpenValue < 39){
digitalWrite(Direction_01, HIGH);
digitalWrite(Direction_02, LOW);
delay(50); //интервал (пульс), кран открывается
valveOpenValue++; //gradually open the valve, takes 38 steps to open the valve 100%
percentOpen = onePercent * valveOpenValue; //считаем на сколько % кран отрыт
// turn the motor off
digitalWrite(Direction_01, LOW);
digitalWrite(Direction_02, LOW);
}
else if (currentTakeOutTemp <= thresholdTemp and valveOpenValue > 0)
{
// меняем полярность и закрываем кран
digitalWrite(Direction_01, LOW);
digitalWrite(Direction_02, HIGH);
delay(50); //интервал (пульс), кран закрывается
valveOpenValue--; //постепенно закрываем кран, для польного закрытия необходимо 38 пульсов
percentOpen = onePercent * valveOpenValue; //считаем на сколько % кран отрыт
// turn the motor off
digitalWrite(Direction_01, LOW);
digitalWrite(Direction_02, LOW);
}
Serial.print("Deg C = ");
Serial.print(currentTakeOutTemp);
Serial.print("\t Valve Open = ");
Serial.print(percentOpen);
Serial.println("%");
}
//Run application
void loop()
{
ValveController();
delay(5000); //Интервал проверки температуры, 1000 = 1 секунда
}
Алконаффт
Студент
Липецк
28 5
Отв.59 23 Сент. 15, 16:43
Автор был пьяный
Ньюбский вопрос.
А ничего страшного, что клапан не нержавейка? В описании я не нашел того, что он стоек к таким жидкостям.
А ничего страшного, что клапан не нержавейка? В описании я не нашел того, что он стоек к таким жидкостям.