Всем привет!

Пожалуй, стоит представиться немного — я обычный инженер-схемотехник, который интересуется также программированием и некоторыми другими областями электроники: ЦОС, ПЛИС, радиосвязь и некоторые другие. В последнее время с головой погрузился в SDR-приемники. Первую свою статью (надеюсь, не последнюю) я сначала хотел посвятить какой-то более серьезной теме, но для многих она станет лишь чтивом и не принесет пользы. Поэтому тема выбрана узкоспециализированная и исключительно прикладная. Также хочу отметить, что, наверное, все статьи и вопросы в них будут рассматриваться больше со стороны схемотехника, а не программиста или кого-либо еще. Ну что же — поехали!

Не так давно у меня заказывали проектирование «Система мониторинга энергоснабжения жилого дома», заказчик занимается строительством загородных домов, так что кто-то из вас, возможно, даже уже видел мое устройство. Данный девайс измерял токи потребления на каждой вводной фазе и напряжение, попутно пересылая данные по радиоканалу уже установленной системе «Умный дом» + умел вырубать пускатель на вводе в дом. Но разговор сегодня пойдет не о нем, а о его небольшой, но очень важной составляющей — датчике тока. И как вы уже поняли из названия статьи, это будут «бесконтактные» датчики тока от компании Allegro — ACS758-100.
________________________________________________________________________________________________________________________

Даташит, на датчик о котором я буду рассказывать, можно посмотреть тут. Как несложно догадаться, цифра «100» в конце маркировки — это предельный ток, который датчик может измерить. Скажу честно — есть у меня сомнения по этому поводу, мне кажется, выводы просто не выдержат 200А долговременно, хотя для измерения пускового тока вполне подойдет. В моем устройстве датчик на 100А без проблем пропускает через себя постоянно не менее 35А + бывают пики потребления до 60А.

image
Рисунок 1 — Внешний вид датчика ACS758-100(50/200)

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

1) Эффект Холла. Явление и принцип работы
2) Современные датчики тока
________________________________________________________________________________________________________________________

Ну что же, начнем с самого важного, а именно с маркировки. Покупаю комплектующие в 90% случаев на www.digikey.com. В Россию компоненты приезжают через 5-6 дней, на сайте есть пожалуй все, также очень удобный параметрический поиск и документация. Так что полный список датчиков семейства можно посмотреть там по запросу "ACS758". Датчики мои были куплены там же — ACS758LCB-100B.

Внутри даташита по маркировке все расписано, но я все равно обращу внимание на ключевой момент "100В":

1) 100 — это предел измерения в амперах, то есть мой датчик умеет измерять до 100А;
2) "В" — вот на эту букву стоит обратить внимание особо, вместо нее может быть также буква "U". Датчик с буквой B умеет измерять переменный ток, а соответственно и постоянный. Датчик с буквой U умеет измерять только постоянный ток.

Также в начале даташита есть отличная табличка на данную тему:
image
Рисунок 2 — Типы датчиков тока семейства ACS758

Также одной из важнейших причин использования подобного датчика стала — гальваническая развязка. Силовые выводы 4 и 5 не связаны электрически с выводами 1,2,3. В данном датчике связь лишь в виде наведенного поля.

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

У моего датчика данное значение равно 20 мВ/А. Это означает, что при протекании тока 1А через выводы 4-5 датчика напряжение на его выходе увеличится на 20 мВ. Думаю логика ясна.

Следующий момент, какое же напряжение будет на выходе? Учитывая, что питание «человеческое», то есть однополярное, то при измерение переменного тока должна быть «точка отсчета». В данном датчике эта точка отсчета равна 1/2 питания (Vcc). Такое решение часто бывает и это удобно. При протекании тока в одну сторону на выходе будет "1/2 Vcc + I*0.02V", в другом полупериоде, когда ток протекает в обратную сторону напряжение на выходе будет уже "1/2 Vcc — I*0.02V". На выходе мы получаем синусоиду, где «ноль» это 1/2Vcc. Если же мы измеряем постоянный ток, то на выходе у нас будет "1/2 Vcc + I*0.02V", потом при обработке данных на АЦП просто вычитаем постоянную составляющую 1/2 Vcc и работаем с истинными данными, то есть с остатком I*0.02V.

Теперь пришло время проверить на практике то, что я описал выше, а вернее вычитал в даташите. Чтобы поработать с датчиком и проверить его возможности, я соорудил вот такой «мини-стенд»:

image
Рисунок 3 — Площадка для тестирования датчика тока

Первым делом я решил подать на датчик питание и измерить его выход, чтобы убедиться в том, что за «ноль» у него принято 1/2 Vcc. Схему подключения можно взять в даташите, я же, желая лишь ознакомиться, не стал тратить время и лепить фильтрующий конденсатор по питанию + RC цепочку ФНЧ на выводе Vout. В реальном же устройстве без них никуда! Получил в итоге такую картинку:

image
Рисунок 4 — Результат измерения «нуля»

При подаче питания с моей платки STM32VL-Discovery я увидел вот такие результаты — 2.38В. Первый же вопрос, который возник: "Почему 2,38, а не описанные в даташите 2.5?" Вопрос отпал практически мгновенно — измерил я шину питания на отладке, а там 4.76-4.77В. А дело все в том, что питание идет с USB, там уже 5В, после USB стоит линейный стабилизатор LM7805, а это явно не LDO с 40 мВ падением. Вот на нем это 250 мВ примерно и падают. Ну да ладно, это не критично, главное знать, что «ноль» это 2.38В. Именно эту константу я буду вычитать при обработке данных с АЦП.

А теперь проведем первое измерение, пока лишь с помощью осциллографа. Измерять буду ток КЗ моего регулируемого блока питания, он равен 3.06А. Это и встроенный амперметр показывает и флюка такой же результат дала. Ну что же, подключаем выходы БП к ногам 4 и 5 датчика (на фото у меня витуха брошена) и смотрим, что получилось:

image
Рисунок 5 — Измерение тока короткого замыкания БП

Как мы видим, напряжение на Vout увеличилось с 2.38В до 2.44В. Если посмотреть на зависимость выше, то у нас должно было получиться 2.38В + 3.06А*0.02В/А, что соответствует значению 2.44В. Результат соответствует ожиданиям, при токе 3А мы получили прибавку к «нулю» равную 60 мВ. Вывод — датчик работает, можно уже работать с ним с помощью МК.

Теперь необходимо подключить датчик тока с одному из выводов АЦП на микроконтроллере STM32F100RBT6. Сам камушек очень посредственный, системная частота всего 24 МГц, но данная платка у меня пережила очень много и зарекомендовала себя. Владею ею уже, наверное, лет 5, ибо была получена нахаляву во времена, когда ST их раздавали направо и налево.

Сначала по привычке я хотел после датчика поставить ОУ с коэф. усиления «1», но, глянув на структурную схему, понял, что он внутри уже стоит. Единственное стоит учесть, что при максимальном токе выходное питание будет равно питанию датчика Vcc, то есть около 5В, а STM умеет измерять от 0 до 3.3В, так что необходимо в таком случае поставить делитель напряжения резистивный, например, 1:1,5 или 1:2. У меня же ток мизерный, поэтому пренебрегу пока этим моментом. Выглядит мое тестовое устройство примерно так:

image
Рисунок 6 — Собираем наш «амперметр»

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

Теперь необходимо написать функцию для измерения Vout с помощью АЦП микроконтроллера. Рассказывать подробно не буду, по STM32 уже и так море информации и уроков. Так что просто смотрим:

uint16_t get_adc_value()
    {
    ADC_SoftwareStartConvCmd(ADC1, ENABLE);
    while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == RESET);
    return ADC_GetConversionValue(ADC1);
    }

Далее, чтобы получить результаты измерения АЦП в исполняемом коде основного тела или прерывания, надо прописать следующее:

 data_adc = get_adc_value();

Предварительно объявив переменную data_adc:

 extern uint16_t data_adc;

В итоге мы получаем переменную data_adc, которая принимает значение от 0 до 4095, т.к. АЦП в STM32 идет 12 битный. Далее нам необходимо превратить полученный результат «в попугаях» в более привычный для нас вид, то есть в амперы. Поэтому необходимо для начала посчитать цену деления. После стабилизатора на шине 3.3В у меня осциллограф показал 3.17В, не стал разбираться, с чем это связано. Поэтому, разделив 3.17В на 4095, мы получим значение 0.000774В — это и есть цена деления. То есть получив с АЦП результат, например, 2711 я просто домножу его на 0.000774В и получу 2.09В.

В нашей же задачи напряжение лишь «посредник», его нам еще необходимо перевести в амперы. Для этого нам надо вычесть из результата 2.38В, а остаток поделить на 0.02 [В/А]. Получилась вот такая формула:

float I_out = ((((float)data_adc * presc)-2.38)/0.02);

Ну что же, пора залить прошивку в микроконтроллер и посмотреть результаты:

image
Рисунок 7 — Результаты измерения данных с датчика и их обработка

Измерил собственное потребление схемы как видно 230 мА. Измерив тоже самое поверенной флюкой, оказалось, что потребление 201 мА. Ну что же — точность в один знак после запятой это уже очень круто. Объясню, почему… Диапазон измеряемого тока 0..100А, то есть точность до 1А это 1%, а точность до десятых ампера это уже 0,1%! И прошу заметить, это без каких либо схемотехнических решений. Я даже поленился повесить фильтрующие кондеры по питанию.

Теперь необходимо замерить ток короткого замыкания (КЗ) моего источника питания. Выкручиваю ручку на максимум и получаю следующую картину:

image
Рисунок 8 — Измерения тока КЗ

Ну и собственно показания на самом источнике с его родным амперметром:

image
Рисунок 9 — Значение на шкале БП

На самом деле там показывало 3.09А, но пока я фотографировал, витуха нагрелась, и ее сопротивление выросло, а ток, соответственно, упал, но это не так страшно.

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

Ну и конечно же прилагаю исходники программки, глядишь, кому понадобится библиотека для работы с дисплеем или АЦП. Сам проект в Keil 5.
Поделиться с друзьями
-->

Комментарии (69)


  1. igruh
    15.09.2016 10:09
    +2

    U=unidirectional, т.е. одной полярности, при этом он может быть переменным, но не уходящим в отрицательные значения.


  1. Nizametdinov
    15.09.2016 11:33
    +1

    Спасибо большое за труды.
    Реквестирую вторую часть, как померять ток на АС 220 и посчитать потребляемую мощность.


    1. Leerooooy
      15.09.2016 20:18

      Да, хорошо. Тоже думал по поводу измерения переменки, помучаю чайник)) Кстати судя по комментариям ниже придется ради эксперимента 3-4 датчика подключить, чтобы убедить в их минимальной погрешности.


  1. lingvo
    15.09.2016 11:36
    +2

    Советую учесть, что вы работаете с измериловкой. Тут очень легко напороться на трудности, которые не очевидны на первый взгляд. В первую очередь это касается точности измерений. Вся ваша радость от быстрого решения пройдет быстро, когда вы поставите второй датчик, а он покажет вам плюс 0.5А. Или нагреете его на 20 градусов и поплывут ваши показатели. Да что-там. В данном случае замена блока питания может принести неприятный сюрприз.
    Советую обращать на это внимание в первую очередь еще до того, как вы выберете датчик. Например эти самые ACS758 по даташиту обладают весьма посредственными характеристиками по точности, доходящим аж до 3%. Не стоит упоминать, сколько это на 3-х амперах от 100. А также там есть нехилая нелинейность, зависимость от температуры, дрифт нуля и естественно зависимость от напряжения питания.
    В общем в единственном экземпляре после калибровки можно добиться приемлемых результатов, но так чтобы поставил и забыл, надо еще работать и работать. Вплоть до того, что я вместо этих выбрал другие более точные датчики, так как сразу понял что с этими дела не будет.


    1. vladimir_open-dev
      15.09.2016 12:07

      Поддерживаю. Помня, что датчик аналоговый нужно и сигнал с него дотянуть до АЦП правильно и измерить его правильно (чтоб от напряжения питания МК показания не плыли). На моей памяти алегровские датчики дохли как мухи (правда на 30А) — возможно брак, но осадочек остался…


      1. qbertych
        15.09.2016 13:08

        А когда применение датчиков Холла оправдано по сравнением с токовым трансформатором?


        1. BelerafonL
          15.09.2016 13:18
          +1

          Датчики Холла могут измерять постоянный ток (переменный с постоянной составляющей, или переменный с очень низкой частотой и т.п.).


        1. lingvo
          15.09.2016 18:59

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


          1. Leerooooy
            15.09.2016 20:23

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

            Относительно друг друга они отличаются в показаниях на единицы мкВ, так то этим явно можно пренебречь. В температурном диапазоне 0… +40 выход не плывет, при больших флуктуациях необходимо ставить уже датчик температуры и вводить компенсацию схемы, как минимум аналоговой части.

            3% — это откуда такие данные? 1% это 1А. Таких погрешностей нету даже при минусовой температуре.

            Вообще говоря о точности и надежности необходимо рассматривать готовое устройство и схемотехническое решение. Тут же лишь обзор компонента. Возможно чуть дальше я покажу как получить от него реальные +-0,01А в устройстве.


  1. BigBeaver
    15.09.2016 11:41

    Очень классные штуки, на самом деле — впервые столкнулся с ними в киловатном BLDC контроллере. То есть, по сути, они как раз для контроля пиковых токов и нужны (чтобы не сжечь двигатель/батарею/проводку. но именно для контроля, а не отсечки, как предохранитель).

    Стоит отметить, что это вообще (пока?) единственное, что удалось найти с адекватными размерами и ценой для таких мощностей.
    Если кто-то знает аналоги — был бы признателен.


  1. qbertych
    15.09.2016 12:04

    На днях возился с младшей серией тех же датчиков — ACS712. Предел измерения — от 5 до 30 А, поэтому они умещаются в SOIC-8 без дополнительных выводов.


    Вот такие картинки получались

    Сверху — ток через люминесцентную лампу, снизу — через лампу накаливания. После предусилителя на ОУ, естественно.


    1. Leerooooy
      15.09.2016 20:24

      Тоже такие использую (на 5А) для защиты цифры. Весьма удобные корпуса и измерять можно до +-1 мА без особых ухищрений))


  1. ikaktys
    15.09.2016 12:10
    +2

    Не надо высчитывать константу, надо просто сделать самокалибрацию, что бы при первом включении (или по нажатию какой кнопки) измерялось нулевое безтоковое состояние на выходе, сохранялось в EEPROM и потом уже плясать от него, в идеале можно еще сделать дополнительную калибрацию по току, скажем для 5 или 10А по точному амперметру.


    1. SGordon123
      15.09.2016 12:27

      А разве в STM нельзя завести опорное напряжение для АЦП ( Питание датчика то есть)? По моему это самый точный и правильный способ для данного случая…


      1. ikaktys
        15.09.2016 12:33

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


        1. SGordon123
          15.09.2016 12:44

          При производстве вы откалибровали микросхему и как бы ничего в ней не поменяется… А вот если Питание под нагрузкой просядет то привет приплыли?


          1. ikaktys
            15.09.2016 12:53

            его тоже постоянно измерять надо


            1. SGordon123
              15.09.2016 12:56

              как я понимаю, если завести его как опорное — то не надо?


              1. ikaktys
                15.09.2016 13:00

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


              1. mitasamodel
                15.09.2016 15:37

                Для STM32 напряжения как питания, так и опорное аналоговой части, не могут превышать 3V6. Если датчик питается от 5V, то…


                1. SGordon123
                  15.09.2016 15:58

                  так там же резистивный делитель, так что будет то?


                  1. mitasamodel
                    15.09.2016 16:12

                    Резистивный делитель со своими допусками на каждый резистор -> калибровка ещё и делителя.

                    Нет, я согласен, что входное питание надо измерять. Но, на мой взгляд, лучше иметь стабилизированное питание аналоговой части (LDO 5V->3V3) и замерять всё остальное относительно него.


                    1. SGordon123
                      15.09.2016 16:16

                      А зачем вообще датчик питать от 5 V и вот с этим вот всем делением возиться?


                      1. mitasamodel
                        15.09.2016 16:20

                        Не за чем. Просто так было сделано у автора: питание датчика — USB 5V; питание MCU — на своей плате.
                        При изготовлении законченного устройства питание проще сделать одинаковым, да (как вы в самом начале и написали, собственно).


                      1. Leerooooy
                        15.09.2016 20:44

                        Во-первых, ИОН можно подцепить к АЦП, это необходимо если нужна супер точность. Во-вторых, в статье я написал про делитель напряжения, чтобы напряжение на входе АЦП не превысило максимально допустимое. В-третьих, запитать от 3.3В можно, но при питании ниже 4.2В выход начинает «плясать», порядка +-120 мВ, поэтому стабильность выше при рекомендованных 5В.


                    1. BigBeaver
                      15.09.2016 16:41

                      В одной катушке резисторы, как правило, одинаковые. Указанный допуск — это расхождения между партиями. Соответственно, если набрать делитель из одинаковых резисторов из одной катушки, калибровать ничего не нужно.


                      1. mitasamodel
                        15.09.2016 17:47

                        Слова «как правило, одинаковые» — не самые хорошие =) Особенно, если мы говорим о *простых* резисторах с погрешностью 5% или о более точных с погрешностью 1%.

                        Есть где-нибудь заявление производителя, что резисторы будут точно одинаковыми в одной партии? Просто, просматривая даташит (http://www.vishay.com/docs/20035/dcrcwe3.pdf), то в месте описания reel, такого упоминания нет. Думаю, в этом случае, стоит относиться ко всем резисторам с максимально возможной погрешностью (тут — 1%). Просто во избежание.

                        Единственное, они пишут, что reel соответствует спецификации IEC 60068-3. Сама она платная, но пробежав по оглавлению (https://webstore.iec.ch/preview/info_iec60068-3-13%7Bed1.0%7Db.pdf) я сделал вывод, что она о геометрических параметрах (и, соответственно, о монтаже на установщике).


                        1. Leerooooy
                          15.09.2016 20:46

                          а зачем калибровать резистором? Для этого есть код, достаточно измерить точно параметры делителя и внести поправку. На этом все. Такое действо актуально даже для 0.5-1% резюков.


                          1. mitasamodel
                            15.09.2016 21:34

                            Верно. Просто если у вас несколько таких плат, то эту калибровку надо делать на каждой плате.


                            1. Leerooooy
                              15.09.2016 21:51

                              Если резисторы с одной партии, так же как и датчики, то для получения +-0.5% хватит подобрать на одной и дальше расклонировать прошивку по остальным. Большую точность от меня по крайней мере еще никто не требовал))


                        1. BigBeaver
                          16.09.2016 14:51

                          В данном случае «как правило» стоит понимать как «я не встречал обратного».


      1. lingvo
        15.09.2016 12:44

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


        1. SGordon123
          15.09.2016 12:50

          Я собственно считаю, что раз у микросхемы ratiometric output ( не знаю толкового перевода) то и цифровать ее надо от того же напряжения питания


      1. Alexeyslav
        16.09.2016 08:58

        Самый простой способ это завести напряжение с делителя на одинаковых резисторах на второй канал АЦП, измерения проводить измеряя оба напряжения и простой операцией вычитания. В некоторых контроллерах для этого предусмотрен дифференциальный режим работы АЦП и сигналы двух входов вычитаются ещё до подачи на АЦП. но… всё это не нужно, если в качестве опорного выбрать напряжение питания и датчик будет подключен к тому же напряжению что и АЦП, просто старший бит использовать как знаковый — на многих АЦП предусмотрен такой режим работы когда результат 12-битного измерения расширяется на 16-битный как знаковое число — под такое использование повидимому и предусмотрен данный датчик.


  1. xp3
    15.09.2016 12:51

    День добрый, вопросы новичка.
    Я правильно понимаю что чем больше mV/A, тем точнее я смогу снять показания?
    Проводилось ли тестирование при низких токах (->0), средних и высоких (применительно к этому датчику ->100A)? Точность не изменяется?


    1. mitasamodel
      15.09.2016 15:44
      -1

      > Я правильно понимаю что чем больше mV/A, тем точнее я смогу снять показания?
      <...> тем менее точный ADC вам нужен, чтобы снять точные показания (впрочем, у STM32 точность — 12 бит (если точнее, то берём только 10). А значит, MCU способен измерять напряжения с точностью 3mV, чего достаточно). Но тем быстрее вы упрётесь в верхний порог измерений:
      1. Датчик питается 5V
      2. MCU питается 3V3
      3. mV/A == 100

      При токе 50A уровень напряжения будет: (5V/2) + (50A*100mV/A) = 2.5 + 5 = 7.5V, что больше допустимых 3V3.


      1. vladimir_open-dev
        15.09.2016 15:50
        +1

        Как вы себе представляете, что датчик выдаст на выходе сигнал больший, чем его питание?


        1. mitasamodel
          15.09.2016 16:06

          Разумеется, это моя ошибка на невнимательность. Датчик выдаст своё напряжение питания.
          Основной посыл был в том, что датчик может выдать больше напряжения питания MCU.


    1. Leerooooy
      15.09.2016 20:49

      чем больше зависимость мВ/А, тем точнее, но это связано с разрядностью АЦП. Если поставить внешний АЦП на 24 бит, то можно получить на порядок лучшие результаты, но это удорожание.

      Низкий ток это сколько? 200 мА для датчика в 100А это вполне себе маленький ток. Микроамперы им разумеется не измерить, придется брать датчик с меньшим пределом, например, на 5А. Там вроде выход 180 мВ/А если память не отбило.


  1. mrigi
    15.09.2016 14:27

    А в чем радость переплачивать в два раза на digikey?


    1. k_sashka
      15.09.2016 16:06

      в два раза переплачивать чем где?
      лучше один раз купить рабочую деталь, чем 2 раза получить какой-нибудь перемаркированный хлам


      1. mrigi
        15.09.2016 17:27

        В Китае вестимо. За левый хлам из китайцев прекрасно выбиваются деньги, а товар остается вам бесплатно. В остальных (удачных) случаях вы просто платите в 2 раза меньше.


        1. k_sashka
          15.09.2016 17:42

          1. Вы ждете товар около месяца, а не 5-9 дней
          2. Для диспута необходимо доказать, что товар перемаркирован и его параметры не соответствуют спецификации
          3. Для всех деталей из китая необходимо будет проводить входное тестирование на соответствие параметров
          можно еще несколько пунктов написать, но думаю и этих будет достаточно

          для любительских целей купить 1-2 ардуины и радоваться это подойдет, а вот для работы или разработки — все не так уж сказочно

          и да, в случае диспута Вам бесплатно остается не товар, а хлам, который и применить то можно будет с трудом
          это все так, из личного опыта :)


        1. mitasamodel
          15.09.2016 17:52

          Одно дело, если вам привезли явно что-то не то. Скажем, вы заказывали танталовые конденсаторы 470uF, а привезли танталовые конденсаторы с *маркировкой* 470 (47uF, соответственно). Это видно сразу и можно поругаться.

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


        1. Androniy
          15.09.2016 20:50

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


        1. Leerooooy
          15.09.2016 20:52

          В 2 раза переплачиваю? Это почему? Основная часть компонентов там дешевле китая. Но самое главное — там оригиналы. Я не хочу мучиться потом с поиском косяка, убить 2 недели чтобы понять, что компоненты хлам левый. Время оно деньги.

          Да и быстрее доставка + с юр. лицом никаких проблем по белой кассе.


  1. cepreu
    15.09.2016 15:44

    Используем эти датчики на наших коптерах, хочу отметить что они очень чувствительны к помехам от ЭМП, точных цифр нет, но на датчиках ACS758LCB-100u, в зависимости от расположения силовых проводов, показания изменялись на 1-10А. Пока опытным путём не выяснил, очень нервировали такие показания на практически выключенном оборудовании, где расчётное потребление не должно было превышать 1А.


    1. Leerooooy
      15.09.2016 20:53

      Датчики эти крайне чувствительный к наводкам, поэтому в реальном устройстве необходим ФНЧ на 150 кГц по Vout. Так же необходимо собирать данные за 20-30 замеров и потом усреднять данные, так картинка более реальная будет.


  1. maxmanvp
    15.09.2016 15:45

    Есть и совсем бесконтактные датчики, например от Honeywell, их просто на шину крепят и всё, тоже на эфф. Холла.

    Недавно пришлось работать с датчиком тока фирмы АББ, под названием FOCS, работает с оптоволокном вокруг проводника с током, измеряет поляризацию света в энтом самом оптоволокне, в общем мощная штукарация, стоит 100к Евро…


    1. mcarr0w
      15.09.2016 20:20

      Оптический ТТ? ставите куда или игрались просто?


      1. maxmanvp
        16.09.2016 06:09

        Стоит на мощном выпрямителе 60 кА, после 5-ти лет работы датчик стал иметь собственное мнение об измерениях далекое от реальности, пришлось заняться ремонтом…


  1. sav13
    15.09.2016 18:51

    Правильно ли я понимаю?
    Датчик будет давать напряжение от 1/2 Vcc до какой то величины. Идеально до VCC, но данном случае 4.33В при 100А
    Встроенный АЦП мерит от 0 до VCC. Большинство контроллеров имеют 10-битный АЦП, который я могу использовать только в лучшем случае на половину своего диапазона.


    1. Meklon
      15.09.2016 20:50
      +2

      Всегда можно с операционными усилителями поработать, чтобы нужный диапазон на АЦП развернуть.


    1. Andy_Big
      15.09.2016 21:43

      Если ток только одной (положительной) полярности, то да, от 1/2 до VCC. Но зачем для таких случаев брать датчики, рассчитанные на двухполярный ток? Берите с индексом U и будет Вам диапазон от 0 до VCC :)


      1. Leerooooy
        15.09.2016 21:53

        С индексом В более универсален, я их беру по 10-20 штук. Кто знает куда он в итоге встанет?)


        1. Andy_Big
          15.09.2016 21:54

          С этим согласен, но это если брать их «куда-нить пригодятся», а не «вот сюда нужен датчик тока» :)


  1. kalobyte
    15.09.2016 20:55

    пиши лучше про сдр
    как в коде на C# сделать ам демодулятор и как это выглядит с точки зрения матана и почему так, а не этак
    и графики анимированные там надо

    датчики такие есть на 5а, показания гуляют от магнитных полей соседних проводов


    1. Leerooooy
      15.09.2016 20:56

      К сожалению в С# практически не обладаю знаниями, пишу на верилоге) Да и С# вроде для ПЛИС можно использовать лишь при применение NIOS на SoC.


      1. kalobyte
        16.09.2016 19:15

        а зачем плис? есть же rtlsdr и приемник за 10 баксов, там уже написаны заготовки, но демодуляторов нет


        1. Leerooooy
          16.09.2016 22:48

          это игрушка и не более. Все что обладает чуйкой 0.05 мкВ и может полосу от 2 до 60 МГц оцифровать и вывести в панораму стоит уже пару тысяч баксов. Да и передачи нету. Хотя на деле у меня самая главная задача — избавиться от компа и обработать все в ПЛИС, дальше звук в кодек, водопад в STM и на TFT панельку.


  1. x8973
    16.09.2016 08:45

    Очень понравились мне эти датчики, особенно гальванической развязкой с измеряемой цепью. Но паять измеряющие лапы даже 40-ваттным паяльником — сущая мука.


  1. Arxitektor
    16.09.2016 08:47

    Есть и совсем бесконтактные датчики, например от Honeywell.
    А подробнее можно?
    как у них с точностью?
    для коптеров.


    1. maxmanvp
      16.09.2016 11:08

      Да, это так называемые датчики магнитного поля с линейным выходом, выдают сигнал пропорциональный магнитному потоку создаваемому током в проводнике. Они очень малогабаритные и крепятся жестко на проводник, так как при смещении датчика (удалении или приближении) будет и меняться поток в пространстве, чем ближе, тем надежнее.
      Вот например такой: SS59ET, Датчик Холла линейный -/+1000G в корпусе SOT23…


    1. Leerooooy
      16.09.2016 11:29

      В плане точности спокойно рассчитывать можно на те же +-1%. В идеале можно и лучшую точность получить. Единственный минус у них — ценник.


    1. lingvo
      16.09.2016 16:08

      Есть еще вроде датчики тока в которых микросхема SO-8 просто стоит над проводником на плате и меряет его ток по создаваемому магнитному полю. Но там точность плюс минус бесконечность.


      1. Leerooooy
        16.09.2016 22:50

        Есть и такие, кстати если верить ДШ и отзывам достаточно точные, главное выдержать зазор от «жопы» корпуса до платы. Хотя в живую не работал с такими, что-то конкретное не скажу.


  1. vchs
    16.09.2016 15:14

    А можно для них окончательную принципиальную «рабочую» схему подключения увидеть?


    1. Leerooooy
      16.09.2016 22:51

      Рабочую схему чего именно? Я дал корм для ума и пример описал как с ними работать. В следующей статье покажу как с переменкой. Готовое устройство уже под свои задачи сами)) Если будут вопросы подсказать готов.


      1. vchs
        16.09.2016 23:11

        Я не силен в аналоговой части. С питанием понятно, а вот с выходными фильтрами я не очень понял по обрывкам брошенных фраз.