Как сделать простой диммер для управления светом со смартфона на Ардуино

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

Диммер (от англ. dim — затемнять, в русском языке — светорегулятор, во французском — вариатор) — электронное устройство, предназначенное для изменения электрической мощности (регулятор мощности). Обычно используется для регулировки яркости света, излучаемого лампами накаливания или светодиодами.

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

Как сделать диммер на Ардуино своими руками

Вариант 1

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

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

У нас будет два варианта исполнения. Теоретический и конкретный альтернативный, уж, простите, за аналогии.

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

Чтобы было удобнее подключать Аrduino симистор, потребуется несколько клемм, но можно обойтись и без них. А для сборки всей схемы необходимо спроектировать и сделать макетную плату. Удобнее всего использовать 3-Д принтер, но можно создать её и старым химическим способом.

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

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

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

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

Вариант 2

Во втором варианте мы настроим яркость лампы, подключенной к цепи последовательным портом. Яркость можно изменить в соответствии с командами, которые мы предоставляем для последовательного порта. Мы будем использовать эти конкретные команды в этом проекте Ардуино диммера:

  • 0 для ВЫКЛЮЧЕНИЯ
  • 1 для яркости 25%
  • 2 для яркости 50%
  • 3 для яркости 75%
  • 4 для 100% яркости

Мы разработаем схему диммера с импульсной волной (PWM), которая будет использовать IRF830A в диодном мосте, который используется для управления напряжением на лампе с импульсной модуляцией (PWM). Напряжение источника питания для управления затвором подается с напряжением на полевом транзисторе с полевым эффектом из оксида металла (MOSFET).

Материалы

Вариант 1

Для удобства следует разбить список покупок на несколько основных пунктов, в зависимости от того, для чего мы будем использовать те или иные инструменты. Так, вам будет необходимо собрать:

  1. Детектор для отслеживания пересечений с нулем. Для этой части проекта потребуется H11AA11 с парой резисторов на 10кОм, а также мостовой выпрямитель на 400 Вольт и ещё пара резисторов на 30 кОм. Для удобства стоит прикупить и 1 разъем, а также стабилизатор на 5.1 Вольт.
  2. Драйвер для лампы. Здесь достаточно будет простого светодиода, а также MOC3021 с резистором 220 Ом (можно и больше), а еще резистором на 470 Ом и 1 кОм, и один симистор, подойдет версия TIC Также можете докупить ещё один разъем.
  3. Вспомогательные элементы. Конечно, при спайке не обойтись без проводов и куска текстолита 6 на 3 см.

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

Вариант 2

Для нашего второго альтернативного варианта нам понадобятся:

Создание платы

Мы рассмотрим самый бюджетный вариант – вытравку платы в соляном растворе, но прежде на неё необходимо будет наклеить проект, который вы можете создать в программе по желанию. Дальнейшая сборка не несёт никаких трудностей и секретов, необходимо будет воспользоваться панельками под оптроны и мостовые выпрямители. Также, при написании текста, для разметки элемента, его стоит делать зеркальным, так как при ЛУТе, отпечатавшийся рисунок примет правильный вид на меде, и перенесется так, что вы без проблем прочитаете все необходимые данные.

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

Также, при наличии оптрона H11AA11, мостовой выпрямитель можно не использовать, ведь в нем уже имеются два не параллельных диода, а также возможность работы с переменными токами. Совместимость с выводами 4N25 позволяет просто вставить его к припою с двумя перемычками, находящимися между 5 и 7 резистором, на нашей схеме.

Во втором варианте схема будет выглядеть так:

Какая программа необходима для устройства

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

Единственное, что стоит учесть – это использование переменной цикла, её стартовое значение стоит поставить не в 0, а в 1, а максимальный шаг варьируется от 1 до 5. Таким образом, нам будет подходить два вида диапазонов измерения – от 2 до 126, и от 0 до 128.

Код для альтернативного варианта у нас такой:

Скачать arduino-dimmer.ino

intledPin = 3;  void setup()  {  Serial.begin(9600);  Serial.println(“Serial connection started, waiting for instructions…n0 = Offn1 = 25%n2 =50%n3 = 75%n4 = 100%”);  }    void loop ()  {  if (Serial.available()) {  char ser = Serial.read(); //read serial as a character    //NOTE because the serial is read as “char” and not “int”, the read value must be compared to character numbers  //hence the quotes around the numbers in the case statement    switch (ser)  {  case ‘0’:  analogWrite(ledPin, 0);  break;    case ‘1’:  analogWrite(ledPin, 64);  break;    case ‘2’:  analogWrite(ledPin, 128);  break;    case ‘3’:  analogWrite(ledPin, 192);  break;    case ‘4’:  analogWrite(ledPin, 255);  break;  default:  Serial.println(“Invalid entry”);    }  }  }

Технологический процесс сборки

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

Как это выглядит в реальном виде:

Настройка и тестирование устройства

Наш второй вариант работает таким образом (на видео видно как к устройству подносится фонарик):

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

Но напрямую подключать также нельзя, здесь пригодится делитель напряжения в соотношении 1 к 20; дабы не греть лишний раз резисторы, подойдет номинал двести и десять килоОм. После аккуратного подключения устройство можно подсоединить к сети и, наконец, увидеть результаты своих трудов.

Главная Мастер-классы

<!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN” “http://www.w3.org/TR/REC-html40/loose.dtd”> <?xml encoding=”UTF-8″>

При производстве ремонта очень часто необходимы точные замеры расстояния от точки до точки. Да и помимо ремонта подобная задача бывает актуальной. И хорошо, если эти расстояния небольшие – можно воспользоваться рулеткой. Иногда использование этого инструмента бывает попросту невозможным. И вот тут на помощь приходят лазерные или ультразвуковые приборы. Но приобретение такого высокоточного инструмента не всем по карману. Поэтому попробуем разобраться, насколько сложным может быть самостоятельное изготовление дальномера из запчастей с китайских ресурсов на базе ардуино.

Что потребуется приобрести для сборки ультразвукового дальномера

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

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

ФОТО: YouTube.com

Жидкокристаллический дисплей, на котором будет отображаться информация о расстоянии до объекта

Вторым элементом, который напрямую будет контактировать с дисплеем, отметим I2C модуль (1602) для arduino. По сути, это ЖК-адаптер. Он может продаваться отдельно, хотя намного удобнее приобрести жидкокристаллический дисплей уже в сборе с модулем.

ФОТО: YouTube.com

I2C модуль для arduino – здесь он уже впаян на место и готов к работе

Следующий элемент – «глаза» будущего дальномера. В их роли выступает плата ультразвукового дальномера. Она довольно компактна, а потому проблем с размещением её в небольшой коробочке не будет.

ФОТО: YouTube.com
Ультразвуковой дальномер – именно он будет собирать и передавать данные о расстоянии к «мозгу» собранного прибора

И наконец, «сердце и мозг» изготавливаемого устройства – сама плата ардуино. В продаже она ещё девственно чиста, поэтому понадобится залить на неё скетч. Ссылка на него обязательно будет в сегодняшней статье.

ФОТО: YouTube.com
«Сердце и мозг» собираемого прибора – готовая печатная плата ардуино

Ну, и напоследок ‒ оставшиеся мелочи, необходимые для работы ультразвукового дальномера, среди которых:

  • батарея 9 В, типа «Крона» с коннектором;
  • выключатель;
  • любая пластиковая коробка, в которой поместятся все детали, несколько отрезков проводов.
ФОТО: YouTube.com
Остальные мелкие детали, которые понадобятся для работы

Первые шаги по изготовлению дальномера на ардуино

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

ФОТО: YouTube.com
Излишки пластика вырезаются любым доступным способом

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

ФОТО: YouTube.com
Элементы встали на место, пора поработать с ардуино

Программирование ардуино: как залить скетч

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

ФОТО: YouTube.com
Заливаем скетч на ардуино, после чего можно полностью собрать ультразвуковой дальномер

Окончательная сборка ультразвукового дальномера и оценка результата

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

ФОТО: YouTube.com
Схема ультразвукового дальномера на ардуино – ничего сложного, обозначена каждая точка

Что же должно получиться в итоге

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

ФОТО: YouTube.com
Все элементы зафиксированы, можно закрыть коробку
ФОТО: YouTube.com
Вот такой аккуратный прибор должен получиться в итоге

Проверка показаний ультразвукового дальномера

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

ФОТО: YouTube.com
Точно, как в аптеке: 30 см линейки + 1 см по причине выхода границы за шкалу

Заключительная часть

Многим начинающим домашним мастерам может показаться, что работать с ардуино очень сложно и этому нужно учиться долгое время. На самом деле стоит только один раз попробовать, чтобы это занятие увлекло человека настолько, что он сам начнёт изобретать различные приборы, требующие наличия подобной микросхемы. Тем более что стоимость необходимых элементов минимальна, а найти в сети нужные скетчи для той или иной цели крайне просто. Что же касается дальномера, то его можно сделать не только ультразвуковым, но и лазерным. Второй вариант будет даже более предпочтительным – всегда можно увидеть, нет ли препятствия на пути луча.

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

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

Когда мы думаем об импульсных металлодетекторах, основной темой является то, как фиксировать небольшие изменения напряжения в сигналах, связанных с поисковой катушкой. Эти изменения обычно очень малы. Наиболее очевидный подход заключается в использовании аналоговых входов «ATmega328». Но, глядя на спецификации, есть две основные проблемы: они в основном медленные, а разрешение (в большинстве случаев) низкое.

С другой стороны, металлоискатель на микроконтроллере работает на частоте 16 МГц и имеет довольно неплохие возможности синхронизации, а именно разрешение 0,0625 мкс при использовании тактовой частоты. Таким образом, вместо того, чтобы использовать аналоговый вход для считывания, самым простым способом восприятия небольших динамических изменений напряжения является сравнение изменения падения напряжения с течением времени при фиксированном опорном напряжении.

Для этой цели ATmega328 имеет подходящие особенности внутреннего компаратора между D6 и D7. Этот компаратор способен инициировать прерывание, что позволяет точно обрабатывать события. Используя его вместе с аккуратно закодированными процедурами синхронизации, такими как millis () и micos (), а также используя внутренний таймер ATmega328 с гораздо более высоким разрешением, Arduino — отличная основа для подобного рода металлоискателя.

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

Итоговый вариант кода для Arduino:

  // Defining all required pre variables etc. and setting up the registers   unsigned char clockSelectBits = _BV(CS10);    // no prescale, full xtal  void setup() {  pinMode(6,INPUT);           // + of the comparator - by setting them as INPUT, they are  // set to high impedance   pinMode(7,INPUT);  // - of the comparator - by setting them as INPUT, they are  // set to high impedance  cli();// stop interrupts  TCCR1A = 0;                     // set entire TCCR1A register to 0  TCCR1B = 0;                   // same for TCCR1B   TCNT1 = 0;                    // initialize counter value to 0;  TCCR1B |= clockSelectBits;    // sets prescaler and starts the clock  TIMSK1 = _BV(TOIE1);          // sets the timer overflow interrupt enable bit   sei();//allow interrupts  ACSR =  (0 << ACD) |    // Analog Comparator: Enabled  (0 << ACBG) |   // Analog Comparator Bandgap Select: AIN0 is applied to the positive input  (0 << ACO) |    // Analog Comparator Output: Off  (1 << ACI) |    // Analog Comparator Interrupt Flag: Clear Pending Interrupt  (1 << ACIE) |   // Analog Comparator Interrupt: Enabled  (0 << ACIC) |   // Analog Comparator Input Capture: Disabled  (0 << ACIS1 | 0 << ACIS0 // interrupt on output toggle  // (0 << ACIS1 | 1 << ACIS0 // reserved  // (1 << ACIS1 | 0 << ACIS0 // interrupt on falling output edge  // (1 << ACIS1 | 1 << ACIS0 // interrupt on rising input edge  ;  }    // this routine is called every time the comparator creates an interrupt  ISR(ANALOG_COMP_vect) {  oldSREG=SREG;  cli();  timeStamp=TCNT1;  SREG = oldSREG;  }    // this routine is called every time there is an overflow in internal counter   ISR(TIMER1_OVF_vect){  timer1_overflow_count++;  }    // this routine is used to reset the timer to 0  void resetTimer(void){  oldSREG = SREG;  cli();                          // Disable interrupts  TCNT1 = 0;                      //initialize counter value to 0  SREG = oldSREG;                 // Restore status register  TCCR1B |= clockSelectBits;      // sets prescaler and starts the clock  timer1_overflow_count=0; // resets overflow counter  }  </pre> Конечно, эта идея не совсем новая. Основная часть этого кода может быть другой. Попробуйте поискать в других источниках, например TPIMD. Шаг 1: Идея индукционного детектора на Arduino — флип-катушка  

Идея состоит в том, чтобы использовать Arduino как детектор импульсной индукции, как и в TPIMD, поскольку задумка с кривой затухания, похоже, работает очень хорошо. Проблема с импульсными индукционными детекторами заключается в том, что они обычно нуждаются в разном напряжении для работы. Одно напряжение для питания катушки и отдельное напряжение для обработки кривой затухания. Эти два источника напряжения всегда усложняют процесс постройки импульсных индукционных детекторов.

Рассматривая напряжение катушки в детекторе PI, полученную кривую можно разделить на две разные стадии. Первый этап — это сам импульс, питающий катушку и создающий магнитное поле (1). Второй этап — это кривая спада напряжения, начиная с пика напряжения, а затем быстро изменяясь на «безмощностное» напряжение катушки(2).

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

Чтобы решить эту основную проблему, катушку нужно «перевернуть» электронным путем после импульса. В этом случае импульс может быть положительным, и кривая затухания также останется положительной.

Для этого катушка должна быть изолирована от Vcc и GND после импульса. В этот момент существует только ток, протекающий через демпфирующий резистор. Эта изолированная система катушки и демпфирующего резистора может быть «ориентирована» на любое опорное напряжение. Это теоретически создаст комбинированную положительную кривую (см. нижнюю часть чертежа).

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

После некоторых экспериментов я остановился на следующей схеме:

Схема состоит из модуля Arduino Nano. Этот модуль управляет двумя МОП-транзисторами, питающими катушку (на SV3) через D10. Когда импульс на конце D10 заканчивается, оба МОП-транзистора изолируют катушку от 12V и GND.

Сохраненная энергия в катушке выходит через резистор R2 (220 Ом). В то же время резистор R1 (560 Ом) соединяет первую положительную сторону катушки с GND. Это изменяет отрицательную кривую затухания на резисторе R5 (330 Ом) до положительной кривой. Диоды защищают входной вывод Arduino.

R7 является делителем напряжения около 0,04 В. В настоящее время кривая затухания на D7 становится более отрицательной, чем 0,04 на D6, прерывание срабатывает, а длительность после окончания импульса сохраняется.

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

Шаг 2: Строим детектор (макет)

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

Светодиод D13 на плате Arduino Nano используется в качестве индикатора для металла.

Использование макета — самый быстрый способ сделать работающий детектор. Нужно провести некоторую проводку, но это может быть сделано на отдельном маленьком макете. На снимках это показано в 3 этапа, так как Arduino и МОП-транзисторы скрывают некоторые из проводов. При тестировании я случайно отключил диоды, не заметив сразу. Это особо не повлияло на поведение детектора. В версии на печатной плате я их оставил.

На рисунках не показаны подключения к OLED-дисплею 0,96. Этот дисплей подключен таким образом:

Этот OLED-дисплей необходим для первоначальной калибровки детектора. Это делается путем установки правильного напряжения на PIN6 Arduino. Это напряжение должно быть около 0,04 В. Дисплей помогает установить правильное напряжение.

Макетная версия работает очень хорошо, хотя, вероятно, не подходит использования в полевых условиях.

Шаг 3: Проект на печатной плате

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

Сделаны следующие изменения:

  1. Диоды были исключены.
  2. На контакты МОП-транзисторов добавлен резистор 10 Ом
  3. Напряжение питания делителя напряжения на D6 задается сигналом высокого уровня на D8
  4. Пин драйвера для МОП-транзисторов был изменен.

Таким образом можно создать одностороннюю печатную плату, которая может быть спаяна на универсальной печатной плате. Используя эту схему, вы получите рабочий PI-детектор с 8-10 внешними компонентами (в зависимости от того, используется ли OLED-дисплей и / или динамик).

Шаг 4: Настройка и использование детектора

Если детектор правильно построен и программа записана в Arduino, самым простым (если не единственным) способом настройки устройства является использование OLED-дисплея. Дисплей подключен к 5V, GND, A4, A5. Дисплей должен показывать «калибровку» после включения питания устройства. Через несколько секунд он должен сказать «калибровка окончена», и на дисплее должны отобразиться три цифры.

Первое число — это «контрольное значение», указанное во время калибровки. Второе значение — это последнее измеренное значение, а третье значение — среднее значение последних 32 измерений.

Эти три значения должны быть более или менее одинаковыми (в моих тестах до 1000). Среднее значение должно быть более или менее стабильным.

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

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

Может случиться, что дисплей зависает. Просто нажмите кнопку сброса и начните заново.

Для моей конфигурации (катушка: 18 оборотов20 см) стабильное значение составляет около 630-650. После установки нажмите кнопку сброса, аппарат снова откалибрует и все три значения будут в одном диапазоне. Если металл теперь поднести к катушке, светодиод на плате Arduino (D13) должен загореться. Прилагаемый динамик издает несколько щелчков (в исходном коде есть пространство для улучшений).

Во избежание высоких ожиданий:

Детектор обнаруживает некоторые вещи, но он остается очень простым и ограниченным.

Чтобы дать представление о возможностях, я сравнил некоторые другие детекторы со своими. Результаты по-прежнему весьма впечатляют для детектора с 8 внешними элементами, но не дотягивают до профессионального оборудования.

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

Файлы

За универсальным тестером будущее. Всего лишь при подсоединении щупов, универсальный пробник определяет сопротивление, ёмкость, ЭПС, диодную проводимость, распиновку и коэффициенты усиления транзисторов, прозванивает лампочки и светодиоды, сообщает на дисплее о повреждении электронного элемента. Работает подобный тестер автоматически, без переключения селектора или кнопок.

Для работы мультитестера нужен микроконтроллер минимум с 8 кБ флеш-памяти, такой как ATmega8, ATmega168, ATmega328.

Электрическая схема мультитестера на Arduino

Характеристики тестера электроэлементов на Arduino:

  1. Сопротивление: 0…50 МОм, точность до 0.01 Ом (на ATmega8 точность 0.1 Ом).
  2. Ёмкость: 25 пФ…100 мФ, точность 0,1 пФ.
  3. ЭПС (эквивалентное последовательное сопротивление) определяется для емкостей 90нФ…100 мФ.
  4. Биполярные транзисторы: нахождение базы, коллектора, эммитера (BCE) при проводимости NPN, PNP.
  5. Полевые транзисторы: N-канальные, P-канальные.
  6. Диоды, диодные сборки: кремниевые, германиевые, Шотки, определение анода катода.
  7. Стабилитроны: обратное напряжение пробоя менее 4,5 В.
  8. Тиристоры, семисторы: только маломощные.

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

Список комплектующих

  1. Плата Arduino nano V 3.0, можно Pro mini.
  2. LCD дисплей графический WH1602A на контроллере HD44780. Используйте только дисплей, поддерживающий кириллицу (сообщения на русском языке на экране). Прошивки на английском языке для примененной схемы подключения и задействованных функций не существует.
  3. Стабилизатор (на схеме IC1) — прецизионный LM336-Z2.5, MCP1702-5002, можно обычный 7805L.
  4. Кнопка с фиксацией SW1.
  5. Кнопка без фиксации SW2.
  6. Резистор переменный R7 — 10 кОм, 0.5 Вт.
  7. Резисторы R1, R3, R5 — 680 Ом, 0.25 Вт.
  8. Резисторы R2, R4, R6 — 470 кОм, 0.125 Вт.
  9. Резистор R8 — 100 Ом, 0.25 Вт.
  10. Резистор R9 — 22 кОм, 0.125 Вт.
  11. Резистор R10 — 10 кОм, 0.125 Вт.
  12. Резистор R11 — 3.3 кОм, 0.125 Вт.

Подключение питания

Для точности измерений тестера рекомендуется, но не обязательно, запитать его от прецизионного стабилизатора напряжения 5.00 В, например от MCP1702-5002.

При невыполнении этого условия, в случае использования менее точного стабилизатора типа 7805, настоятельно советуем подключить источник опорного напряжения (ИОН).

Стабилизированный ИОН на 2.5 В надо подсоединять к выводу А4 микроконтроллера. На приведенной электрической схеме это подключение не показано. Благодаря подключенному ИОН, мультиметр будет более точно измерять напряжение на батарейках VBAT, наибольший положительный потенциал на полупроводниках VСС.

В программе самодиагностики микроконтроллера ATmega заложено определение отсутствия ИОН. Эта функция самодиагностики активна только при подключении ножки А4 к напряжению 5 В через резистор 47 кОм.

Можно таки случайно закоротить ножки микросхемы А4 и А5. После этого начнутся проблемы с точностью измерения VBAT и VСС. Поэтому удаляйте несанкционированные мостики между выводами, смывайте сгоревший флюс с платы.

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

При организации питания прибора от сетевого адаптера 220/9–12 В, следует позаботиться об экранировании микроконтроллера, устранить пульсации на входе с помощью конденсатора. Нельзя близко располагать, как в одной плоскости, так и сверху снизу, входные цепи питания к плате Arduino.

Сборка измерительной схемы

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

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

Подключение к аналоговым выходам Arduino:

  • A0 — «минусовой» черный щуп.
  • A1 — «плюсовой» красный щуп.
  • A2 — «прозвоночный» желтый щуп.

Подключение к цифровым выходам Arduino:

  • D0 — получение RX на Arduino nano или mini.
  • D1 — передача TX на Arduino nano или mini.

Прошивка микроконтроллера

Загрузить прошивку в Arduino можно как с помощью программатора USB, так и применив другой Arduino nano для перепрограммирования. Мы же воспользуемся программатором USBasp и приложением SinaProg, о чем расскажем подробно.

  • Скачиваем и устанавливаем на ПК приложение SinaProg 2.1.
  • В поле Programmer находим свой программатор USBasp и нажимаем кнопку Search для поиска подключенного контроллера. 
  • После определения контроллера, скачиваем Aрхив с прошивкой для мультитестера на Arduino и распаковываем. 
  • В архиве две прошивки: TransistorTester.eep для работы памяти EEPROM микроконтроллера, TransistorTester.hex непосредственно для микроконтроллера. Сначала загружаем TransistorTester.eep в память EEPROM микроконтроллера.

Иконка выбора пути к прошивке

  • Загружаем аналогично TransistorTester.hex в микроконтроллер и запускаем Program.

Об успешном завершении прошивки дается сообщение в описании процесса установки

 

  • Загружаем TransistorTester.hex в микроконтроллер, аналогично как делали ранее.
  • После удачно осуществленной прошивки, отключаем программатор.

Дабы не было проблем с полным отсутствием отображения на дисплее, заливать в память EEPROM следует файл с расширением HEX, а не BIN.

Начинать работу с тестером надо после сброса на кнопке SW2 Reset.

Есть куча приборов, куда можно поместить собираемый универсальный пробник: старые мультиметры, токовые клещи, большие калькуляторы, даже ночные часы.

Как пример свой мультитестер на Arduino можно засунуть в корпус испорченного модема.

Автор: Виталий Петрович. Украина

Cписок сравнения: Каталог

Відгуки покупців про Одноканальный диммер 220В для Arduino от RobotDyn

Андрей (05.12.2020)

admin (09.12.2020)

Да, будет работать.

Ruslan S. (18.03.2021)

Игорь (12.12.2019)

admin (12.12.2019)

Пришлите нам на почту фото диммера с указанием резистора который греется. Мы уточним этот вопрос у производителя.

Сергей (02.12.2019)

Так что насчет 16А в описании товара? Нужно исправить, т.к. на самом диммере таких параметров не указано. Я как то не почитав отзывы заказал, будьте внимательны при заказе. Т.к. я приобретал для управления нагрузкой с током 10А.

admin (03.12.2019)

На плате установлен симистор с максимальным коммутируемым током 16А.

Сергей (10.01.2020)

admin (10.01.2020)

Есть еще вариант – принудительное охлаждение.

Иван (18.09.2019)

Потянет 1.8КВт?

admin (19.09.2019)

Потянет с дополнительным радиатором для симистора.

Максим (26.04.2019)

Описание точно правдиво? Можно подключать на данный диммер до 16А? 220В*16А=3.5КВт…

admin (26.04.2019)

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

Максим (03.05.2019)

admin (03.05.2019)

Имеется ввиду, что диммер может длительное время пропускать ток 2А, а также допускается кратковременная (до 1 сек) нагрузка вплоть до 5А. В такой ситуации необходимо принудительное охлаждение.

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
А как считаете Вы?
Напишите в комментариях, что вы думаете – согласны
ли со статьей или есть что добавить?
Добавить комментарий