Перейти к содержанию

Тензометрические датчики


peresolyak

Рекомендуемые сообщения

Доброго времени суток.

Вопрос к тем, кто пользовался или проектировал весы на данных датчиках.

Имею емкость на 6 ногах, то есть нужно 6 датчиков.

Полный вес емкости 50 тонн

Вопрос. Логически, нужно вес в 50 тонн разделить на 6 и заказать датчики с максимальной нагрузкой допустим в 10 тонн

Но что-то мне подсказывает, что это не так...

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Нерв седалищный и подсказывает он правильно. Жесткость конструкции, распределение веса, неравномерность загрузки и прочее не одного вас в тупик ставили. Но ИМХО начинать стоит с геометрии и конструкции самой емкости и особенностей ее работы. Плюс шесть датчиков тоже могут накинуть проблем с согласованием. Обычно стараются вписаться в 4.

Жизнь не белая или чёрная, а в мелкую серенькую полосочку...

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Емкость - это бочка высотой в 7 метров. Загрузка жидкостью, так что я думаю, что какая-то равномерность всё-таки будет. Но т.к. будет установлена на улице, то возможно из-за парусности конструкции будут перегрузки.

Покупная. Т.е. количество ног заложено производителем.

Так как датчики будут с выходом RS485, то думаю в ПЛК суммировать показания и выводить их на панель. Или суммирование - не верное решение?

Изменено пользователем peresolyak
Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

4 минуты назад, peresolyak сказал:

Или суммирование - не верное решение?

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

Из неучтенного, присмотритесь еще к колебаниям емкости. Если на улице - учитывать надо еще и ветер.  А конструктив подразумевал то, насколько вся эта конструкция может гнуться и этим перераспределять нагрузки на датчики.

Жизнь не белая или чёрная, а в мелкую серенькую полосочку...

Ссылка на комментарий
Поделиться на другие сайты

Изначально конструкция не была предусмотрена под установку датчиков.

Это уже наша потребность для контроля поставщиков

Ссылка на комментарий
Поделиться на другие сайты

Это понятно, такое часто бывает. Обычно тогда рекомендуют запас по номиналу 1,7-2,2х Зависит от производителей. Еще стоит посмотреть не только на номинальную, но и на предельную допустимую нагрузку на датчик, так, на всякий случай, малоли что произвадитель там придумал.

Жизнь не белая или чёрная, а в мелкую серенькую полосочку...

Ссылка на комментарий
Поделиться на другие сайты

25 минут назад, peresolyak сказал:

количество ног заложено производителем

Кто мешает соорудить платформу? Шесть ног на платформу, платформу на четыре датчика.

Ссылка на комментарий
Поделиться на другие сайты

Увеличивается высота конструкции и вес...

Но и сама конструкция становится не логичной.

А почему нельзя брать показания с 6 датчиков?

Есть какие-то нюансы по этому поводу? 

Ссылка на комментарий
Поделиться на другие сайты

Можно и с шести. Надо изучить рынок, что есть из оборудования. Весы ведь это не только датчики, но и блок обработки их показаний. Шесть датчиков - шесть каналов.

Насчёт высоты - можно фундамент заглубить. Масса - на общем фоне плюс-минус пара тонн погоды не сделают.

Варианты контроля по объёму не рассматриваете? На нефтебазах, например, замеряют объём жидкости, её температуру и рассчитывают на основании этих данных массу.

Ссылка на комментарий
Поделиться на другие сайты

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

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

Жизнь не белая или чёрная, а в мелкую серенькую полосочку...

Ссылка на комментарий
Поделиться на другие сайты

13 минут назад, Огонёк сказал:

Варианты контроля по объёму не рассматриваете? На нефтебазах, например, замеряют объём жидкости, её температуру и рассчитывают на основании этих данных массу.

по объёму не могу, ибо это жир, и всегда будет сверху корка, пока не будет следующей загрузки

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, peresolyak сказал:

Логически, нужно вес в 50 тонн разделить на 6 и заказать датчики с максимальной нагрузкой допустим в 10 тонн

Может попробовать использовать коромысла с неравным плечом? Тогда и датчики можно любые ставить (подобрать только плечо), и регулировка датчиков может свестись к механической подкрутке натяжения пружин.

Улыбнись! Завтра будет ещё хуже...

@Borodach - мудератор.

Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

25 минут назад, peresolyak сказал:

это жир, и всегда будет сверху корка

А чем корка помешает? Что в массе вы эту корку учитывать будете, что в объёме - какая разница? Наверху установите ультразвуковой датчик и измеряйте уровень - хоть с коркой сверху, хоть с чистой поверхностью. Количество вещества в ёмкости от этого же не изменится.

Ссылка на комментарий
Поделиться на другие сайты

количество не изменится , изменится геометрия, от которой очень сильно зависят УЗ-датчики и МВ-датчики.
тензомост для таких целей самое правильное решение.

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, peresolyak сказал:

для контроля поставщиков

Лови ещё идею для размышления: весовая платформа, на которой будет стоять разгружаемая цистерна. Заехал грузовик массой 15 тонн, выехал массой 10 тонн - дальше простая арифметика. Плюсы: работа с меньшим весом, никаких ветровых нагрузок, не надо городить на датчики семиметровую цистерну. Минусы: платформа с арретиром вроде бы нужна, то есть автомобильные весы строить надо.

Хотя в этом есть и свои плюсы в плане эксплуатации.

Ссылка на комментарий
Поделиться на другие сайты

Честно... не понимаю логически, почему нельзя ставить 6 штук?

У меня они с выходами RS485 и показания буду суммировать уже в ПЛК

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

Хуже с тарировкой датчиков, но я уже с этим что-то придумаю

Ссылка на комментарий
Поделиться на другие сайты

@peresolyak Да сколько нужно, столько и ставьте, хоть 1, хоть 10. Народ просто думает, что датчики - это тензорезисторы, которые нужно соединить в мост, значит - четыре.

Ссылка на комментарий
Поделиться на другие сайты

Еще вопрос по тарировке.

Как лучше всего тарировать данные датчики?

Вес большой, и тяжело будет найти ЧТО-ТО небольшого размера с большой массой.

Думал на счет пресса с датчиком давления, но нигде поблизости такого нет....

А тарировать придется по одному датчику, так как к ПЛК будут подключены ОТДЕЛЬНО каждый.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • Автору. Никаких тут 250...200 ватт у этой китайской бздюшки нет в помине. Тем паче на таком подобии радиатора Катушки даже на выходе нет-плохо  
    • Повторюсь - НЕТ, так как у вас там крутилки, что приведет к искажениям при работе в мостовой схеме. Если бы вы "могли" то вам нужно было разорвать выход с темброблока и вход усилителей и впаять (можно навесом) вот такую схему:
    • Все верно, вы почти все что нужно сделали.  Только не нужно было добавлять это b=UDR; Сразу после старта сбросить флаг flags = 0; А в основном цикле ждать установки флага FLAG_END_RX. И если он установлен, проверять на совпадение строки в буфере (rx_buf) с вашей строкой (AT+QM \ r \ n .....   .....  AT+MP \ r \ n) При совпадении вызывать выполнение нужного алгоритма.
    • У меня до саба ещё дело не дошло, только сейчас думаю купить амп на полкиловатта, но так можно, при условии, что на входе будет моно, и будет срез частот
    • Про флаг Т: если он не используется в основной программе, а у меня он постоянно в деле. для меня меня отложенная обработка прерывания обычное дело, нужно лишь правильно расставить приоритеты частей программы. И обычное дело: выставляешь частоту задающего генератора побольше, делишь его до получения частоты 1000 Гц каким либо таймером, загоняешь в прерывание с флагом. затем закольцовываешь основную программу с проверкой флага прерывания от таймера 1000Гц. загоняешь программу в Sleep. Получаешь кольцо обработки с образцовым интервалом в 1 мс. После любого прерывания проверяешь флаг от таймера, если он, то сбрасываешь флаг и начинаешь перебирать подпрограммы обработки индикаторов, клавиатуры, и тд. и тп, подпрограммы обработки флагов и др. После окончания обработки всех подпрограмм возвращаешься к Sleep. И так по кольцу. Если происходит прерывание не от таймера, программа выходит из Sleep, проверяется флаг от таймера, если не он (а это не он) обратно к Sleep. В большенстве программ использую этот алгоритм.   GPIOR1 и GPIOR2 в 88 условно можно использовать как флаги, но их адреса больше 0х1Е, на них не распространяются команды cbi, sbi, sbic, sbis, и их сначала нужно загрузить в общий регистр, промодифицировать, и заново сохранить. Эта последовательность длинная, и модифицирует SREG, что сводит на нет работу по сравнению с  классическим GPIOR.
    • @korsaj Сегодня попробовал сделать как ты посоветовал. Получился следующий код. #define F_CPU 7372800UL #define BAUND 9600L #define UBRRL_value (F_CPU/(BAUND*16))-1 #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include <stdlib.h> void init_pin(void); #define C_PC0 (~PINC&(1<<PC0)) #define C_PC1 (~PINC&(1<<PC1)) #define LED_1_ON() PORTD|=(1<<PD2) #define LED_1_OFF() PORTD&=~(1<<PD2) #define LED_2_ON() PORTD|=(1<<PD3) #define LED_2_OFF() PORTD&=~(1<<PD3) #define FLAG_END_RX (1<<3) #define FLAG_ERR_RX (1<<4) #define BUF_SIZE 20 char rx_buf[BUF_SIZE]; char buf_index = 0; volatile start=1, flags; char b; ISR(USART_RXC_vect) { b=UDR; if(!(flags & FLAG_END_RX)) { rx_buf[buf_index]=UDR; if(rx_buf[buf_index] == 0x0D) { flags |= FLAG_END_RX; return; } buf_index++; if(buf_index >= BUF_SIZE) { buf_index = 0; flags |= FLAG_ERR_RX; } } } void init_UART() { UBRRL = UBRRL_value; UBRRH = UBRRL_value>>8; UCSRB|=(1<<TXEN); UCSRB|=(1<<RXEN); UCSRC|=((1<<URSEL)|(1<<UCSZ0)|(1<<UCSZ1)); UCSRB|=(1<<RXCIE); sei(); flags = 0; } void send_UART(char value) { while(!(UCSRA&(1<<UDRE))); UDR=value; } int main(void) { init_pin(); init_UART(); while(1) { if (start==1) { _delay_ms(500); send_UART('O'); send_UART('K'); send_UART('!'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); start=0; } if (b == '0') { LED_1_ON(); LED_2_OFF(); send_UART('N'); send_UART('+'); send_UART('0'); send_UART('0'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); b=4; } if (b == '1') { LED_1_OFF(); LED_2_ON(); send_UART('N'); send_UART('+'); send_UART('0'); send_UART('1'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); b=4; } if (b == '2') { LED_1_ON(); LED_2_ON(); send_UART('N'); send_UART('+'); send_UART('0'); send_UART('2'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); b=4; } if (b == '3') { LED_1_OFF(); LED_2_OFF(); send_UART('N'); send_UART('+'); send_UART('0'); send_UART('3'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); b=4; } if (C_PC0) { send_UART('P'); send_UART('C'); send_UART('0'); send_UART(0x0D); send_UART(0x0A); _delay_ms(250); } if (C_PC1) { send_UART('P'); send_UART('C'); send_UART('1'); send_UART(0x0D); send_UART(0x0A); _delay_ms(250); } } } void init_pin(void) { DDRC = 0b00000000; PORTC = 0b11111111; DDRD |= ((1<<2)|(1<<3)); PORTD &=~ ((1<<2)|(1<<3)); } Ну как сказать всё работает, но вот меня очень интересует приём команд на саму ATMEGA16. Он так и работает только с цифрами. Более ничего корректно принять не получается даже используя таблицу ascii. А мне нужно будет принимать команды и посложней чем просто буквенно - цифровые. Потому как возвращаясь к командам самого плеера там в этих командах хранятся различные данные. Вот примерно так это всё выглядит. AT+QM \ r \ n Запрос режима работы [0: Bluetooth], [1: MP3] AT+M1 \ r \ n Номер текущего файла AT+M2 \ r \ n Общее количество звуковых файлов AT+MD \ r \ n Источник музыки USB или SD Card AT+MT \ r \ n Общее время воспроизведения текущего файла AT+MK \ r \ n Время воспроизведения текущего файла AT+MP \ r \ n Текущее состояние плеера [0]Стоп, [1]Воспроизведение, [2]Пауза К примеру при отправке команды AT+M1 \ r \ n в ответ мы получим M1 + 000002 \ r \ n при этом здесь может быть любое число в hex формате. Мне же нужно каким то образом принять эти данные и обработать их соответствующим образом. Но при этом и нужно учитывать так же что плеер может сам отправить эти данные по началу воспроизведения трека. Вот в этом сейчас и стоит основная задача. Чего я и пытаюсь получить в итоге.
×
×
  • Создать...