FLProg
Вход на сайт
Логин:
Пароль:
Поиск
...
Статистика
Пятница, 17.08.2018, 12:38
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

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


Внимание всем пользователям программы FLProg! В течении ближайших двух дней будет осуществляться переход на новую платформу
Чтобы продолжить общение на форуме вы можете перейти сюда
Сообщения оставленные на старом форуме будут утеряны безвозвратно
Приятного Вам Нового года и до встречи в новом 2018 году
С уважением Администрация flprog.ru
Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: support, Сергей, Олег, Anydy  
Форум » Основной » Спросить у знатоков » Преобразователь Integer to Float
Преобразователь Integer to Float
Rovki Дата: Воскресенье, 24.12.2017, 00:48 | Сообщение # 1
Генерал-полковник
Группа: Модераторы
Сообщений: 1427
Награды: 30
Репутация: 13
Статус: Offline
Есть ли такой преобразователь типов ?

Электронщик до мозга костей и не только
 
Nikan Дата: Воскресенье, 24.12.2017, 01:32 | Сообщение # 2
Генерал-майор
Группа: Проверенные
Сообщений: 498
Награды: 15
Репутация: 13
Статус: Offline
Цитата Rovki ()
Есть ли такой преобразователь типов
делить на 10.0 (или 100.0 в зависимости сколько знаков надо после запятой) результат в переменную флоат
 
Rovki Дата: Воскресенье, 24.12.2017, 10:01 | Сообщение # 3
Генерал-полковник
Группа: Модераторы
Сообщений: 1427
Награды: 30
Репутация: 13
Статус: Offline
Цитата Nikan ()
делить на 10.0 (или 100.0 в зависимости сколько знаков надо после запятой) результат в переменную флоат
Хитро ,спасибо.


Электронщик до мозга костей и не только
 
kipiaxxx Дата: Воскресенье, 24.12.2017, 12:16 | Сообщение # 4
Сержант
Группа: Проверенные
Сообщений: 51
Награды: 3
Репутация: 2
Статус: Offline
Цитата Nikan ()
делить на 10.0 (или 100.0 в зависимости сколько знаков надо после запятой) результат в переменную флоат

Где-то читал, что для выполнения операции деления МК требуется больше времени и оперативной памяти, чем для умножения. Поэтому лучше будет число в Integer умножать на Float 0.1, 0.01 ...
 
Nikan Дата: Воскресенье, 24.12.2017, 12:43 | Сообщение # 5
Генерал-майор
Группа: Проверенные
Сообщений: 498
Награды: 15
Репутация: 13
Статус: Offline
Цитата kipiaxxx ()
умножать на Float 0.1, 0.01 ...
по затратности  вычислительных ресурсов   это одно и то же
 
Rovki Дата: Воскресенье, 24.12.2017, 14:05 | Сообщение # 6
Генерал-полковник
Группа: Модераторы
Сообщений: 1427
Награды: 30
Репутация: 13
Статус: Offline
А есть ли SCALE для флоат ?

Электронщик до мозга костей и не только
 
Nikan Дата: Воскресенье, 24.12.2017, 14:18 | Сообщение # 7
Генерал-майор
Группа: Проверенные
Сообщений: 498
Награды: 15
Репутация: 13
Статус: Offline
Цитата Rovki ()
А есть ли SCALE для флоат
штатного блока нет, принципиально возможно
маленькая ремарка - операции с типом флоат очень тяжелые, если нет необходимости (как например пид регулятор) лучше в программе работать с целыми числами. а флоат использовать как конечный результат - например для вывода на жки
 
Rovki Дата: Воскресенье, 24.12.2017, 15:11 | Сообщение # 8
Генерал-полковник
Группа: Модераторы
Сообщений: 1427
Награды: 30
Репутация: 13
Статус: Offline
Цитата Nikan ()
а флоат использовать как конечный результат - например для вывода на жки
Весь проект с флоатами и модбасом выполняется около 4мс (цикл программы) .
Прикрепления: 4680176.jpg(250.1 Kb)


Электронщик до мозга костей и не только

Сообщение отредактировал Rovki - Воскресенье, 24.12.2017, 15:13
 
Nikan Дата: Воскресенье, 24.12.2017, 15:41 | Сообщение # 9
Генерал-майор
Группа: Проверенные
Сообщений: 498
Награды: 15
Репутация: 13
Статус: Offline
Цитата Rovki ()
Весь проект с флоатами и модбасом выполняется около 4мс
тут все зависит от решаемой задачи )
плата 2 делить надо на 1000.0 и умножать 20.0
т.е если флоат используете указывайте дробную часть числа, даже если это 0 после запятой.
 
Rovki Дата: Воскресенье, 24.12.2017, 15:57 | Сообщение # 10
Генерал-полковник
Группа: Модераторы
Сообщений: 1427
Награды: 30
Репутация: 13
Статус: Offline
Цитата Nikan ()
т.е если флоат используете указывайте дробную часть числа, даже если это 0 после запятой.
И это буде определять количество знаков в дробной части ???
Это я масштабирую вход для тока 4-20ма . Чтобы при 20ма был код 1000 ,а при 4ма был код 200 ,тогда возможно вылавливать замыкание и обрыв датчика


Электронщик до мозга костей и не только

Сообщение отредактировал Rovki - Воскресенье, 24.12.2017, 16:01
 
Nikan Дата: Воскресенье, 24.12.2017, 17:14 | Сообщение # 11
Генерал-майор
Группа: Проверенные
Сообщений: 498
Награды: 15
Репутация: 13
Статус: Offline
Цитата Rovki ()
И это буде определять количество знаков в дробной части ???
нет это только   для правильности  вычислений.
АЦП может измерить только напряжение, все остальное получают  расчетом (закон ома)
количество знаков - -
ацп выдаст код соответствующий приложенному напряжению на входе. (относительно опорного напряжения, в ардуине по умолчанию это напряжение питания)
0v -код 0
5v - код 1023
затем код надо привести к напряжению (блок scale)
если масштабировать так то на выходе блока будут цифры 0/1/2/3/4/5

если принять при масштабировании что
0 -0
50 -1023
то на выходе будет от 0 до 50, разделив на 10.0 получите одно значение после запятой.

если принять при масштабировании что
0 -0
500 -1023
то на выходе будет от 0 до 500, разделив на 100.0 получите два значения после запятой.

можно пойти другим путем  - опорное напряжение разделить на разрешение АЦП  5/1024= 0,0049
те 1 единица ацп равна 0,0049v
затем показания ацп умножить на 0,0049 получим сразу напряжение на входе.
 
sser Дата: Воскресенье, 24.12.2017, 17:19 | Сообщение # 12
Полковник
Группа: Проверенные
Сообщений: 328
Награды: 9
Репутация: 4
Статус: Offline
Цитата kipiaxxx ()
Где-то читал, что для выполнения операции деления МК требуется больше времени и оперативной памяти, чем для умножения. Поэтому лучше будет число в Integer умножать на Float 0.1, 0.01 ...
А что мешает прибавить 0(float)?
Это бессмыслица ,конечно , но ответ на поставленный вопрос будет выполнен... smile




Сообщение отредактировал sser - Воскресенье, 24.12.2017, 17:30
 
Rovki Дата: Воскресенье, 24.12.2017, 17:32 | Сообщение # 13
Генерал-полковник
Группа: Модераторы
Сообщений: 1427
Награды: 30
Репутация: 13
Статус: Offline
Цитата Nikan ()
нет это только   для правильности  вычислений.
Я задал без запятой константы и считает правильно..


Электронщик до мозга костей и не только
 
Nikan Дата: Воскресенье, 24.12.2017, 17:46 | Сообщение # 14
Генерал-майор
Группа: Проверенные
Сообщений: 498
Награды: 15
Репутация: 13
Статус: Offline
Цитата Rovki ()
Я задал без запятой константы и считает правильно..
и палка раз в год стреляет....
 
Rovki Дата: Воскресенье, 24.12.2017, 18:55 | Сообщение # 15
Генерал-полковник
Группа: Модераторы
Сообщений: 1427
Награды: 30
Репутация: 13
Статус: Offline
И в овен лоджик так же -такой же синтаксис .можно задавать флоат без запятой если число целое (но тип флоат)

Электронщик до мозга костей и не только
 
Форум » Основной » Спросить у знатоков » Преобразователь Integer to Float
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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