Геофон

Тема в разделе "Arduino & Shields", создана пользователем TeaMoor, 13 фев 2016.

  1. TeaMoor

    TeaMoor Нуб

    Здравствуйте.
    Собрал простейшую схемку для использования геофона (сейсмодатчика). Геофон подает сигнал на аналоговый пин, и на основе этого сигнала загораются светодиоды. То есть чем сильнее тряска, тем больше светодиодов горит.
    В спецификациях на геофон (GS-32CT) нету информации об максимально выдаваемом напряжении, а хотелось бы знать не сожгет ли постоянная подача максимального напряжения (то есть мощная интенсивная тряска) плату Arduino.
    Для определения получаемого напряжения от геофона решил посмотреть какие значения он подает на аналоговый пин, при помощи кода следуещго вида:
    Код (C++):
    void setup()
      {
      Serial.begin(9600);
      }

    void loop()
      {
      int v = analogRead(A0);
      Serial.print(v);
      Serial.print("\n");
      }
    Значения были от 0 до 1023. Я верно понимаю, что когда значение достигает 1023, то это значит что напряжение равно 5V (при питании от USB)?
    Если это так, то можно ли без вреда для Arduino подключать внешнее питание 9V при подключенном USB (для использования монитора последовательно порта в среде Arduino)? С целью посмотреть какие при этом будут поступать значения на аналоговый пин.
     
  2. Mestniy

    Mestniy Гуру

    ИМХО такие-же значения будут
     
  3. TeaMoor

    TeaMoor Нуб

    Но там уже соотношение другое же будет? То есть значение 1023 будет соответствовать 9V?
    Забыл еще в первом посте вопрос задать: Какое максимальное напряжение можно подавать на пины?
     
  4. Mestniy

    Mestniy Гуру

    По моему 12 v и 40mA - максимум. Если конечно не ошибаюсь. Посмотрите в характеристике!
     
  5. Onkel

    Onkel Гуру

    5 В. Подача большего напряжения может привести к необратимым последствиям.
    Прежде чем подключать что- либо, желательно почитать или померять. Во всех сомнительных случаях диоды (лучше шоттки) защитные на землю и на +5В.
    В ардуине по умолчанию меряется по отношению к Vcc, в uno можно мерять по отношению к VREF (туда можно подать <5 В) и внутреннего источника (1.1 V в 8и 2.56 V в 324), более подробно см. Arduino Development Cookbook p 75
    For more information on the Arduino Due analogReadResolution() function and more
    analog references, visit the following links:

    f http://arduino.cc/en/Reference/AnalogReadResolution

    f http://arduino.cc/en/Reference/AnalogReference
     
    Последнее редактирование: 13 фев 2016
  6. Mestniy

    Mestniy Гуру

    А как-же:
    • Использование напряжения больше 12В может приводить к перегреву стабилизатора напряжения и выходу платы из строя. С учетом этого, рекомендуется использовать источник питания с напряжением в диапазоне от 7 до 12В.
     
  7. Mestniy

    Mestniy Гуру

    Или вот:
    • Характеристики
      Микроконтроллер ATmega328
      Рабочее напряжение 5В
      Напряжение питания (рекомендуемое) 7-12В
      Напряжение питания (предельное) 6-20В
      Цифровые входы/выходы 14 (из них 6 могут использоваться в качестве ШИМ-выходов)
      Аналоговые входы 6
      Максимальный ток одного вывода 40 мА
      Максимальный выходной ток вывода 3.3V 50 мА
      Flash-память 32 КБ (ATmega328) из которых 0.5 КБ используются загрузчиком
      SRAM 2 КБ (ATmega328)
      EEPROM 1 КБ (ATmega328)
      Тактовая частота 16 МГц
    Может я че не правильно понимаю?
     
  8. Onkel

    Onkel Гуру

    "на пины" и "на разъем для подключения питания" - немного разные вещи,не так ли?
     
    Mestniy нравится это.
  9. Vad33

    Vad33 Капитан-оригинал

    Вам что нужно сделать ? Повысить разрешение? Так в спецификации на геофон написано:
    "Идеально 24 bit АЦП". В этом направлении и нужно двигаться. У ардуино 10 bit АЦП.
     
  10. TeaMoor

    TeaMoor Нуб

    То есть на пинах ограничение в 5V - это понятно.
    Точность в данном случае мне не важна, главное, чтобы была информация о сигнале: нет сигнала, очень низкий, низкий, средний и т.д.
    Вообще я хотел узнать максимально выдаваемое напряжение от геофона средствами Arduino (забыл упомянуть, я работаю с Uno). Но судя по всему придется использовать сторонние средства, напр. осцилограф.
    А возможно ли как то снизить порог значений с аналогового пина? Не могу сформулировать свой вопрос, но в общем, чтобы напряжению 2V и выше соответстовало значение с аналогового пина 1023, 1V - 512 и т.д. А не как сейчас 5V - 1024, 2,5V - 512.
     
  11. DrProg

    DrProg Вечный нерд

    map()
     
  12. TeaMoor

    TeaMoor Нуб

    Мне кажется, эта функция изменяет уже поступившие на пин значения в удобный для нас вид. А необходимо чтобы уже сразу на пин поступали значения в нужном диапазоне. Если это конечно возможно. В wiki сказано:
     
  13. DrProg

    DrProg Вечный нерд

    А зачем? Гораздо проще программно обработать то что поступило, чем создавать схемы для аппаратного подтягивания и округления значений. Тем более, что в диапазон укладывается.
     
  14. Onkel

    Onkel Гуру

    Конечно можно. Вон в большом мире гравитационные волны экспериментально обнаружили, так что теперь теория относительности настолько же доказана, насколько и теория Дарвина, а тут - г. вопрос. Но осторожно. Референс для АЦП выбирается
    http://arduino.cc/en/Reference/AnalogReference
    либо Vcc (по умолчанию в ардуино), либо VREF (он выведен только в uno, на него можно подать референсное напряжение < Vcc), либо встроенный референс - 2,56 В для атмеги8 и 1,1 В для атмеги328. Соответственно значение 1023 будет соответсвовать тому напряжению, которое вы подадите на VREF, или 2,56 или 1,1 В. Но подавать нужно осторожно- чтобы напряжение на входе ацп не превысило эти значения (VREF, 2,56 или 1,1) желательно предусмотреть защиту из диодов или стабилитронов. Если будут трудности, сообщите более детально нужный диапазон, какая у вас ардуина и какой камень (8 вроде только на uno может быть, на mini и nano не видел), и мы подскажем более детально. А map() вам не нужен, голову не забивайте. Ваше желание использовать по максимуму динамический диапазон ацп мк понятно. map() тут не помощник.
     
  15. DrProg

    DrProg Вечный нерд

    Последнее редактирование: 14 фев 2016
  16. Onkel

    Onkel Гуру

    а затем, что тс хочет.
    К тому же
    This feature is useful if we have sensors that output less than 5V and we need more precision.
    © классики
     
  17. TeaMoor

    TeaMoor Нуб

    Спасибо. Рассмотрю поподробнее "analogReference".
    Посмотрел выдаваемое напряжение геофона на осцилографе - пиковые значения достигали 20V. Хорошо, что с Arduino'й ничего не случилось.
    Наверное, придется использовать полевой транзистор.
     
  18. Onkel

    Onkel Гуру

    зачем полевик? Выходное сопротивление геофона какое? Может быть, достаточно делителя и супрессора?
     
    TeaMoor нравится это.
  19. TeaMoor

    TeaMoor Нуб

    Спасибо. Действительно, используя супрессор (стабилитрон) удалось ограничить напряжение до 5V.
    А что подразумевается под делителем?
     
  20. Vad33

    Vad33 Капитан-оригинал

    Делитель напряжения (на резисторах, видимо).