Считывание напряжения и тока, управление напряжением

Тема в разделе "Микроконтроллеры AVR", создана пользователем SpaceQuester, 29 янв 2016.

  1. SpaceQuester

    SpaceQuester Нерд

    Я не могу ответить на ваш вопрос, у меня нет данных. Как мне лучше сделать управление вольтажом?
     
  2. Onkel

    Onkel Гуру

    по вашим требованиям по точности и шагу - только внешним DAC, не меньше 14 разрядов.
    А если мы не знаем скорости (частоты) необходимой при изменении напряжения на выходе, вряд ли мы можем найти более толковый ответ. Не можете сказать скорость изменения- охарактеризуйте хотя бы в общем эксперимент.
     
  3. SpaceQuester

    SpaceQuester Нерд

    С помощью ардуинки нужно уметь управлять управляющими напряжениями для схем питания фотоумножителей Hamamatsu. Фотоумножители считывают ток флюорисценции в двухфотонном лазерном микроскопе.
    Управлять нужно двумя фотоумножителями с разными схемами подключения:
    https://monosnap.com/file/eOuDd3V7HaxIe2YsfutJRCwlRl6DEe
    https://monosnap.com/file/fk0fYG31oSKOLCSLg4d3WFLoWZQEGO
    Т.е. от одной аурдинки нужно выдавать напряжение 0-1.2 Вольта и 0-5.0 Вольт. Две пары контактов соответственно.
     
  4. Onkel

    Onkel Гуру

    можно получить одно из дискретных 2**(разрядность таймера шима) значений выходного сигнала, что при разрядности таймера =8 отнюдь не "любое промежуточное значение".
     
  5. SpaceQuester

    SpaceQuester Нерд

    Подскажите, пожалуйста, как хоть какой нибудь сигнал получить :)
     
  6. Onkel

    Onkel Гуру

    не представляю себе фэу с нулевым напряжением, ну да ладно. теперь хоты бы примерно расскажите нам по какой зависимости от времени будут зависеть значения выходных напряжений.
     
  7. Onkel

    Onkel Гуру

    ага, и на форум по богословию...
    люди конкретной помощи просят, и ваше обещание "любого промежуточного значения" невыполнимо.
    подключаете ардуину, запускаете ide, в пункте ФАЙЛ выбираете ПРИМЕРЫ,раздел аналог, там есть аналоговые выходы, кликаете на пример и будет у вас уже код с аналоговым выходом.
     
  8. SpaceQuester

    SpaceQuester Нерд

  9. SpaceQuester

    SpaceQuester Нерд

    Т.е. выхотите сказать что написав:
    Код (C++):
    analogWrite(9, 4.0 * (255.0 / 5.0)); // D9
    я получу 4.0 Вольта на паре контактов DGRN и D9? Мультиметр мне врёт получается?
     
  10. Onkel

    Onkel Гуру

    вы получите 4.0 Вольта после фнч как минимум второго порядка. А что показывает мультиметр? А осциллографом посмотреть?
     
  11. SpaceQuester

    SpaceQuester Нерд

  12. Onkel

    Onkel Гуру

    а на Vcc у вас какое напряжение? Не 4 В случаем? Выход ардуины- это всегда Vcc*A/255, где А- от 0 до 155, так что если у вас Vcc=4 то и выход будет пять.
    Фильтры вам лучше брать LC, как посчитать есть на вики, например.
     
  13. Onkel

    Onkel Гуру

    9 пин работает как шим выход. Так что в этом нет проблем.
     
  14. SpaceQuester

    SpaceQuester Нерд

    Так, я тогда не понимаю. Написав:
    Код (C++):
    analogWrite(A5, 4.0 * (255.0 / 5.0)); // A5
    Я вижу мультиметром на выходах DGRN - A5 - 4 Вольта. Всё правильно типа.
    Но подключив щуп А5 к A2: https://monosnap.com/file/JPZmUquK0v4dmLySckCoP3geL366g3
    я вижу 5 Вольт???
    Вопрос - почему так?
     
    Последнее редактирование: 1 фев 2016
    Федоров Александр нравится это.
  15. Onkel

    Onkel Гуру

    нет. вы видиде Vcc*N/1023, где N- выданное функцией analogRead() значение. В Вашем случае Vcc !=5 В
     
  16. Onkel

    Onkel Гуру

    вроде как отцы велели:
    Parameters
    pin: the pin to write to.

    value: the duty cycle: between 0 (always off) and 255 (always on).

    нету тут 1023
     
  17. SpaceQuester

    SpaceQuester Нерд

    Федоров Александр, можно без бреда лишнего, пожалуйста.
    Я так и не понял:
    Код (C++):
    analogWrite(A5, 4.0 * (255.0 / 5.0)); // A5
    int sensorValue = analogRead(A0);
    float voltage = sensorValue * (5.0 / 1023.0);
    Serial.println(voltage);  
    почему подключив A5 к A0, на A0 я не вижу 4.0 Вольт, идущих из A5? Что в таком случае меряет A0?
     
  18. SpaceQuester

    SpaceQuester Нерд

    Второй вопросик:
    Если записать вот так:
    Код (C++):
    analogWrite(9, 4.0 * (255.0 / 5.0)); // D9
    то я на выводах DGND и D9 получу цифровую ШИМ, которую нужно пропускать через RC-контур что бы получить и выровнять итоговый аналоговый сигнал. С этим понятно всё.

    А если я запишу:
    Код (C++):
    analogWrite(A5, 4.0 * (255.0 / 5.0)); // A5
    то я на выводах DGND и A5 получу сразу аналоговых 4.0 Вольта. В чем разница? Нужно ли второй сигнал пропускать через что то? Поясните разницу.
     
  19. SpaceQuester

    SpaceQuester Нерд

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

    Onkel Гуру

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