Управление током ардуино: Управление мощной нагрузкой
|Содержание
Программное управление диапазоном выходного тока понижающего преобразователя
2021-12-23
Все статьи →
Доброго времени суток! В данной статье мы рассмотрим бюджетный вариант управления понижающим преобразователем постоянного напряжения для дальнейшего его использования в качестве управляемого источника питания различной нагрузки, в том числе источников света, при работе которых одним из важнейших параметров является коэффициент пульсаций, который напрямую зависит от частоты работы преобразователей. Например, при использовании таких преобразователей в качестве источников питания элементов освещения рабочего стола или даже освещения растений закрытого грунта, именно в таких случаях частота преобразования играет немаловажную роль.
Одним из простейших вариантов решения данной задачи является использование подходящего силового транзистора МОП структуры, например IRF540N, или, например, модуля на базе силового транзистора IRF520, возможно даже модуля на двух транзисторах AOD4184. Но, при этом стоит учитывать, что если управлять данными элементами с использованием доступного ШИМ сигнала на распространённых микропроцессорных платформах линейки Arduino, то частота пульсаций будет на уровне частоты самого ШИМ сигнала, а это в среднем от 31.4 кГц, до максимум 62.5 кГц, если она не будет ограничена самими возможностями силового транзистора или модуля в целом, как например в упомянутом выше модуле на двух транзисторах, которая составляет — 20 кГц. К тому же стоит учитывать, что повышение частоты ШИМ сигнала на платформе Arduino в некоторых случаях является не простой задачей, которая может ограничить функционал самой платформы, поскольку повышение частоты ШИМ сигнала на определённых портах препятствует корректной работе функций времени. Другим вариантом является использование достаточно не бюджетных ШИМ контроллеров которые работают на высоких частотах и при этом содержат на своём борту различные интерфейсы управления.
В нашем случае для решения поставленной задачи был выбран не самый простой вариант, но достаточно интересный, аппаратная часть которого состоит из следующих компонентов:
- Микропроцессорная платформа Arduino Uno
- Цифровое сопротивление на базе микросхемы X9C104 номиналом 100 кОм
- Понижающий преобразователь постоянного напряжения на базе микросхемы XL4015
- Резистор номиналом 1 МОм
Первым этапом было детально рассмотрено устройство и принцип роботы понижающего преобразователя, построенного на базе микросхемы XL4015. Основные технические характеристики модуля приведены ниже в таблице.
- Входное напряжение от 8 до 36 В
- Выходное напряжение, от 1,25 до 32 В
- Выходной ток, от 0 до 5 А
- Выходная мощность, от 0 до 75 Вт
- Частота преобразования, 180 кГц
- Эффективность преобразования, 96%
Так же, большим плюсом является то, что модуль имеет защиту от перегрева и короткого замыкания. Но, при этом стоит учитывать, что максимальная мощность модуля достигается только при использовании дополнительного охлаждения. По заявленным характеристикам данный модуль вполне соответствует требованиям для реализации поставленной задачи. Частота преобразования составляет 180 кГц, к тому же модуль имеет достаточной широкий диапазон входного и соответственно выходного напряжения, с возможностью его регулировки, что так же распространяется и на выходной ток. Модуль имеет два подстроечных резистора, которые непосредственно отвечают за регулировку тока и напряжения, номинал каждого резистора составляет 10 кОм.
Таким образом, грамотно заменив подстроечный резистор цифровым управляемым потенциометром, можно получить программное управление выходными характеристиками модуля. В случае соблюдения номинала цифрового потенциометра таким же, как и имеющегося на плате подстроечного резистора отвечающего за регулировку тока — задача на половину решается, остаётся только написание алгоритма роботы для микропроцессорной платформы, которая непосредственно осуществляет управление цифровым потенциометром по заданным действиям. Но, к сожалению, у нас в наличии имеется цифровой потенциометр номинал которого составляет 100 кОм, поэтому вместе с потенциометром было заменено и постоянный резистор R5 на номинал 2.4 МОм, для получения необходимого ограничения тока в приделах 2 А при максимальном сопротивлении потенциометра. Кроме неудобства замены потенциометра с таким номиналом в схеме модуля, есть ещё один небольшой минус, который заключается в достаточно большом шаге регулировки ограничения тока, который доходит до 40 мА, поскольку шаг инкремента потенциометра составляет 1 кОм.
Расчёт делителя напряжения необходимо производить таким образом, чтобы напряжение, которое поступает на второй вход ОУ, превышало напряжение падения на шунте R2, которое поступает на третий вход ОУ, для соблюдения условия роботы компаратора, именно таким образом работает ограничение тока. Но, это все только в теории, проблемы на этом не закончились, так как цифровой потенциометр имеет очень большую погрешность, на практике это даже больше заявленных производителем 20 %, просадку точки максимального сопротивления под нагрузкой, и при этом еще не линейную характеристику. Так что сопротивление верхнего плеча подбиралось опытным путем и составило 1 МОм. Такое отклонение достигается за счет того, что максимальное сопротивлении цифрового потенциометра составило на удивление 69 кОм, и ко всему напряжение на входе делителя не ровнялось 2.5 В. Конечно, мы попытались исключить возможность неисправности цифрового потенциометра взяв другой, но его сопротивление отличилось не на много — возможно одна партия, но, тем не менее, рекомендуем тщательно проверять роботу делителя, и подбирать сопротивление резистора R5 опытным путем. Общая структурно-принципиальная схема устройства приведена ниже на рисунке.
На схеме можно заметить, что модуль лишился стабилизатора напряжения 78L05, предназначенного для питания сдвоенного операционного усилителя LM358 и схемы управления в целом, поскольку при включении модуля от определённых источников питания, схема управления в момент запуска не всегда работала корректно. Питание управляющей схемы осуществляется непосредственно от микропроцессорной платформы. Далее, по приведённой выше схеме было собрано макетный образец, который показано ниже.
Результат работы макетного образца показано ниже, в качестве нагрузки была использована лампа накаливания.
Программная часть в прикрепленном файле.
Управление мощной нагрузкой переменного тока / Хабр
Все знают, насколько ардуинщики гордятся миганием лампочками
Так как мигать светодиодами не интересно, речь пойдет про управление лампой накаливания на 220 вольт, включая управление её яркостью. Впрочем, материал относится и к некоторым другим типам нагрузки. Эта тема достаточно избита, но информация об особенностях, которые необходимо учесть, разрозненна по статьям и темам на форумах. Я постарался собрать её воедино и описать различия между схемами и обосновать выбор нужных компонентов.
Выбор управляемой нагрузки
Существует много различных типов ламп. Не все из них поддаются регулировке яркости. И, в зависимости от типа лампы, требуются разные способы управления. Про типы ламп есть хорошая статья. Я же буду рассматриваться только лампы, работающие от переменного тока. Для таких ламп существует три основных способа управления яркостью (диммирование по переднему фронту, по заднему фронту и синус-диммирование).
Иллюстрация в формате SVG, может не отображжаться в старых браузерах и, особенно, в IE
Отличаются они тем, какая часть периода переменного тока пропускается через лампу. О применимости этих методов можно прочитать тут. В этой статье речь пойдет только о диммировании по преднему фронту, так как это самая простой и распространенный способ. Он подходит для управления яркостью ламп накаливания (включая галогенные), в том числе подключенных через ферромагнитный (не электронный) трансформатор. Эта же схема может применяться для управления мощностью нагревательных элементов и, в некоторой степени, электромоторов, а также для включения/выключения других электроприборов (без управления мощностью).
Выбор элементной базы
Различных вариантов схем управления нагрузкой в интернете много. Отличаются они по следующим параметрам:Первые два пункта определяются элементной базой. Очень часто для управления нагрузкой используют реле, как проверенный многолетним опытом элемент. Но, если вы хотите управлять яркостью лампы, её необходимо включать и выключать 100 раз в секунду. Реле не рассчитаны на такую нагрузку и быстро выйдут из строя, даже если смогут переключаться так часто. Если в схеме используется MOSFET, то его можно открывать и закрывать в любой момент. Нам нем можно построить и RL, и RC, и синус димер. Но так как он проводит ток только в одну сторону, понадобится два транзистора на канал. Кроме того, высоковольтные MOSFET относительно дороги. Самым простым и дешевым способом является использование симистора. Он проводит ток в обоих направлениях и сам закрывается, когда через него прекращает течь ток. Про то, как он работает можно прочитать в статье DiHalt’а. Далее я буду полагаться на то, что вы это знаете.
Фазовая модуляция
Чтобы управлять яркостью лампы нам нужно подавать импульсы тока на затвор симистора в моменты, когда ток через симистор достигает определенной величины. В схемах без микроконтроллера для этого применяется настраиваемый делитель напряжения и динистор. Когда напряжение на симисторе превышает порог, при котором открывается динистор, ток проходит на затвор симистора и открывает его.
Если же управление ведется с микроконтроллера, то возможны два варианта:
- Подавать импульсы равно в тот момент времени, когда нужно. Для этого придётся завести на микроконтроллер сигнал с детектора перехода напряжения через ноль
- К затвору симистора подключить компаратор, на который завести сигнал с делителя напряжения и с аналогового выхода микроконтроллера
Первый способ хорош тем, что позволяет легко организовать гальваническую развязку высоковольтной части и микроконтроллера. О её важности будет сказано позже. Но любители arduino будут огорчены: чтобы лапа горела ровно, не вспыхивая и не погасая, импульсы нужно подавать вовремя. Для этого управлять выводом нужно из прерывания таймера, а моменты перехода напряжения через ноль фиксировать с помощью «input capture». Это «недокументированные» функции. Проблема решается отказом от библиотек arduino и внимательным чтением datasheet’а на процессоры avr. Это не так сложно, как кажется.
Второй способ управления симистором крайне прост в программном плане, но из-за отсутствия гальванической развязки я бы не стал его применять.
Гальваническая развязка
Самый простой способ управлять симистором — это подключить к затвору ножку микроконтроллера. Есть даже специальная серия симисторов BTA-600SW управляемых малыми токами.Но тогда контроллер и вся низковольтная часть не будет защищена от помех, гуляющих по бытовой сети. Некоторое из них могут быть достаточно мощными, чтобы сжечь микроконтроллер, другие будут вызывать сбои. Кроме того, сразу возникают проблемы со связью микроконтроллера с компьютером или другими микроконтроллерами: нужно будет делать развязку в линии связи или использовать дифференциальные линии, ведь, чтобы управлять симистором прямо с ноги микроконтроллера, нулевой потенциал для него должен совпадать с потенциалом нуля в бытовой сети. У компьютера или другого такого же микроконтроллера, подключенного в другой точке сети, нулевой потенциал почти наверняка будет другим. Результат будет плачевным.
Простой способ обеспечить гальваническую развязку: использовать драйвер симистора MOC30XX. Эти микросхемы отличаются:
- Расчетным напряжением. Если для сетей 110 вольт, есть для 220
- Наличием детектора нуля
- Током, открывающим драйвер
Драйвер с детектором нуля (MOC306X) переключается только в начале периода. Это обеспечивает отсутствие помех в электросети от симистора. Поэтому, если нет необходимости управлять выделяемой мощностью или управляемый прибор обладает большой инерционностью (например это нагревательный элемент в электроплитке), драйвер с детектором нуля будет оптимальным выбором. Но, если вы хотите управлять яркостью лампы освещения, необходимо использовать драйвер без детектора нуля (MOC305X) и самостоятельно открывать его в нужные моменты.
Ток, необходимый для открытия важен, если вы хотите управлять несколькими нагрузками одновременно. У MOC3051 он 15 мА, у MOC3052 10мА. При этом микроконтроллеры stm могут пропускать через себя до 80-120 мА, а avr до 200 мА. Точные цифры нужно смотреть в соответствующих datasheet’ах.
Устойчивость к помехам/возможность коммутации индуктивной нагрузки
В электросети могут быть помехи, вызывающие самопроизвольное открытие симистора или его повреждение. Источником помех может служить:
- Нагрузка, управляемая симистором (обмотка мотора)
- Фильтр (snubber), расположенный рядом с симистором и призванный его защищать
- Внешняя помеха (грозовой разряд)
Помеха может быть как по напряжению, так и по току, причем более критичны скорости изменения соответствующих значений, чем их амплитуды. В datasheet’ах соответствующие значения указаны как:
V — максимальное напряжение, при котором может работать симистор. Максимальное пиковое напряжение не намного больше.
I — Максимальный ток, который может пропускать через себя симистор. Максимальный пиковый ток как правило значительно больше.
dV/dt — Максимальная скорость изменения напряжения на закрытом симисторе. При превышении этого значения он самопроизвольно откроется.
dI/dt — Максимальная скорость изменения тока при открытии симистора. При превышении этого значения он сгорит из-за того, что не успеет полностью открыться.
(dV/dt)c — Максимальная скорость изменения напряжения в момент закрытия симистора. Значительно меньше dV/dt. При превышении симистор продолжит проводить ток.
(dI/dt)c — Максимальная скорость изменения тока в момент закрытия симистора. Значительно меньше dI/dt. При превышении симистор продолжит проводить ток.
Подробно о природе этих ограничений и о том, как сделать фильтр, защищающий от превышения этих величин описано в Application Note AN-3008. К немо можно только добавить, что существуют 3Q симисторы, у которых значения dV/dt и dI/dt выше, чем у обычных за счет невозможности работать в 4ом квадранте (что обычно не требуется).
Выбор симистора
Максимальный ток коммутации
Максимальный ток коммутации ограничивается двумя параметрами: максимальным током, который может пропустить симистор и количеством тепла, которое вы можете от него отвести. С первым параметром все просто, он указан в datasheet’е. Но если посмотреть внимательно, то при токе в 16 ампер на BTA16-600BW выделяется около 20 ватт. Такую грелку уже не получится засунуть в коробку выключателя без вентиляции.
Минимальный ток коммутации
Симистор сохраняет проводимость до тех пор, пока через него идёт ток. Минимально необходимый ток указан в datasheet’е под именем latching current. Соответственно, слишком мощный симистор не сможет включать маломощную лампочку так как будет выключаться, как только с затвора пропадёт управляющий сигнал. Но так, как этот сигнал мы самостоятельно формируем микроконтроллером, то можно удерживать управляющий сигнал почти до самого конца полупериода, тем самым убрав ограничение на минимальную нагрузку. Однако, если не успеть снять сигнал, симистор не закроется и лампа не погаснет. При плохо подобранных константах лампы, работающие на не полной яркости периодически вспыхивают.
Изоляция
Симисторы в корпусе TO-220 могут быть изолированными или не изолированными. Я сначала сделал ошибку и купил BT137, в результате радиаторы охлаждения оказались под напряжением, что в моем случае нежелательно. Симисторы с маркировкой BTA изолированы, с маркировкой BTB нет.
Защита от перегрузки
Не стоит полагаться на автоматические выключатели. Посмотрите на спецификацию, при перегрузке в 1.4 раза автомат обязан выключиться не ранее, чем через час. А быстрое размыкание происходит только при перегрузке в 5 раз (для автоматов типа C). Это сделано для того, чтобы автомат не отключался при включении приборов, требующих при старте значительно больше энергии, чем при постоянной работе. Примером такого прибора является холодильник.
Симистор нужно защитить отдельным предохранителем, либо контролировать ток через него и отключать его при перегрузке, давая остыть. 2t. Задает количество теплоты, накопление которой в кристалле приведет к разрушению кристалла.
dI/dt ограничивается индуктивностью проводки и внутренней ёмкостью симистора. Так как dI/dt достаточно велика (50 А/с для BTA16), может хватить индуктивности подводящей проводки, если она достаточно длинная. Можно подстраховаться и добавить небольшую индуктивность в виде нескольких витков провода вокруг сердечника.
С превышением интеграла Джоуля можно бороться либо уменьшая время прохождения тока через симистор, либо ограничивая ток. Так как симистор не закроется, пока ток не перейдет через ноль, не вводя дополнительных размыкателей нельзя сделать время прохождения тока менее одного полупериода. В качестве такого размыкателя можно использовать:
- Быстродействующий плавкий предохранитель. Обычный предохранитель не подойдет так как симистор сгорит до того, как он сработает. Но стоят такие предохранители дороже новых симисторов.
- Геркон/реле. Если удастся найти такое, чтобы выдерживало кратковременные большие токи.
Можно пойти по другому пути. BTA16-600 может выдержать ток в 160 амер в течении одного периода. Если сопротивление замыкаемой цепи будет порядка 1.5 Ом, то полупериод он выдержит. Сопротивление проводки даст 0.5 Ом. Остается добавить в цепь сопротивление в 1 Ом. Схема станет менее эффективной и появится еще одна грелка, выделяющая при штатной работе до 16 Вт тепла (0.45 Вт при работе 100 ваттной лампы), зато симистор не сгорит, если успеть его вовремя выключить и позаботиться о хорошем охлаждении, чтобы оставался запас на нагрев во время КЗ.
Из этого сопротивления можно извлечь дополнительную выгоду: измеряя падение напряжения на нем, можно узнавать ток, протекающий через симистор. Полученное значение можно использовать для того, чтобы определять короткое замыкание или перегрузку и отключать симистор.
Заключение
Я не претендую на абсолютную верность всего написанного. Статья писалась для того, чтобы упорядочить знания, прочитанные на просторах интернета и проверить, не забыл ли я чего. В частности раздел, касающийся защиты от перегрузок я еще не опробовал на практике. Если я где-то не прав, мне было бы интересно узнать об ошибках.
В статье нет ни одной схемы: знакомые с темой и так знают их наизусть, а новичку придётся заглянуть в datasheet к MOC3052 или в AN-3008 и, возможно, он заодно узнает что-то еще и не будет бездумно реализовывать готовую схему.
Мощность
. Можно ли сделать регулируемый источник постоянного тока/напряжения с помощью Arduino?
Вы в основном описываете (если вы добавите катушку индуктивности и диод) простой импульсный стабилизатор. То есть, в упрощенном виде, ШИМ-сигнал, некоторое сглаживание (катушка индуктивности, диод, конденсатор) и обратная связь.
Используйте ШИМ Arduino для переключения P-канального МОП-транзистора в источнике напряжения. Затем этот импульсный источник питания подается через катушку индуктивности, а затем сглаживается конденсатором:
имитация этой цепи — Схема, созданная с помощью CircuitLab
M1 переключает питание для зарядки остальной части цепи. L1 + C1 сглаживает ШИМ, давая постоянное плавное напряжение. D1 замыкает цепь между L1 и C1 в одном направлении, сохраняя заряд только в правой части цепи.
R1 удерживает МОП-транзистор в выключенном состоянии, когда он не используется.
R2 — очень маленький «шунтирующий» резистор (например, 0,1 Ом).
Размер C1 и L1 определяется частотой переключения вашего ШИМ и текущими требованиями схемы. Чем выше ваша частота переключения, тем меньше может быть ваша катушка индуктивности. Чем выше ваши требования к току, тем больше должен быть C1.
Показание A1 дает выходное напряжение схемы, поэтому вы можете настроить ШИМ (хорошо использовать ПИД-регулятор) для получения определенного напряжения.
Показание A0 и A1 и вычитание одного из другого дает падение напряжения на резисторе R2. Исходя из этого, вы можете рассчитать ток через R2, используя закон Ома. Затем вы можете использовать это для настройки ШИМ, чтобы дать вам определенный ток.
Конечно, нельзя делать и то и другое одновременно. Вы либо имеете постоянный ток (во время первой фазы зарядки, чтобы довести напряжение элемента до 4,2 В), а затем переключаетесь на постоянное напряжение, пока ток не упадет примерно до 0,3C. Для мертвых ячеек начальная фаза постоянного тока (IIRC) 0,1C может восстановить ячейку.
Несколько важных замечаний о литиевых элементах:
- Они взрываются (спросите Samsung), так что будьте осторожны. Может быть полезно поэкспериментировать с клеткой, находящейся в огнеупорном контейнере.
- не любят чрезмерной разрядки, но если они не были заряжены в обратном направлении, их, как правило, можно восстановить.
- Элементы, которые использовались в серийном блоке и не заряжались с помощью надлежащего балансировочного зарядного устройства, вполне могли быть заряжены в обратном направлении, если блок «умер».
Литий-ионные и литий-полимерные элементы
Обратный заряд — это то, что на самом деле убивает литиевый элемент. По сути, нет двух ячеек с одинаковой емкостью. Если у вас есть, скажем, три последовательно соединенных элемента, и вы разряжаете всю батарею до уровня ниже рекомендуемого минимума, в одном элементе будет меньше заряда, чем в других. Если эта ячейка достигает нуля, ток от других ячеек начнет течь через нее в обратном направлении, и этот обратный ток вызывает осаждение кристаллов меди на слое электролита между электродами. Они протыкают слой электролита и замыкают два электрода вместе, и в этот момент ячейка разряжается. Никакая восстановительная зарядка его не вернет, он физически поврежден.
Итак, вкратце:
- Один аккумулятор, который был переразряжен сам по себе, как правило, подлежит восстановлению.
- Переразряженный пакет аккумуляторов вполне мог физически повредить один из аккумуляторов из-за обратного потока заряда.
Будет ли Arduino достаточно быстрым, чтобы управлять полевым МОП-транзистором, который будет накачивать волшебные пикси в конденсатор для достижения постоянного значения напряжения на указанном конденсаторе?
Конечно. Вы должны предварительно подготовить свою мощность, чтобы она всегда находилась в допустимых пределах (т. Е. Подавать питание вашей солнечной панели через подходящий стабилизатор напряжения 5 В, чтобы обеспечить чистое питание 5 В). В цепи всегда будет некоторая задержка из-за того, как долго индуктор «сопротивляется» изменениям напряжения. Типичному Arduino требуется ~ 100 мкс для выборки АЦП. В такой среде этим временем можно пренебречь, поскольку оно обычно намного быстрее, чем один период ШИМ. В любом случае, вы не можете реагировать быстрее, чем на один период ШИМ.
Когда полевой МОП-транзистор не находится в состоянии насыщения, его сопротивление велико, и большая часть энергии теряется в виде тепла. Можно ли НЕ использовать ШИМ для управления им, а вместо этого выключать или включать его каждый цикл, чтобы минимизировать потери мощности?
Вот что делает ШИМ. Он включен или выключен. Включается в начале цикла, затем выключается в середине. Да, есть короткий период два раза за цикл, пока он выполняет переключение, но он будет минимальным по сравнению с периодами включения и выключения. Потери от этого переключения будут незначительными по сравнению, скажем, с работой полевого МОП-транзистора в качестве регулируемого сопротивления, управляемого операционным усилителем с обратной связью от токового шунта (т.0058 линейный регулятор ).
power. Можно ли использовать Arduino для управления выходным током и напряжением преобразователя постоянного тока?
спросил
Изменено
4 года, 2 месяца назад
Просмотрено
1к раз
Я использую Arduino для создания устройства, которое выдает определенный ток и напряжение. Мне было интересно, есть ли какие-либо устройства, такие как повышающие преобразователи постоянного тока в постоянный, которыми можно управлять с помощью Arduino для получения желаемой мощности. Я ищу что-то мощностью не менее 50 Вт, способное выдерживать ток не менее 3 ампер.
Заранее всем спасибо!
- ардуино-уно
- питание
3
Да, и на самом деле это намного проще, чем многие думают. Я пробовал цифровые потенциометры, но они довольно нелинейны и работают только с 5 В, если вы не потратите $$$. Сначала я припаял LDR параллельно потенциометру понижающего преобразователя и запитал его ШИМ. Это помогло немного отрегулировать vout, но имело много пульсаций и было нелинейным. Я получил линейный блок питания, управляемый микроконтроллером, это было не так уж сложно, но я всегда хотел денег. Совсем недавно я нашел отличный метод и построил несколько SMPS, управляемых микроконтроллером. Вам не нужно иметь какие-либо специальные детали или ничего отпаивать!
По сути, вы:
- используете понижающий/повышающий (или двойной) со встроенным потенциометром V-adj.
- используют фильтр нижних частот для преобразования выходного сигнала PWM микроконтроллера в сигнал 0-vcc.
- подает сглаженное напряжение ШИМ на операционный усилитель с единичным коэффициентом усиления для буферизации доступного тока.
- создают точку соприкосновения между MCU и SMPS.
- подайте буферизованное управление 0-vcc через резистор в очиститель потенциометра, ~200-1кОм.
- количество «подаваемого» напряжения будет обратно пропорционально выходному напряжению SMPS.
Поскольку обратная связь большинства SMPS находится в диапазоне 1-2,5 В, выход 0-3,3/5 В микроконтроллера хорошо работает для обеспечения или устранения обратной связи от регулятора. Самое приятное в этой схеме то, что регулировка выходного напряжения поддерживается аппаратным обеспечением SMPS, MCU просто устанавливает отключение. Короче говоря, вы можете установить его на 10 В через MCU, подключить большую нагрузку, и напряжение останется на уровне 10 В!
Я использовал этот метод на xl4005 и xl4015, но я думаю, что он будет работать практически с любым распространенным пакетом драйверов.