Простая электронная нагрузка на микроконтроллере attiny45/85. схема

Варианты управления мощностью в нагрузке

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

  1. ФАЗОВОЕ УПРАВЛЕНИЕ. Здесь выходной сигнал по I в нагрузке имеет вид синусоиды. Выходное напряжение устанавливается на уровне 10, 50 и 90 процентов. Преимущества такой схемы очевидны — плавность сигнала на выходе, возможность подключения разных типов нагрузки. Минус — наличие помех в процессе переключения.
  2. УПРАВЛЕНИЕ С КОММУТАЦИЕЙ (В ПРОЦЕССЕ ПЕРЕХОДА ЧЕРЕЗ НОЛЬ). Плюс метода управления в том, что в процессе работы твердотельного реле не создаются помехи, мешающие третьей гармонике в процессе включения. Из недостатков — ограниченность применения. Такая схема управления подходит для емкостной и резистивной нагрузки. Использование ее с высокоиндуктивной нагрузкой не рекомендуется.

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

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

Схема подключения микроконтроллера AVR

Эта упрощенная схема подключения микроконтроллера так сказать необходимы минимум для запуска контроллера, по хорошему лучше добавить несколько внешних элементов. Провод показанный пунктиром от источника питания к БП необязателен. Если ты питаешь МК от внешнего источника то это провод лишний. Но лучше питать всю схему от одного источника — так больше вероятность того что все прошьется успешно. Для учебных целей схема подключения питания самый раз, светодиодиком там помигать или еще чего.

Вывод AREF это вход опорного напряжения АЦП, туда подается напряжение относительно которого будет считать АЦП. Можно использовать внутренний источник опорного напряжения величиной в 2.56 В либо использовать напряжение AVCC. На вывод AREF рекомендуется подключать конденсатор, это улучшает качество опорного напряжения АЦП и как в следствии правильность измерения АЦП. На входе в AVCC установлен дроссель и конденсатор между AVcc и GND. Также между выводами GND и VCC ставят керамический конденсатор номиналов в 100 нФ как можно ближе к выводам питания микросхемы — он сглаживает краткие импульсы помехи, которые получаются в результате работы самих микросхем. Также между выводами VCC и GND устанавливают конденсатор емкость в 47 мкФ для сглаживания более сильных бросков напряжения.

 Вывод сброса

В МК AVR есть внутренняя схема сброса и вывод reset внутри уже подтянут сопротивлением в 100 кОм к выводу Vcc. Но этой подтяжки не хватает, получается что микроконтроллер «выход» в сброс от незначительного потенциала на выводе. К примеру от прикосновения пальцем вывода RST, а иногда от случайного касания самой платы. Поэтому имеет смысл дополнительно подтянуть этот вывод резистором в 10 кОм. Меньшее значение резистора лучше не брать, потому что если вы используйте внутрисхемный программатор то он не сможет пересилить подтяжку и прошить микроконтроллер. Поэтому значение в 10 кОм в самый раз.

“Универсальное” электромагнитное реле

Электромагнитное реле является по сути управляемым механическим выключателем: подали на него ток – оно замкнуло контакты, сняли ток – разомкнуло. Контакты являются именно контактами: металлическими “пятаками”, которые прижимаются друг к другу. Именно поэтому такое реле может управлять как нагрузкой постоянного, так и переменного тока.

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

После изучения данного урока вы сами сможете её составить (транзистор и диод), а сейчас мы поговорим о модулях реле: готовая плата, на которой стоит само реле, а также цепи коммутации, защиты и даже оптическая развязка. Такие модули бывают “семейными” – с несколькими реле на борту. Спасибо китайцам за это! Смотрите варианты у меня в каталоге ссылок на Али.

Такое реле сделано специально для удобного управления с микроконтроллера: пины питания VCC (Vin, 5V) и GND подключаются к питанию, а далее реле управляется логическим сигналом, поданным на пин IN. С другой стороны стоит клеммник для подключения проводов, обычно контакты подписаны как NO, NC и COM. Это общепринятые названия пинов кнопок, переключателей и реле:

  • COM – Common, общий. Реле является переключающим, и пин COM является общим.
  • NO – Normal Open, нормально открытый. При неактивном реле данный контакт не соединён с COM. При активации реле он замыкается с COM.
  • NC – Normal Closed, нормально закрытый. При неактивном реле данный контакт соединён с COM. При активации реле он размыкается с COM.

Подключение нагрузки через реле думаю для всех является очевидным:

Важный момент: катушка реле в активном режиме потребляет около 60 мА, то есть подключать больше одного модуля реле при питании платы от USB не рекомендуется – уже появятся просадки по напряжению и помехи:

Такие модули реле бывают двух типов: низкого и высокого уровня. Реле низкого уровня переключается при наличии низкого сигнала (GND) на управляющем пине digitalWrite(pin, LOW) . Реле высокого уровня соответственно срабатывает от высокого уровня digitalWrite(pin, HIGH) . Какого типа вам досталось реле можно определить экспериментально, а можно прочитать на странице товара или на самой плате. Также существуют модули с выбором уровня:

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

  • Ограниченное количество переключений: механический контакт изнашивается, особенно при большой и/или индуктивной нагрузке.
  • Противно щёлкает!
  • При большой нагрузке реле может “залипнуть”, поэтому для больших токов нужно использовать более мощные реле, которые придётся включать при помощи… маленьких реле. Или транзисторов.
  • Необходимы дополнительные цепи для управления реле, так как катушка является индуктивной нагрузкой, и нагрузкой самой по себе слишком большой для пина МК (решается использованием китайского модуля реле).
  • Очень большие наводки на всю линию питания при коммутации индуктивной нагрузки.
  • Относительно долгое переключение (невозможно поставить детектор нуля, читай ниже), при управлении индуктивными цепями переменного тока можно попасть на большой индуктивный выброс, необходимо ставить искрогасящие цепи.

Важный момент связан с коммутацией светодиодных светильников и ламп, особенно дешёвых: у них прямо на входе стоит конденсатор, который при резком подключении в цепь становится очень мощным потребителем и приводит к скачку тока. Скачок может быть настолько большим, что 15-20 Ваттная светодиодная лампа буквально сваривает контакты реле и оно “залипает”! Данный эффект сильнее выражен на дешёвых лампах, будьте с ними аккуратнее (за инфу спасибо DAK). При помощи реле можно плавно управлять сильно инерционной нагрузкой, такой как большой обогреватель. Для этого нужно использовать сверхнизкочастотный ШИМ сигнал, у меня есть готовая библиотека. Не забываем, что реле противно щёлкает и изнашивается, поэтому для таких целей лучше подходит твердотельное реле, о котором мы поговорим ниже.

Конденсаторы по питанию

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

В схему необходимо установить и электролитический конденсатор емкостью 4-10 мкф. Он также является блокировочным фильтром, но на менее высоких частотах. Такой конденсатор можно устанавливать один для нескольких микросхем. Обычно на 2-3 корпуса микросхем.

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

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

Конденсатор для постоянного тока является изолятором. Но при установке конденсатора в цепи с непостоянным током он делается сопротивлением. Чем выше частота, тем меньшее сопротивление оказывает конденсатор. Следовательно, блокировочный конденсатор с малой емкостью пропускает через себя (шунтирует) высокочастотные сигналы (десятки и сотни Герц), а конденсатор с бОльшей емкостью — низкочастотные. Об этом я писал еще в статье

Распиновка Atmega8

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

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

Внимание!

Обратите внимание на такой факт: микросхема микроконтроллера может иметь (и имеет в данной модели) несколько выводов для подключения источника питания. То есть имеется несколько выводов для подключения «земли» — «общего провода», и несколько выводов для подачи положительного напряжения

Изготовители микроконтроллеров рекомендуют подключать соответствующие выводы вместе, т.е., минус подавать на все выводы, помеченные как Gnd (Ground — Земля), плюс — на все выводы помеченные как Vcc.

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

А теперь программное обеспечение

Драйвер программатора AVR Pocket

Драйвер Windows для программатора AVR Pocket – тот же, что используется программатором Adafruit USBTiny. Перейдите на страницу Adafruit и нажмите на ссылку для подписанного драйвера USBtinyISP, созданного с помощью libusb v1.12. Это позволит вам загрузить zip-файл, содержащий два файла installer.exe: один для 32-разрядных систем, второй для 64-разрядных. Дважды кликните по тому, что подходит для вашего компьютера с ОС Windows, и драйвер будет установлен.

Только после установки правильного драйвера Windows вы можете в первый раз подключить программатор AVR Pocket к компьютеру. Вам понадобится кабель USB-A на miniUSB-B. Когда вы подключитесь, загорится синий светодиод PWR и красный светодиод Stat1; два синих светодиода могут также загореться и/или замигать. Windows попытается найти драйвер, при необходимости, вы должны указать Windows расположение правильного драйвера. После правильной установки программатор AVR Pocket появится в диспетчере устройств в устройствах libusb-winXX как «USBtiny»; он не будет перечисляться как COM-порт. Смотрите скриншот ниже:

Программатор AVR Pocket в диспетчере устройств Windows

Atmel Studio 7

Как и многие фирмы-разработчики микроконтроллеров, Atmel имеет собственную интегрированную среду разработки (IDE), которая работает с их аппаратными предложениями: Atmel Studio 7. Хотя это не единственный способ программирования микроконтроллеров Atmel, но это наиболее полнофункциональный способ для Windows 7, 8 и 10 (и для 32-х, и для 64-х разрядных вервий); к сожалению, она не может использоваться с операционными системами Linux и Mac.

Количество опций в Atmel Studio 7 может показаться для нового пользователя огромным. Таким образом, поэтапный подход, представленный в данной статье, значительно упростит процесс знакомства. Начните с загрузки и установки IDE на ваш компьютер. Руководство пользователя Studio 7 и большое количество дополнительной информации также доступны для загрузки.

В Studio 7 включена поддержка нескольких аппаратных программаторов, но точный выбор зависит от того, какой микроконтроллер Atmel вы собираетесь использовать. На скриншоте ниже справа перечислены программаторы, поддерживающие ATmega328P.

Программаторы, поддерживающие ATmega328P

Как вы можете видеть, программатор AVR Pocket отсутствует в списке. Однако его всё еще можно использовать с Studio 7 с помощью программного обеспечения под названием AVRDude.

AVRDude

AVRDude – это утилита командной строки, которая используется для скачивания и загрузки данных с микроконтроллеров Atmel. Существуют версии, доступные и на Linux, и на Windows. На момент написания статьи последняя доступная версия – 6.3; ее можно скачать здесь. Пользователи Windows должны скачать avrdude-6.3-mingw32-zip (нажатие на ссылку запустит скачивание zip-файла!), распаковать файлы и установить AVRDude

Обратите внимание, что установка программы в корневой каталог диска необязательна, но упростит ее использование с Atmel Studio 7. Если доступна версия, более новая, чем 6.3, то вы можете установить ее по своему усмотрению

Руководство пользователя AVRDude доступно здесь.

Чтобы проверить правильность установки и работы AVRDude, выполните следующие действия:

  1. нажмите кнопку «Пуск» Windows;
  2. в поле поиска введите cmd и нажмите Enter. Откроется окно командной строки DOS;
  3. в командной строке перейдите в каталог, в котором установили AVRDude;
  4. введите и нажмите Enter. Если всё хорошо, AVRDude вернет список поддерживаемых устройств Atmel.

Смотрите скриншот ниже для примера процедуры

Обратите внимание, что скриншот был усечен и отображает только часть списка поддерживаемых устройств Atmel

Список поддерживаемых устройств

Генератор тактовой частоты

Но самым важным для нас в настоящее время является блок «Oscillator Circuits/Clock Generation» (Схема генератора/Генератор тактовой частоты).

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

Да и не лишним будет заранее просчитать: успеет ли МК выполнить тот или иной фрагмент программы за отведенное для этого время.

В даташите ищем соответствующую главу: «System Clock and Clock Options» (Тактовый генератор и его параметры). В ней видим раздел «Clock Sources» (Источники тактового сигнала), в котором имеется таблица с перечнем видов тактовых сигналов. В этом разделе указано, что данный МК имеет встроенный тактовый RC-генератор. В разделе «Default Clock Source» имеется указание о том, что МК продается уже настроенным для использования встроенного RC-генератора. При этом тактовая частота МК — 1 МГц.

Из раздела «Calibrated Internal RC Oscillator» (Калиброванный RC-генератор) узнаем, что встроенный RC-генератор имеет температурный дрейф в пределах 7,3 — 8,1 МГц. Может возникнуть вопрос: если частота встроенного тактового генератора 7,3 — 8,1 МГц, то как была получена частота 1 МГц? Дело в том, что тактовый сигнал попадает в схемы микроконтроллера через программируемый делитель частоты (Об это рассказано в разделе «System Clock Prescaler»).

В данном микроконтроллере он имеет несколько коэффициентов деления: 1, 2, 4 и 8. При выборе первого мы получим частоту самого тактового генератора, при включении последнего — в 8 раз меньше, т.е., 8/8=1 МГц. С учетом вышесказанного получаем, что тактовая частота данного МК при включенном делителе с коэффициентом 8 будет в пределах от 7,3/8 = 0,9125 МГц (9125 КГц) до 8,1/8 = 1,0125 МГц.

Обратите внимание на один ну очень важный факт: стабильность частоты дана при температуре МК 25 градусов по шкале Цельсия. Вспомним, что внутренний генератор выполнен по RC схеме

А емкость конденсатора очень зависит от температуры!

Импульсный металлоискатель — как это работает?

Представленный металлоискатель использует метод PI для генерации всплеска напряжения в поисковой катушке, подключенной параллельно конденсатору.

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

Паяльный фен YIHUA 8858
Обновленная версия, мощность: 600 Вт, расход воздуха: 240 л/час…

Подробнее

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

Обратите внимание, что в типичных конструкциях PI-детекторов отсутствует резонансный контур, и измеренный коэффициент немного отличается!

Инструкции пользователя

  1. Включите устройство. Процесс калибровки занимает около секунды и заканчивается сигналом зуммера.
  2. Используйте переменный резистор для регулировки чувствительности детектора (вы можете найти его где-то между непрерывным сигналом зуммера и полной тишиной).
  3. Устройство готово к работе!

Необходимые детали:

  • ATtiny13
  • T1 — полевой транзистор IRF3205 (N-канальный )
  • LED1 — светодиод
  • D1 — диод 1N4007
  • D2, D3 — диод 1N4148
  • R1- переменный резистор 10 кОм
  • R2, R3 – резистор 220 Ом (5%)
  • R4 – резистор 330 Ом (5%)
  • R5, R6 – резистор10 кОм (5%)
  • C1 – конденсатор 470 нФ
  • L1 – катушка диаметр 50-55 мм, около 30 витков, провод 0,5 мм.

Программное обеспечение

Этот код написан на C и может быть скомпилирован с помощью avr-gcc. Вся информация о том, как скомпилировать этот проект, находится здесь.

#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>

#define COIL_PIN PB2
#define BUZZER_PIN PB3
#define LED_PIN PB4

#define PULSE_WIDTH (32) // микросекунды
#define CALIBRATION_ATTEMPTS_MAX (128)
#define MEASUREMENT_ATTEMPTS_MAX (2048)

#define SIGNAL_ON() (PORTB |= _BV(LED_PIN)|_BV(BUZZER_PIN))
#define SIGNAL_OFF() (PORTB &= ~(_BV(LED_PIN)|_BV(BUZZER_PIN)))

static uint16_t
measure_decay(void)
{
 uint16_t i, counter = 0, decay = 0;
 PORTB |= _BV(COIL_PIN); // импульс on
 _delay_us(PULSE_WIDTH); // импульс задержка
 PORTB &= ~_BV(COIL_PIN); // импульс off

 for (i = 0; i < MEASUREMENT_ATTEMPTS_MAX; ++i) {
 if (ACSR & _BV(ACO)) {
 decay = counter;
 }
 counter++;
 }
 return decay;
}
static uint16_t
calibration(void)
{
 uint8_t i;
 uint16_t tmp, decay = 0;
 /* процесс калибровки */
 for (i = 0; i < CALIBRATION_ATTEMPTS_MAX; ++i) {
 tmp = measure_decay();
 if (tmp > decay) {
 decay = tmp;
 }
 }
 /* сигнализировать об окончании калибровки */
 for (i = 0; i < 3; ++i) {
 for (tmp = 0; tmp < 64; ++tmp) {
 SIGNAL_ON();
 _delay_ms(0.3);
 SIGNAL_OFF();
 _delay_ms(0.3);
 }
 _delay_ms(64);
 }
 return decay;
}
int
main(void)
{
uint16_t decay_cur, decay_max;
 /* setup */
 DDRB = _BV(COIL_PIN)|_BV(LED_PIN)|_BV(BUZZER_PIN); // установить контакты COIL, LED и BUZZER как выход
 ACSR = 0; // очистить регистр
 decay_max = calibration() - 1;
 _delay_ms(500);
 /* loop */
 while (1) {
 decay_cur = measure_decay();
 if (decay_cur < decay_max) {
 SIGNAL_ON();
 _delay_us(100);
 }
 SIGNAL_OFF();
 }
}

Тестер транзисторов / ESR-метр / генератор
Многофункциональный прибор для проверки транзисторов, диодов, тиристоров…

Подробнее

Микроконтроллеры ATmega328P и ATtiny45 семейства AVR

Программируемый чип ATmega328P представлен 28-контактным микроконтроллером, входящим в семейство AVR. Микроконтроллер хорошо знаком обладателям конструктора «Ардуино», где используется в качестве основного компонента электронного набора.

Однако микроконтроллер ATmega328P способен делать куда больше, чем выжимает из этого чипа популярный электронный конструктор «Arduino». Доказательств тому масса, стоит лишь посмотреть фирменный даташит (datasheet) микроконтроллера ATmega328P.

Микроконтроллеры семейства AVR нашли широчайшее применение в практике конструирования электронных устройств различной сложности. Серия ATMega и ATiny часто выбираются для аппаратного программирования

В тесной связке с «братом по крови» выступает другая микросхема — ATtiny45. Но здесь налицо явная отличительная черта: микроконтроллер ATtiny45 имеет 8-контктный форм-фактор.

Микросхема ATtiny45 обладает многими функциями, присущими AT328P. Однако функциональность ATtiny45 несколько ограничена по причине малого числа контактов ввода-вывода.

Традиционно программирование ATmega328P и ATtiny45 осуществляется через последовательный периферийный интерфейс (SPI). Контактная шина на 3 проводника, плюс «земля». По шине данных следуют сигналы:

  1. Вход приёма данных (MOSI)
  2. Выход передачи данных (MISO)
  3. Вход синхронизации приёма(SCK)

Сигнал SCK (SCLK) генерирует ведущее устройство (программатор). Этим сигналом обеспечивается синхронная приём/передача между ведущим и ведомым устройствами. По сути, интерфейс SPI следует рассматривать «синхронной» коммуникационной шиной.

Выбор физических программаторов под AVR микроконтроллеры

Существует масса программаторов, которыми доступно программировать ATmega328P и ATtiny45. Например, профессиональная разработка «Atmel-ICE» от родной чипам компании «Atmel».

AVR Pocket Programmer: 1 — входной интерфейс USB; 2 — ISP коллектор; 3 — выходной интерфейс ISP; 4 — буферные элементы 74АС125; 5 — переключатель режима питания; 6 — основной чип ATtiny 2313

Для любителей-электронщиков этот вариант финансово обременительный. Поэтому логичным видится более простой выбор – USB программатор «AVR Pocket Programmer». Нечто подобное доступно купить, к примеру, здесь. В продаже есть другие, более дешёвые программаторы (от 200 руб.), но не проверенные на практике.

На крайний случай несложно собрать программатор «AVR Pocket Programmer» своими руками. Принципиальная схема устройства построена на чипе ATtiny2313. Внешние элементы – лишь несколько резисторов, стабилитронов, светодиодов.

Принципиальная схема программатора AVR Pocket Programmer — достаточно простая, вполне доступная для сборки устройства программирования своими руками

Сигнальные линии (MICO, MOSI, SCK) желательно (но не обязательно) буферизировать. Поэтому следует дополнить схему буфером, к примеру, использовать микросхему 74AC125.

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

Для работы схемы программатора потребуется драйвер под USB. Возможно, потребуется также программный продукт Zadig, универсальный инсталлятор под Windows для установки общих драйверов USB (версия под Windows 7 и выше):

  • WinUSB
  • Libusb-Win32
  • Libusb0
  • LibusbK

Прошивка и утилиты для «AVR Pocket Programmer» находятся здесь. Драйвер программатора предпочтительно ставить в систему Windows до подключения физической схемы к ПК.

UART и ISP

Для подключения прошиваторов к голому чипу нам нужно будет изучить распиновку (pinout) на нужный микроконтроллер. Распиновки бывают цветные и красивые (часто с ошибками), а бывают более серьёзные и правильные. Лучше всего открыть даташит на нужный МК и на второй же странице найти 100% правильную распиновку. Например для ATmega328, ATtiny85 и ATtiny13:

На данных “схемах” подписаны все функции пинов МК. Чтобы загрузить прошивку через USB-TTL, то есть при помощи “живущего в памяти” загрузчика (bootloader), МК должен иметь на борту аппаратный UART, то есть пины RX и TX. Если таких пинов нет – прошивку можно загрузить только через ISP программатор. Вы спросите, а как же Digispark? Там стоит МК ATtiny85, у которого нет UART, но прошивка загружается через USB! Верно, но там хитрые разработчики сделали не менее хитрый загрузчик, который имитирует USB, и прошивка на Digispark загружается при помощи специальной программы, которая запускается в фоне, когда вы нажимаете кнопку “Загрузить” в Arduino IDE. Резюмируя для общего случая:

  • Если в МК прошит загрузчик (bootloader) и на борту имеется аппаратный UART (пины RX TX), прошивку можно загрузить через USB-TTL “загружатор”, также через него можно заниматься отладкой кода при помощи Serial.
  • Если в МК нет пинов RX TX, значит прошивку можно загрузить только при помощи ISP программатора, да и о загрузчике в целом можно забыть, не нужен он. Отладкой всё ещё можно пользоваться, подключив USB-TTL и подняв на МК “программный” UART. Например в ядре для ATtiny85 (об этом ниже) уже идёт встроенный SoftwareSerial и можно им пользоваться.

Внутривидовые отличия

Кроме основной классификации, стоит выделить отличия внутри существующих видов ТТР.

Выделяются такие типы:

  • ТРЕХФАЗНЫЕ — способны проводить токи величиной 10-120 Ампер одновременно в трех фазах.
  • РЕВЕРСИВНЫЕ — устройства, построенные на полупроводниковом принципе, способные работать в схемах с постоянным и переменным током. По назначению и принципу действия они идентичны однофазным. Обязательное условие — наличие управляющей цепи, защищающей устройство от ложного срабатывания. К преимуществам твердотельных трехфазных реле стоит отнести способность работать одновременно по 3-м фазам, а также продолжительный ресурс. Повышенный срок службы объясняется наличием надежной изоляции и продуманной управляющей цепи. В процессе применения твердотельных моделей нет шума, искр, дребезжания при переключениях и других негативных факторов.
  • ОДНОФАЗНЫЕ — изделия, обеспечивающие разделение цепи при переходе синусоиды через ноль. ТТР работает в следующем диапазоне — 10-500 А. Управление осуществляется несколькими способами.

Терморезистор: назначение, сопротивление и характеристики, маркировка, принцип работы, как проверить и подключить

Недостатки

Кроме положительных качеств твердотельных реле, стоит выделить и ряд недостатков:

  • В открытом виде происходит нагрев изделия из-за высокого сопротивления в цепи p-n перехода. Чтобы избежать негативных последствий в приборах, пропускающих через себя повышенные токи, требуется предусмотреть охлаждение.
  • В закрытом виде сопротивление увеличивается, и появляется обратный ток утечки (измеряется в мА).
  • При съеме вольтамперной характеристики заметен ее нелинейный характер.
  • Некоторые виды твердотельных реле требуют строго соблюдения полярности при подключении выходных цепей. Это касается тех приборов, которые рассчитаны на работу в условиях постоянного тока.
  • В случае поломки высок риск перекрытия контактов на входе. Причиной может стать пробой силового ключа. Для сравнения контакты классических реле (при выходе из строя) остаются в разомкнутом виде.
  • Требуется защита от ошибочных срабатываний, вызванных бросками напряжения. Это обусловлено высокой скоростью срабатывания.
  • Твердотельные реле пропускают ток по обратному пути с небольшой задержкой, что обусловлено применением полупроводниковых элементов в схеме.

Общий принцип (алгоритм) работы схемы и скетча в микроконтроллере

 Принцип работы устройства следующий. У нас есть два входа, один для отрицательного потенциала (7 ножка — in), второй для положительного (2 ножка – in1)

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

 В итоге, у нас начнет включаться вначале первая нагрузка (5 ножка – out1), затем вторая (6 ножка — out), потом выключаться первая, потом вторая. Весь этот алгоритм реализован за счет работы низкоточных управляющих сигналов от микроконтроллера, а вот силовые токи коммутируются через транзисторы P3055LD, которые как раз и являются исполнительными устройствами. Так как силовые токи идут через транзисторы, то вход на них и выход на землю имеют более толстые дорожки на плате, это как раз и обеспечивает работу с более высокими токами, гарантирую работу последующих исполнительных устройств и надежность коммутации.

Подключение программатора

Программатор, или Ардуину в качестве программатора, подключить очень просто. Смотрим распиновку и подключаем:

  • Шину ISP: пины MOSI, MISO и SCK. Они есть на всех МК
  • Сброс RST
  • Землю GND. Любую из имеющихся, они соединены внутри МК
  • Если МК не питается от своего источника, подключаем заодно VCC

Например ATmega328p подключаем к USB ASP (обсуждали в прошлом уроке) 6-пин вот так:  Примечание: да, другие компоненты не нужны. Новый (из магазина)  МК тактируется от внутреннего генератора на 8 МГц и может без проблем прошиваться прямо так как на схеме выше. Тиньки к тому же USB ASP подключаются так: Для удобства я использую макетку-дигиспарк, на которой разведены пины как раз под ISP 6-пин хэдер: втыкается выпирающим “ключом” в сторону МК. В плате выведены 8 пинов, нам нужны верхние 6 (на фото видно не запаянные пины ниже штекера). Купить можно тут.   Также можно прошивать МК через Arduino (Arduino as ISP, обсуждали в прошлом уроке). Схема для ATtiny85:   Примечание: конденсатор нужен обязательно! Подключили. Что дальше? Дальше мы уже можем работать с фьюзами через программу avrdudeprog (обсуждали в прошлом уроке), выбрав в списке соответствующий программатор и в списке МК – соответствующий МК. Также через эту программу можно загрузить скомпилированный “бинарник” – файл прошивки. Но нас всё-таки интересует работа через Arduino IDE.

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Семинар по технике
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: