Ничего не найдено :(
    В гостях у Самоделкина! » Электроника » Arduino » Электронная нагрузка под управлением Arduino

    Электронная нагрузка под управлением Arduino


    При работе с электрическими источниками питания бывают случаи, когда необходимо проверить их работу под нагрузкой. В самых простых случаях в качестве нагрузки можно использовать попавшегося под руки потребителя — лампу накаливания нужной мощности или мощный проволочный резистор. Это, конечно, не всегда удобно, когда потребителя нужной мощности под рукой нет. В таких случаях выручит электронная нагрузка — потребитель, у которого можно настроить протекающий через него ток. Однако это всё статическая нагрузка, и извратиться при желании можно, совсем другое дело, когда речь идёт о динамической нагрузке. В таких случаях без электронной нагрузки уже не обойтись. Помимо этого электронная нагрузка, как правило, имеет различные режимы тестирования источников питания. В этой статье я предлагаю Вам рассмотреть, как изготовить самодельную электронную нагрузку на основе Arduino, ЖК-дисплея, поворотного энкодера и мощного полевого транзистора для управления нагрузкой. Транзистор имеет хорошую систему охлаждения, поэтому он может выдерживать высокие нагрузки.



    Необходимые компоненты:

    1 х Arduino NANO (или UNO, или Pro Mini)
    1 х ЖК-дисплей 16x2 c i2c модулем
    1 х Модуль 16-битного АЦП ADS1115
    1 х Модуль 12-битного ЦАП MCP4725
    2 х кнопки на замыкание без фиксации, тактовые или любые подходящие
    1 х Поворотный энкодер
    1 х Транзистор IRF3205
    1 х Блок питания 9-12 В от старого сканера, модема и т.д.
    1 х Резистор 1 Ом / 5 Вт
    4 х Клеммы винтовые
    1 х Разъем+штекер 2,1 х 5,5 мм
    1 х Выключатель (включатель?)
    Провода сечением 0,8-1,0 мм2 для силовых цепей
    Любой тонкий провод для подключения кнопок, энкодера и т.д.


    Помимо этого потребуется фанера для корпуса, радиатор с активным охлаждением, например кулер от процессора ПК.



    Схема



    Теперь о схеме. Это важно, и вам может понадобиться адаптировать её к вашим потребностям.
    • Прежде всего, 12В от блока питания идут в разрыв через тумблер включения, а затем к выводу Arduino Vin и к вентилятору. Arduino имеет встроенный стабилизатор напряжения на 5В, это напряжение и будет на выводах Vcc или +5V (подписывают по-разному). По этому напряжение 12 вольт нужно подключать именно к Vin, на вход этого стабилизатора. Все модули же буду цепляться как обычно к выводам Vcc и GND. Выводы SDA и SCL (А5 и А4) от Arduino подключаются ко всем модулям, подключаемых по шине i2c (ЦАП, АЦП и LCD дисплей).
    • Подключите энкодер к Vcc, GND и три его управляющих контакта к цифровым выводам Arduino D8, D9 и D10. Подключите кнопки к контактам D11 и D12. Также подключите зуммер к D3.
    • О делителе напряжения. В делителе использованы резисторы 10K и 100K, однако их реальное значение может отличаться от номинала, поэтому Вам, возможно, придется подправить множитель в коде.
    • Для определения тока используется шунт 1 Ом. Опять же, этот резистор вряд ли будет ровно 1 Ом, поэтому множитель также потребуется подобрать. При использовании высокоточных прецизионных резисторов такой проблемы не возникнет. Подключите выход ЦАП к затвору полевого транзистора. Load +, Load-, S + и S- - это винтовые клеммы, монтируемые на переднюю панель.
    Если вы хотите, чтобы нагрузка работала на ток больше 2,1 А, Вам потребуется увеличить напряжения на затворе транзистора. ЦАП не может выдать больше пяти вольт, так что в таком случае используйте другую схему с использованием операционного усилителя, которую Вы можете видеть ниже.



    Подготовьте транзистор

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




    Монтаж печатной платы

    На макетной плате распаяйте ардуино и модули. Для соединения адресных шин, питания 5V, модулей, энкодера и кнопок можно использовать маломощные провода. В силовой части от клемм к транзистору и шунту (крайняя правая часть схемы) необходимо использовать провода с большим сечением. Кроме того, подключите контакты ADC0 и ADC1 модуля ADS1115 к резистору 1 Ом. Провода эти должны быть как можно короче, чем длиннее эти соединения — тем большая погрешность измерения будет при включенной нагрузке.




    Ниже Вы можете увидеть соединения на нижней стороне макетной платы. Как Вы могли заметить, автор использовал толстый провод для некоторых дорожек, чтобы они могли выдерживать большой ток. А также обильно пропаял некоторые соединения по той же причине. Для удобства подключения модулей и дисплея использованы штыревые PBS разъёмы. На этом этапе можно произвести первые тесты и переходить к изготовлению корпуса.






    Корпус

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




    Затем автор приклеивает 4 деревянных крепления к нижней крышке и вклеивает в них гайки М3. Передняя панель изготавливается так же, как и остальной корпус. Для ЖК-дисплея печатается специальная панель. Далее автор решает, где разместить каждый элемент, делает отверстия и устанавливает все кнопки, ЖК-дисплей, энкодер и разъемы. Передняя панель прикручивается к корпусу, и все её элементы подключаются к плате. Плату автор закрепил при помощи клея, однако лучше делать это при помощи специальных стоек.




    Вентилятор устанавливается на своё место на задней панели. Для USB-разъема Arduino сбоку проделывается отверстие, чтобы была возможность обновить прошивку при необходимости с помощью USB-кабеля. Разъем основного питания 12 В расположен на задней панели. Вот и все, закройте корпус, закрутите винтами, и можно переходить к коду.




    Архивом в конце статьи Вы можете скачать код. Вам так же понадобятся библиотеки для ЖК-дисплея, модулей ADS1115 и MCP4725, эти библиотеки в том же архиве. Вам также понадобится библиотека BusIO, установите ее менеджером библиотек Arduino IDE. Скомпилируйте код и загрузите его в плату, а затем протестируйте контроллер.




    Настройки

    Это важная часть. Видите ли, считывая данные с ADS1115, мы получаем их в битовом значении. Чтобы перейти от битовых значений (от 0 до 65000), мы используем множитель. По умолчанию это «0,185 мВ» или «0,000185 В». В коде для измерения тока мы производим дифференциальное измерение напряжения на нагрузке «1 Ом». Поскольку нагрузка составляет 1 Ом, это даст равное текущее значение, поскольку «I = V / R» и R равно 1. НО !!! Вряд ли получится найти резистор ровно на 1 Ом, поэтому в случае автора он изменил множитель на 0,0001827. Возможно, Вам придется настроить эту переменную на другие значения, пока Вы не получите хорошие показания, поэтому во время настройки одновременно измеряйте значение тока с помощью внешнего мультиметра и отрегулируйте эту переменную до отображения верных результатов.


    То же самое касается и делителя напряжения. Видите ли, ADS1115 может измерять только до 5 В. Если входное напряжение будет выше — он будет поврежден. По этой причине используется делитель из резисторов 10K и 100K, что даёт значение 0.0909090. Итак, теперь множитель составляет 0,000185 / 0,0909090 = 0,002035. Снова же, так как сложно найти резисторы точно на 10K и 100K, множитель для измерения напряжения подправлен до 0,0020645. Просто сделайте то же самое, сравните напряжение на экране ЖК с показаниями внешнего мультиметра и отрегулируйте это значение до получения хороших результатов.


    const float multiplier = 0.0001827;    //Multiplier used for "current" read between ADC0 and ADC1 of the ADS1115
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    const float multiplier_A2 = 0.0020645;  //Multiplier for voltage read from the 10K/100K divider


    Скачать библиотеки и код одним архивом Вы можете тут: eload_kod.rar [58.74 Kb] (скачиваний: 18)
    Скачать файлы для печати на 3D принтере тут: stl.zip [232.08 Kb] (скачиваний: 11)

    Ну а на этом всё, и всем удачи в творчестве!

    Источник (Source)
    Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

    Ambilight - адаптивная фоновая подсветка для монитора на Arduino

    8.7
    Идея
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    8
    Описание
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    9
    Исполнение
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    Итоговая оценка: 8.56 из 10 (голосов: 3 / История оценок)

    Добавить комментарий

      • smilesmilesxaxaokdontknowyahoonea
        bossscratchfoolyesyes-yesaggressivesecret
        sorrydancedance2dance3pardonhelpdrinks
        stopfriendsgoodgoodgoodwhistleswoontongue
        smokeclappingcraydeclarederisivedon-t_mentiondownload
        heatirefullaugh1mdameetingmoskingnegative
        not_ipopcornpunishreadscarescaressearch
        tauntthank_youthisto_clueumnikacuteagree
        badbeeeblack_eyeblum3blushboastboredom
        censoredpleasantrysecret2threatenvictoryyusun_bespectacled
        shokrespektlolprevedwelcomekrutoyya_za
        ya_dobryihelperne_huliganne_othodifludbanclose
    15 комментариев
    ino53
    По-видимому, Гость Михаил послушал feonor12 и не появляется... Жаль, интересно было бы послушать, как он огрызается...
    Иван_Похмельев
    Цитата: ino53
    Дорогой Иван_Похмельев! Не сочтите за труд, поясните парню
    Что можно объяснять человеку, который об основах электронике знает только понаслышке, а в подтверждение своих заблуждений приводит реальную диаграмму, не понимая её сути...((
    Обратимся к документу, ссылку на который любезно предоставил Гость Михаил. Документ правильный, размещённый на приличном сайте, куда он попал практически прямиком с сайта производителя International Rectifier.
    Вот только незадача - нет в этом документе никакого запрета на работу транзистора в линейном режиме. Более того, в преамбуле прямо сказано: "The TO-220 package is universally preferred for all commercial-industrial applications at power dissipation levels to approximately 50 watts. ", то есть "Корпус TO-220 универсально предпочтителен для всех коммерческо-промышленных применений при рассеивании мощности уровня примерно до 50 Вт. ". Для всех, Карл!
    Запомним это число. Заодно посмотрим "Linear Derating Factor", то есть "линейный коэффициент снижения мощности", равный 1,3 W/°C , то есть, с повышением температуры на 1°C, допустимая рассеиваемая мощность снижается на 1,3 Вт. Кроме того, обратим внимание на тепловое сопротивление кристалл-корпус, равное 0,75 °C/W, и тепловое сопротивление корпус-радиатор, равное 0,5 °C/W.
    Понятно, что заявленные производителем 200 Вт допустимы только в импульсном режиме с учётом графиков ОБР (Maximum Safe Operating Area), на которые ссылается Гость Михаил. Но ничто не препятствует использованию транзистора в линейном режиме с учётом мощности 50 Вт и трёх вышеприведённых коэффициентов, а также Breakdown Voltage Temp. Coefficient - температурного коэффициента снижения напряжения пробоя. Так что при хорошем охлаждении ватт 20-30 в линейном режиме прекрасно обеспечиваются. То, что графики Maximum Safe Operating Area приведены только для импульсного режима, не значит, что нет подобного графика для постоянного тока. Только этот график труднее гарантировать, поэтому его и не публикуют.
    А теперь косвенное подтверждение этого: параметр Maximum Drain Current Vs. Case Temperature пронормирован не для импульсного режима.
    ino53
    Цитата: Korolev
    по моим чертежам, фрезеровали из меди, пескоструили!

    В семьдесят каком-то тоже из меди фрезернули, начерно, задолбался медь напильником дорабатывать. Не боковушки, зад. Тяжеленный. Собирал, дайбогпамяти, Салтыков-Сырицо, "усилитель с отрицательным выходным сопротивлением". Расширение стереобазы уже от себе добавлял.
    Korolev
    ino53,
    Теперь валяются - применить некуда, выбросить или распилить жалко
    Мне, в 1980 году, на заводе подобные, по моим чертежам, фрезеровали из меди, пескоструили! Собирал Шушуринский усилитель! yes
    ino53
    Цитата: feonor12
    тем более почти всё есть кроме радиатора.

    Вспомнилось - ждал, не дождался радиаторов-боковых стенок.
    И получился конец 2*50 Вт, а не 2*150. Теперь валяются - применить некуда, выбросить или распилить жалко cray
    feonor12 Автор
    Цитата: Гость Михаил
    это ваши проблемы и учить вас я не собираюсь!

    Ну так не пишите больше сюда.
    Цитата: Иван_Похмельев
    если уж применили Ардуино, то и надо на него возложить функцию контроля нахождения режима транзистора в пределах ОБР. Да и температурный контроль не помешает ввести.

    Это всё вопрос кода (и маленьких изменений в схеме). Возможно в дальнейшем автор улучшит прошивку, добавит новые функции и т.д.
    На счёт остального - в статье изложено всё, что в оригинале. То, что он не добавил надписи к кнопкам - как бы не мой косяк, а гадать какая кнопка какая и самому их подрисовывать в фотошопе, гадать или сидеть считать хар-ки - извините уж, делать мне больше нефиг типа.
    На счет схемы - если кто-то внесёт улучшения - я только за, ибо подумываю повторить возможно, тем более почти всё есть кроме радиатора.
    ino53
    Цитата: Иван_Похмельев
    Более того, разовью Вашу мысль: если уж применили Ардуино, то и надо на него возложить функцию контроля нахождения режима транзистора в пределах ОБР. Да и температурный контроль не помешает ввести.
    Ха, а ведь верно! goodgood
    Цитата: Иван_Похмельев
    3. Возможно, не лишним будет мощный диод последовательно с транзистором (от переполюсовки). Для проверки на малых напряжениях, ежели такое вдруг понадобится, можно в параллель ему поставить кнопку на большой ток.
    Первая фраза - 100% ЗА, вторая - может быть, маловероятно smile
    Цитата: Гость Михаил
    Он вообще не может работать в линейном режиме! ... ...Правильными я назвал те транзисторы, у которых есть график для линейного режима! ...вы не умеете читать даташиты, да и читать то что вам разжёвано - это ваши проблемы и учить вас я не собираюсь!
    Дорогой Иван_Похмельев! Не сочтите за труд, поясните парню... punish smile
    Гость Михаил
    ino53,
    Он вообще не может работать в линейном режиме! Всё же написал, даташит посмотрите! Правильными я назвал те транзисторы, у которых есть график для линейного режима! Если вы не умеете читать даташиты, да и читать то что вам разжёвано - это ваши проблемы и учить вас я не собираюсь!
    Иван_Похмельев
    Цитата: ino53
    типа такого рисунка не помешало бы
    Этот график называется ОБР - область безопасной работы, он приводится в справочных данных на мощные транзисторы.
    Более того, разовью Вашу мысль: если уж применили Ардуино, то и надо на него возложить функцию контроля нахождения режима транзистора в пределах ОБР. Да и температурный контроль не помешает ввести.

    И добавлю по самому изделию:
    1. На фотографиях нет обозначения органов управления и коммутации.
    2. Не приведены характеристики изделия.
    3. Возможно, не лишним будет мощный диод последовательно с транзистором (от переполюсовки). Для проверки на малых напряжениях, ежели такое вдруг понадобится, можно в параллель ему поставить кнопку на большой ток.
    ino53
    Цитата: Гость Михаил
    Не увидел в статье характеристик нагрузки. Видимо предполагается что они зависят от транзистора.

    Согласен, что то типа такого рисунка не помешало бы.
    А вот дальше
    Цитата: Гость Михаил
    Но указанный в статье транзистор вообще не тестировался на использование в линейном режиме!
    и от этого может рассеивать не 150 Вт, а только 60?
    Цитата: Гость Михаил
    Но даже если применить правильный транзистор
    " Казань брал...(с)", биполярные знаю, полевые... Не, правильных не знаю!
    feonor12 Автор
    Иван_Похмельев,
    Ага, так в оригинале было.., А0 и А1 (L+ и L-)
    Иван_Похмельев
    Почему-то полностью отсутствуют фильтрующие конденсаторы по обоим питаниям. ((
    подключите контакты ADC0 и ADC1 модуля ADS1115 к резистору 1 Ом.
    На схеме они почему-то не так обозначены.((
    Провода эти должны быть как можно короче, чем длиннее эти соединения — тем большая погрешность измерения будет при включенной нагрузке.
    От длины этих проводов погрешность не зависит. Просто, если эти провода не очень короткие, их надо свить в пару для подавления наводок.
    припаяйте провода с большим сечением к стоку, затвору и истоку.
    К затвору - с любым сечением.
    Гость Михаил
    feonor12,
    Этот транзистор предназначен только для работы в импульсном режиме. В даташите посмотрите график "Maximum Safe Operating Area" - если там есть сплошная линия - она и есть работа в линейном режиме, если её нет - только импульсный режим. Нагрузка работает именно в линейном режиме. Этот транзистор применять нельзя! 60 Ватт из-за теплового сопротивления кристал-подложка-радиатор. То есть какой бы вы радиатор ни поставили - кристалл будет греться больше чем радиатор. При повышении температуры максимальная рассеиваемая мощность падает, всё это есть в даташитах. Для увеличения рассеиваемой мощности нужно ставить два и более транзисторов с соответствующим охлаждением.
    feonor12 Автор
    Гость Михаил,
    Максимальный ток, который можно установить при использовании MCP4725 в этой нагрузке 2,1 ампера, так что мощность будет зависеть от напряжения источника питания, что уже ограничивается параметрами транзистора, для этого 55*2,1=115,5 ватта, что по даташиту не превышает его возможную рассеиваемую мощность (200 ватт). Не понял, почему не будет превышать 60.
    Гость Михаил
    Не увидел в статье характеристик нагрузки. Видимо предполагается что они зависят от транзистора. Но указанный в статье транзистор (https://eandc.ru/pdf/import/irf3205.pdf) вообще не тестировался на использование в линейном режиме! Но даже если применить правильный транзистор - мощность нагрузки при одном транзисторе не будет превышать 60 Вт. Вот транзисторы которые можно использовать в линейном режиме: IRFP4310ZPBF, IRFP1405PBF, IRFP2907ZPBF, IRFP4110PBF, IRFP7430PBF, IRFP3077PBF, IRFP4004PBF, IRFP4137PBF, IRFP4468PBF, IRFP4568PBF, IRFP4668PBF, IRFP4368PBF, IRFP250, IRF510, IRF520, IRF530, IRF540, SPW47N60C3, STW60N65M5. Список, конечно, не полный.

    Привет, Гость!


    Зарегистрируйтесь

    Или войдите на сайт, если уже зарегистрированы...

    Войти

    Добавьте самоделку

    Добавьте тему

    Онлайн чат

    Опрос
    А Вы уже рассказали на сайте о своей самоделке?

    Последние комментарии

    Все комментарии