весы hx711

Использование прочих датчиков и энкодеров и пользовательских блоков к ним
zebik
Рядовой
Сообщения: 22
Зарегистрирован: 15.09.2015{, 20:12}
Репутация: 0
Откуда: омск

весы hx711

#1

Сообщение zebik » 16.09.2016{, 13:09}

Хочу собрать весы на hx711. 
В наличии: тензодатчик, модуль hx711, Arduino Uno, Flprog.
Не могу понять каким образом запросить и получить данные о весе с модуля hx711.
Даташит на микросхему hx711 смотрел, но нет ни знаний ни опыта в области передачи данных. не могу вкурить как запросить и как расшифровать полученные данные. Объясните  или дайте ссылку где почитать как этот обмен происходит, но только пожалуйста по простому, "для чайников". Заранее благодарен за помощь.

Аватара пользователя
Dev1
Майор
Сообщения: 1026
Зарегистрирован: 12.07.2016{, 18:04}
Репутация: 59
Откуда: Гондурас

весы hx711

#2

Сообщение Dev1 » 16.09.2016{, 13:24}

hx711
hx711 arduino пример
да куча всего, даже видео есть...
Win10-64 FLProg v7.5.2 Portable :fie:

zebik
Рядовой
Сообщения: 22
Зарегистрирован: 15.09.2015{, 20:12}
Репутация: 0
Откуда: омск

весы hx711

#3

Сообщение zebik » 16.09.2016{, 21:40}

Dev1 писал(а):hx711hx711 arduino пример
да куча всего, даже видео есть..
Спасибо за столь развернутый ответ. Но, там пишут люди более или менее знакомые с языками програмирования, я не говорю на этих языках, поэтому здесь, поэтому Flprog, прошу  на пальцах обяснить как с помощью Flprog получить данные о весе. 
вот как описывает один человек протокол общения с hx711 один из авторов статьи: 

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

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

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

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

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

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

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

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

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

krom23
Лейтенант
Сообщения: 444
Зарегистрирован: 06.09.2015{, 15:18}
Репутация: 12
Откуда: Калуга
Имя: Андрей

весы hx711

#4

Сообщение krom23 » 16.09.2016{, 23:05}

Прикольная микросхемка, АЦП за копейки. Как я понял из описания её можно применять и для термопар и для других датчиков нарисовав полигон для них. Жалко что не шарю в коде и сделать блок не могу. Если кому надо тут неплохо описано как работать с блоком.

arisov77
Рядовой
Сообщения: 54
Зарегистрирован: 11.06.2016{, 12:42}
Репутация: 8
Откуда: Инза

весы hx711

#5

Сообщение arisov77 » 17.09.2016{, 06:16}

Я как раз занимаюсь созданием пользовательского блока для НХ711. Оцифровую Pt100.
Окончательно он будет готов наверное, через недельку, т.к. тестовое железо на работе, а я работаю по сменам и могу им заниматься только по ночам.
Но уже некоторые результаты есть.
Взял за основу эту библиотеку https://github.com/bogde/HX711 .
Данные (только старшие 2 байта, т.е. 16 разрядов), с канала Вх32 по Модбасу передаю на комп. Канал А с усилением 64 также проверил - работает.

Если у кого то "под рукой" есть железо, то может у Вас быстрее получится доделать блок. Мне бы хотелось добавить входа с константами "0" и "Диапазон".
Вложения
HX711-CODE-test.ubi
(41.55 КБ) 228 скачиваний
3878110.jpg
Последний раз редактировалось arisov77 17.09.2016{, 06:49}, всего редактировалось 1 раз.

krom23
Лейтенант
Сообщения: 444
Зарегистрирован: 06.09.2015{, 15:18}
Репутация: 12
Откуда: Калуга
Имя: Андрей

весы hx711

#6

Сообщение krom23 » 17.09.2016{, 14:12}

arisov77, спасибо большое. К сожалению доделать блок не смогу по вышеуказанной причине, но главное задел есть может кто поможет или подождём недельку :)
P.S Вы, я так понял pt100 подключаете по мостовой схеме?
Последний раз редактировалось krom23 17.09.2016{, 21:04}, всего редактировалось 1 раз.

arisov77
Рядовой
Сообщения: 54
Зарегистрирован: 11.06.2016{, 12:42}
Репутация: 8
Откуда: Инза

весы hx711

#7

Сообщение arisov77 » 26.09.2016{, 08:14}

В личке меня спрашивают – отвечу здесь: неделя прошла – порадовать пока нечем.
У меня была возможность позаниматься НХ711 только 2 ночных смены (с перерывами на беготню по объектам).  Первая ночь – вместо тензомоста подавал на вход «милиВольты»от калибратора МЕТРАН 540 http://www.indelta.ru/kip....vu.html. Показания были очень нестабильными, только под утро догадался, что входа не должны «висеть в воздухе», а должны быть на уровне по DataSheet: AGND+1.2 …AVDD-1.3.

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

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

krom23
Лейтенант
Сообщения: 444
Зарегистрирован: 06.09.2015{, 15:18}
Репутация: 12
Откуда: Калуга
Имя: Андрей

весы hx711

#8

Сообщение krom23 » 26.09.2016{, 22:40}

То есть если повесить термопару напрямую на INA+ и INA- то такой фокус не пройдёт, я так понимаю? Хотя это скорее дело в помехах, надо сгородить входной фильтр в виде конденсаторов подтянутых к + и - питания или между входами INA+ и INA-. Посылка с блочками из Китая уже в стране, получу, по экспериментирую.
Последний раз редактировалось krom23 27.09.2016{, 00:15}, всего редактировалось 1 раз.

arisov77
Рядовой
Сообщения: 54
Зарегистрирован: 11.06.2016{, 12:42}
Репутация: 8
Откуда: Инза

весы hx711

#9

Сообщение arisov77 » 27.09.2016{, 11:45}

krom23 писал(а):Хотя это скорее дело в помехах, надо сгородить входной фильтр в виде конденсаторов подтянутых к + и - питания или между входами INA+ и INA-.
Для термопары надо будет городить дополнительный резистивный мост между +AVdd и AGnd (из высокоточных и с минимальным ТКС резисторов) - чтобы входа были на уровне +AVdd/2 и в диагональ моста включить термопару + надо какую то защиту по входам.
Вот накидал примерную схемку - моё видение подключения термопары к модулю на НХ711.
Вложения
2643231.jpg
Последний раз редактировалось arisov77 27.09.2016{, 11:49}, всего редактировалось 1 раз.

krom23
Лейтенант
Сообщения: 444
Зарегистрирован: 06.09.2015{, 15:18}
Репутация: 12
Откуда: Калуга
Имя: Андрей

весы hx711

#10

Сообщение krom23 » 27.09.2016{, 21:56}

А как посчитать такой мост? Просто я смотрел видео о подключение мостового тензодатчика и в уравновешенном состоянии он выдавал 800мВ. Решил сам смоделировать измерительный мост, в уравновешенном состоянии он и в правду показывал разность потенциалов между этими точками 833,3(3)мВ при питании 5В и при любых номиналах резисторов. Кстати, вот так выглядит подключение тензодатчика в промышленных весах(если кому интересно) 
Вложения
4179147.png

kot55
Рядовой
Сообщения: 15
Зарегистрирован: 14.09.2016{, 12:37}
Репутация: 0
Откуда: Мариуполь

весы hx711

#11

Сообщение kot55 » 30.09.2016{, 19:33}

Всем добрый день. Я тоже с такой же просьбой. Очень бы хотелось сделать веса но с программирование как то туговато. Вот есть видео и скейчи :Как сделать и откалибровать весы из Arduino, HX711 и тензодатчика . Проверял на UNO калибруется и работает отлично плюс минус граммы.

krom23
Лейтенант
Сообщения: 444
Зарегистрирован: 06.09.2015{, 15:18}
Репутация: 12
Откуда: Калуга
Имя: Андрей

весы hx711

#12

Сообщение krom23 » 30.09.2016{, 22:28}

kot55, в пятом посту arisov77 выложил написанный им и рабочий пользовательский блок для модуля НХ711.

arisov77
Рядовой
Сообщения: 54
Зарегистрирован: 11.06.2016{, 12:42}
Репутация: 8
Откуда: Инза

весы hx711

#13

Сообщение arisov77 » 03.10.2016{, 03:27}

Наконец то осилил блок для HX711.
Как я уже писал ранее, блок сделан на основе библиотеки https://github.com/bogde/HX711 .
Описание входов/выходов и процесс калибровки – в самом блоке, в разделе «Описание автора».
Вход задания единиц измерения не стал делать (вернее, запинка у меня с ним вышла, а время на этот блок я и так много затратил) и тем более в FLProg, это легко сделать другими средствами.
В примере весов с выводом индикации по СОМ-порту, можно увидеть, как можно это реализовать (в конце строки со значением веса будет добавляться надпись «kg»). Дополнительно, в примере реализована индикация надписей «Error_Min» и «Error_Max» при выходе значений АЦП за диапазон.

Много времени у меня заняло исследование свойств НХ711 и борьба с нестабильностью показаний. Я пришёл к выводу, что реально более-менее стабильны показания возможны только при 12-разрядном преобразовании, полноценными 24-разрядами от НХ711 и «не пахнет».
Для проверки стабильности показаний - припаял непосредственно ко входам АЦП несбалансированной мост из счетверённого ЧИП резистора (на комп. материнках таких полно). Повторяемость - ужасная. Пробовал и на «зелёной» и на «красной» платах. На красной, вроде бы немного стабильней – это подтверждается и здесь http://arduino.ru/forum/apparatnye-vopr ... ent-199276 – там же можно почитать и про другие пути увеличения стабильности показаний.
+ ещё ссылки про НХ711:
- https://hubstub.ru/circuit....6..html
- http://arduino.ru/forum/proekty/napolny ... oi-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/h ... ohm-meter/

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

kot55 , Вы писали что проверяли НХ711 на Uno. Проверьте пожалуйста мой блок, потом я его перенесу в раздел "Блоки пользователей"
Вложения
HX711_Ru.pdf
(882.88 КБ) 393 скачивания
HX711_10.2016-C.ubi
(41.14 КБ) 233 скачивания
HX711_10.2016.flp
(167.28 КБ) 285 скачиваний
1999973.jpg
Последний раз редактировалось arisov77 03.10.2016{, 03:38}, всего редактировалось 1 раз.

krom23
Лейтенант
Сообщения: 444
Зарегистрирован: 06.09.2015{, 15:18}
Репутация: 12
Откуда: Калуга
Имя: Андрей

весы hx711

#14

Сообщение krom23 » 03.10.2016{, 23:32}

arisov77, мне даже не удобно просить вас после всей проделанной вами работы, но всё же. Не могли бы вы немного изменить ваш блок так чтоб он выводил мили Вольты  и в целочисленных значениях, а то ардуинки не дружат с натуральными числами и у них с этого камень кипит, да и хотелось бы использовать свои полигоны вместо пропорциального преобразования. Это я возвращаюсь к разговору об использовании АЦП не по назначению.

arisov77
Рядовой
Сообщения: 54
Зарегистрирован: 11.06.2016{, 12:42}
Репутация: 8
Откуда: Инза

весы hx711

#15

Сообщение arisov77 » 05.10.2016{, 11:44}

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_polzovatele ... /2-1-0-109 , то установите N_Read=1, Zero=0, Scale=1 - в этом случае блок НХ711 ничего не будет изменять, будут "чистые" 24-разрядные данные с входа АЦП (в зависимости от задания на CH_Gain). А на выходе Out ставьте математические и всякие другие блоки и делайте с сигналом АЦП что угодно.
Последний раз редактировалось arisov77 05.10.2016{, 12:44}, всего редактировалось 1 раз.

krom23
Лейтенант
Сообщения: 444
Зарегистрирован: 06.09.2015{, 15:18}
Репутация: 12
Откуда: Калуга
Имя: Андрей

весы hx711

#16

Сообщение krom23 » 05.10.2016{, 22:40}

Спасибо за объяснение, всё понял. Усреднение это нужная вещь и я не имел его в виду. Есть два похожих блока в программе Scale с линейным преобразованием и полигон, куда можно записать нелинейную функцию состоящую из более двух точек, что в свою очередь позволяет использовать датчики с не линейными свойствами и существенно экономит не математических действиях. Натуральные числа, это беда атмеловских контроллеров и поэтому желательно работать с числами имеющими вид 100500 а не 10,0500, тем более что запятую мы можем поставить принудительно в любом месте при преобразовании в строку, а математика нам не нужна при наличии Scale и полигона.
Если вы напишете такой блок будет здорово, если нет то с удовольствием поэкспериментирую с тем что вы выложили. Ещё раз спасибо за блок.
Последний раз редактировалось krom23 05.10.2016{, 22:57}, всего редактировалось 1 раз.

arisov77
Рядовой
Сообщения: 54
Зарегистрирован: 11.06.2016{, 12:42}
Репутация: 8
Откуда: Инза

весы hx711

#17

Сообщение arisov77 » 05.10.2016{, 23:56}

Числа на выходе "Out" блока и так будут без запятой, если Вы на входе "Scale" блока не будете задавать числа с запятой. Только единственное, то что формат (тип) числа задан как "float" -> тип входа легко поменять, а выход -> надо немного отредактировать блок. Хорошо, для Вас попозже сделаю блок с названием "HX711_int".
Также можно было бы сделать блок, в котором число опросов АЦП ("N_Read") было бы кратным 2^n, чтобы потом "тяжёлую" операцию деления заменить сдвигами. На ассемблере, при опросе датчиков я всегда так делал. Такой блок был бы немного "шустрее" - но надо ли это?

Хотелось бы, чтобы кто нибудь попробовал блок "в деле", прежде чем его дорабатывать.
Меня беспокоит, как будет блок работать совместно с внешними прерываниями? Есть у меня подозрения, что пока опрашивается вывод "DOUT", микроконтроллер может "проспать" всё остальное...

Также, я продолжу делать другой блок для НХ711. Он будет с двумя выходами от каналов А и В. В моём случае это нужно для обработки Pt100.
Последний раз редактировалось arisov77 06.10.2016{, 08:14}, всего редактировалось 1 раз.

krom23
Лейтенант
Сообщения: 444
Зарегистрирован: 06.09.2015{, 15:18}
Репутация: 12
Откуда: Калуга
Имя: Андрей

весы hx711

#18

Сообщение krom23 » 06.10.2016{, 23:40}

Вот-вот придёт посылочка, так сразу же берусь за эксперименты. 
arisov77 писал(а):сделаю блок с названием "HX711_int"
Извините что напряг вас, иногда сначала пишу а потом думаю . Нет необходимости что то переделывать.
arisov77 писал(а):А и В. В моём случае это нужно для обработки Pt100.
Не поделитесь задумкой, для чего два канала?
Последний раз редактировалось krom23 06.10.2016{, 23:43}, всего редактировалось 1 раз.

kot55
Рядовой
Сообщения: 15
Зарегистрирован: 14.09.2016{, 12:37}
Репутация: 0
Откуда: Мариуполь

весы hx711

#19

Сообщение kot55 » 08.10.2016{, 17:20}

Добрый вечер. Раньше не получилось зайти. Пробовал проверить или я чего то не понимаю..... Тензодатчики не как не реагируют на вес. В сом порту плывет 1 0.000 кг. А при копировании скетча в ардуино 1.6.11 возникает ошибка                          

Arduino: 1.6.11 (Windows 7), Плата:"Arduino/Genuino Uno"

C:\Users\Vasilij\Desktop\Проэкты\pr2\pr7\pr7.ino: In function 'void loop()':

pr7:121: error: '_floatToStringWitRaz' was not declared in this scope

pr7:126: error: '_isTimer' was not declared in this scope

exit status 1
'_floatToStringWitRaz' was not declared in this scope

{_swi1=((( _floatToStringWitRaz(Out,3))) + (String("  kg")));} эта строка подчеркнута красным

arisov77
Рядовой
Сообщения: 54
Зарегистрирован: 11.06.2016{, 12:42}
Репутация: 8
Откуда: Инза

весы hx711

#20

Сообщение arisov77 » 23.10.2016{, 05:26}

krom23 писал(а):Не поделитесь задумкой, для чего два канала?
Я ссылку уже давал, повторю её http://forum.easyelectronics.ru/viewtop....p321030 , процитирую оттуда сообщение:

Все можно сделать несколько проще, если не пытаться возбуждать точным значением тока. Достаточно просто взять более или менее стабильный источник напряжения (например опорник через повторитель), и запитать им связку из RTD и референсного резистора. Двумя каналами АЦП измеряем падение там и там, и строим простое отношение, из которого, зная точное сопротивление референсного резистора, получаем точное значение сопротивления датчика.

Плюсы - не надо париться напряжением возбуждения, строго говоря оно вообще может быть любым. Желательно подобрать такое, чтобы падение на резисторах было как раз в диапазоне АЦП. Убираются ошибки источника тока. Убираются ошибки АЦП, такие как дрифт и нелинейность (если сопротивление датчика и сопротивление референсного резистора одинаковы).

Для простоты можно взять любой достаточно быстрый АЦП с как минимум двумя каналами, лучше дифференциальный. В идеале - два полностью синхронных канала, но если переключение будет достаточно быстрым, то тоже ничего страшного.

Ток в подобной схеме достаточно большой, так что особенно париться с фильтрацией на входе не надо. Однако между дифференциальными входами не мешает поставить по конденсатору нанофарад на десять, и посадить их на землю также через конденсаторы по нанофараду. Частота оцифровки - не менее 500 Гц, после оцифровки фильтр на 50 Гц. Усреднение, и будет вам щасте.


И прилагаю свой вариант схемки подключения Pt100 к HX711.
Тестирование этой схемы ещё не окончено, как закончу – опишу результаты.
Резистор Rref – «опорный», выделяемое на нём напряжение будет измеряться каналом А с усилением х64 (+/-40мВ). Напряжение с Pt100 измеряется каналом В с усилением х32 (+/-80мВ). В FLProg, упрощенно это будет выглядеть так: c пользовательского блока оцифрованные значения с А и В поступят на математический блок деления и значение Pt100 будет равно: Pt100 = B/A, далее калибровка (ноль и диапазон).
Как уже писали http://forum.easyelectronics.ru/viewtop....p321030 в таком включении не надо источника опорного напряжения. И я надеюсь, что не надо будет прецизионных резисторов =10кОм, а будет достаточно использование равных по сопротивлению между собой резисторов -> измерил из одной ленты ЧИП-резисторы, были равны между собою в пределах 1%. Также бывают счетверённые ЧИП резисторы (их много в «материнках»).

------------------------------------------------------------------------------
kot55 писал(а):Пробовал проверить или я чего то не понимаю..... Тензодатчики не как не реагируют на вес. В сом порту плывет 1 0.000 кг. А при копировании скетча в ардуино 1.6.11 возникает ошибка
Судя по приведённому коду – ошибка не из моего пользовательского блока, а встроенных блоков для добавления «кг» в строку. У меня в ардуино 1.6.3 - ошибок нет. Попробуйте этот пример – должно быть всё тоже самое, кроме индикации «кг» и аварийных значений. И проверьте, Вы правильно указали в блоке НХ711 выводы Ардуинки, к которым подключен модуль НХ711?

Добавлено (23.10.2016, 05:26)
---------------------------------------------
****************************************************************************************
Почему то не добавляется новое сообщение, а присоединяется...... , очень неудобно...
****************************************************************************************
Наконец то, сделал блок с двумя выходами (канал А и канал В). Может кому ни будь и сгодиться…
Судя по буржуйским форумам, некоторые пользователи – подключают по 2 тензодатчика на платку (по одному на каждый канал) и уже отдельные данные с каждого датчика обрабатывают, затем объединяют и выводят на индикацию.
Возможны также варианты, когда используют, например, 6 тензодатчиков и сигнал с них подают на индивидуальный модуль АЦП. Такой вариант удобен при больших расстояниях от тензомоста, в этом случае платку с НХ711 располагают рядом с тензодатчиком и уже «цифровой» сигнал «пускают» на весовой терминал, т.е. такой вариант более помехоустойчив. Для такого варианта (когда используется несколько платок с НХ711 и у них объединены вывода SCK) есть ардуиновская библиотека https://github.com/compugician/HX711-multi .

У НХ711 при переключении каналов обнаружился один существенны недостаток – нужно достаточно долго ждать, пока не появятся «нормальные» данные (параметр из DataSheet "Output settling time" ("Время установления данных") = 400ms, при RATE (pin15) = 0 или равно 50ms, при RATE (pin15) = DVDD).
Поэтому, для уменьшения времени обработки блока в одном цикле программы, я в своём пользовательском блоке (с двумя выходами) реализован следующий алгоритм опроса НХ711:
- в каждом новом цикле опроса блока считывается только один канал и только один раз (расчётное время одного опроса блока (преобразования АЦП) = 100ms, при RATE (pin15) = 0 или 12,5ms при RATE (pin15) = DVDD)
- первые 4 цикла опроса блока - "пустые" считывания канала А
- 5 цикл - считывание канала А с суммированием (если на входе "N_Read" >1)
- 6..9 циклы - "пустые" считывания канала В
- 10 цикл - считывание канала В с суммированием (если на входе "N_Read" >1), масштабирование и вывод результатов измерения на выхода
- далее циклы повторяются сначала

При использовании блоков НХ711 следует учесть, что если в программе, используются критичные по времени выполнения задачи, то могут возникнуть проблемы с этими задачами, т.к. пока происходит ожидание ответа от НХ711 (появление лог. «0» на выходе DOUT, после окончания преобразования), контроллер занят и основной цикл не выполняется. Для уменьшения влияния на ход выполнения других задач, желательно блок включать по таймеру (вход «En»).
Для того, чтобы ещё меньше «зависеть» от НХ711, нужно сделать новые пользовательские блоки, на внешних прерываниях, т.е. при возникновении прерывания от лог. «0» на выходе DOUT. Надеюсь, кто-то возьмётся и продолжит «оцифровку» НХ711, т.к. я наверное, уже не смогу это сделать из-за нехватки времени и из-за того, что я уже получил, что хотел http://forum.flprogwiki.ru/viewtopic.php?f=20&t=1379 и результат меня устраивает.
Оба блока выложил здесь http://flprog.ru/load/bloki_polzovatele ... /2-1-0-158 .
Вложения
HX711_10.2016-2.flp
(161.56 КБ) 201 скачивание
5731690.jpg
Последний раз редактировалось arisov77 23.10.2016{, 05:25}, всего редактировалось 1 раз.

Ответить

Вернуться в «Прочие датчики и энкодеры»