Пересчитать вывод АЦП(Troyka cap)

Тема в разделе "Raspberry Pi", создана пользователем Кирилл Разыграев, 18 июл 2019.

  1. Всем привет! Приобрел значит я анемометр. Сначала он работал в связке с ардуинкой, но сейчас потребовалось работать с ним через Raspberry. Подключил я выход анемометра через делитель напряжения к Troyka cap(т.к. он может принимать только до 3.3В), но как теперь пересчитать вывод python кода в напряжение 0-5V.
    Вот сам код, который выдает мне значения в диапазоне 0-1(0-3.3в).
    Код (Python):
    import gpioexp
    exp = gpiexp.gpioexp()
    while 1:
    print(exp.analogRead(2))
     
    Последнее редактирование: 18 июл 2019
  2. parovoZZ

    parovoZZ Гуру

    умножить на 5.
     
  3. Хм.. Мне тех. Поддержка сказала, что все очень непросто..
     
  4. ИгорьК

    ИгорьК Гуру

    Ну, смотрите. Когда у вас напряжение на ноге 3.3 - на самом деле (на делителе) оно 5.
    На сколько надо умножить 3.3, чтобы получилось 5?
     
  5. Asper Daffy

    Asper Daffy Иксперд

    Ну, ты, барин, задачи даёшь!
     
  6. Asper Daffy

    Asper Daffy Иксперд

    Дык, а то!
     
  7. ИгорьК

    ИгорьК Гуру

    Там, насколько я помню, в анемометре линейная зависимость скорость ветра / напряжение на выходе. Подается на него 12 вольт, а снимается - 5 при 30 м/с.

    Теперь ТС поставил делитель и получает максимум 3.3. И надо узнать ветер.

    Не просто все, да...
     
  8. Так и есть..
     
  9. ИгорьК

    ИгорьК Гуру

    Арифметику то в школе еще проходят, или только на Youtube по видео изучают?
     
  10. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Не надо ничего пересчитывать. Всё само получится.
     
  11. Igor68

    Igor68 Гуру

    Ух ТЫ! Вот мне бы так!
    ...
    А почему на бумаге циферки и буковки черные и все такие разные???
     
    Последнее редактирование: 19 июл 2019
    NikitOS нравится это.
  12. Shurik

    Shurik Нерд

    Для тех, кто прогулял арифметику в школе: первый ответ правильный - умножить значение analogRead(нога) на 5.
     
  13. Ariadna-on-Line

    Ariadna-on-Line Гуру

    А причем тут код ? Вы подключаете один и тот же датчик к двум АЦП с разными референсными напряжениями (5в и 3.3в) значит должны пропорционально физически подогнать сигнал. Например, Малина (3.3в) - просто не измерит ничего выше 3.3 вольта на входе (точнее - будет показывать одно и то же). Поставив делитель - "математику" менять не надо !!! Вся фишка в значениях референсных напряжений АЦП, под которую делалась программа.
     
    Последнее редактирование: 22 окт 2019
  14. b707

    b707 Гуру

    В итоге мнения разделились ...
    Получены ответы
    1. "Умножить на пять!"
    2. "Умножить на столько, чтоб из 3.3 получилось 5"
    3. "Не надо ничего пересчитывать. Всё само получится."

    И какой ТС выберет, мне интересно? :)))
     
  15. akl

    akl Гуру

    предлагаю тупо откалибровать
    то есть дуешь со скоростью 30м/с, смотришь че показывает, подкручиваешь и т.д.

    а если серьезно - надо узнать что возвращает exp.analogRead(2) при напряжении перед делителем 5 вольт (максимальный ветер 30м), а потом получающиеся при измерениях значения умножать на 30 и делить на это максимальное число (в ардуино 1023, в этих не знаю, а еще тут будет зависеть от делителя, так что лучше подать 5 вольт на делитель и посмотреть что показывает)

    есть такая штука пропорция называется. и еще функция map() в ардуино
     
    Последнее редактирование: 22 окт 2019
  16. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Еще раз : -> У вас есть датчик. С ним вы ничего делать не имеете права. На скорости 10м/с он выдаёт (пусть) 5v. Вам нужно мерить эту скорость. Значит надо "проглотить" это напряжение. Ардуина 5 вольт проглатывает и оцифровывает как 1023 отсчета. А Малина 1023 отсчета дает при входном напряжении - 3.3 вольта. Больше она проглотить не может физически. Ну и что вам остается делать - ? Да поставить делитель на входе с 5 до 3.3 вольт и забыть. Там и там будет стоять тупо одна программа с абс.одинаковыми настройками и показывать везде будет одинаково..
     
    Последнее редактирование: 22 окт 2019
  17. parovoZZ

    parovoZZ Гуру

    В тз изначально говорилось про диапазон 0-1.
     
  18. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Ну, не внятно поставленный вопрос МОЖЕТ порождать ВНЯТНЫЕ, но НЕ ТЕ ответы. Я не виноват !!! Но, по-моему, я дал ТОТ ответ. Не понимаю только - при чем здесь 0-1 вольт.
    ПС. Кстати. Реально новички (и не только) часто "теряются" в этой теме. Мож кому сгодится.
     
    Последнее редактирование: 23 окт 2019
  19. parovoZZ

    parovoZZ Гуру

    Там нет никаких вольт. Код выдаёт просто цифры. А чтобы эти цифры превратить в вольты, то для диапазона от 0 до 5 вольт диапазон 0-1 необходимо умножить на 5. Задача из второго класса.
     
  20. Ariadna-on-Line

    Ariadna-on-Line Гуру

    0-1 литр звучит звоньче.