AC Dimmer

Pokemon99
Пн 11 декабря 2017 г. 9:45 утра
Добрый день.
Над схемой работает димер http: // www.Инструменты.com/id/arduino ... E-Circuit/
Рейтинги резисторов заменяются, схема работает.
Вопрос в этом. Можно ли заменить детектор нуля на таймер?
// Sketch uses 17,164 bytes (3%) of program storage space. Maximum is 524,288 bytes.

Ахулл
Пн 11 декабря 2017 г. 10:08
Если вы имеете в виду таймер, работающий на частоте сети, то нет. Ваш таймер не был бы синхронизирован с точной частотой сети, и это приведет к непредсказуемым результатам, я думаю, что ваш свет или другая нагрузка будут пульсировать на частоте, эквивалентной разнице между вашим таймером приближением сетевой частоты и фактической сети частота. В лучшем случае это приведет к большому количеству мерцания или пульсации в зависимости от того, что вы за рулем, в худшем случае это может привести к тому, что у вас была нагрузка на устройство, выпустив волшебный дым.

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

Ахулл
Пн 11 декабря 2017 г. 10:35
Проблема в том, что вам необходимо фактически синхронизировать затемнение с точкой нулевого пересечения сети, и это необходимо обнаружить.

Вы не можете оценить это, так как сетевая частота не является точной на 100% (и не является таймером на STM32F103), так что между ними всегда будет некоторое несоответствие. Таким образом, коммунальные компании по производству электроэнергии о том, что такое 50 Гц или 60 Гц, будет отличаться от определенного не известного процента от идеи STM32F103 о том, что такое 50 Гц или 60 Гц, кроме того, оба этих значения будут дрейфовать с течением времени, из-за других факторов, таких как, как, например температура, точность кристаллов, скорость турбин на электростанции и так далее..

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

Rogerclark
Пн 11 декабря 2017 г. 10:46
Я много расследовал это, и вы определенно не можете заменить детектор с нулевым перекрестком... Это абсолютно важно

Есть несколько гостей с этим материалом

Во -первых, базовый детектор с нулевым перекрестком, который вы используете, очень восприимчив к сетевому шуму, и он, вероятно, вы получите спусковой крючок, когда включится холодильник или любые флуоресцентные светильники включены или выключены.
Кроме того, нулевое пересечение запускается задолго до фактического пересечения нуля. Я не могу точно вспомнить, когда это вызвано, но это может быть 10 градусов до нуля и т. Д.
Также... Схема действительно расточительна, так как использует резисторы с высокой мощностью, чтобы сбросить напряжение сети до 2 или 3 В, необходимого для освещения светодиода в опто. Резисторы с половиной ватта будут горячими, так как им нужно будет рассеять около 0.96w i.E 96% от их максимальной оценки

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


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

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

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

Вы обнаружите, что с вашим детектором с нулевым перекрестком, которым вы не можете работать в диапазоне ниже около 5% от фазового угла и выше 90 до 95%, а также чит большинства прошивок и ниже 5, они все время выключают и выше 90% они поворачивают Триак на все время.

Это может быть нормально для вас, но заметно на некоторых нагрузках.

Последняя вещь, которую мне понадобилось возраст, - это то, что если вы включитесь на 50%, хотя цикл, вы получаете 50% мощность, но если вы включите 25% фазового угла, вы не получите 25% мощности (в ваттах ).

Это из -за природы синусоидальной волны. я.E очень мало энергии находится в области (V * i) в первых 25% цикла.
Единственный способ решить это - использовать таблицу поиска - и мне потребовалось возрасты, чтобы создать мою таблицу поиска, так как математика не разрешается обычными методами.
Это должно быть решено приближением Ньютона Рафсона.

Rogerclark
Пн 11 декабря 2017 г. 10:47
Я забыл сказать, что частота сети немного изменяется, поэтому вам также необходимо калибровать для реальной частоты.

Однако компании, занимающиеся электричеством

Pokemon99
Пн 11 декабря 2017 г. 10:53
Ок, спасибо.
Но небольшие прыжки терпимы, это не для ламп, а для нагревательного элемента, который не создает свет, а только тепло.

Rogerclark
Пн 11 декабря 2017 г. 11:04
Хорошо.

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

КСТАТИ. Я нашел схему, которую использовал

Изображение

http: // dexstrel.Net/Diyzerocrosser.htm

Я построил контроллер нагревателя мощностью 5 кВт, настраиваемое плату, но в конце концов я никогда не использовал его.

Pokemon99
Пн 11 декабря 2017 г. 11:12
Заменен 82K на 43K x2
4N35 - PC814
5.1K - 4.7K на 3.3В

На этом коде пара контроллеров работает, от 0.От 5 кВт до 4 кВт.
Не было проблем.
И в целом к ​​тому, что я поднял эту проблему.
Контроллер вошел и изменил датчик температуры.
Работает на PIC16F690, AC Dimmer, но использует MOC3023 и BTA16,
и нет нулевого детектора поперечного крови.
Так что стало интересно, как это может быть на таймерах, это работает

Ахулл
Пн 11 декабря 2017 г. 11:41
[Rogerclark - Пн 11 декабря 2017 г. 10:46] - ...
Также... Схема действительно расточительна, так как использует резисторы с высокой мощностью, чтобы сбросить напряжение сети до 2 или 3 В, необходимого для освещения светодиода в опто. Резисторы с половиной ватта будут горячими, так как им нужно будет рассеять около 0.96w i.E 96% от их максимальной оценки
...
Это пришло для меня, вы можете получить лучшую эффективность от емкостной капельницы. https: // en.Википедия.org/wiki/емкостный

Pokemon99
Пн 11 декабря 2017 г., 11:46
Да, эта схема, я знаю. Многие даже используют его для питания MCU, но я опасаюсь этого.

Ахулл
Пн 11 декабря 2017 г. 12:17
Это не более опасно, чем этот мощный резистор. Ни один не имеет гальванической изоляции.

victor_pv
Пн 11 декабря 2017 г. 16:12
Энди, вы предлагаете емкостной капельнице+ Opto?
Опто обеспечивает изоляцию, поэтому схема от покемонов имеет изоляцию.

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

Таким образом, вы можете включить в середине цикла, что не идеально, но затем вы останетесь, скажем, с периодом 200 циклов, а затем выключитесь на 55 (если вы используете 8 бит разрешения).
Затем вы можете установить таймер в соответствии с вашей частотой сети (50 или 60 Гц), но вы не будете синхронизировать. Я думаю, что это вызвало бы больше вмешательства в другие системы.

Пито
Пн 11 декабря 2017 г., 17:15
AFAIK устройства MOC304 (6,8) x включают детектор с нулевым переключением, поэтому вы не должны связываться со специальной схемой..

Pokemon99
Пн 11 декабря 2017 г., 17:19
MOC3023 без нулевого детектора.
Так что ты. Сама проблема не была, схема работает.
Я хотел знать, была ли возможность, бежать по двум таймерам, вот и все.

victor_pv
Пн 11 декабря 2017 г., 18:22
[Pokemon99 - Пн 11 декабря 2017 г., 17:19] - Я хотел знать, была ли возможность, бежать по двум таймерам, вот и все.
Вы можете, переключение не будет синхронизировано с волной переменного тока, поэтому не подходит для освещения, но для обогревателя вы должны быть в порядке.
Я делаю что -то подобное для контроллера духовки для рефлекса и хорошо работает, хотя я планирую обеспечить обнаружение нулевых знаков, когда у меня есть настраиваемая доска для него.

Pokemon99
Пн 11 декабря 2017 г., 18:32
Спасибо.
Это мой проект, я был без веб -интерфейса, теперь я расширяю функциональность, когда есть время
http: // 62.80.175.55: 85/
Вход: администратор
Пропуск: 22222

Rogerclark
Пн 11 декабря 2017 г., 19:36
Поскольку время отклика нагревателя настолько медленное, вы, вероятно, надеваете’T нужен детектор с нулевым перекрестком.

Но это зависит от цели системы.

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

Таким образом, настройка в нагревателе 4 кВт на 1 секунду, а затем выключился в течение 9 секунд, чтобы дать 10% использование энергии не было хорошим, потому что в течение 9 секунд все избыточные мощности остаются впустую, и в первые 1 секунду необходимо получить систему, чтобы получить 3.6 кВт от сети.



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

Существует даже примечание к применению ATMEL, где они подключают GPIO MCU непосредственно к сети с помощью резистора очень высокого значения.

я.эн. Можно питать MCU через одну из этих емкостных источников питания, чтобы вся схема не была изолирована от сети, и вы не надеваете’Ту нужно вообще опто, так как вы можете управлять воротами триады непосредственно из MCU (при условии, что MCU может доставить достаточно тока из GPIO, E.глин. С, параллельно целым порту штифтов вместе и одновременно включите или выключите их, используя REG BSSR)

И если управление проходит через радио, все это можно безопасно поместить в изолированную коробку.

Однако... это’S очень сложно отлаживать проблемы в этом сценарии, и если вы ошибаетесь, MCU очень быстро выходит в дым

Так это’S не подход, который я принял. Но это подход, используемый этими радиоконтролируемыми встроенными сетевыми розетками

Pokemon99
Пн 11 декабря 2017 г., 20:17
Для питания я использую блок питания переключения, все находится в пластиковой коробке, и только энкодер имеет металлическую ручку
Я также встретил схему, где используются диодный мост и МОСФЕТ, но я никогда не пробовал его

Rogerclark
Пн 11 декабря 2017 г., 8:20 вечера
У диммеров с дистанционным управлением есть кнопка, но она’S кусок пластика, который нажимает на небольшую кнопку на печатной плате.

Я думаю, у тебя может быть изолированная “ручка”

Pokemon99
Пн 11 декабря 2017 г., 8:24 вечера
Нет. Вы не понимаете правильно, энкодер управляет меню. Там все защищено.

Rogerclark
Пн 11 декабря 2017 г., 8:26 вечера
Хорошо.

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

Rogerclark
Пн 11 декабря 2017 г., 8:28 вечера
[Пито - Пн 11 декабря 2017 г., 17:15] - AFAIK устройства MOC304 (6,8) x включают детектор с нулевым переключением, поэтому вы не должны связываться со специальной схемой..

Я могу’T Найти MOC3046 или MOC3048, перечисленные на MUSER или Digikey
Вы уверены, что это правильные номера деталей

Редактировать. Внутри есть Opto с 2 светодиодами назад к задней части, которые будут вести в любом направлении, что устраняет необходимость в выпрямителе внешнего моста, но у него есть те же проблемы с резисторами с высокой мощностью и намного дороже, чем использование одного светодиода Опто и дешевый мост (или 4 диода)
Мост не должен быть высоким напряжением, поскольку резисторы сбрасывают все напряжение.

КСТАТИ.
Вероятно, использование 4 резисторов лучше, чем 2, потому что большинство доступных резисторов не гарантируют 240 В среднеквадратичных средств, пик - 350 В, а шипы могут быть еще выше.

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

Также имейте в виду, что вы не должны использовать обычную полосу доски для построения детектора с нулевым перекрестком, как это может “отслеживать”через изоляцию
Или, если вы это сделаете, то подайте сети в нее через резисторы, поэтому падение напряжения выполняется до того, как он попадет на доску

Pokemon99
Пн 11 декабря 2017 г., 20:36
По причине кепок, вы правы. Здесь я планирую заказать

victor_pv
Пн 11 декабря 2017 г., 20:43
Например, MOC3043 имеет нулевой крест, такой же, как MOC3023 + Zero Cross.

Пито, возможно, неплощенный 6/8

@Pokemon:

Это мой нулевой перекресток ISR:
https: // github.com/Victorpv/Reflowovenc ... W.INO#L155

Но, как вы видите здесь, я моделирую его с таймером, чтобы использовать его без обнаружения нулевого креста:
https: // github.com/Victorpv/Reflowovenc ... #L223-L228

Код - вилка от кого -то другого, я написал только ту часть, в которой я подделал нулевой.

Вы можете использовать второй таймер или сделать так, как я это сделал, и назвать его из ISR для другого таймера каждый n цикл.

Я использую SSR с нулевым обнаружением поперечного скрещивания для самой высокой нагрузки (15 ампер) и Triac без обнаружения нулевого поперечного скрещивания для наименьшего (вентилятор).
Что касается нагревателя в течение длительных периодов, в порядке (мой диапазон от 0 до 100, поэтому немного короче, чем половины цикла, я получаю в США с основной 60 Гц, поэтому период переключения составляет немного ниже 1 секунды, и обязанность от 0 до 100%), и вентилятор либо заполнен, либо заполнен, отлично работает для меня.
Очевидно, что это не сработает для освещения, потому что оно мерцает, так как включение/выключение не будет полностью синхронизировано с волнами переменного тока (сверху на мой период почти 1 секунда...)

Rogerclark
Пн 11 декабря 2017 г., 20:49
Виктор

Я посмотрел на лист данных для MOC3043, но ноль пересекающейся части, если чип что -то связано только с включением Triac на нулевом пересечении, а не частью обнаружения, насколько я вижу

Я думаю это’S для другого использования, где у вас очень индуктивная нагрузка и дон’Я хочу повернуть на полпути, хотя цикл (но я могу ошибаться)

Pokemon99
Пн 11 декабря 2017 г., 8:51 вечера
Спасибо. Будет свободное время, я попробую.

victor_pv
Пн 11 декабря 2017 г., 11:42 вечера
[Rogerclark - Пн 11 декабря 2017 г., 20:49] - Виктор

Я посмотрел на лист данных для MOC3043, но ноль пересекающейся части, если чип что -то связано только с включением Triac на нулевом пересечении, а не частью обнаружения, насколько я вижу

Я думаю это’S для другого использования, где у вас очень индуктивная нагрузка и дон’Я хочу повернуть на полпути, хотя цикл (но я могу ошибаться)
Это верно, Роджер, это не для MCU, чтобы обнаружить Zero Cross, а для того, чтобы нагрузка не включала середину цикла.
Поэтому полезно, если вы хотите, чтобы нагрузка была включена в течение ряда циклов, то отключите несколько циклов, например, с обогревателем.
Это не помогает с нагрузками, такими как лампочка, в которой вы хотите регулировать, используя включение в течение части каждого цикла, чтобы избежать мерцания.

Я просто указывал, что MOC3043 - это то, на что ссылался Пито с интегрированным нулевым крестом.

Rogerclark
Вт 12 декабря 2017 г. 12:41
Спасибо, Виктор

Rogerclark
Вт 12 декабря 2017 г. 5:02 утра
Не самая компактная доски, но это была моя плата контроллера мощности прототипа

IMG_20171212_153930.jpg
IMG_20171212_153930.JPG (86.63 киб) просмотрено 1719 раз

Pokemon99
Вт 12 декабря 2017 г. 14:48
Вот как это выглядит для меня.
Конечно, не так красиво, как у вас Роджер, но мне достаточно

Rogerclark
Вторник 12 декабря 2017 г. 20:56
Ваша доска выглядит хорошо. Вы сами проехали ?

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

Pokemon99
Вт 12 декабря 2017 г., 21:27
Спасибо.
Да, сам. Но это сделано для машины с ЧПУ.

Rogerclark
Вт 12 декабря 2017 г. 22:50
Вы имеете в виду его «направленные» или выгравированные ?

Pokemon99
Ср 13 декабря 2017 г. 8:10
[Rogerclark - Вт 12 декабря 2017 г. 22:50] - Вы имеете в виду его «направленные» или выгравированные ?
гравюра и бурение

Rogerclark
Ср 13 декабря 2017 г. 8:35 утра
ХОРОШО.

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

Pokemon99
Ср 13 декабря 2017 г. 8:56 утра
[Rogerclark - Ср 13 декабря 2017 г. 8:35] - ХОРОШО.

Я попробовал это, но у меня не было хороших результатов. Однако я думаю, что это было бы нормально для такого доски, которая не имеет очень маленьких компонентов SMD
SMD размер 1206, хорошо

Rogerclark
Ср 13 декабря 2017 г. 9:01
Да. Я думаю, что мне удастся сделать Mill 1206, но я хотел заполнить PLCC48 для STM32, и это практически невозможно на моей дешевой машине с ЧПУ

Pokemon99
Ср 13 декабря 2017 г. 9:10
На меня тоже не дорогой, CNC 1610, заметил вертикальный подъем на дне, в винте нет подшипника, и, следовательно.

Rogerclark
Ср 13 декабря 2017 г. 10:49
У меня просто есть одна из этих дешевых (китайских) машин с ЧПУ, фрезерным / маршрутизатором A4, но на вертикальной оси много негативной реакции, и я даже не удосужился попытаться сделать все вертикальное отображение печатной платы, так как мне нужно Чтобы изменить мой контроллер и т. Д

Гораздо легче просто сделать доски в Китае

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

Я использовал только DirtyPCB, и они были в порядке, и относительно дешево

Пса. Можете ли вы сфотографировать нижнюю / медную сторону вашей печатной платы.
Важно, чтобы вы забрали большие пробелы между живыми и нейтральными линиями. Я думаю, что в идеале это расстояние довольно большое
Я думаю, что я был возможен, я попытался иметь 2.Разделение 5 мм (вообще нет меди)

Видеть

http: // www.Smps.US/PCBTRACESPACing.HTML

Также, поскольку у меня была сделана 2 -слоейная плата, я использую обе стороны платы, чтобы носить силу

Основная проблема сохранения 2.Разделение 5 мм, в том, что оно невозможно при самостоятельном виде, потому что булавки находятся только примерно на 3 или 4 мм друг от друга.

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

Pokemon99
Чт 14 декабря 2017 г. 10:24
Хорошо, когда я сделаю новый, я загружу фото.

Rogerclark
Чт, 08 февраля 2018 г. 12:51
Я провел еще несколько тестирования с моим управлением диммером в сети и используя точно такую ​​же схему, что и http: // dexstrel.Net/Diyzerocrosser.htm

Моя ширина пульса 1.25 мс, а не 1 мс (500us до и после пересечения)
Zero_crossing.png
Zero_crossing.PNG (6.28 киб) просмотрено 477 раз

Rogerclark
Чт, 08 февраля 2018 г., 9:53 утра
Мой тестовый код
// Sketch uses 17,164 bytes (3%) of program storage space. Maximum is 524,288 bytes.

Rogerclark
Чт, 08 февраля 2018 г., 21:01
Думая о проблеме, когда код висит, если я установите низкое значение E.глин. 1 для переполнения.

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

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

Прескалер установлен на 720, так что каждый счет составляет 100 000 тактовых циклов, поэтому я удивлен, что установление переполнения 1, означает, что ISR не обслуживается вовремя, чтобы приостановить таймер

Возможно, значение 1 вызывает немедленно триггер ISR?

Rogerclark
Чт, 08 февраля 2018 г., 21:35
Чтение документов для F103, у него есть один импульсный режим
14.3.15 режим однопулса
Запуск счетчика можно управлять через контроллер режима рабовладельца. Сгенерирование Waveform может быть сделано в режиме сравнения выхода или в режиме ШИМ. Выберите режим «Один импульс»
Установка бита OPM в регистре TIMX_CR1. Это делает счетчик автоматически на
Следующее событие обновления UEV.
Пульс может быть правильно сгенерирован, только если значение сравнения отличается от счетчика
начальное значение. Перед запуском (когда таймер ждет триггера), конфигурация должна
быть:
• В поддержании: CNT < Ccrx ≤ arr (в частности, 0 < CCRX)
• В Downcounting: CNT > CCRX
stm32_one_pulse_mode.png
stm32_one_pulse_mode.PNG (16.57 киб) просмотрено 446 раз

Дэнниф
Пт. 09 февраля 2018 г., 18:55
Интересная дискуссия. Мои 2 цента:

1) Я думаю, что 32-битный чип для этого-излишний. 8-битный чип может сделать это, не разжигая.

2) Если вы ищете быстрое исполнение, я бы предложил инициализировать периферийные устройства за пределами ISR. Обычно это можно сделать с двумя ISR (TIMER EXTI + TIMER), но иногда один ISR (таймер) будет работать так же хорошо - если вы загрузите таймер ISR с помощью -1 смещения, он становится Exti ISR.

3) Вы можете значительно упростить нулевую поперечную схему, особенно если вы предполагаете, что положительная половина и отрицательная половина симметричны.

4) ST имеет приложение для этого использования STM8. Используя входные пороговые значения цифрового штифта для обнаружения нулевого пересечения. Я могу предоставить ссылку, если вам интересно.

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

Rogerclark
Пт. 09 февраля 2018 г. 20:19
@dannyf

Я согласен, что 32 -битный MCU - это излишне для простого управления диммером.

Однако я не сделал’t наметить всю систему. Это’S часть системы управления, для электрических нагрузок, (в основном нагревание воды, но также радиаторы, заполненные маслом, и другие электрические нагреватели, где может быть модулируется DeMan)

Цель системы состоит в том, чтобы использовать запасную солнечную электрическую емкость, а не мощность, отправляемую в сетку; Поскольку корм в тарифе для солнечной энергии либо ноль (в данном конкретном случае), либо небольшой процент от цены выкупа (в большинстве случаев)

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

Тот же STM32, который я намерен контролировать это, уже запускает единицу DisoLay, которая получает данные через ссылку 433 МГц (NRF905) и включает и выключает нагрузку, используя реле.


В расширенной системе STM32 по -прежнему должен получать данные каждые 500 мс и обновлять DisoLay, а также намерен использовать датчик тока эффекта зала ACS712, чтобы контролировать фактическую мощность, полученную нагрузкой, и запустить систему управления, используя PID.
(Я собираюсь использовать датчик HAL, так как обновления каждые 500 мс из системы Master Power Monitor, сделают систему PID довольно медленным, контролируя затемнение для достижения оптимального спроса на потребление всей доступной свободной энергии как можно скорее)

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

Дэнниф
Солнце 11 февраля 2018 г. 12:39
С постоянными водонагревателями постоянно быть настолько большим, что вы можете не найти много преимуществ при переносе PID/PWM/PAM.

Я сделал PID + ШИМ на сборке припоя железа и минимальные преимущества между этим и простым контролем включения/выключения.

Но если вы просто хотите играть с этим, это другая история.

Rogerclark
Солнце 11 февраля 2018 г., 3:00 утра
@dannyf

Re: ВКЛ / OFF или PWM против затемнения

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

Я на самом деле строю это для довольно мелкого водонагревателя (1 кВт или 2 кВт), хотя он может быть использован для более крупных вещей

Существующая система использует реле, но, поскольку она для использования в Великобритании, где они часто получают много облачного покрова и низкий угол солнца, поэтому солнечное производство на массиве 4 кВт может быть только 500 Вт. Затем просто настройка на обогревателе, когда имеется 1 кВт или 2 кВт, означает, что система не включается много зимой, если солнце не так высоко в небе и т. Д

Обычный ШИМ не будет работать, потому что дешево доступные контроллеры мощности используют триак, а не питание FET.

И по природе синусоидальных волн большая часть власти находится в середине каждой половины волны.

Я предполагаю, что использование FET с ШИМ гораздо быстрее, чем с частотой сети, будет работать.

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

И я узнал по опыту, что полеты на ebay 5 600 В на $ 500 В.



В любом случае. У меня на самом деле система работает сейчас ;-)

Rogerclark
Солнце 11 февраля 2018 г. 5:58 утра
Я знаю это немного перекрестной публикации....

Но вот код, который я использую, чтобы проверить наращивание диммера вверх и вниз
maple_loader v0.1 Resetting to bootloader via DTR pulse Reset via USB Serial Failed! Did you select the right serial port? Searching for DFU device [1EAF:0003]... Assuming the board is in perpetual bootloader mode and continuing to attempt dfu programming... dfu-util - (C) 2007-2008 by OpenMoko Inc. Couldn't find the DFU device: [1EAF:0003]

Джиммсу
Чт 22 февраля 2018 г., 21:04
Роджер, ваш проект меня интересует. У моего брата есть система водяных насосов на солнечной энергии, и часто насос может обрабатывать больше воды, чем скважина может поставлять. Он и я поместили это в систему времени, которая сейчас работает, но мы хотели бы обнаружить, когда она начинает качать воздух, или даже лучше, когда он приближается к этой точке. Но это другая история - мы хотели бы иметь возможность использовать дополнительную силу, которая генерируется. Как вы обнаруживаете, что вы генерируете больше мощности, чем используете, и как вы отстой? Я имею в виду в общем смысле. Это до вашего инвертора или после? Вы перемещаете верхнюю часть каждой синусоидальной волны на обогреватель или хвостовой конец каждой волны?

Другой вопрос - разве вы не получаете аналоговое чтение от датчика текущего эффекта зала? Не могли бы вы использовать это для обнаружения нулевого пересечения?

Rogerclark
Чт 22 февраля 2018 г., 21:37
[Джиммсу - Чт 22 февраля 2018 г. 9:04 вечера] - Роджер, ваш проект меня интересует. У моего брата есть система водяных насосов на солнечной энергии, и часто насос может обрабатывать больше воды, чем скважина может поставлять. Он и я поместили это в систему времени, которая сейчас работает, но мы хотели бы обнаружить, когда она начинает качать воздух, или даже лучше, когда он приближается к этой точке. Но это другая история - мы хотели бы иметь возможность использовать дополнительную силу, которая генерируется. Как вы обнаруживаете, что вы генерируете больше мощности, чем используете, и как вы отстой? Я имею в виду в общем смысле. Это до вашего инвертора или после? Вы перемещаете верхнюю часть каждой синусоидальной волны на обогреватель или хвостовой конец каждой волны?

Другой вопрос - разве вы не получаете аналоговое чтение от датчика текущего эффекта зала? Не могли бы вы использовать это для обнаружения нулевого пересечения?
Я построил монитор питания, используя библиотеку Arduino Monitor OpenErgy Arduino

Он использует ток зажима вокруг живого кабеля в дом, и он также нуждается в трансформаторе 6 В, поэтому он может ощутить напряжение сети и, что более важно, фаза формы сети -сигнала.

Принципал заключается в том, что библиотека мониторинга OpenErgy использует 2 вхождения АЦП для образца формы волны из текущего зажима и из сетевого трансформатора
Оба входа масштабируются до 3.3v i.е с 1.Смещение 65 В, чтобы не было отрицательных напряжений.

Библиотека сообщает вам напряжение, ток и питание.

Но что важнее, это говорит вам фактор мощности

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

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

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

Rogerclark
Пн 19 марта 2018 г., 2:04
Теперь я добился большего прогресса с этим проектом, и его работа достаточно хорошо.

Когда я смоделировал входную солнечную мощность 250 Вт, и она регулирует мощность на нагрузку мощностью 2 кВт (электрический чайник в этом случае), около +/- 2W

Мне нужно будет проверить точность измерения, так как это определенно не лучше, чем +/- 1W, и, возможно, только +/- 2W, что будет означать, что система управления и управления нагрузкой не добавляет никакого дополнительного шума или неточности.

Я использую 1000-балльный LUT для между выходом от контроллера PID и системой пульса с задержкой с задержкой с задержкой, так как доля общей мощности нагрузки для откладывания, очень не линейна на любом конце синусоидальной половины цикл.
И чтобы немного улучшить это, я интерполяю между точками в LUT, так как 1000 баллов только дает мне 1/10 разрешение моего таймера задержки.

Я экспериментировал с удалением LUT, но я обнаружил, что PID медленно реагирует на изменения на концах пропорций мощности, требуются гораздо большие изменения и заканчиваются.

Для PID я на самом деле не использую коэффициенты P или D DSICTRELLER PID, я использую только компонент I (интеграл), поскольку система не дала никакой инерции, поэтому компонент P, похоже, не был вообще необходимо (и установлено на ноль)

Добавление дифференциального компонента может удалить необходимость в LUT, так как он может ускорить отклик на концах диапазона мощности, но мне нужно будет моделировать это математически (вероятно, используя электронную таблицу), прежде чем экспериментировать с этим.


Я также рассмотрел вопрос об изменении альтернативного метода импульсной модуляции, где мощность включается для целых половины циклов, но в течение 1 секунду (или 100 половины циклов) я мог бы в лучшем случае достичь разрешения 1%, что для нагрузки 3 кВт будет быть 30 Вт, и я бы, вероятно, смог бы регулировать до +/- 15 Вт в лучшем случае.

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

Они также утверждают, что управление фазовым углом вызывает помехи, но их система ШИМ не. Неясно, какая частота используется ШИМ, возможно, 100 кГц.

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

Коммерческие системы, по -видимому, стоят около 2000 долларов, поэтому я думаю, что буду придерживаться своей системы, которая стоит около 20 долларов для меня, включая Maple Mini и плату контроллера Dimmer от eBay (для поиска Power TriaC, The Treat Contct и т. Д. ) ;-)

Baudrate Serial USB

Таймер прерывает анализа