По прошествии некоторого времени, повторное ознакомление с начальной статьей вызвало чувство незаконченности в вопросе использовании данного АЦП. Да, были проведены определенные исследования данного изделия, были нащупаны слабые стороны и предложены пути обхода этих слабых сторон, но вопрос об ЭКСПЕРИМЕНТАЛЬНОМ, практическом применении отсутствовал.
Работа Андрея Герасименко («АЦП НХ711 от 3,3V- не верьте китайской документации и не только…» (https//habr.com/ru/post/438772)), не требовала абсолютного учета веса улья. Условие относительности взвешенных ульев, нивелировало ошибку взвешивания, ибо технические ошибки, возникающие из за изменения внешних условий, действовали на все объекты слежения и автоматически исключались из анализа за состоянием ульев. Иначе обстоят дела при простом взвешивании.
Найденные Nikopol_86 ( «…не верьте китайской документации» Nikopol_86 февраля 2019 в 09:27) слабые места преобразователя в виде распределение ошибки измерения отличной от случайного распределения и отмеченные мною, тоже являлись теоретическими изысканиями.
Применение мною метода скользящего среднего для «успокоения» дрожания последних разрядов 24 битного преобразования показал свою эффективность, но готового экземпляра измерительного устройства, с учетом всех вышеперечисленных находок не было.
Для окончательного заключения о пригодности Нх711 к использованию в весах была разработана программа для взвешивания, основанная на принципиальной схеме:
Питание схемы, осуществляется от обычного стандартного блока питания на постоянные 5 вольт, 1 ампер.
При разработке программы, учитывались все, ранее отмеченные недостатки АЦП. А теперь о самой программе, заложенной в контроллер ATMega16.
При включении питания, на индикатор выводится: в нижней строке значение АЦП, считанное с тензодатчика, в верхней строке выводится значение веса получаемое путем нормирования значений АЦП нижней строки. Обычно это: верхняя строка 1,015 и нижняя строка 1085. После размещения на платформе нужной тары, производится обнуление показаний, путем нажатия Key2 (тара) что приводит к индикации 0,000 и 0 в верхней и нижней строке индикатора, соответственно. После этого, размещая на платформе взвешиваемый груз, производим считывание веса из верхней строке.
Надо отметить, что функция автонуля, т.е ввод веса тары в считываемый вес с платформы в момент включения весов, не реализован. В программу заранее «вшиты» значения нормировочных коэффициентов (во flash память контроллера), что позволяет сразу, после учета веса тары производить взвешивание.
Для изменения нормировочных коэффициентов предусмотрен режим калибровки весов частью веса ( в данном случае 2 кг). Для входа в этот режим, нужно освободить платформу, дождаться стабильных показаний и нажать одновременно Key12 и Key17.
В верхней строке индицируется: «Cal: turn Key 12», что свидетельствует о входе весов в режим калибровки частью веса. Для продолжения необходимо нажать Key12. В нижней строке индицируется «Press Tare key», что означает, что весы готовы «запомнить» значение тары. Для продолжения нажмите Key2 (Тара). В нижней строке индицируется «Place 2kg key17». Положите на платформу гирю 2 кг, подождите и нажмите Key17. На индикаторе в верхней строке 2,000 и в нижней строке 2130. Весы перешли в режим взвешивания. Снимите гирю и продолжайте взвешивание. Важно, новые нормировочные коэффициенты записываются в ОЗУ контроллера и сотрутся (исчезнут) после выключения питания весов.
Подобная процедура, удобна, но в процессе работы не всегда под рукой оказывается гиря 2 кг. Для этого случая предусмотрена процедура коррекции калибровки. Для входа в эту процедуру необходимо, выключить весы, переставить JP1, так, что бы замкнуть вывод порта контроллера на землю. Включить весы. В верхней строке добавляется значение одного из нормировочных коэффициентов, для данного случая он равен 5325. Обнуляем весы Key2, ставим на платформу известный нам вес и клавишами Key12 увеличиваем, а Key17 уменьшаем индицируемое весами значение положенного веса. Добиваемся равенства значение веса положенного на платформу и веса индицируемого весами. После достижения равенства, JP1 размыкаем цепь. ВАЖНО: замыкание джампера лучше производить при выключенном питании весов. Размыкание только при включенном питании. Значение индицируемого нормировочного коэффициента так же меняется в процессе корректировки. Зависимость обратная, чем выше коэффициент, тем меньше индицируемый вес и наоборот. Все дело в том, что новое значение коэффициента так же пишется во внутреннее ОЗУ контроллера. Ну собственно и все.
Данные весы эксплуатировались в цехе расфасовки в течение 2 рабочих смен по 8 часов, непрерывно, температура окружающей среды 18-22 градуса Цельсия. Уже первые сутки эксплуатации показали, что изменения веса, из за внешних факторов: прогрев аппаратуры, скачки окружающей температуры из за открываемых дверей — носят удовлетворительный характер. Все колебания лежат в пределах 10-15 грамм (средний вес фасуемого товара 10 кг), что является допустимым для данного веса. Так, ошибки взвешивания, допускаемые метрологией, для весов с наибольшим пределом взвешивания НПВ15 кг составляют:
Введенный режим коррекции калибровки удобен. Но использовался в основном, когда взвешивание отклонялось на 5 – 10 граммов на 5 кг гире. Естественное желание иметь именно нулевые ошибки весов, но не необходимее, ибо ошибка в допустимом диапазоне.
Как вывод считаю, что китайский модуль АЦП, на основе микросхемы Нх711, показал себя как работоспособный и могущий использоваться в схемах весов как обычного так и среднего класса. Отсутствие коррекции веса от температуры окружающей среды в самом корпусе микросхемы, является самым уязвимым местом данного модуля (микросхемы). Моя практика показала, что для устройств, работающих в условиях с небольшими колебаниями окружающей температуры, ошибка измерения не превышает допустимых метрологией ошибок. Однако вопрос о применении данного модуля для весов работающих, например на рынке, когда летом температура бывает за +30, а зимой до -15 градусов Цельсия, остается открытым.
К сожалению, у меня отсутствует возможность испытать весы в термокамере и ответить на этот вопрос, поэтому в конце статьи прилагаю hex файл (не для ардуино), для flash памяти микроконтроллера. Схема приведена выше, характеристики тензодатчика тоже приводились. Если кому интересен данный АЦП модуль и имеется термокамера, можно самому провести нужные испытания. Желательно поделиться своими результатами.
Файл :Scale16_11.hex. Ссылка: cloud.mail.ru/public/4Edm/43fwpHEPU
Всех благ!
Работа Андрея Герасименко («АЦП НХ711 от 3,3V- не верьте китайской документации и не только…» (https//habr.com/ru/post/438772)), не требовала абсолютного учета веса улья. Условие относительности взвешенных ульев, нивелировало ошибку взвешивания, ибо технические ошибки, возникающие из за изменения внешних условий, действовали на все объекты слежения и автоматически исключались из анализа за состоянием ульев. Иначе обстоят дела при простом взвешивании.
Найденные Nikopol_86 ( «…не верьте китайской документации» Nikopol_86 февраля 2019 в 09:27) слабые места преобразователя в виде распределение ошибки измерения отличной от случайного распределения и отмеченные мною, тоже являлись теоретическими изысканиями.
Применение мною метода скользящего среднего для «успокоения» дрожания последних разрядов 24 битного преобразования показал свою эффективность, но готового экземпляра измерительного устройства, с учетом всех вышеперечисленных находок не было.
Для окончательного заключения о пригодности Нх711 к использованию в весах была разработана программа для взвешивания, основанная на принципиальной схеме:
Питание схемы, осуществляется от обычного стандартного блока питания на постоянные 5 вольт, 1 ампер.
При разработке программы, учитывались все, ранее отмеченные недостатки АЦП. А теперь о самой программе, заложенной в контроллер ATMega16.
При включении питания, на индикатор выводится: в нижней строке значение АЦП, считанное с тензодатчика, в верхней строке выводится значение веса получаемое путем нормирования значений АЦП нижней строки. Обычно это: верхняя строка 1,015 и нижняя строка 1085. После размещения на платформе нужной тары, производится обнуление показаний, путем нажатия Key2 (тара) что приводит к индикации 0,000 и 0 в верхней и нижней строке индикатора, соответственно. После этого, размещая на платформе взвешиваемый груз, производим считывание веса из верхней строке.
Надо отметить, что функция автонуля, т.е ввод веса тары в считываемый вес с платформы в момент включения весов, не реализован. В программу заранее «вшиты» значения нормировочных коэффициентов (во flash память контроллера), что позволяет сразу, после учета веса тары производить взвешивание.
Для изменения нормировочных коэффициентов предусмотрен режим калибровки весов частью веса ( в данном случае 2 кг). Для входа в этот режим, нужно освободить платформу, дождаться стабильных показаний и нажать одновременно Key12 и Key17.
В верхней строке индицируется: «Cal: turn Key 12», что свидетельствует о входе весов в режим калибровки частью веса. Для продолжения необходимо нажать Key12. В нижней строке индицируется «Press Tare key», что означает, что весы готовы «запомнить» значение тары. Для продолжения нажмите Key2 (Тара). В нижней строке индицируется «Place 2kg key17». Положите на платформу гирю 2 кг, подождите и нажмите Key17. На индикаторе в верхней строке 2,000 и в нижней строке 2130. Весы перешли в режим взвешивания. Снимите гирю и продолжайте взвешивание. Важно, новые нормировочные коэффициенты записываются в ОЗУ контроллера и сотрутся (исчезнут) после выключения питания весов.
Подобная процедура, удобна, но в процессе работы не всегда под рукой оказывается гиря 2 кг. Для этого случая предусмотрена процедура коррекции калибровки. Для входа в эту процедуру необходимо, выключить весы, переставить JP1, так, что бы замкнуть вывод порта контроллера на землю. Включить весы. В верхней строке добавляется значение одного из нормировочных коэффициентов, для данного случая он равен 5325. Обнуляем весы Key2, ставим на платформу известный нам вес и клавишами Key12 увеличиваем, а Key17 уменьшаем индицируемое весами значение положенного веса. Добиваемся равенства значение веса положенного на платформу и веса индицируемого весами. После достижения равенства, JP1 размыкаем цепь. ВАЖНО: замыкание джампера лучше производить при выключенном питании весов. Размыкание только при включенном питании. Значение индицируемого нормировочного коэффициента так же меняется в процессе корректировки. Зависимость обратная, чем выше коэффициент, тем меньше индицируемый вес и наоборот. Все дело в том, что новое значение коэффициента так же пишется во внутреннее ОЗУ контроллера. Ну собственно и все.
Данные весы эксплуатировались в цехе расфасовки в течение 2 рабочих смен по 8 часов, непрерывно, температура окружающей среды 18-22 градуса Цельсия. Уже первые сутки эксплуатации показали, что изменения веса, из за внешних факторов: прогрев аппаратуры, скачки окружающей температуры из за открываемых дверей — носят удовлетворительный характер. Все колебания лежат в пределах 10-15 грамм (средний вес фасуемого товара 10 кг), что является допустимым для данного веса. Так, ошибки взвешивания, допускаемые метрологией, для весов с наибольшим пределом взвешивания НПВ15 кг составляют:
Введенный режим коррекции калибровки удобен. Но использовался в основном, когда взвешивание отклонялось на 5 – 10 граммов на 5 кг гире. Естественное желание иметь именно нулевые ошибки весов, но не необходимее, ибо ошибка в допустимом диапазоне.
Как вывод считаю, что китайский модуль АЦП, на основе микросхемы Нх711, показал себя как работоспособный и могущий использоваться в схемах весов как обычного так и среднего класса. Отсутствие коррекции веса от температуры окружающей среды в самом корпусе микросхемы, является самым уязвимым местом данного модуля (микросхемы). Моя практика показала, что для устройств, работающих в условиях с небольшими колебаниями окружающей температуры, ошибка измерения не превышает допустимых метрологией ошибок. Однако вопрос о применении данного модуля для весов работающих, например на рынке, когда летом температура бывает за +30, а зимой до -15 градусов Цельсия, остается открытым.
К сожалению, у меня отсутствует возможность испытать весы в термокамере и ответить на этот вопрос, поэтому в конце статьи прилагаю hex файл (не для ардуино), для flash памяти микроконтроллера. Схема приведена выше, характеристики тензодатчика тоже приводились. Если кому интересен данный АЦП модуль и имеется термокамера, можно самому провести нужные испытания. Желательно поделиться своими результатами.
Файл :Scale16_11.hex. Ссылка: cloud.mail.ru/public/4Edm/43fwpHEPU
Всех благ!
AntonSor
Коррекцию на температуру ввести нетрудно — в контроллере разве нет встроенного термодатчика?
Leonid1908 Автор
Вопрос КАК ввести аппаратную либо программную коррекцию на изменение температуры не стоял. Интересна сама Нх711 и ее возможности.
Потом, даже если и есть температурный сенсор у Меги, как это связано с плаванием показаний Нх711 от температуры? Да, спорить бесполезно, связь между температурой корпуса Меги и корпуса НХ711, ЕСТЕСТВЕННО есть. Но линейна ли эта связь, а если нелинейно то как увязывать температуру отстоящих на каком то расстоянии корпусов?
Самое действенное, как мне кажется, если уж затронут этот температурный вопрос, поменять корпус на НХ710А,(кажется. надо погуглить) точно не помню. На 710 корпусе установлена аппаратная коррекция на изменение температуры.
Ну как то так…