FLProg
Вход на сайт
Логин:
Пароль:
Мы в VK
Поиск
Статистика


Яндекс.Метрика
Четверг, 08.12.2016, 03:09
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: support, Сергей 
Форум » Основной » Обсуждение программы FLProg (Не багтрекер, и не хотелки. Делимся опытом!!) » вольтметр (вольтметр с выходом информация)
вольтметр
Naum
Дата: Четверг, 17.09.2015, 15:14 | Сообщение # 1
Рядовой
Группа: Проверенные
Сообщений: 16
Награды: 0
Репутация: 0
Статус: Offline
хочется сделать проект для зарядки 2 аккумулятора в машине.
Как построить вольтметр с выходом информация на дисплей?
 
 

Добавлено (17.09.2015, 15:14)
---------------------------------------------
для начала построил примерно так, но хотелось бы написать это именно в этой программе
Flprog  мне пока что очень нравится
 
 
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C _lcd1(0x27, 16, 2);
int _dispTempLength1=0;
//boolean _isNeedClearDisp1;
//int _disp1oldLength = 0;
bool _D1B1 = 0;

const int battery1SensorPin = 14;
const int battery2SensorPin = 15; 
int  battery1SensorValue = 0; 
float battery1Voltage = 0;
int  battery2SensorValue = 0; 
float battery2Voltage = 0; 
// 5V/1024 значений = 0,004883 В/значение
const float voltPerUnit = 0.004883;
//"рассчёт делителя"
const float R1 = 100;
const float R2 = 10;
//коэффициент для расчёта напряжения на входе делителя
const float dividerRatio = (R1+R2)/R2;
//коэффициент перевода имерений в напряжение
const float voltRatio = voltPerUnit * dividerRatio;
void setup() {
 
  Wire.begin();
_lcd1.init();
//_lcd1.noBacklight();
}
void loop() {
  battery1SensorValue = analogRead(battery1SensorPin);
// рассчитаем в человеко-понятных вольтах 
  battery1Voltage = battery1SensorValue * voltRatio; 

  _lcd1.backlight();
  _lcd1.setCursor(int((1 - _dispTempLength1)/2), 0);
  _lcd1.print("Battery1 - ");
_lcd1.print(((String(battery1Voltage))));
battery2SensorValue = analogRead(battery2SensorPin);
// рассчитаем в человеко-понятных вольтах 
  battery2Voltage = battery2SensorValue * voltRatio;
  _lcd1.backlight();
  _lcd1.setCursor(int((1 - _dispTempLength1)/2), 1);
  _lcd1.print("Battery2 - ");
_lcd1.print(((String(battery2Voltage))));
 
  delay(5000);                    
}

 
krom23 Дата: Четверг, 17.09.2015, 19:23 | Сообщение # 2
Майор
Группа: Проверенные
Сообщений: 177
Награды: 1
Репутация: 0
Статус: Offline
R1-100k(+)
R2-10k(общий)
Коэффициент деления-11
Uизмерения- 0...+50V, если напряжение будет выше 55V, то ардуинке придёт каюк.
volt=(опорное*полученное с A0/1023.0)*коэффициент деления
опорное напряжение измерить на плате ардуинки.
Прикрепления: 5709942.flp(74Kb)
 
Naum Дата: Воскресенье, 20.09.2015, 09:04 | Сообщение # 3
Рядовой
Группа: Проверенные
Сообщений: 16
Награды: 0
Репутация: 0
Статус: Offline
Большое спасибо за помощь очень понравилось решение.
 есть непонятный момент:
 
 
String  _floatToStringWitRaz(float value, int raz)
{
  float tv;
  int ti = int(value);
  String ts = String(ti);
  if (raz == 0) {
    return ts;
  }
  ts += ".";
  float tf = abs(value - ti);
  for (int i = 1; i <= raz; i++ )
  {
    tv = tf * 10;
    ti = int(tv);
    ts += String(ti);
    tf = (tv - ti);
  }
  return ts;
 
 
следующая задача сравнить измеряемое напряжение с напряжением заданным и управлять включением реле в зависимости от заряда аккумулятора
допустим заряд начнется при 13.5 Вольт и отключается при 13.0
наверное правильно будет проверять условия раз в 30 секунд, мне так кажется
заряд второго аккумулятора начнется только после первого.
Буду очень признателен за помощь Это мой первый проект.

 
krom23 Дата: Понедельник, 21.09.2015, 20:53 | Сообщение # 4
Майор
Группа: Проверенные
Сообщений: 177
Награды: 1
Репутация: 0
Статус: Offline
Э...э, прошу не выражаться, в смысле кодом, я в нём ни бум-бум, но по моему здесь речь идёт о преобразовании данных из float(величина с плавающей запятой) в строчное значение String для отображения на жк дисплее. Открываем проект, и смотрим Блоки>Конвертация типов>Преобразование строк(SConv). Это на плате 2, если вы используете другой метод индикации, то её(плату) можно удалить или переделать.
Цитата Naum ()
допустим заряд начнется при 13.5 Вольт и отключается при 13.0

Вы не ошиблись? Я сделал наоборот, при 13.0 включится, при 13.5 отключится. В случае если я не прав, поменяйте местами константы на компараторах в проекте. Да, и ещё момент, я даю вам, как бы лучше выразиться, не "изящное" решение, за ним к гуру сайта, а скорее "скелет", который можно использовать на прямую, а можно обрастить мяском.
Прикрепления: 7629321.flp(106Kb)
 
Naum Дата: Четверг, 15.10.2015, 11:26 | Сообщение # 5
Рядовой
Группа: Проверенные
Сообщений: 16
Награды: 0
Репутация: 0
Статус: Offline
Большое спасибо за помощь, этим проектом пока не занимался не хватает времени, но я обязательно его доведу до конца.

Добавлено (15.10.2015, 11:26)
---------------------------------------------
в продолжение проекта по измерению напряжения, столкнулся с проблемой.
задача: измерить напряжение, поместить в переменную, отобразить на экране переменную, подождать 2 секунды, опять измерить напряжение, отобразить на экране.
не могу понять какой модуль использовать для задержки изменения переменой при измерении напряжения

 
Airis Дата: Пятница, 16.10.2015, 22:14 | Сообщение # 6
Майор
Группа: Проверенные
Сообщений: 135
Награды: 4
Репутация: 10
Статус: Offline
Цитата Naum ()
измерить напряжение, поместить в переменную, отобразить на экране переменную, подождать 2 секунды, опять измерить напряжение, отобразить на экране.
Примерно так:
Прикрепления: 8316082.png(4Kb)


Сообщение отредактировал Airis - Пятница, 16.10.2015, 22:14
 
Naum Дата: Суббота, 14.11.2015, 23:21 | Сообщение # 7
Рядовой
Группа: Проверенные
Сообщений: 16
Награды: 0
Репутация: 0
Статус: Offline
Вот мой первый проект перешел в стадию тестирования.
Большое спасибо всем за помощь.
если кому-то будет интересно пишите.
https://plus.google.com/u....5269473

https://goo.gl/photos/EwAFLb14fZ3TSLcx5
 
rf80 Дата: Воскресенье, 03.01.2016, 21:07 | Сообщение # 8
Лейтенант
Группа: Проверенные
Сообщений: 66
Награды: 1
Репутация: 0
Статус: Offline
Доброго всем. Подскажите а как организовать замораживание измерения с какой то дискретностью.
Чтобы цыфры не бегали
 
scadapack Дата: Понедельник, 04.01.2016, 15:11 | Сообщение # 9
Лейтенант
Группа: Проверенные
Сообщений: 60
Награды: 2
Репутация: 5
Статус: Offline
Цитата rf80 ()
Чтобы цыфры не бегали
Могу посоветовать мой, ставший здесь уже популярным, сглаживающий фильтр (пользовательский блок)
Прикрепления: 2877951.ubi(78Kb)
 
rf80 Дата: Понедельник, 04.01.2016, 23:52 | Сообщение # 10
Лейтенант
Группа: Проверенные
Сообщений: 66
Награды: 1
Репутация: 0
Статус: Offline
да спосибо написал а потом и сам вспомнил про Ваш блок. Правда цифры медленно набираются(чтобы цифры не скакали но тут большую роль играет наводка через сопли монтажки) но в моем случае инертность допустима. Столкнулся с другой проблеммой с точностью измерений. как привязаться к опорному напряжению в флпрог. Я пару дней как получил свою ардину и только ковыряю шилды. Зналбы конечно о флпрог взял бы раньше. раньше писал проект на шнайдеровском. но дорог он за раза для хобби раз да и устройства на его базе не продашь. проблемма с точностью актуальное так как и при аналоговым датчикам таже беда выплывать будет
 
Олег Дата: Понедельник, 04.01.2016, 23:58 | Сообщение # 11
Гуру
Группа: Проверенные
Сообщений: 730
Награды: 20
Репутация: 15
Статус: Offline
Настройки - Настройки проекта - поставить чекбокс на Использовать внешнее опорное напряжение A ref.
 
scadapack Дата: Вторник, 05.01.2016, 06:03 | Сообщение # 12
Лейтенант
Группа: Проверенные
Сообщений: 60
Награды: 2
Репутация: 5
Статус: Offline
Цитата rf80 ()
цифры медленно набираются
Настройки блока сглаживающего фильтра можно менять, если щёлкнуть на значке фильтра в проекте. По умолчанию константа сглаживания k = 0,01. От неё и зависит сглаживание.
 
rf80 Дата: Вторник, 05.01.2016, 08:38 | Сообщение # 13
Лейтенант
Группа: Проверенные
Сообщений: 66
Награды: 1
Репутация: 0
Статус: Offline
Спасибо. Буду пробовать. По фильтру по настройкам я разобрался сразу. вот только значения перестают скакать при почти максимальном сглаживании. Для организации индикации может лучше пользоваться массивом наверное как я понимаю. Но я сними не дружу пока. Нужно организовать опрос входа с определенным интервалом скажем 0.3 сек что уже может увидеть человеческий глаз. Это позволит выводить на экран самые одекватные данные. Хотя я могу и ошибаться. 
Мне больше приходилось заниматься аналогом но это уже давно не объективно по ряду причин. Хотя обвязка с внешним миром контроллера опять аналог.
Еще инересно кто как развязывает сигналы от сети. Понятно что опто. Но к примеру задача может быть просто получить единичку если сеть есть это просто. А как если нужно получить значение. Гальвонически тоже понятно. Но питание все чаще импульсное и после ШИМ фокус неудасться. Делитель можно посчитать на любое значение напряжения но импульсная помеха может наделать не обратимых дел. Наверное можно сделать его и ступенчатым скажем в первой ступеньке поставить варистор во второй стабилитрон. Хотя опять же по стабилитрону есть нюансы он работает нормально при протекании довально таки большом токе для измерительной цепи. Хотя в прочем на ток меньше пары милиампер опускаться и не стоит иначе будем ловить наводки.
 
rw6cm Дата: Среда, 13.01.2016, 12:19 | Сообщение # 14
Генерал-майор
Группа: Проверенные
Сообщений: 478
Награды: 43
Репутация: 32
Статус: Offline
Цитата rf80 ()
Еще инересно кто как развязывает сигналы от сети. Понятно что опто. Но к примеру задача может быть просто получить единичку если сеть есть это просто. А как если нужно получить значение.

Интересный подход к измерению опубликован здесь.


PC, E8400, 3.5Gb, Win7-32, ver.FLP(portable)
 
krom23 Дата: Суббота, 23.01.2016, 00:07 | Сообщение # 15
Майор
Группа: Проверенные
Сообщений: 177
Награды: 1
Репутация: 0
Статус: Offline
Цитата rw6cm ()
Интересный подход к измерению опубликован здесь.
Лучше фоторезистор и лампочку через токоограничивающий резистор без диодов.
 
Форум » Основной » Обсуждение программы FLProg (Не багтрекер, и не хотелки. Делимся опытом!!) » вольтметр (вольтметр с выходом информация)
Страница 1 из 11
Поиск:

FLProg © 2016
Яндекс.Метрика