- Как проверить микроконтроллер на исправность
- Все про контроллеры электросамоката | Схема, проверка, ремонт
- Принцип работы контроллера
- Схема подключения и распиновка контроллера электросамоката
- Электробайк. Контроллер двигателя своими руками
- Применение
- Устройство двигателя
- Цикл работы
- Транзисторы и Н-мост
- Прототип на Ардуино
- Мостовые драйверы
- Аппаратное прерывание
- Прототип на базе микросхемы MC33035
- Планы на будущее контроллера
Как проверить микроконтроллер на исправность
В ремонте техники и сборке схем всегда нужно быть уверенным в исправности всех элементов, а иначе вы зря потратите время. Микроконтроллеры тоже могут сгореть, но как его проверить, если нет внешних признаков: трещин на корпусе, обугленных участков, запаха гари и прочего? Для этого нужно:
Источник питания со стабилизированным напряжением;
Внимание:
Полная проверка всех узлов микроконтроллера трудна – лучший способ заменить заведомо исправным, или на имеющийся прошить другой программный код и проверить его выполнение. При этом программа должна включать как проверку всех пинов (например, включение и отключение светодиодов через заданный промежуток времени), а также цепи прерываний и прочего.
Теория
Микроконтроллер – это сложное устройство в нём многофункциональных узлов:
интерфейсы и прочее.
Поэтому при диагностике микроконтроллера возникают проблемы:
Работа очевидных узлов не гарантирует работу остальных составных частей.
Прежде чем приступать к диагностике любой интегральной микросхемы нужно ознакомиться с технической документацией, чтобы её найти напишите в поисковике фразу типа: «название элемента datasheet», как вариант – «atmega328 datasheet».
На первых же листах вы увидите базовые сведения об элементе, для примера рассмотрим отдельные моменты из даташита на распространенную 328-ю атмегу, допустим, она у нас в dip28 корпусе, Нужно найти цоколевки микроконтроллеров в разных корпусах, рассмотрим интересующий нас dip28.
Первое на что мы обратим внимание – это то, что выводы 7 и 8 отвечают за плюс питания и общий провод. Теперь нам нужно узнать характеристики цепей питания и потребление микроконтроллера. Напряжение питания от 1.8 до 5.5 В, ток потребляемый в активном режиме – 0.2 мА, в режиме пониженного энергопотребления – 0.75 мкА, при этом включены 32 кГц часы реального времени. Температурный диапазон от -40 до 105 градусов цельсия.
Этих сведений нам достаточно, чтобы провести базовую диагностику.
Основные причины
Микроконтроллеры выходят из строя, как по неконтролируемым обстоятельствам, так и из-за неверного обращения:
1. Перегрев при работе.
2. Перегрев при пайке.
3. Перегрузка выводов.
4. Переполюсовка питания.
5. Статическое электричество.
6. Всплески в цепях питания.
7. Механические повреждения.
8. Воздействие влаги.
Рассмотрим подробно каждую из них:
1. Перегрев может возникнуть, если вы эксплуатируете устройство в горячем месте, или если вы свою конструкцию поместили в слишком маленький корпус. Температуру микроконтроллера может повысить и слишком плотный монтаж, неверная разводка печатной платы, когда рядом с ним находятся греющиеся элементы – резисторы, транзисторы силовых цепей, линейные стабилизаторы питания. Максимально допустимые температуры распространенных микроконтроллеров лежат в пределах 80-150 градусов цельсия.
2. Если паять слишком мощным паяльником или долго держать жало на ножках вы можете перегреть мк. Тепло через выводы дойдёт до кристалла и разрушит его или соединение его с пинами.
3. Перегрузка выводов возникает из-за неверных схемотехнических решений и коротких замыканий на землю.
4. Переполюсовка, т.е. подача на Vcc минуса питания, а на GND – плюса может быть следствием неправильной установки ИМС на печатную плату, или неверного подключения к программатору.
5. Статическое электричество может повредить чип, как при монтаже, если вы не используете антистатическую атрибутику и заземление, так и в процессе работы.
6. Если произошел сбой, пробило стабилизатор или еще по какой-то причине на микроконтроллер было подано напряжение выше допустимого – он вряд ли останется цел. Это зависит от продолжительности воздействия аварийной ситуации.
7. Также не стоит слишком усердствовать при монтаже детали или разборке устройства, чтобы не повредить ножки и корпус элемента.
8. Влага становится причиной окислов, приводит к потере контактов, короткого замыкания. Причем речь идет не только о прямом попадании жидкости на плату, но и о длительной работе в условиях с повышенной влажностью (возле водоёмов и в подвалах).
Проверяем микроконтроллер без инструментов
Начните с внешнего осмотра: корпус должен быть целым, пайка выводов должна быть безупречной, без микротрещин и окислов. Это можно сделать даже с помощью обычного увеличительного стекла.
Если устройство вообще не работает – проверьте температуру микроконтроллера, если он сильно нагружен, он может греться, но не обжигать, т.е. температура корпуса должна быть такой, чтобы палец терпел при долгом удерживании. Больше без инструмента вы ничего не сделаете.
Проверка мультиметром
Проверьте, приходит ли напряжение на выводы Vcc и Gnd. Если напряжение в норме нужно замерить ток, для этого удобно разрезать дорожку, ведущую к выводу питания Vcc, тогда вы сможете локализоровать измерения до конкретной микросхемы, без влияния параллельно подключенных элементов.
Не забудьте зачистить покрытие платы до медного слоя в том месте, где будете прикасаться щупом. Если разрезать аккуратно, восстановить дорожку можно каплей припоя, или кусочком меди, например из обмотки трансформатора.
Как вариант можно запитать микроконтроллер от внешнего источника питания 5В (или другого подходящего напряжения), и замерить потребление, но дорожку резать все равно нужно, чтобы исключить влияние других элементов.
Для проведения всех измерений нам достаточно сведений из даташита. Не будет лишним посмотреть, на какое напряжение рассчитан стабилизатор питания для микроконтроллера. Дело в том, что разные микроконтроллерные схемы питаются от разных напряжений, это может быть и 3.3В, и 5В и другие. Напряжение может присутствовать, но не соответствовать номиналу.
Если напряжения нет – проверьте, нет ли КЗ в цепи питания, и на остальных ножках. Чтобы быстро это сделать отключите питание платы, включите мультиметр в режим прозвонки, поставьте один щуп на общий провод платы (массу).
Обычно она проходит по периметру платы, а на местах крепления с корпусом имеются залуженные площадки или на корпусах разъёмов. А вторым проведите по всем выводам микросхемы. Если он где-то запищит – проверьте что это за пин, прозвонка должна сработать на выводе GND (8-й вывод на atmega328).
Если не сработала – возможно, оборвана цепь между микроконтроллером и общим проводом. Если сработала на других ножках – смотрите по схеме, нет ли низкоомных сопротивлений между пином и минусом. Если нет – нужно выпаять микроконтроллер и прозвонить повторно. То же самое проверяем, но теперь между плюсом питания (с 7-м выводом) и выводами микроконтроллера. При желании прозваниваются все ножки между собой и проверяется схема подключения.
Проверка осциллографом
Осциллограф – глаза электронщика. С его помощью вы можете проверить наличие генерации на резонаторе. Он подключается между выводами XTAL1,2 (ножки 9 и 10).
Но щуп осциллографа имеет ёмкость, обычно 100 пФ, если установить делитель на 10 ёмкость щупа снизится до 20 пФ. Это вносит изменения в сигнал. Но для проверки работоспособности это не столь существенно, нам нужно увидеть есть ли колебания вообще. Сигнал должен иметь форму наподобие этой, и частоту соответствующую конкретному экземпляру.
Если в схеме используется внешняя память, то проверить можно очень легко. На линии обмена данными должны быть пачки прямоугольных импульсов.
Это значит, что микроконтроллер исправно выполняет код и обменивается информацией с памятью.
Используем программатор
Если выпаятьмикроконтроллер и подключить его к программатору можно проверить его реакцию. Для этого в программе на ПК нажмите кнопку Read, после чего вы увидите ID программатора, на AVR можно попробовать читать фьюзы. Если нет защиты от чтения, вы можете считать дамп прошивки, загрузить другую программу, проверить работу на известном вам коде.Это эффективный и простой способ диагностики неисправностей микроконтроллера.
Программатор может быть как специализированным, типа USBASP для семейства АВР:
Так и универсальный, типа Miniprog.
Схема подключения USBASP к atmega 328:
Заключение
Как таковая проверка микроконтроллера не отличается от проверки любой другой микросхемы, разве что у вас появляется возможность использовать программатор и считать информацию микроконтроллера. Так вы убедитесь в его возможности взаимосвязи с ПК. Тем не менее, случаются неисправности, которые нельзя детектировать таким образом.
Вообще управляющее устройство редко выходит из строя, чаще проблема заключается в обвязке, поэтому не стоит сразу же лезть к микроконтроллеру со всем инструментарием, проверьте всю схему, чтобы не получить проблем с последующей прошивкой.
Любите умные гаджеты и DIY? Станьте специалистом в сфере Internet of Things и создайте сеть умных гаджетов!
Записывайтесь в онлайн-университет от GeekBrains:
Изучить C, механизмы отладки и программирования микроконтроллеров;
Получить опыт работы с реальными проектами, в команде и самостоятельно;
Получить удостоверение и сертификат, подтверждающие полученные знания.
Starter box для первых экспериментов в подарок!
После прохождения курса в вашем портфолио будет: метостанция с функцией часов и встроенной игрой, распределенная сеть устройств, устройства регулирования температуры (ПИД-регулятор), устройство контроля влажности воздуха, система умного полива растений, устройство контроля протечки воды.
Вы получите диплом о профессиональной переподготовке и электронный сертификат, которые можно добавить в портфолио и показать работодателю.
Источник
Все про контроллеры электросамоката | Схема, проверка, ремонт
Электросамокат отличается от обычного самоката наличием дополнительных компонентов. Главные из них – встроенный в колесо бесколлекторный электродвигатель, аккумуляторная батарея и контроллер. Аккумуляторная батарея обеспечивает автономное питание мотора, а коллектор отвечает за его корректное управление и контроль работы. Среди представленных в продаже электронных компонентов есть масса готовых решений, позволяющих снабдить электроприводом как самокат, так и другие виды персонального транспорта.
Предшественники современных контроллеров напоминали массивный реостат. Теперь они компактны, не имеют движущихся элементов и регулируют передачу электроэнергии к двигателю в зависимости от длительности поступающих импульсов. Контроль и управление электросамокатом производится при помощи пульта, закрепленного на руле. Обычно на пульте есть рычаги или кнопки для включения питания и фар, выбора режимов и скорости езды.
На дисплее может отображаться текущая скорость, уровень заряда батареи, пробег и другая информация. При отсутствии дисплея минимальную информацию о работе устройства могут предоставлять светодиодные индикаторы. Многие современные электросамокаты интегрируются со смартфонами, которые берут на себя функции дисплея и пульта управления.
Принцип работы контроллера
Первостепенная задача этого элемента – подавать на электромотор энергию, получаемую от аккумуляторной батареи. Проходящий по обмоткам ток создает магнитное поле, которое взаимодействует с находящимися в мотор-колесе магнитами ротора. В результате колесо приводится в движение, причем частотой вращения управляет контроллер. Принцип работы контроллера электросамоката таков: он принимает сигнал от ручки газа и с учетом продолжительности поступающих импульсов регулирует скорость вращения мотора.
Кроме основной задачи, этот контролирующий и управляющий элемент:
- регулирует скорость вращения электромотора;
- управляет крутящим моментом;
- обеспечивает плавное и мягкое торможение при помощи изменения продолжительности импульсов;
- защищает электродвигатель;
- не допускает глубокой разрядки батареи – выясняет напряжение АКБ и при его критическом снижении отключает мотор от питания;
- при помощи встроенного термодатчика отслеживает температуру и не допускает токовых перегрузок.
Схема подключения и распиновка контроллера электросамоката
К контроллеру подсоединяется электромотор и остальные электрокомпоненты самоката. Для их подключения используются многожильные соединительные провода в термостойкой изоляции из силикона. Совместимость контроллера с электродвигателем и АКБ электросамоката определяется по максимальному току, напряжению батареи и другим рабочим параметрам.
Рассмотрим схему подключения контроллера электросамоката и функции контактов на примере устройства, разработанного для управления трехфазными электромоторами с рабочими параметрами 36 В и 350 Вт. В таблице приведен перечень электрических разъемов контроллера, их назначение и цвета изоляционного покрытия используемых в них проводов.
Подключение к ручкам тормоза и стоп-сигналу. К общему жгуту проводов подключено 2 разъема.
Источник
Электробайк. Контроллер двигателя своими руками
Как вы уже знаете из прошлых постов, у нас в компании есть DIY-движение. В свободное от работы время коллеги занимаются фрезеровкой печатных плат в домашних условиях, делают тепловизор на FLIR Lepton, а также решают семейные разногласия с помощью 4 контроллеров и 2 умных часов. Продолжим серию увлекательный историй! Сегодня я расскажу, как сделать контроллер к трехфазному двигателю электровелосипеда своими руками. Целью создания такого контроллера было:
- Изучение работы трехфазного мотора под управлением контроллера.
- Большинство контроллеров для электровелосипедов, представленных на рынке, — китайские. Они хоть и относительно дешевые (около 2.000 руб в зависимости от мощности), но являются неведомой коробкой, в которой неизвестно что происходит. И сразу к ней возникает очень много вопросов — экономично ли она потребляет и распределяет ток, какой у нее запас мощности, почему так сильно перегревается, преждевременно срабатывает защита по току и т.д.
В тоже время на рынке представлены европейские качественные контроллеры для электробайков. Они оснащаются расширенными функциями, работают на разных напряжениях и токах и их можно программировать. Устанавливаются они на сверхмощные электровелосипеды. Но цена у них кусается — 10-20 тыс. рублей.
В итоге я решил пойти своим путем: разобраться в устройстве контроллера, сделать его прототип, а затем попытаться сделать контроллер качественнее китайского контроллера. На текущий момент проект у меня в разработке только и на уровне прототипа, готового варианта пока нет. Буду рад услышать ваши комментарии и советы.
Применение
В электровелосипедах используются трёхфазные бесщёточные электродвигатели с датчиками Холла. Стоит отметить, что применение подобных трёхфазных двигателей достаточно обширно:
- Бытовая техника
- Оргтехника
- Электротранспорт
- Промышленность
Устройство двигателя
Для разработки контроллера необходимо разобраться с принципом работы самого электродвигателя.
Электродвигатель состоит из фазных обмоток, магнитов и датчиков Холла, отслеживающих положение вала двигателя.
Конструктивно электродвигатели делятся на два типа: инраннеры и аутраннеры.
У инраннеров магнитные пластины крепятся на вал, а обмотки располагаются на барабане (статоре), в этом случае в движение приводится вал. В случае аутраннера всё наоборот: на валу — фазные обмотки, а в барабане — магнитные пластины. Это приводит в движение барабан.
Так как у велосипеда колесо крепится валом на раму, то здесь применителен тип аутраннера.
На этой картинке условно представлены три фазы с обмотками, соединёнными между собой. В реальности обмоток намного больше, они располагаются равномерно с чередованием по фазам по окружности двигателя. Чем больше обмоток — тем плавнее, чётче, эластичнее работает двигатель.
В двигатель устанавливаются три датчика Холла. Датчики реагируют на магнитное поле, тем самым определяя положение ротора относительно статора двигателя. Устанавливаются с интервалами в 60 или 120 электрических градусов. Эти градусы относятся к электрическому фазному обороту двигателя. Необходимо учитывать, что чем больше в двигателе обмоток на каждую фазу, тем больше происходит электрических оборотов за один физический оборот мотор-колеса.
Обмотки трёх фаз в большинстве случаев соединяются между собой по двум схемам: звезда и треугольник. В первом случае ток проходит от одной из фаз к другой, во втором — по всем трём фазам в разной степени. Иногда эти две схемы подключения комбинируют в одном двигателе, например в электромобилях. При старте и наборе скорости идёт соединение фаз по звезде: она даёт больший момент при относительно низких оборотах; далее, после набора скорости, происходит переключение на треугольник, в результате количество оборотов увеличивается, когда уже не нужен большой крутящий момент. По сути, получается условно автоматическая коробка передач электродвигателя.
Цикл работы
Чтобы привести в движение трёхфазный двигатель, нужно рассмотреть цикл его работы за электрический оборот. Итак, имеем три фазы — A, B, C. Каждая из фаз получает положительную и отрицательную полярности в определённый момент времени. Поочерёдно по шагам пропускается ток от «плюса» одной фазы к «минусу» другой фазы. В итоге получается шесть шагов = три фазы × две полярности.
Рассмотрим эти шесть шагов цикла. Предположим, что положение ротора установлено в точке первого шага, тогда с датчиков Холла мы получим код вида 101, где 1 — фаза А, 0 — фаза B, 1 — фаза С. Определив по коду положение вала, нужно подать ток на соответствующие фазы с заданными полярностями. В результате вал проворачивается, датчики считывают код нового положения вала — и т. д.
В таблице указаны коды датчиков и смена комбинаций фаз для большинства электродвигателей. Для обратного хода колеса (реверса) достаточно перевернуть знаки полярности фаз наоборот. Принцип работы двигателя довольно прост.
Цикл двигателя представлен в gif-анимации.
Транзисторы и Н-мост
Но чтобы поочерёдно подавать ток на каждую из фаз и менять их полярность, необходимы транзисторы. Ещё нам нужна передача больших токов, высокая скорость переключения и чёткость открытия/закрытия затворов. В данном случае удобнее управлять затворами по напряжению, а не по току. Поэтому оптимальны полевые (MOSFET) транзисторы. Чаще всего их используют в контроллерах. Очень редко можно встретить комбинированный вариант транзисторов.
Для переключения фаз со сменой их полярностей используют классическую схему Н-моста (H-Bridge) из полевых транзисторов.
Он состоит из трёх пар транзисторов. Каждая из пар подключается к соответствующей фазе обмотки двигателя и обеспечивает подачу тока со значением (+ или –). Транзисторы, отвечающие за включение фазы с положительным значением, называют верхними ключами. С отрицательным — нижними. Для каждого шага открывается пара ключей: верхний одной фазы и нижний соседней фазы. В результате ток проходит от одной фазы к другой и приводит электродвигатель в движение.
Из схемы видно, что мы не можем включить одновременно верхний и нижний ключ у одной и той же фазы: произойдёт короткое замыкание. Поэтому очень важно быстрое переключение верхних и нижних ключей, чтобы в переходных процессах не появилось замыкание. И чем качественнее и быстрее мы обеспечим переключения, тем меньше у нас будет потерь и нагрева/перегрева транзисторов H-моста.
Для запуска остаётся обеспечить управление затворами ключей H-моста. Для управления H-мостом нужно:
- Считать показания датчиков Холла.
- Определить, в каком положении какую пару ключей включать.
- Передать сигналы на соответствующие затворы транзисторов.
Прототип на Ардуино
Под рукой у меня была Arduino UNO, и я решил собрать контроллер на её основе.
Первым делом я подал на датчики Холла питание 5 вольт от Ардуино (его достаточно для датчиков). Сигнальные провода от датчиков подключил на цифровые пины Ардуино, написав простейшую программу для считывания и обработки сигналов с датчиков.
Затем собрал Н-мост из полевых NPN-транзисторов. Подвёл к мосту независимое питание на 12 вольт. Но при отладке, чтоб убедиться в работоспособности, я подключил напрямую шесть пинов 5V из Ардуино на затворы H-моста. У большинства полевых транзисторов затвор работает на 20 вольт. Так делать нельзя, потому что Н-мост будет плохо работать и перегреваться. Но для кратковременных тестов это пойдёт. Кое-как, с сильными перегревами и страшными звуками, вибрациями и толчками колесо медленно закрутилось. Начало положено.
Мостовые драйверы
Далее предстояла работа над напряжением 20 вольт на управление затворами. Для этого существуют мостовые драйверы транзисторов, они обеспечивают стабильные импульсы в 20 вольт на затвор и высокую скорость отклика. Сначала у меня были популярные драйверы для маломощных моторов L293D.
Для управления затворами его достаточно, к тому же их очень просто использовать. Один такой драйвер может обеспечить питанием две пары ключей. Поэтому я взял две штуки L293D. Собрал контроллер с этими драйверами, и колесо начало крутиться существенно плавнее, посторонних звуков стало меньше, нагрев транзисторов уменьшился. Но при увеличении оборотов синхронизация с контроллером пропадала, появлялся посторонний звук, колесо дёргалось, вибрировало и полностью останавливалось.
В это же время я наткнулся на два варианта мостовых драйверов:
- HIP4086
- IR2101
Что касается HIP4086, то это полноценный мостовой драйвер, предназначенный для трёхфазного электродвигателя. Мне он показался несколько замороченным, и мои попытки использовать его в контроллере не увенчались успехом: он у меня так и не заработал. Углублённо разбираться в причинах не стал.
А взял я IR2101 — полумостовой драйвер, обеспечивающий работу нижнего и верхнего ключей для одной фазы. Несложно догадаться, что таких драйверов нужно три. К слову, драйвер очень прост в использовании, его подключение происходит безболезненно и легко. Получилась такая схема:
И готовый результат
Собрал контроллер с этим драйвером и запустил двигатель. Ситуация с работой электродвигателя кардинально не поменялась, симптомы остались те же, как и в случае с драйвером L293D.
Аппаратное прерывание
И тут я понял, в чём дело: Ардуино не успевает обрабатывать показания датчиков Холла! Поэтому необходимо было использовать пины Ардуино с аппаратным прерыванием. Так как у Ардуино УНО таких пинов всего два, а под датчики нужно три пина, надо взять Ардуино Леонардо или Искра Нео, где таких пинов — четыре штуки.
Переписав программу под прерывания и подключив Искру Нео вместо УНО, я повторил испытания.
Колесо наконец-то заработало чётко, без вибраций, шумов, отлично стало набирать обороты без рассинхронизации. Прототип оказался жизнеспособным. Но это ещё не полноценный контроллер, поскольку в нём не было обвязки с защитами и обеспечением качественного ШИМ-сигнала.
Прототип на базе микросхемы MC33035
Параллельно с разработкой контроллера на Ардуино я рассматривал альтернативные варианты логической части контроллера. И это привело меня к микросхеме MC33035. Это старая разработка от Motorola, сейчас её выпускает ON Semiconductor. Создана специально для мощных трёхфазных двигателей.
- Отвечает за всю логическую часть контроллера
- Считывает показания с датчиков Холла
- Определяет положения вала
- Выдаёт сигналы для затворов Н-моста на их драйверы
- Имеет возможность подключения индикатора ошибок, перегрева
- Обрабатывает и передает ШИМ-сигнал (PWM)
- Осуществляет реверс (обратный ход колеса)
Одним словом, микросхема содержит всё необходимое для управления электродвигателем. Её стоимость очень низкая: на Алиэкспрессе — около 50 рублей. Для сборки полноценного контроллера на её основе потребуется микросхема MC33035, полумостовые драйверы и Н-мост из полевых транзисторов. Я также собрал контроллер на этой микросхеме. Работает отлично, стабильно, колесо крутится как надо на различных оборотах. Но функционал микросхемы ограничен, если необходимо наворотить различные функции, вывод на дисплей скорости, одометр, расход батареи, то опять же возникает необходимость дополнительно подключить Ардуино или что-то аналогичное.
Схема с MC33035
Главное преимущество контроллера на базе MC33035 — это простота в использовании. Просто покупаете микросхему, собираете Н-мост, спаиваете всё на плату с небольшой обвязкой — и контроллер готов. Если нужно просто запустить двигатель с ШИМ-сигналом и управлять им — оптимальный вариант.
Контроллер на базе Ардуино — вариант сложнее, понадобится писать логику, обеспечивать дополнительные защиты контроллера. Но для экспериментов, прототипов, дополнительного функционала, использования различных режимов работы двигателя — подходящий вариант. Поэтому я решил пока отложить MC33035 и продолжить работу с Ардуино.
Планы на будущее контроллера
Продолжая работу над контроллером, планирую сделать следующее:
- IGBT-транзисторы для H-моста вместо полевых транзисторов.
- Обвязку с защитами по току, перегреву и т. п.
- Полноценный круиз-контроль с возможностью выставлять необходимую скорость движения.
- Расходомер. Когда задаётся необходимое расстояние, а контроллер, исходя из этого значения и заряда аккумулятора, дозирует разряд аккумулятора на всём протяжении маршрута так, чтобы зарядки хватило.
Источник