Весы на hx711 и индикатор на 2-х микросхемах 74Н595 4-bit

Вопросы от новичков
Ответить
saleks
Рядовой
Сообщения: 18
Зарегистрирован: 23.01.2016{, 11:05}
Репутация: 0

Весы на hx711 и индикатор на 2-х микросхемах 74Н595 4-bit

#1

Сообщение saleks » 23.01.2019{, 12:14}

Доброго всем дня. Сделал весы на двух тензодатчиках и ацп hx711. Если отправляю данные в UART или на LED дисплей всё отлично работает, но надо вывести на индикатор на 2-х микросхемах 74Н595 4-bit и тут начинается белиберда. Может какой конфликт в библиотеках, или их вообще в одном проэкте использовать нельзя.
Вложения
весы.flp
(664.42 КБ) 99 скачиваний

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Весы на hx711 и индикатор на 2-х микросхемах 74Н595 4-bit

#2

Сообщение Sancho » 23.01.2019{, 14:34}

saleks, Зачем, зачем тебе такой индикатор?
Но если ничего не будешь более добавлять - схема платы есть?
Но зачем такое чудо, на которое отвлекается проц?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

saleks
Рядовой
Сообщения: 18
Зарегистрирован: 23.01.2016{, 11:05}
Репутация: 0

Весы на hx711 и индикатор на 2-х микросхемах 74Н595 4-bit

#3

Сообщение saleks » 23.01.2019{, 19:02}

Поставил что было под руками, а вообще нужен индикатор 4 разряда и минимум потребления. Как весы переносные и питаются от батареек. Может кто что лутшее посоветует.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Весы на hx711 и индикатор на 2-х микросхемах 74Н595 4-bit

#4

Сообщение Sancho » 23.01.2019{, 19:24}

На ТМ16хх - там яркость регулируется, контролер не грузится. Вопрос в разрядности - всякие бывают.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

saleks
Рядовой
Сообщения: 18
Зарегистрирован: 23.01.2016{, 11:05}
Репутация: 0

Весы на hx711 и индикатор на 2-х микросхемах 74Н595 4-bit

#5

Сообщение saleks » 31.01.2019{, 21:53}

C TM1337 тоже самое, показывает что попало,на LCD 1602 работает отлично.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Весы на hx711 и индикатор на 2-х микросхемах 74Н595 4-bit

#6

Сообщение Sancho » 01.02.2019{, 08:30}

saleks писал(а):
31.01.2019{, 21:53}
TM1337
Не нашёл в тындексе :(
Наверно, ТМ1637.
Можно Ваш проект и как соединили?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

saleks
Рядовой
Сообщения: 18
Зарегистрирован: 23.01.2016{, 11:05}
Репутация: 0

Весы на hx711 и индикатор на 2-х микросхемах 74Н595 4-bit

#7

Сообщение saleks » 01.02.2019{, 11:22}

Извиняюсь опечатка TM 1637. Вот так всё работает отлично.

Отправлено спустя 7 минут 35 секунд:
А вот так ничего, даже в UART только нули идут. Только удаляю блок 1637, в UART идут нормально показания веса.
Вложения
весы1.flp
(544.44 КБ) 78 скачиваний
весы.flp
(361.64 КБ) 56 скачиваний

costy1957
Сержант
Сообщения: 252
Зарегистрирован: 05.08.2018{, 08:37}
Репутация: 44
Имя: Константин

Весы на hx711 и индикатор на 2-х микросхемах 74Н595 4-bit

#8

Сообщение costy1957 » 01.02.2019{, 12:20}

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

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Весы на hx711 и индикатор на 2-х микросхемах 74Н595 4-bit

#9

Сообщение Sancho » 01.02.2019{, 12:29}

saleks, Давайте не спеша.
Сделайте проект, в котором будет только дисплей и подача на него переменной из генератора(0,5...1 сек) и счётчика в диапазоне 0...9999.
Заработает - будем двигаться дальше.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

saleks
Рядовой
Сообщения: 18
Зарегистрирован: 23.01.2016{, 11:05}
Репутация: 0

Весы на hx711 и индикатор на 2-х микросхемах 74Н595 4-bit

#10

Сообщение saleks » 01.02.2019{, 12:58}

Делал, работает. Только подключаю блок 711 и на индикаторе ничего, даже если просто блок в проэкте ни к чему не подключен.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Весы на hx711 и индикатор на 2-х микросхемах 74Н595 4-bit

#11

Сообщение Sancho » 01.02.2019{, 14:13}

saleks, Слегка переделал, не компилил,....
Вложения
Весы_v03.flp
(464.19 КБ) 86 скачиваний
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

saleks
Рядовой
Сообщения: 18
Зарегистрирован: 23.01.2016{, 11:05}
Репутация: 0

Весы на hx711 и индикатор на 2-х микросхемах 74Н595 4-bit

#12

Сообщение saleks » 01.02.2019{, 14:58}

Отлично. Все работает. Огромное спасибо.

Отправлено спустя 2 минуты 34 секунды:
Щас измерю потребление при работе с 1602 и TM 1637.

Отправлено спустя 35 минут 34 секунды:
costy1957 писал(а):
01.02.2019{, 12:20}
Если вам нужно минимальное потребление, попробуйте бесплатную версию каскада, соедините по блютуз, прокачаете выходные данные и считаете индикатором в мнемосхеме.
Пользоваться будут разные люди, так что только индикатор.

costy1957
Сержант
Сообщения: 252
Зарегистрирован: 05.08.2018{, 08:37}
Репутация: 44
Имя: Константин

Весы на hx711 и индикатор на 2-х микросхемах 74Н595 4-bit

#13

Сообщение costy1957 » 01.02.2019{, 23:01}

на всякий случай вам тоже подкину ваш проект под блютуз модуль ,hc 05, ток потребления 50 ма, подключитесь к смартфону с установленной каскадой и глаза не будите портить, как подключать блютуз модуль описано на сайте flprog в разделе документация.
Вложения
Весы_v04.flp
(346.77 КБ) 61 скачивание

Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25.01.2018{, 22:23}
Репутация: 95
Откуда: Bukovyna
Имя: Василий

Весы на hx711 и индикатор на 2-х микросхемах 74Н595 4-bit

#14

Сообщение Labu559 » 02.02.2019{, 00:34}

Я тоже не удержался, так как имел когда-то собственный интерес, но где-то затерялись мои модули hx711. Описание:
При сохранении Вашей структуры, за счёт объдинения математических вычислений, удаления многократных преобразований типов данных удалось съэкономить прибл. 200 байт (1%) памяти программ и 7% динамической. Также разделено операции измерения и вывода на экран, приведения значених и циклической перезаписи EEPROM (сбережение ресурса) условиями выполнения, что должно бы уменьшить время выполнения цикла для возможности применения Вашего шилда на 74НС595. В общем пробуйте, сравнивайте. Описание подробное присутствует внутри, как и варианты. Удачи!

P.S.
Немного теории, или как это долно быть в идеале в наших условияхПоказать
Если-бы Вы хотели, или указали сразу диапазон получаемых значений с АЦП и желаемую точность отображаемых значений на дисплее, то можно добиться реального выиграша в плане использования ресурсов и скорости выполнения алгоритма. Дело в том, что АВР-ки в принципе не умеют выполнять мат.операции деления и умножения (на уровне железа). И выполняют их почти как дети во втором класе методом сложения (утрирую для лучшего понимания).
А мы ещё заставляем их работать с типом приблизительных числовых данных с экспоненциальным представлением (Число с плавающей запятой состоит из 4-х частей, которые и обрабатываются отдельно). По другому говорят число одинарной точности. Цитирую "...Следует иметь ввиду, что числа с плавающей точкой не являются точными, что может приводить к неожиданным результатам при их сравнении. Например, 6.0 / 3.0 может не равняться 2.0. ..."
Есть очень простой и легковесный прием – замена деления больших чисел на битовый сдвиг(выполняется за пару тактов) . В данном случае Ваши данные (unsigned long) с АЦП можно сдвинуть вправо (смотреть >>) на 8-ь знаков (бинарное представление), что эквивалентно делению на 255+1. Ваши операции – АЦП/100/2,019 по проекту. А потом к результату методом простого сложения добавить поправку в 1-м канале 255 - 100*2,019 или во втором 255 - 100*1,1115 .
В результате можем получить бОльшую точность в заранее известном диапазоне веса (значений АЦП), чем при отбрасывании дробной части при преобразовании Float->String, работой с числами одинарной точности, и многократный прирост производительности за счёт использования в вычислениях констант и unsigned integer.
Надеюсь, Вы понимаете, что все эти программисткие «ругательства» использую для того, чтобы Вы, при желании, могли найти в Гугле (т.п.) подробные описание по ключевым или непонятным словам, для лучшего понимания.
При Вашем желании можем провести описанное исследование вместе. Дайте диапазон данных, я скину Вам новый проект, Вы отписываете полученные результаты в железе. Идёт? Можно cделать проект для всего 24-х битного диапазона АЦП -16777215...0, но тензодатчики (фактич,диапазон) могут внести слишком большое несоответствие. Ну и ещё с EEPROM у нас полная лажа. :(
Что -то типа такогоПоказать
salex_wordData.png
с извращениями, потому, как FLProg упорно игнорирует поддержку некоторых стандартных и крайне необходимых типов данных :(
Вложения
saleks.flp
Была ошибка, с логикой OR-AND исправил
(581.65 КБ) 61 скачивание
Последний раз редактировалось Labu559 04.02.2019{, 10:43}, всего редактировалось 7 раз.

Аватара пользователя
Alias
Лейтенант
Сообщения: 481
Зарегистрирован: 27.11.2017{, 13:15}
Репутация: 36
Откуда: Rus44
Имя: Michael
Контактная информация:

Весы на hx711 и индикатор на 2-х микросхемах 74Н595 4-bit

#15

Сообщение Alias » 02.02.2019{, 09:18}

А кто-то уже оценивал точность получающихся весов? Те тензодатчики, что встречаются на Али, имеют 0,05%FS, а это 2,5г на пятикилограммовом варианте. Даже без учета погрешностей обработки такие весы даже в качестве кухонных уже не подойдут.
Может, я не так считаю и можно взвешивать 15г с мизерной ошибкой?
Согласен, исходить нужно из задач, в качестве напольных точности хватит с головой.

saleks
Рядовой
Сообщения: 18
Зарегистрирован: 23.01.2016{, 11:05}
Репутация: 0

Весы на hx711 и индикатор на 2-х микросхемах 74Н595 4-bit

#16

Сообщение saleks » 02.02.2019{, 13:52}

Уважаемый Labu559. Спасибо за проделанную работу. Весы делаю для работы, и они сейчас там, так что проект протестирую с понедельника. В чем разница увидел. Весы будут использоваться для взвешивания зверьков норок, до 10 кг. У нас есть парочка весов заводских. Но там есть нюанс в тарировании. Что бы это сделать нужно нажать и удерживать кнопку Т. Так как терминал размещён на весах то это усилие добавляет вес. Поэтому я и сделал автоматическое тарирование при каждом включении питания. По поводу точности за выходные насобираю гирек с аптекарских весов и посмотрим что к чему. Я думаю через масштабирование и подбор коэфициента можно добиться хорошей точности в заданном диапазоне. Тем более на заводских весах, специально для этого сделанных, отсчет начинается с десятков грамм.

Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25.01.2018{, 22:23}
Репутация: 95
Откуда: Bukovyna
Имя: Василий

Весы на hx711 и индикатор на 2-х микросхемах 74Н595 4-bit

#17

Сообщение Labu559 » 02.02.2019{, 15:05}

Очень важное уточнение.
saleks писал(а):
02.02.2019{, 13:52}
автоматическое тарирование при каждом включении питания.
Если больше не планируется никаких причин для повторного тарирования, то можно вынести ф-ю записи поправок в енергонезависимую память в setup() для однократного выполнения при инициализации устройства. Вообще мне кажется в таком случае использование EEPROM является неоправданным и нелогичным и здесь достаточно просто глобальных переменных с запрещением их изменения (модификаторы и спецификаторы в СИ, искать в поисковике) вне функции setup() . Всё равно данные каждый раз пересчитываются заново после включения питания.
Последний раз редактировалось Labu559 03.02.2019{, 17:25}, всего редактировалось 4 раза.

saleks
Рядовой
Сообщения: 18
Зарегистрирован: 23.01.2016{, 11:05}
Репутация: 0

Весы на hx711 и индикатор на 2-х микросхемах 74Н595 4-bit

#18

Сообщение saleks » 02.02.2019{, 15:28}

Я в СИ не силен, а в FLPROG не нашел как запретить изменение переменной, потому и задействовал EEPROM

Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25.01.2018{, 22:23}
Репутация: 95
Откуда: Bukovyna
Имя: Василий

Весы на hx711 и индикатор на 2-х микросхемах 74Н595 4-bit

#19

Сообщение Labu559 » 03.02.2019{, 16:41}

saleks писал(а):
02.02.2019{, 13:52}
Я думаю через масштабирование и подбор коэфициента можно добиться хорошей точности в заданном диапазоне.
Можете проверять! Блок ТМ1637 и библиотека на форуме.
Вложения
salecs_NoCalibrate.flp
(693.26 КБ) 73 скачивания

saleks
Рядовой
Сообщения: 18
Зарегистрирован: 23.01.2016{, 11:05}
Репутация: 0

Весы на hx711 и индикатор на 2-х микросхемах 74Н595 4-bit

#20

Сообщение saleks » 04.02.2019{, 17:14}

Labu559 писал(а):
03.02.2019{, 16:41}
saleks писал(а):
02.02.2019{, 13:52}
Я думаю через масштабирование и подбор коэфициента можно добиться хорошей точности в заданном диапазоне.
Можете проверять! Блок ТМ1637 и библиотека на форуме.
При скачивании библиотеки ошибка "Архив повреждён или имеет неизвестный формат". Наверное надо перезалить.

Ответить

Вернуться в «Начинающим»