Как обнаружить сильный ток

9

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

Во время работы двигатель потребляет около 1,5 А тока. Однако, когда окно достигает конца ползунков, и мотор больше не может поднимать / опускать стекло, оно начинает подниматься до 15А, пока вы не отпустите кнопку.

Я хочу использовать микроконтроллер AVR для управления этим двигателем и хотел бы остановить двигатель, когда окно достигает барьера. Мне удалось предложить три решения:

  1. Используйте переключатели, которые сработают и сообщат микроконтроллеру, когда окно достигнет барьера. Я бы хотел избежать этого, потому что это означает установку двух переключателей на окно и прокладку дополнительных кабелей к микроконтроллеру.
  2. Используйте функцию таймера, которая выключит двигатель через определенное время. Это не применимо, поскольку напряжение может изменяться, и двигатель может вращаться быстрее или медленнее, чем обычно. Кроме того, окно может находиться в неизвестном положении при запуске таймера (полностью вверх, посередине ...).
  3. Используйте детектор сильного тока и направьте его на вход микроконтроллера, предупреждая программу о достижении порогового значения тока (скажем, 5А). Что-то вроде транзистора, реле или аналогичного устройства, которое может выдерживать такой высокий ток на входе.

Я довольно новичок, когда дело доходит до электроники, поэтому я подумал, есть ли способ обнаружить этот высокий ток (двигатель работает на ~ 12 В) и подать этот сигнал на микроконтроллер (который работает на 5 В).

Я буду признателен за любую помощь. Спасибо!

Никола Малешевич
источник
1
Аналогичный вопрос: electronics.stackexchange.com/questions/17246/…
m.Alin

Ответы:

6

Это должно быть довольно легко. Вы можете обнаружить разницу между 1,5 А и 15 А, используя простой резистор. Значение 0,3 Ом даст 0,45 В при 1,5 А и 4,5 В при 15 А.

введите описание изображения здесь

Цифровой входной контакт на микроконтроллере будет показывать 0 при 1,5 А и 1 при 15 А.

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

RF и C1 обеспечивают фильтр нижних частот, чтобы сделать напряжение более стабильным.

D1 обеспечивает защиту от перенапряжения в случае, если ток значительно превышает 15А.

Rocketmagnet
источник
Двигатель 12 В, который глохнет при 15 А, имеет сопротивление якоря 0,8 Ом, поэтому на R1 будет около 3,3 В, что рассеивает почти 36 Вт!
MikeJ-UK
@ MikeJ-UK - Как долго? MCU отключит двигатель в течение одной или двух миллисекунд. Типичная рассеиваемая мощность составит всего 0,675 Вт.
Ракетный
2
Правда, я полагаю, до тех пор, пока OP не установит неудобные точки останова в своем отладчике!
MikeJ-UK
@ MikeJ-UK - Ха-ха! Да. Я сгорел моторы раньше из-за точек останова. Но эта проблема та же самая, что используется для ощущения тока. Не забывайте, что при останове мощность двигателя будет составлять 180 Вт!
Ракетный
10

Allegro имеет несколько интегральных схем датчиков тока, основанных на датчиках с эффектом Холла. ACS712 может обнаруживать токи до 50 А.

введите описание изображения здесь

ACS712ELCTR-20A-T имеет чувствительность 100 мВ / А, поэтому вы можете использовать АЦП микроконтроллера для определения, когда достигается пороговое значение 500 мВ (5 А), или лучше, использовать компаратор, который прерывает микроконтроллер. Многие AVR имеют встроенный компаратор, которому назначено только прерывание.

ACS712 имеет сопротивление тока считывания тока всего 1,2 мОм , поэтому даже при 15 А он рассеивает только 270 мВт , что может выдержать вечно. Это главное преимущество перед традиционным чувствительным резистором тока, как в ответе Rocketmagnet. Там вам нужно относительно высокое сопротивление, чтобы получить высокий уровень при 15 А. Майк подсчитал, что чувствительный резистор Ракет-магнита будет рассеивать 36 Вт, когда двигатель останавливается, поэтому время имеет решающее значение (на момент, не учитывающий рассеивание 131 Вт в двигателе). Тем не менее, для сенсорного резистора рекомендуется тип 5 Вт.

stevenvh
источник
Время имеет решающее значение независимо от того, какое решение. Все фокусируются на рассеивании 36 Вт резистора, но полностью забывают о рассеивании 180 Вт двигателя! Этот мотор сгорит довольно быстро.
Ракетный
@Rocket - я сделал упомянуть двигатель, только шахта 131 Вт, что является достаточно высоким. Вы правы, однако, что вы должны реагировать быстро, но, по крайней мере, датчик Allegro не будет проблемой. Я упоминаю 5 Вт, потому что большинство резисторов не позволяют> 10-кратной номинальной мощности, даже на мгновение. Я думаю, что ваш сенсорный резистор можно выбрать меньшим, так как большинство контроллеров будут видеть уже 0,7 Vcc, а затем при 15 A это 0,23 & Omega ;.
stevenvh
1

Есть такие вещи, которые называются магнитными герконами. В основном как реле; ток вызывает поле, которое замыкает некоторые контакты. Если вы бросите один последовательно с двигателем, вы сможете найти тот, который останется открытым при 1,5 или 2А, но близко при 15А. Заземлите один из контактов переключателя, потяните другой конец к вашей логике + V и вуаля, изолированный цифровой входной сигнал.

JustJeff
источник
2
У вас есть ссылка для герконов, которые могут переключать 15 A?
Stevenvh
геркон не переключает ток 15А. Ток 15А активирует геркон. Сам переключатель переключает очень небольшое количество тока при логическом напряжении. Это обеспечивает цифровой вход для микро, который отключает все, что он включил для питания 15А в первую очередь.
JustJeff
0

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

mcandril
источник