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


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

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


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 212»
Модератор форума: support, Сергей 
Форум » Основной » Спросить у знатоков » весы hx711 (обмен данными)
весы hx711
zebik
Дата: Пятница, 16.09.2016, 13:09 | Сообщение # 1
Рядовой
Группа: Проверенные
Сообщений: 20
Награды: 0
Репутация: 0
Статус: Offline
Хочу собрать весы на hx711. 
В наличии: тензодатчик, модуль hx711, Arduino Uno, Flprog.
Не могу понять каким образом запросить и получить данные о весе с модуля hx711.
Даташит на микросхему hx711 смотрел, но нет ни знаний ни опыта в области передачи данных. не могу вкурить как запросить и как расшифровать полученные данные. Объясните  или дайте ссылку где почитать как этот обмен происходит, но только пожалуйста по простому, "для чайников". Заранее благодарен за помощь.
 
Dev1 Дата: Пятница, 16.09.2016, 13:24 | Сообщение # 2
Лейтенант
Группа: Проверенные
Сообщений: 111
Награды: 2
Репутация: 4
Статус: Offline
hx711
hx711 arduino пример
да куча всего, даже видео есть...


Win7/10-64 FLProg v2.1.1Up IDE 1.6.12
 
zebik Дата: Пятница, 16.09.2016, 21:40 | Сообщение # 3
Рядовой
Группа: Проверенные
Сообщений: 20
Награды: 0
Репутация: 0
Статус: Offline
Цитата Dev1 ()
hx711hx711 arduino пример
да куча всего, даже видео есть..
Спасибо за столь развернутый ответ. Но, там пишут люди более или менее знакомые с языками програмирования, я не говорю на этих языках, поэтому здесь, поэтому Flprog, прошу  на пальцах обяснить как с помощью Flprog получить данные о весе. 
вот как описывает один человек протокол общения с hx711 один из авторов статьи: 

*Для получения данных используются 2 вывода: DT и SCKВо время преобразования на выводе DT присутствует логическая единица, на SCK при этом должен быть логический ноль.*

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

По окончании преобразования на выводе DT появляется логический ноль, который говорит о том, что данные можно забирать.

как  их забирать? что будет происходить?

Далее, по каждому положительному фронту на входе SCK, данные передаются по одному биту, старшим битом вперёд.

и тут слова знакомые попадаются но как это все работает не ясно.

По окончании считывания на выводе DT устанавливается логическая единица. Вот и весь протокол.

Что касается коэффициента усиления и выбора канала, то он зависит от количества импульсов на выводе SCK.

для человека который уже 10 лет понимает как эти данные передаются всё просто, а я загуглить правильно не могу так как не в теме. вот и прошу подсказать.
 
krom23 Дата: Пятница, 16.09.2016, 23:05 | Сообщение # 4
Майор
Группа: Проверенные
Сообщений: 177
Награды: 1
Репутация: 0
Статус: Offline
Прикольная микросхемка, АЦП за копейки. Как я понял из описания её можно применять и для термопар и для других датчиков нарисовав полигон для них. Жалко что не шарю в коде и сделать блок не могу. Если кому надо тут неплохо описано как работать с блоком.
 
arisov77 Дата: Суббота, 17.09.2016, 06:16 | Сообщение # 5
Рядовой
Группа: Проверенные
Сообщений: 24
Награды: 4
Репутация: 2
Статус: Offline
Я как раз занимаюсь созданием пользовательского блока для НХ711. Оцифровую Pt100.
Окончательно он будет готов наверное, через недельку, т.к. тестовое железо на работе, а я работаю по сменам и могу им заниматься только по ночам.
Но уже некоторые результаты есть.
Взял за основу эту библиотеку https://github.com/bogde/HX711 .
Данные (только старшие 2 байта, т.е. 16 разрядов), с канала Вх32 по Модбасу передаю на комп. Канал А с усилением 64 также проверил - работает.

Если у кого то "под рукой" есть железо, то может у Вас быстрее получится доделать блок. Мне бы хотелось добавить входа с константами "0" и "Диапазон".
Прикрепления: 3878110.jpg(51Kb) · HX711-CODE-test.ubi(42Kb)


Сообщение отредактировал arisov77 - Суббота, 17.09.2016, 06:49
 
krom23 Дата: Суббота, 17.09.2016, 14:12 | Сообщение # 6
Майор
Группа: Проверенные
Сообщений: 177
Награды: 1
Репутация: 0
Статус: Offline
arisov77, спасибо большое. К сожалению доделать блок не смогу по вышеуказанной причине, но главное задел есть может кто поможет или подождём недельку :)
P.S Вы, я так понял pt100 подключаете по мостовой схеме?


Сообщение отредактировал krom23 - Суббота, 17.09.2016, 21:04
 
arisov77 Дата: Понедельник, 26.09.2016, 08:14 | Сообщение # 7
Рядовой
Группа: Проверенные
Сообщений: 24
Награды: 4
Репутация: 2
Статус: Offline
В личке меня спрашивают – отвечу здесь: неделя прошла – порадовать пока нечем.
У меня была возможность позаниматься НХ711 только 2 ночных смены (с перерывами на беготню по объектам).  Первая ночь – вместо тензомоста подавал на вход «милиВольты»от калибратора МЕТРАН 540 http://www.indelta.ru/kip....vu.html. Показания были очень нестабильными, только под утро догадался, что входа не должны «висеть в воздухе», а должны быть на уровне по DataSheet: AGND+1.2 …AVDD-1.3.

Вторая ночь также прошла безрезультатно – из-за глюка FLProg или моей невнимательности, это когда меняешь тип выхода в блоке, например с Int на Long следующий за ней блок не меняет автоматически тип входа, пока не «пошатаешь»какой -  нибудь из этих блоков. Так, что работать творчески ночью – плохо получается, а днём– надо семью кормить smile .
Пока можно пользоваться блоком, который выкладывал ранее – он вполне рабочий, только выход 16-разрядный. Всё равно с 24разрядами, без усреднения, показания очень нестабильные.
Работа над блоком будет продолжена. Должно всё получиться, если не наткнусь на очередной «глюк» или «затык».

Только, сейчас увидел вопрос krom23 - планирую так http://forum.easyelectronics.ru/viewtop....p321030(сообщение: Добавлено: 24 фев 2014, 15:23 и ниже).


Сообщение отредактировал arisov77 - Понедельник, 26.09.2016, 08:30
 
krom23 Дата: Понедельник, 26.09.2016, 22:40 | Сообщение # 8
Майор
Группа: Проверенные
Сообщений: 177
Награды: 1
Репутация: 0
Статус: Offline
То есть если повесить термопару напрямую на INA+ и INA- то такой фокус не пройдёт, я так понимаю? Хотя это скорее дело в помехах, надо сгородить входной фильтр в виде конденсаторов подтянутых к + и - питания или между входами INA+ и INA-. Посылка с блочками из Китая уже в стране, получу, по экспериментирую.

Сообщение отредактировал krom23 - Вторник, 27.09.2016, 00:15
 
arisov77 Дата: Вторник, 27.09.2016, 11:45 | Сообщение # 9
Рядовой
Группа: Проверенные
Сообщений: 24
Награды: 4
Репутация: 2
Статус: Offline
Цитата krom23 ()
Хотя это скорее дело в помехах, надо сгородить входной фильтр в виде конденсаторов подтянутых к + и - питания или между входами INA+ и INA-.
Для термопары надо будет городить дополнительный резистивный мост между +AVdd и AGnd (из высокоточных и с минимальным ТКС резисторов) - чтобы входа были на уровне +AVdd/2 и в диагональ моста включить термопару + надо какую то защиту по входам.
Вот накидал примерную схемку - моё видение подключения термопары к модулю на НХ711.
Прикрепления: 2643231.jpg(67Kb)


Сообщение отредактировал arisov77 - Вторник, 27.09.2016, 11:49
 
krom23 Дата: Вторник, 27.09.2016, 21:56 | Сообщение # 10
Майор
Группа: Проверенные
Сообщений: 177
Награды: 1
Репутация: 0
Статус: Offline
А как посчитать такой мост? Просто я смотрел видео о подключение мостового тензодатчика и в уравновешенном состоянии он выдавал 800мВ. Решил сам смоделировать измерительный мост, в уравновешенном состоянии он и в правду показывал разность потенциалов между этими точками 833,3(3)мВ при питании 5В и при любых номиналах резисторов. Кстати, вот так выглядит подключение тензодатчика в промышленных весах(если кому интересно) 
Прикрепления: 4179147.png(143Kb)
 
kot55 Дата: Пятница, 30.09.2016, 19:33 | Сообщение # 11
Рядовой
Группа: Проверенные
Сообщений: 3
Награды: 0
Репутация: 0
Статус: Offline
Всем добрый день. Я тоже с такой же просьбой. Очень бы хотелось сделать веса но с программирование как то туговато. Вот есть видео и скейчи :Как сделать и откалибровать весы из Arduino, HX711 и тензодатчика . Проверял на UNO калибруется и работает отлично плюс минус граммы.
 
krom23 Дата: Пятница, 30.09.2016, 22:28 | Сообщение # 12
Майор
Группа: Проверенные
Сообщений: 177
Награды: 1
Репутация: 0
Статус: Offline
kot55, в пятом посту arisov77 выложил написанный им и рабочий пользовательский блок для модуля НХ711.
 
arisov77 Дата: Понедельник, 03.10.2016, 03:27 | Сообщение # 13
Рядовой
Группа: Проверенные
Сообщений: 24
Награды: 4
Репутация: 2
Статус: Offline
Наконец то осилил блок для HX711.
Как я уже писал ранее, блок сделан на основе библиотеки https://github.com/bogde/HX711 .
Описание входов/выходов и процесс калибровки – в самом блоке, в разделе «Описание автора».
Вход задания единиц измерения не стал делать (вернее, запинка у меня с ним вышла, а время на этот блок я и так много затратил) и тем более в FLProg, это легко сделать другими средствами.
В примере весов с выводом индикации по СОМ-порту, можно увидеть, как можно это реализовать (в конце строки со значением веса будет добавляться надпись «kg»). Дополнительно, в примере реализована индикация надписей «Error_Min» и «Error_Max» при выходе значений АЦП за диапазон.

Много времени у меня заняло исследование свойств НХ711 и борьба с нестабильностью показаний. Я пришёл к выводу, что реально более-менее стабильны показания возможны только при 12-разрядном преобразовании, полноценными 24-разрядами от НХ711 и «не пахнет».
Для проверки стабильности показаний - припаял непосредственно ко входам АЦП несбалансированной мост из счетверённого ЧИП резистора (на комп. материнках таких полно). Повторяемость - ужасная. Пробовал и на «зелёной» и на «красной» платах. На красной, вроде бы немного стабильней – это подтверждается и здесь http://arduino.ru/forum/apparatnye-voprosy/hx711#comment-199276 – там же можно почитать и про другие пути увеличения стабильности показаний.
+ ещё ссылки про НХ711:
- https://hubstub.ru/circuit....6..html
- http://arduino.ru/forum/proekty/napolnye-vesy-s-otsylkoi-dannykh
- https://mihanentalpo.me/2016/07/первая-польза-arduino/
- http://intl.pp.ua/2016/03/hx711-stm8.html
- http://www.naylampmechatronics.com/blog....Ba.html
- https://dannyelectronics.wordpress.com/2015....m-meter
- http://www.eevblog.com/forum/projects/hx711-based-milliohm-meter/

Также в сети мне попался перевод DataSheet на НХ711, выкладываю его сюда (я только преобразовал его из word в pdf файл).

kot55 , Вы писали что проверяли НХ711 на Uno. Проверьте пожалуйста мой блок, потом я его перенесу в раздел "Блоки пользователей"
Прикрепления: 1999973.jpg(171Kb) · HX711_10.2016.flp(167Kb) · HX711_10.2016-C.ubi(41Kb) · HX711_Ru.pdf(883Kb)


Сообщение отредактировал arisov77 - Понедельник, 03.10.2016, 03:38
 
krom23 Дата: Понедельник, 03.10.2016, 23:32 | Сообщение # 14
Майор
Группа: Проверенные
Сообщений: 177
Награды: 1
Репутация: 0
Статус: Offline
arisov77, мне даже не удобно просить вас после всей проделанной вами работы, но всё же. Не могли бы вы немного изменить ваш блок так чтоб он выводил мили Вольты  и в целочисленных значениях, а то ардуинки не дружат с натуральными числами и у них с этого камень кипит, да и хотелось бы использовать свои полигоны вместо пропорциального преобразования. Это я возвращаюсь к разговору об использовании АЦП не по назначению.
 
arisov77 Дата: Среда, 05.10.2016, 11:44 | Сообщение # 15
Рядовой
Группа: Проверенные
Сообщений: 24
Награды: 4
Репутация: 2
Статус: Offline
Цитата krom23 ()
...Не могли бы вы немного изменить ваш блок так чтоб он выводил мили Вольты и в целочисленных значениях...
Для этого ничего переделывать не надо. Посмотрите картинку http://flprog.ru/_fr/13/1999973.jpg или пример , которые выкладывал ранее, надо "kg" изменить на "mV", а на входе "Scale" задавайте целые числа.
Кстати, когда я экспериментировал с блоком, я так и делал – подобрал Zero и Scale, в строку добавил надпись mV и задавал напряжения от калибратора. Только у меня всё равно в mV были числа с запятой, иначе получается шкала очень грубой – АЦП может измерять до 20 до 80mV и если не делать запятую, то надо переводить в мкВ.
Следует учесть, что например, для канала А с усилением 64 измеряемое напряжение в DataShet указанно +/-40mV, но это если на входе AVDD будет напряжение +5V, а в «зелёной» плате на это вход подается 4, ??(не помню точно) Вольт и поэтому АЦП измеряет этот канал до +/32mV.

Цитата arisov77 ()
... да и хотелось бы использовать свои полигоны вместо пропорциального преобразования...
Я не знаю что такое полигоны и пропорциональное преобразование. Если Вы имеете ввиду, то что не хотите использовать усреднение (считывание N раз АЦП, суммирование этих считываний и в конце деление этой суммы на N раз), а потом на выходе установить свои блоки, например такие цифровые фильтры http://flprog.ru/load/bloki_polzovatelej/cifrovye_filtry/2-1-0-109 , то установите N_Read=1, Zero=0, Scale=1 - в этом случае блок НХ711 ничего не будет изменять, будут "чистые" 24-разрядные данные с входа АЦП (в зависимости от задания на CH_Gain). А на выходе Out ставьте математические и всякие другие блоки и делайте с сигналом АЦП что угодно.


Сообщение отредактировал arisov77 - Среда, 05.10.2016, 12:44
 
Форум » Основной » Спросить у знатоков » весы hx711 (обмен данными)
Страница 1 из 212»
Поиск:

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