Подумал о дешёвой двухпроводной шине для мелкой автоматизации на больших расстояниях.

Придумал простую схему, для передачи данных дёргать двумя GPIO через транзисторные ключи подключенные к высокочастотному трансформатору и таким образом генерировать импульсы с различной частотой. А для приёма данных, подсчитывать число принятых фотодиодом импульсов от светодиода подключенного к шине.

Но возникает проблема. Если кабель неизвестного качества и расстояния неизвестные. И число устройство подключенных на одну шину неизвестно, то для максимально надёжной передачи, нужно напряжение повыше. Но, в сети ведь есть падение напряжения и поэтому непонятно какое конкретно придёт на светодиод, 3 вольта или 50 вольт. Например от одного передатчика придёт 7 вольт, а от другого 40 вольт. А ещё в случае коллизии они могут наложится. А приёмник должен не выйти из строя. А в идеале нужно учесть и всякие проблемы со статическими потенциалами. Я конечно разбираюсь слабо, но что то мне подсказывает что в таких условиях светодиод долго не прослужит.

Нужна какая то простая схема, которая частоту переменного тока частотой несколько килогерц (от 0,3 до 5) и широкого диапазона напряжений, от 3 до 110 вольт преобразует в аналогичное количество открытий полевого транзистора на входном GPIO.

Примечание: Про схему шины с коротким замыканием двух жил знаю, но хочу сделать нечто более универсальное и в теории не требующие запитывания самой шины когда данные не передаются. А ещё что бы через фильтры, поток данных можно было загнать и в сеть переменного тока.

  • torvn77
    link
    fedilink
    arrow-up
    0
    ·
    4 years ago

    Но возникает проблема. Если кабель неизвестного качества и расстояния неизвестные.

    Может тогда лучше вместо провода использовать оптоволокно, оно и дешевле будет, и молнией в него не бахнет, если несущий жгут из пластика, а не металла, и затухает в нём сигнал слабее.

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

  • torvn77
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    4 years ago

    И число устройство подключенных на одну шину неизвестно,

    А что вообще ты хочешь сделать?
    Может тебе проще использовать готовые платы контроллеров(модуль) с ethernet портом и свести их воедино через свитч? Я бы о таком подумал, сразу куча проблем оказывается решена из коробки

    • rezedent12OP
      link
      fedilink
      arrow-up
      0
      ·
      4 years ago

      Максимально дешёвые модули умного дома, интегрированные в выключатели и розетки. Основанные на дешёвых компонентах вроде такого https://aliexpress.ru/item/4000348370586.html

      В самих устройствах почти никакой программной логики, вся логика автоматизации на центральном компьютере типа “raspberry pi”. К которому цепляется до сотен таких устройств. А шина и эти устройства видны для программ как файловая система.

      Никаких сраных облаков без которых всё становится тыквой.

      Нет привязки к одному производителю, открытый стандарт.

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

      • torvn77
        link
        fedilink
        arrow-up
        0
        ·
        4 years ago

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

        Основанные на дешёвых компонентах вроде такого https://aliexpress.ru/item/4000348370586.html

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

        • rezedent12OP
          link
          fedilink
          arrow-up
          0
          ·
          4 years ago

          Я знаю что есть дешёвые контроллеры с несколькими GPIO и ОЗУ около килобайта за менее чем доллар. Их и думаю попробовать использовать.

          • torvn77
            link
            fedilink
            arrow-up
            0
            ·
            4 years ago

            Тут надо ещё ethernet порт и соответствующую сеть, иначе имхо замучаешся разрабатывать и сопровождать всё это сплетение проводов и платок.

            • rezedent12OP
              link
              fedilink
              arrow-up
              0
              ·
              4 years ago

              Я конечно читал про возможность ethernet на одной паре, но это гораздо большие проблемы.

              Нужно что нибудь на нескольких полевых транзисторах и диодах.

                • Александр
                  link
                  fedilink
                  arrow-up
                  0
                  ·
                  4 years ago

                  Не, я в эту шизу ввязываться не хочу. Начнём с того что у тока нет частоты (пускай и в быту оно называется “переменный ток”), частота и скважность у наряжения. Идея передавать на большие расстояния питание с килогерцевой частотой изначально ебанутая, YOBA-кулер имел куда больше шансов на успех

                  • rezedent12OP
                    link
                    fedilink
                    arrow-up
                    0
                    ·
                    4 years ago

                    Это не передача питания, а передача сигналов. Если требуется передать питание, то его можно и фантомно передать.

  • JamesHolden
    link
    fedilink
    arrow-up
    0
    ·
    4 years ago

    Я мог бы помочь, но за идеи заливать в питающую сеть высокочастотные помехи я могу лишь предложить оторвать автору идеи ноги.

    Я бы в ответ такому соседу залил 10 кВ в сеть, а чо такого, может мне нужно для умного дома.

    Ничего личного.

    • rezedent12OP
      link
      fedilink
      arrow-up
      0
      ·
      4 years ago

      Всего то фильтр на кабель установить и эти помехи не пройдут дальше. Это нужно предложить соседу.

      powerline Кстати, а как ты относишься к powerline? Это такая технология для локальной сети.

      • JamesHolden
        link
        fedilink
        arrow-up
        0
        ·
        4 years ago

        Крайне отрицательно. Ничем это не фильтруется, потому что излучается проводами в виде поля, и прием сигналов в доме становится невозможен.

        Сеть - она по всем нормам для того, чтобы брать оттуда питание, а не передавать какие-то говносигналы.

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

        Вот ты лично и должен обеспечить чистоту сети. Но ты это технически не сделаешь в своей системе.

        Ты можешь поставить фильтры, чтобы за пределы твоей квартиры это не перло. Но это все равно на 100% проблему не решает, потому что есть поле, а стены то общие.

      • JamesHolden
        link
        fedilink
        arrow-up
        0
        ·
        4 years ago

        И фильтры - это не волшебные палочки, которые раз и убрали помехи. Они их только ослабляют.

        Гораздо лучше не заниматься фигней и вообще не создавать помех.

        Я считаю что ты на спичках экономишь. Дорого wifi делать - ну купи платки копеечные на 433 МГц и через них управляй.

        • torvn77
          link
          fedilink
          arrow-up
          0
          ·
          4 years ago

          Гораздо лучше не заниматься фигней и вообще не создавать помех.

          Имхо если rezedent12 не сделает что-то не то, то созданное им загрязнение будет ничтожной мощности и если у соседей будет необходимость ставить фильтр то явно не из-за него.
          К стати по этому фильтр лучше по любому поставить, и соседям, и rezedent12.

          Я считаю что ты на спичках экономишь. Дорого wifi делать - ну купи платки копеечные на 433 МГц и через них управляй.

          Вот тут согласен, хотя rezedent12 пока не сказал что именно он пытается сделать.

          • JamesHolden
            link
            fedilink
            arrow-up
            0
            ·
            4 years ago

            Ну то что он хочет, конечно далеко не такая задница как эзернет через розетку. Так что, возможно, помехи и будут небольшими. Но все равно я чисто идеологически этого не приемлю. Нельзя ничего передавать в сеть.

            • torvn77
              link
              fedilink
              arrow-up
              0
              ·
              4 years ago

              На самом деле я как-то подключил к розетке через резестивный делитель напряжения и разделительный конденсатор вход аудиоколонки так могу сказать что проект rezedent12 несбыточен ввиду крайней загрязнённости электросети и если он хочет что-то сделать то фильтрище придётся делать многозвенным и на совесть.

              • JamesHolden
                link
                fedilink
                arrow-up
                0
                ·
                4 years ago

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

                • torvn77
                  link
                  fedilink
                  arrow-up
                  0
                  ·
                  4 years ago

                  Ну в принципе индуктивный фильтр от стиральной машины и пусковой конденсатор на 0.47мкф огромных размеров должен в дрстаточной мере очистить сеть.

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

                  • JamesHolden
                    link
                    fedilink
                    arrow-up
                    0
                    ·
                    4 years ago

                    чтобы через него проходил некий минимальный фильтруемый ток

                    Естественно, фильтр то должен быть нагружен. Об этом часто забывают, а потом опа - и помехи.

                • rezedent12OP
                  link
                  fedilink
                  arrow-up
                  0
                  ·
                  4 years ago

                  Планируется частота от 0,3 до 5 килогерц - это диапазон слышимого звука. Схема шипения простая, около 1 килогерца - условный ноль, около 5 килогерц - условная единица, 3 килогерца - разграничитель пакетов. Штатно планируется использовать телефонный кабель.

                  Основная проблема в том, что от разных устройств до разных устройств эти сигналы теоретически могут доходить с амплитудой от условных 3 вольт, до 110 вольт. Нужно считать сколько раз в миллисекунду (или микросекунду, не определился ещё) происходят колебания от -U V до +U V. Где U - напряжение (амплитуда) сигнала.

                  • JamesHolden
                    link
                    fedilink
                    arrow-up
                    0
                    ·
                    4 years ago

                    Можешь попробовать так. Сначала по проблеме, как принять от 110 вольт до 3 вольт.

                    Вариант: сигнал пропускаешь через резистор последовательно, после резистора - диод выпрямительный (или даже 1n4148), на GND (параллельно). Диод надо повернуть так, чтобы сигналом он открывался.

                    Такая цепочка обрежет любое напряжение до уровня около 0.6 вольт - напряжение отпирания диода. Если 0.6 вольт мало - включи два диода последовательно, 1.2 вольта точно будут восприняты как логическая единица.

                    Это обрежет +U. Если у тебя еще минусовые -U высокого напряжения, тогда надо ставить параллельно этим диодам, такие же но в обратную сторону.

                    Как считать импульсы. Проще всего подать сигнал на ножку входа таймера в микроконтроллере. В любом микроконтроллере есть таймеры, у которых есть режим счетчика.

                    То есть каждый пришедший импульс увеличит на 1 число в регистре таймера. Потом просто читаешь это число, обрабатываешь, записываешь в регистр 0 и ждешь дальше, пока придут новые импульсы.

                    Время счета - миллисекунда как ты хочешь, тогда надо отсчитывать вторым таймером.

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

                  • torvn77
                    link
                    fedilink
                    arrow-up
                    0
                    ·
                    4 years ago

                    Планируется частота от 0,3 до 5 килогерц - это диапазон слышимого звука.

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

                    Во вторых ты подключи активные колонки или усилок к сети как я тут сказал и послушай что там творится в диапазоне "от 0,3 до 5 килогерц"

              • rezedent12OP
                link
                fedilink
                arrow-up
                0
                ·
                4 years ago

                Ты передавал аналоговый сигнал.

  • rain
    link
    fedilink
    arrow-up
    0
    ·
    4 years ago

    Может для начала поразглядывать powerline?