Анатолий Чуйко

Быстрые усилитель+АЦП для тензодатчика и МК

8 сообщений в этой теме

Нужна помощь. Есть необходимость считывать показания с тензодатчика на частоте больше 1кГц. Сейчас на стенде трудится готовый усилитель (коробка на фото), с которого читает ардуинка своим 10битным АЦП. В итоге вся конструкция подходит максимум для демонстрации принципа, но не для точных измерений. Кроме того данные в виде массива хранятся в памяти МК перед отправкой в сериал, а в ардуино нано влазит этих самых данных достаточно мало(, так что в планах переход на стм32. Посоветуйте пожалуйста связку из усилителя и ацп от 12 бит, способных работать на частоте около 1,5-2 кГц (около 2000 семплов в секунду), по возможности с минимальной внешней обвязкой и простой настройкой. Заранее благодарен.

f9K3nB22vWk.jpg

Поделиться сообщением


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

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
Vascom    591

А что тут советовать? Заходишь на сайт Analog или Maxim или LTC и выбираешь требуемый АЦП.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
IlCF    61

На вашей фотографии весьма непростой усилитель, а специализированный для мостовых датчиков да ещё и с гальванической развязкой. Полоса у него 10 кГц. Что вы имеете в виду под заменой этому усилителю?

Изменено пользователем IlCF

Поделиться сообщением


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

Если с усилителем все норм, то тогда нужно ацп с соответствующей частотой семплирования, если в виде готового модуля - то вообще огонь), ну или с минимальной необходимой обвязкой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость MagicianT   
Гость MagicianT

У STM32 есть АЦП, 12-бит, два штуки, частота сэмплирования 1МГц. По ЮСБ с настройками сериала под тот-же МГц и 2-я байтами на сэмпл скорость можно разогнать на 50-60 к. сэмплов. Тут и вопроса то нет, сразу переходить на ЭсТиЭм, или ардуино ДУЕ

Поделиться сообщением


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

на днях придет из китая дешевая stm32f103c8t6. заказал давно, а уже потом выяснил что к ней нельзя подключить внешнее опорное напряжение для ацп, будет ли это проблемой? и что лучше брать другую версию платы на стм в 100контактном корпусе где эти выходы есть или взять такую ардуину: https://ru.aliexpress.com/item/SAMD21-M0-Mini-32-bit-ARM-Cortex-M0-core-Pins-soldered-Compatible-with-Arduino-Zero-Arduino/32779698644.html?spm=2114.14010208.99999999.271.t7ISR6 ?? там такая возможность вроде есть.

вот что конкретно приедет:

stm32f103c8t6_pinout_voltage01.png

Изменено пользователем Анатолий Чуйко
дополнил

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость MagicianT   
Гость MagicianT

Про ту SAMD21 ничего сказать не могу, в руках не держал.  А вот та stm32f103c8t6 у меня есть, даже две, прекрасно сэмплирует на обоих ацп, у неё ДМА и всё работает как часы. Для неё под ардуино (ИДЕ) есть плагин, там я её и компилирую, очень просто и удобно. Не знаю какие данные вам из тензо нужны, но если вибрация, я бы запустил БПФ прям на плате, чтоб шелуху не гонять на комп, т.е. избыточные данные.

 Я не совсем понимаю почему так всем важно иметь подключение к внешнему опорному, я бы подключил референс-напряжение к любому свободному порту на ацп, и сравнивал в коде. Если подключить больше одного референса, то ещё и нелинейность самого ацп можно "реал-тайм" отслеживать. Или всякие оффсэты, это как иметь возможность перекалибровки на лету.

Изменено пользователем MagicianT

Поделиться сообщением


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

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Похожие публикации

    • Автор: art_budka
      Ищу подрядчика для разработки проекта робота-рисовальщика. Есть бюджет, ТЗ. 
      Устройство представляет собой манипулятор передвигающий головку в плоскости XY в пределах жесткой рамы на которой установлены двигатели и направляющие перемещения. Головка представляет собой блок, отвечающий за передвижение закрепленного в фиксаторе объекта-пера по оси Z на расстояние до 20 мм. Фиксатор на элементе подъёма головки должен обеспечить жесткое закрепление предметов массой 10 - 80 грамм - кистей, шариковых ручек, карандашей и маркеров диаметром от 5 до 20 мм.
      Решение необходимо для обеспечения точных, многократно повторяющихся перемещений “пера” над плоской поверхностью. Для формирования движений в устройстве должна быть реализована электромеханическая схема, подключенная посредством USB-интерфейса к персональному компьютеру для отправки команд на манипулятор и получения обратной связи от контроллера манипулятора. 
      ТЗ, смета и бюджет через art_budka@rambler.ru 
    • Автор: Marksheider
      Сижу собираю электронные весы и вроде как все работает даже.

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

      И когда отпускаешь нагрузку чтоб значения вернулись обратно к нулю получается вот такая засада. как погасить ненужные цифры???

      то бишь 3 последних знака это вторая точка четыре и ноль последний??? Я с arduino пока на ВЫ потому не могу понять что нужно сделать в коде для этого. Эти цифры просто стоят и не меняются.
       
      #include "HX711.h" // библиотека тензодатчика #include <Wire.h> #include <LiquidCrystal_I2C.h> // Библиотека дисплея HX711 scale(A1, A0); float calibration_factor = -14.4;// калибровочная константа тензодатчика float units; float ounces; LiquidCrystal_I2C lcd(0x3F,16,2); // Устанавливаем дисплей void setup() { scale.set_scale(); scale.tare(); //Сбрасываем на 0 scale.set_scale(calibration_factor); //Применяем калибровку lcd.init(); // инициализация ЖК дисплея lcd.backlight();// Включаем подсветку дисплея lcd.setCursor(5, 0);// перевод курсора на строку 1, символ 5 lcd.print("Thrust");// Пишем Тяга lcd.setCursor(11, 1);// перевод курсора на строку 2, символ 11 lcd.print("Gramm");//пишем Грамм } void loop() { for(int i = 0;i < 10; i ++) units =+ scale.get_units(), 10; // усредняем показания считав 10 раз units / 10; // делим на 10 ounces = units * 0.035274; // переводим унции в граммы // Устанавливаем курсор на вторую строку и нулевой символ. lcd.setCursor(3, 1); // Выводим на экран вес в граммах lcd.print(ounces); }  
       
    • Автор: aitras
      Внимание! Есть возможность самому заказать платы! См. тут
      Платы усилителя:
      Платы толщиной 1,6 мм, толщина меди 35 мкм, зеленая маска с белой маркировкой. Размеры 55х130 мм. Трассировались специально для монтажа на узкий радиатор, в частности, на радиатор от усилителя Кумир У-001.

      Платы БП:
      Платы толщиной 1,6 мм, толщина меди 35 мкм, зеленая маска с белой маркировкой. Размеры 55х112 мм. Рассчитаны на установку конденсаторов диаметром до 25 мм и диодов в корпусе TO-220A.

      Плата защиты АС:
      Плата толщиной 1,6 мм, толщина меди 35 мкм, зеленая маска с белой маркировкой. Размеры 50х75 мм.

       
      Дополнительная важная информация:

      О первом включении и настройке:
      Переработанная инструкция Андрея Андреевича.
      Еще картинки:
      BOM. Amplifier by Laykov.zip
      BOM. Power Supply.zip
      BOM. Protect for AS.zip
    • Автор: Роман22211
      у меня усилитель для авто PROLOGY Club CA-200, двухканальный, и не работает левый канал, звук появляется в определённом положении регулятора громкости, но сам переменный резистор я поменял на новый, на правом канале звук нормальный, при мостовом включении (на 200W) звук намного меньше чем должен быть. Был сгоревший конденсатор C10, 2200мкф 25в- заменил на 16 вольт.. визуально всё в порядке, в чём может быть причина поломки? 
       

    • Автор: pryanic
      Доброго времени суток, попросил знакомый посмотреть усилитель DLS MA12. Схема в сети нашлась без проблем. 

      Что было:
      C3, C3A вздулись и лопнули FET4, FET5, FET6 пробиты R31 сгорел после замены вышеперечисленного ПН все равно не запускался. На выводе Ref TL494 что-то в районе 70 мВ. ШИМка заменена. Дальше ПН запустился, но потребление от ЛБП идет максимальное (3А) и горид светодиод защиты. 
      Сделал карту напряжений.