Jump to content
Ilja Bondarev

Аналоговая схема векторного управления синхронным электродвигателем

Recommended Posts

Имеется двухфазный синхронный двигатель с одной парой полюсов в каждой фазе.. На роторе одна пара полюсов. Датчик положения ротора выдает  синус и косинус угла поворота ротора (два аналоговых датчика Холла разнесенные на 90 градусов, на валу диаметрально намагниченный постоянный магнитик). Нужно обеспечить вращающееся магнитное поле статора следящее за  магнитной осью ротора со сдвигом  в 90 градусов (условие максимального крутящего момента), т.е. классическая задача векторного управления.

В конкретной модели ток статора  не должен превышать 2 А, напряжение питания инверторов 250 В (такое напряжение хотелось бы использовать, полный мост на такое и даже большее напряжение есть EVALPWD13F60). Частота вращения от 0 до 60 Гц.

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

Мои рассуждения нижеследующие. Вращающееся магнитное поле будет обеспечено векторным сложением полей  двух фаз, где в одной фазе ток пропорционален синусу а в другой косинусу угла поворота ротора.  Если сдвинуть магнитные оси ротора и магнитика датчика положения ротора  на 90 градусов, то ДПР описанной конструкции будет выдавать аналоговые сигналы напряжения пропорциональные задаваемым токам в фазах статора. Т.е. имея два достаточно быстродействующих источника тока на ОУ (по источнику на фазу с обратной связью по току) управляемых напряжением с ДПР, вроде как, вопрос разрешен, но тут и возникают проблемы с реализацией. Понятно, что силовым инвертором нужно управлять  посредством ШИМ сигнала причем так чтобы в обмотках возникала положительная и отрицательная полуволна синуса, т.е. ток тек в прямом и обратном направлении. Вот с построением  схемы начиная с выхода ОУ источника тока до клемм управления затворами на EVALPWD13F60 у меня полные непонятки.

Уважаемые профи, как по вашему мнению, мой подход в принципе правилен, если да то на основе каких элементов/готовых модулей можно его реализовать? Что посоветуете?

Заранее благодарен за ответы.

Share this post


Link to post
Share on other sites

Для синхронного двигателя, правда не такого "закрученного", использовал простейший генератора на ir2153.  Выходное напряжение с частотой от пяти и до 100 Гц  регулируется с помощью переменного резистора в задающей цепи. Амплитуда выходного напряжения  получается в районе трёхсот вольт ...

 

2153.gif


-http://www.youtube.com/watch?v=aaEkPnf_A1s

Share this post


Link to post
Share on other sites

Спасибо, Borodach, но к сожалению это не то что мне надо. Частота вращения величина вторичная, ее регулировать в контуре управления моментом двигателя не надо. Мне нужен модуль ШИМ сигнала с двумя выходными каналами для положительной и отрицательной  полуволны синуса. На входе такого модуля должно быть изменяющееся напряжение (в установившемся режиме при неизменной частоте вращения оно будет синусоидальное) с ОУ источника тока.

Edited by Ilja Bondarev

Share this post


Link to post
Share on other sites

Металл-композит как альтернатива ферриту: дроссели Panasonic семейства ETQP

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

Подробнее

 

Для начала на листочке в клеточку  коряво, но надеюсь понятно, нарисовал схемку так как мне представляется это в первом приближении могло бы быть. Схема для одной фазы двигателя, для второй аналогично.  APWM1, APWM2 это модули преобразования сигнала напряжения в ШИМ сигнал, типа этого.

Просьба высказать мнения, нет ли каких то принципиальных косяков.

analog vector control.jpg

Share this post


Link to post
Share on other sites
                     

Новые литиевые ХИТы Fanso работают даже при +150ºС!

Когда приходится учитывать работу в экстремальных условиях, к выбору электронных компонентов подходишь с особой тщательностью. Высокие температуры, большие перепады давления, труднодоступность – все это требует специальной продукции. Склад КОМПЭЛ пополнился новыми литиевыми ХИТами Fanso, стабильно работающими даже при температуре до 150 ºС. Батарейки имеют номинальное напряжение 3,6 В, обладают ёмкостью от 700 до 14000 мАч, работоспособны в широком температурном диапазоне -20…150ºС и имеют низкий саморазряд (не более 3% в год в нормальных условиях хранения).

Подробнее о высокотемпературной линейке

Во первых, paul-th, почувствуйте разницу между шаговым и синхронным двигателем, а то ваше сообщение не совсем в тему пошло.

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

 Я готов рассмотреть и применить уже существующую схему, за тем и обратился на форум. Но похоже что  схем нет:o. Или я не в том разделе спрашиваю? Надо то только управление током по задающему сигналу в индуктивной нагрузке посредством обратной связи по току.

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

Share this post


Link to post
Share on other sites

Если конкретный регулятор под конкретный двигатель и конкретную единичную задачу, то да только так как вы делаете, если и есть у кого такие наработки, то это надо искать конкретного человека с этими наработками, либо фирму типа старых "Промналадок" и их детей, они вели в свое время разработки под заказ . И , я думаю, вы как то упрощаете алгоритм векторного управления сведя всё на аналог и контроль тока. У вас получается обычный внутренний контур тока в системе.

Edited by paul-th

Share this post


Link to post
Share on other sites
1 час назад, paul-th сказал:

либо фирму типа старых "Промналадок" и их детей,

Я когда-то встречал такие изделия - набитая ОУ плата размером эдак метр на метр. Как вспомню, так вздрогну. :D


Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

 

 

Share this post


Link to post
Share on other sites
3 hours ago, paul-th said:

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

А зачем усложнять там где можно упростить? Ну рассудите сами, вся суть векторного управления синхронной машины сводится к поддержанию 90 градусного сдвига между собственным магнитным полем ротора и полем статора. Поле статора определяется токами в обмотках фаз. Задающие значения тока можно предельно простым путем сформировать на датчике положения ротора в виде аналогово сигнала. Ну и ШИМ-ом надо так управлять, что бы обеспечить ток в обмотках соответствующий задатчику. Обратная связь по току есть, в любой момент времени мы можем измерить ток на измерительном сопротивлении или на датчике тока.

 

3 hours ago, paul-th said:

У вас получается обычный внутренний контур тока в системе.

Ну так подскажите пожалуйста это обычное решение. То что я "навоял" работать, конечно, не будет. Управлять заполненностью ШИМ сигнала нужно по событию достижения тока в обмотке задаточного значения. Мной нарисованная схема этого никак обеспечить не сможет.

Share this post


Link to post
Share on other sites

@Ilja Bondarev , по приведенному наброску, в каждом полупериоде в драйвере должен работать свой "полумост" из диагональных ключей и диодов противостоящих плечей. Мне кажется, разработчик предполагал ШИМ управление всеми ключами моста в обоих полупериодах, так как рециркуляция тока через диоды создает повышенные потери и нагрев чипа. Нужна схема, формирующая два зеркальных ШИМ сигнала из целой синусоиды, где ее положительное пиковое напряжение соответствовало бы, скажем, коэффициенту заполнения 100% и 0%, а отрицательное 0% и 100% для обоих сигналов.

Edited by J_Ohm

Share this post


Link to post
Share on other sites
19 hours ago, J_Ohm said:

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

Там так и будет, в любой момент времени управляются все четыре затвора - одна диагональ управлется ШИМ-ом, вторая закрыта. Как вы выразились "рециркуляция тока" , конечно, зло, но зло совершенно неизбежное. Как вы себе представляете работу моста без тока через диоды?

Отдельный вопрос может стоять о том стоит ли ШИМ-ом управлять и верхним и нижним транзистором в диагонали, или разумнее один, например нижний, транзистор держать открытым в течении всего полупериода, а верхним "моргать" с частотой ШИМ сигнала.

Схема на наброске работать не будет, по крайней мере так, как это задумывалось. Первый ОУ будет шарахаться между шинами питания, выставляя на каждый период ШИМ сигнала 100% заполненность. Врятли стоит далее анализировать эту схему.

Share this post


Link to post
Share on other sites
32 минуты назад, Ilja Bondarev сказал:

Как вы себе представляете работу моста без тока через диоды?

Именно как работу моста, а не пары двух полумостов, как у вас. С возвратом тока в источник преимущественно через ключи плечей противоположной полярности, оставляя для диодов только "deadtime", если оно понадобится. У вас же не БТИЗы, а КМОПы, которые отпираются в обе стороны.

Как в усилителях класса "D", короче.

Share this post


Link to post
Share on other sites

J_Ohm, огромное спасибо за разьяснение, теперь я понял зачем противоположную диагональ нужно управлять инвертированным  (или вернее зеркальным отображением относительно половины уровня сигнала) ШИМ сигналом. Сопротивление открытого КМОП транзистора порядка 0,3 Ом, при токе 2А падение напряжения на этом канале по порядку величины будет как и на прямосмещенном диоде, но общее сопротивление будет примерно в два раза меньше, соответственно и потери при проходе тока во столько же раз меньше. Я верно понимаю?

23 hours ago, J_Ohm said:

Нужна схема, формирующая два зеркальных ШИМ сигнала из целой синусоиды, где ее положительное пиковое напряжение соответствовало бы, скажем, коэффициенту заполнения 100% и 0%, а отрицательное 0% и 100% для обоих сигналов.

Необходимость управлять противоположными диагоналями зеркальными сигналами ШИМ касается, по всеи видимости, и униполярного и билолярного  ШИМ-а.

Edited by Ilja Bondarev

Share this post


Link to post
Share on other sites
On 2/6/2020 at 12:15 PM, Ilja Bondarev said:

Управлять заполненностью ШИМ сигнала нужно по событию достижения тока в обмотке задаточного значения.

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

По этой ссылке теоретические рассуждения на эту тему. У меня на рисунке крутизна нарастания и падения тока одинаковы по модулю, т.е. так будет вести себя индуктивность. В случае с двигателем, вследствие наличия обратной ЭДС (генераторной или скоростной ЭДС, кто как называет), спад тока будет круче роста и картинка еще хуже. В указанной статье есть правда "лекарство"  от несходимости этого алгоритма в виде slope compensation, но я не понял как его применять на практике. Если кто разбирается, то просьба  обьяснить "на пальцах".

 

current tracing - fixed frequency PWM.jpg

Share this post


Link to post
Share on other sites
2 часа назад, Ilja Bondarev сказал:

но общее сопротивление будет примерно в два раза меньше, соответственно и потери при проходе тока во столько же раз меньше.

По правде говоря, глянув в пдф мельком, я полагал падение на каналах меньшим. Меня извиняет лишь то, что и диоды в КМОП ключах с большим падением. Я бы сказал, на токе 2 А потери с открываемыми параллельно диодам ключами будут относительно меньше раза в полтора. :unsure:

С формированием ШИМ справится компаратор с гистерезисом и ООС от тока нагрузки, которыми вместе с индуктивностью обмотки будет определяться скважность и примерная частота коммутации ключей. Для управления разгоном, скоростью и направлением вращения останется только изменять коэффициент передачи сигналов с датчиков положения ротора.

Share this post


Link to post
Share on other sites
1 hour ago, J_Ohm said:

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

Другими словами реализовать надо работу как на нижеследующей картинке.  У ШИМ-а не будет фиксированной частоты, но нигде не сказано, что это обязательно. Схемка  напрашивается действительно простенькая, даже я, наверное, сумею ее придумать и сделать.  В то же время не откажусь и от готовой отлаженной схемы, за которую буду весьма признателен. Даже готов заказать создание конкретных опытных экземпляров. Просто я сам не великий любитель паять и отлаживать электронику.

 

2 hours ago, J_Ohm said:

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

Понимание этого в принципе и было одной из причин обратиться к аналоговой  схеме векторного управления синхронной машиной. Ни каких тебе парков-кларков и цифровых ПИ-регуляторов, все предельно просто.

current tracing - fixed band hysteresis PWM.jpg

Share this post


Link to post
Share on other sites

J_Ohm,

Ваше совершенно верное замечание о том, что управлять всеми ключами полного моста можно и нужно, навело меня на одну,  в общем то простую, мысль. Генерируя ШИМ сигнал с помощью триггера Шмитта (он же гистерезисный компаратор) и "отталкиваясь" от верхнего и нижнего уровня задающего сигнала, мы совершаем в терминах механической аналогии нижеследующее. Прилагая внешнюю силу U разогняем камень массы L до скорости iup и сразу прикладываем обратнонаправленную внешнюю силу U чтобы замедлить его до скорости ilow . Не будет ли более естественно или энергетически более рационально дать камню массой L по достижению скорости iup  возможность использовать свою инерцию и двигаться по пути наименьшего сопротивления до момента пока его скорость сама вследствие наличия трения не упадет до ilow , и только после этого прикладывать опять внешнюю силу U, чтобы поднять скорость до верхнего уровня?

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

Прикладываю  несколько утрированный рисунок иллюстрирующий описанный подход регулирования тока. В реальности, конечно, ток не может оставаться постоянным в обмотке с конечным активным сопротивлением, да и обратной ЭДС этот рисунок не учитывает (т.е. сделан для идеальной индуктивности, ну или сверхпроводящей:rolleyes:), но качественно принцип управления от этого не меняется. Логика  формирования ШИМ сигнала усложняется, одним триггером Шмитта не обойтись.

Буду крайне признателен за ваше мнение по поводу применения описаноого подхода регулирования тока. Оправдано ли усложнение  схемы генерации ШИМ сигнала?

current tracing - fixed band hysteresis short coil PWM.jpg

Edited by Ilja Bondarev

Share this post


Link to post
Share on other sites
05.02.2020 в 13:09, Ilja Bondarev сказал:

Но похоже что  схем нет

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

немного теории https://habr.com/ru/company/npf_vektor/blog/367653/

Share this post


Link to post
Share on other sites
1 hour ago, IMXO said:

их не было , и не будет...

Они есть. Вопрос в оптимальной реализации.

1 hour ago, IMXO said:

сделать аналоговый блок координатных преобразований практически не реально

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

 

3 hours ago, IMXO said:

сама тема векторного управления появилась только с развитием микропроцессоров и возможностью реализации мат.аппарата.

Не претендую на историческую истину, но поскольку мне известно, то векторное управление изначально появилось применительно к асинхронному двигателю, а у него поле ротора не стоит относительно самого же ротора как у синхронного двигателя. Иными словами, у АД напрямую на ДПР не сформировать задающий сигнал для тока статора, без расчетов в режиме реального времени не обойтись. У синхронной машины все значительно проще, ей можно управлять и без микропроцессора.

 

3 hours ago, IMXO said:

В курсе, читал и не только это.

Share this post


Link to post
Share on other sites
11 часов назад, Ilja Bondarev сказал:

Не будет ли более естественно или энергетически более рационально ...

Будет снижение динамических потерь от гармоник ШИМ, но усложнится способ управления. Моментов возврата энергии в источник все равно не избежать из-за индуктивной составляющей сопротивления обмоток. Простое шунтирование по условию означало бы вынужденную задержку подачи напряжения в начале каждого полупериода до исчерпания энергии тока в индуктивности от предыдущего. Чтобы такого не было, придется следить за управляющим сигналом по трем порогам. Вы в теме, поэтому кратко, для примера:

3L_CMP.PNG.6cc6700741d850cf00727784f4a87274.PNG

Share this post


Link to post
Share on other sites

J_Ohm,

Огромное спасибо за содержательный ответ. Боюсь вы несколько переоцениваете насколько я "в теме" .  Поэтому, если позволите, по порядку, т.к. в поднятом мною вопросе о двух методах управления током хотелось бы до конца разобраться. Чтобы не путаться, давайте назовем тот метод где реализация сводится к одному гистерезисному компаратору  "тяни-толкай", а тот где индуктивность замыкают накоротко "толкай-держи". 

On 2/12/2020 at 2:34 PM, J_Ohm said:

Будет снижение динамических потерь от гармоник ШИМ, но усложнится способ управления.

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

On 2/12/2020 at 2:34 PM, J_Ohm said:

Моментов возврата энергии в источник все равно не избежать из-за индуктивной составляющей сопротивления обмоток.

 У "тяни-толкай" этот момент будет в течении каждой второй коммутации, а у "толкай-держи" это будет  каждая вторая коммутация в течении двух четвертьпериодов, когда направление тока не будет совпадать с направлением прикладываемого напряжения питания (в положительном полупериоде в течении уменьшения значения тока, а в отрицательном полупериоде в течении роста тока). Т.е. рассуждая "на пальцах" "толкай-держи" выигрывает по этой позиции примерно в два раза, если не больше.

 

On 2/12/2020 at 2:34 PM, J_Ohm said:

Простое шунтирование по условию означало бы вынужденную задержку подачи напряжения в начале каждого полупериода до исчерпания энергии тока в индуктивности от предыдущего.

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

current tracing - fixed band hysteresis-short coil-gates.jpg

Share this post


Link to post
Share on other sites

18755.png.0561c37cfa7abea45f0f02939282d9ec.png

Здесь на события совпадения тока с верней границей девиации потребовались бы две разные реакции схемы: шунтирование или подача напряжения. Как их выбирать? Кстати, горизонтальная полка на "удержании" - лишь предположение. В обмотках еще и ЭДС наводятся.

Если, допустим, по признаку полярности тока в одном полупериоде выбирать "толкай-держи" положительной полярности, а в другом - отрицательной, - возникнет описанный в моем предыдущем сообщении эффект. Когда напряжение сменит полярность, ток будет оставаться на "удержании".

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

 

Share this post


Link to post
Share on other sites
3 hours ago, J_Ohm said:

Здесь на события совпадения тока с верней границей девиации потребовались бы две разные реакции схемы: шунтирование или подача напряжения.

Да, совершенно  верно.

3 hours ago, J_Ohm said:

Как их выбирать?

Однозначное логическое совпадение есть по принципу знака производной задающего сигнала: производная (рост) положительная - реагируем по схеме 1 (нижняя граница - подаем напряжение, верхняя граница - шунтируем нижними ключами), отрицательная (падение) - в ход идет схема 2 (нижняя граница -шунтируем нижними ключами, верхняя граница - подаем напряжение) .

 

3 hours ago, J_Ohm said:

Кстати, горизонтальная полка на "удержании" - лишь предположение. В обмотках еще и ЭДС наводятся.

Согласен. Даже более, это не предположение а идеализация. Но идеализация, на мой взгляд, допустимая, качественно реальная картина в индуктивности без генераторной ЭДС сильно отличаться не будет. В типичной ситуации постоянная времени затухания тока (L/R) в закороченной обмотке не более периода задающего сигнала (порядок величины 10 мс) . За полупериод задаточная функция изменится от максимума до минимума, а ток сможет затухнуть не более чем в три раза (е=2,7...), т.е. задаточная функция изменяется быстрее чем затухает ток в закороченной обмотке без генераторной ЭДС. По некоторым причинам именно с таким случаем хочется для начала разобраться. 

 

4 hours ago, J_Ohm said:

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

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

Share this post


Link to post
Share on other sites
51 минуту назад, Ilja Bondarev сказал:

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

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

Share this post


Link to post
Share on other sites

J_Ohm,

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

Поскольку вы лишних слов не пишите, то в каждой фразе есть свой смысл. Нижеследующее меня немного насторожило:

16 hours ago, J_Ohm said:

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

Надо ли это понимать как намек на то, что о разрядке этих емкостей нужно озаботиться?

 

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...