Помогите подобрать датчик

Тема в разделе "Arduino & Shields", создана пользователем gvsp, 16 сен 2019.

  1. gvsp

    gvsp Нерд

    Здравствуйте!
    Требуется определять изменяющийся размер предмета по одной координате. Т.е. есть рукавная оболочка и она надувается воздухом от нуля до 150 мм. Точность измерений 0,5 мм. Для прямого измерения типа УЗ или оптические датчики подобрать не смог. Сделал рычаг, зубчатую передачу, чтобы увеличить угол поворота рычага в три раза и поставил вот такой потенциометрический датчик поворота.
    [​IMG]
    И через тригонометрию рассчитал высоту поднятия рычага. Но то ли датчик попался неудачный, то ли не знаю что, но несмотря на то, что люфтов нигде нет, но возникает какой то гистерезис. Если двигаю рычаг вверх, то показания меняются, потом начинаю двигать вниз и вначале показания замирают, а потом скачком перемещаются и уже начинают двигаться. В общем точность показаний далека от желаемой. Люфтов в наружной механике нет. Можно поиграться с другими потенциометрами, но что-то я разочаровался в контактных датчиках. Всё равно будет износ, шум и ошибки.
    Энкодеры не подходят ибо слишком большой угол поворота замечают.
    Подумал насчёт гироскопов. Можно ли приспособить гироскоп и даст ли он точность до 0,1 градуса?
    Мне нужна только одна ось. И опять же желательно ды обойтись без библиотек? Ибо нужны показания только по одной оси, никакие ускорения не нужны.
     
  2. DetSimen

    DetSimen Guest

    простите, Ви таки дэбилъ?
     
  3. gvsp

    gvsp Нерд

    Таки в чём проблема? 300 единиц. У аналогового входа ардуины 1024 единицы.
     
  4. DetSimen

    DetSimen Guest

    Ааа, ну тада ладно. Значит я - дебил, отстал от жизни. Теперь вон как, на простом китайском модуле за 20р делают даччики перемещений с точностью 0.003%. Не знал.
     
    NikitOS и Daniil нравится это.
  5. b707

    b707 Гуру

    GVSP - делате зубчатую передачу с большим соотношением, к примеру чтобы каждые 5 миллиметров перемещания преобразовывались в оборот вала. И тогда измерения можно будет делать любым энкодером
     
  6. gvsp

    gvsp Нерд

    Нереально. Энкодер 24 щелчка на оборот. Чтобы получить точность 0,1 градуса надо сделать 3600 щелчков на валу энкодера на оборот первичного вала. Нужно редуктор городить 1 к 150 - минимум четырёхступенчатый, накопятся люфты. Да и у энкодера есть скорость обработки, а у меня на начальных этапах идут большие изменения, будут пропуски.
     
  7. b707

    b707 Гуру

    По-моему, вы запутались, переводя одни измерения в другие
    Нафига вам точность 0.1 градуса? - вроде только что о 0.5 мм речь шла? Что мещает поставить такую передачу. чтобы перемещение на 5мм давало один оборот энкодера? - тогда 24 щелчка будут соответвовать 5мм, а на каждые 0.5мм будет более чем по 2 щелчка - вполне достаточно.
    что касается гироскопов - 0.1 градуса и не мечтайте
     
  8. gvsp

    gvsp Нерд

    Рычаг короче 113 мм не сделать, ибо хода не хватит. sin 0,1градуса = 0,0017 множим на длину тяги и получаем 0,19 мм точности. Ну немного избыточно. Значит 0,2 градуса мне достаточно будет.
    Написал выше - передача нужна 1 к 150. Если бы у меня часовой завод был, то да, а я передачи только на 3d принтере могу напечатать и более 1 к 4 на одну передачу не сделать. Надо городить четырёхступенчатый редуктор. Я вот начал склонятся к гироскопу. Смотрю на телефон и он прекрасно показывает углы наклона.
     
  9. b707

    b707 Гуру

    от того, что телефон вам показывает 3 цифры после запятой, вовсе не следует, что он их с такой точностью меряет :)
     
    Daniil нравится это.
  10. b707

    b707 Гуру

    Уточните - вам нужно перемещение только измерять, или вы сами этот предмет двигаете? - просто есть простая и отработанная схема перемещения предметов с точностью до десятых мм - это передача винт-гайка, используемая в CNC, очень простая по конструкции и надежная
     
  11. gvsp

    gvsp Нерд

    Три не надо, одного знака после запятой вполне хватит. Думаю MPU-6050 за 90 рублей даст нужную точность. Только придётся раздираться, как два устройства I2C присоединять. У меня уже дисплей на этом протоколе.
     
  12. gvsp

    gvsp Нерд

    Есть пустой рукав. К нему подключаем компрессор. Компрессор его надувает. Внутри датчик давления. И я получаю данные зависимости диаметра рукава от давления.
     
  13. parovoZZ

    parovoZZ Гуру

    Гистерезис и будет. На 10 битах желаемую точность не получить. К тому же два последних бита можно выкинуть - они не дают ничего, кроме шума. Всё усугубляется убогой разводкой платы для конструктора (она же используется?) Остаётся 8 бит. А это 256 отсчетов. Ку?
    Я к чему - чудес на свете не бывает.
     
  14. gvsp

    gvsp Нерд

    Не, шума на потенциометре 333,3 градуса нет совсем, показания стоят как вкопанные, хотя никакой фильтрации не применял. А точность потенциометра 333,3/1024 = 0,32 градуса. Через редуктор 1:3 точность становилась почти 0,1 градуса. Но как я говорю откуда то взялся гистерезис. Вроде, кроме как из механики ему взяться неоткуда. Но снаружи люфтов нет, грешу на сам датчик.
     
  15. parovoZZ

    parovoZZ Гуру

    Шум есть всегда. И чем больше сопротивление резистора, тем выше шум.
    А есть ещё шум АЦП. Чтобы его минимизировать, надо очень грамотно развести аналоговые цепи, включая питание АЦП (в полноценных МК Atmel они на отдельных ногах).
    А есть ещё шум квантования. Он есть всегда. От него не избавится.
     
  16. gvsp

    gvsp Нерд

    Шум получается меньше, чем разрядность АЦП ардуины. Если потенциометр не шевелить, то показания не меняются. А так как потенциометр поворачивается аж на 333,3 градуса, то для изменения показаний шевельнуть его надо прилично на 0,32 градуса. Был бы он градусов а 90, так может шумел бы или была бы разрядность выше.
     
  17. asam

    asam Гик

    Энкодеры, они разные бывают. Есть и по 1024 "щелчка на оброт". Правда дороже.
    Вот, например, на 400 "щелчков" https://ru.aliexpress.com/item/1212996005.html
     
  18. gvsp

    gvsp Нерд

    В принципе обошёлся тем потенциометрическим датчиком, что стоял. Шайтан машина проходит испытания.

     
    Daniil нравится это.
  19. Daniil

    Daniil Гуру

    Девочку жалко(
     
    NikitOS нравится это.
  20. gvsp

    gvsp Нерд

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