Skip to content
  • Категории
  • Главная
  • Документация
  • Последние
  • Пользователи
Collapse
  1. Главная
  2. Блоги сообщества Raspberry Pi
  3. GPIO для чайников (часть 4)

GPIO для чайников (часть 4)

Запланировано Прикреплена Закрыта Перенесена Блоги сообщества Raspberry Pi
13 Сообщения 2 Posters 309 Просмотры
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • piP Не в сети
    piP Не в сети
    pi
    написал в отредактировано
    #4

    Я не правильно выразился. Можно ли на вход подать сигнал не верхнего уровня, а на пример 1 В или 1,5 В и определит ли его RPI? И можно ли на выходе получить значение из диапазона 0-3,3 В?

    1 ответ Последний ответ
    0
    • piP Не в сети
      piP Не в сети
      pi
      написал в отредактировано
      #5

      GPIO- это цифровой порт, а значит он умеет оперировать только цифровыми сигналами. Он может быть либо в состоянии "1", либо в "0". Промежуточные значения он не может обработать достоверно и каждый раз вы будете получать непредсказуемый результат. Поэтому, при сопряжении устройств с различными уровнями логики, вы обязательно должны их согласовывать. Работа с GPIO ничем не отличается от работы с другими логическими устройствами. Так что смело набирайте в гугле "согласование логических уровней" и выбирайте для себя наиболее подходящий вам способ. Самый универсальный вариант, это применение специализированных микросхем- трансляторов уровней. Например в вашем случае подойдёт ADG3301, или другие из этой линейки. Можно выполнить согласование и через операционный усилитель, или даже через обыкновенный транзистор. Нам просто нужно усилить сигнал уровнем 1в, до 3,3в. Т.е. нам необходимо расчитать усилитель с коэффициентом усиления 3,3.
      Обратное преобразование с 3,3в к 1в очень легко можно выполнить резистивным делителем напряжения из 2-х резисторов.

      1 ответ Последний ответ
      0
      • piP Не в сети
        piP Не в сети
        pi
        написал в отредактировано
        #6

        Что касается второго вашего вопроса, то опять-же, в логических уровнях нет промежуточных значений, а значит на выходе нельзя получить промежуточные значения напряжений.
        Для решения этой задачи применяются цифро-аналоговые преобразователи. Так же можно применить ШИМ, а к выходу порта подключить интегрирующую цепочку из резистора и конденсатора, а к её выходу- операционный усилитель. Тогда изменяя скважность импульсов, вы сможите на выходе усилителя получать любые напряжения. Без усилителя на выходе интегрирующего звена вы получите напряжение в диапазоне от 0 до 3,3в. Но работать такая схема будет лишь на высокоомной нагрузке. Поэтому в любом случае лучше поставить операционный усилитель, даже если он будет работать в режиме повторителя с коэффициентом усиления 1.

        В общем все этивопросы напрямую относятся к схемотехнике и одинаково решаются для всех логических устройств, в том числе и для Raspberry.

        1 ответ Последний ответ
        0
        • piP Не в сети
          piP Не в сети
          pi
          написал в отредактировано
          #7

          Все понял куда копать. Нашел пример с АЦП на микросхеме MCP3008 (http://learn.adafruit.com/reading-a-analog-in-and-controlling-audio-volume-with-the-raspberry-pi).
          Вы говорили, что в RPI имеется встроенный аппаратный ШИМ, а встроенного АЦП или ЦАП случайно нет?

          1 ответ Последний ответ
          0
          • piP Не в сети
            piP Не в сети
            pi
            написал в отредактировано
            #8

            Нет. ЦАП и АЦП в нём нету.

            1 ответ Последний ответ
            0
            • piP Не в сети
              piP Не в сети
              pi
              написал в отредактировано
              #9

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

              1.5В на входе должен по идее принять за лог.1

              1 ответ Последний ответ
              0
              • piP Не в сети
                piP Не в сети
                pi
                написал в отредактировано
                #10

                Все гораздо проще и рациональнее можно сделать...Вот пример http://www.airspayce.com/mikem/bcm2835/pwm_8c-example.html через реализованный через библиотечный CLOCK_DIVIDER.. Можно задать любую частоту работы для устройства...надо обновится до версии bcm2835 1.30...

                1 ответ Последний ответ
                0
                • piP Не в сети
                  piP Не в сети
                  pi
                  написал в отредактировано
                  #11

                  В этом примере используете 18 порт, он является плюсовым как я понял, а в 1 части со свтеодиодом был использован отрицательный порт. Вопрос такой, как узнать или где можно посмотреть сколько еще имеется на raspberry портов таких как 18?

                  1 ответ Последний ответ
                  0
                  • piP Не в сети
                    piP Не в сети
                    pi
                    написал в отредактировано
                    #12

                    http://raspberrypi.ru/gpio_pinout_pi3/

                    1 ответ Последний ответ
                    0
                    • piP Не в сети
                      piP Не в сети
                      pi
                      написал в отредактировано
                      #13

                      Странно, что никто не заметил."средний ток будет пропорционален отношению t1 к t2. А именно: Iср=Iн x
                      t1/t2, где Iн- номинальный ток светодиода, который мы благодаря
                      резистору установили в 10мА. При номинальном токе светодиод светится
                      наиболее ярко. А в нашем случае Iср=10 х 2/3 = 6,7мА."А если я установлю время свечения 3 мс, а время несвечения 2 мс, у меня соотношение t1/t2 будет 3/2, значит ток будет в Icp=10 x 3/2 = 15 мА?  Если время несвечения уменьшать еще, то ток будет продолжать расти?Может, все-таки, t1 на Т надо делить? Тем более тогда обратная скважности величина получится.

                      1 ответ Последний ответ
                      0

                      • Войти

                      • Нет учётной записи? Зарегистрироваться

                      • Login or register to search.
                      • Первое сообщение
                        Последнее сообщение
                      0
                      • Категории
                      • Главная
                      • Документация
                      • Последние
                      • Пользователи