Перейти к содержанию

Разработка Электронной Нагрузки С Цифровым Управлением


Liv

Рекомендуемые сообщения

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

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

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

кажется нашел о чем речь

http://www.aliexpres...2217571312.html

подкладка из оксида алюминия. Формовка под ТО-247. Толщина 1 мм. Теплопроводность 29,3 w/mk. 24 доллара за 100 штук

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

не, по моему мой вариант все таки лучше. Пусть даже и за 24 доллара

такую подложку я точно не найду в окрестностях нашего мухосранска

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

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

не шибко просто, учитывая полное отсутствие АЛУ на моем любимом камне, что как бы автоматически заводит математические операции в разряд весьма тормозных. Разве что эрзац некий реализовывать... подумать в общем надо. Советы приветсвуются

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

в первом приближении конечно ясно, что реализовать надо всего то U/I=const. При этом величина const должна задаваться контроллером в виде сигнала потенциометру на некую уставку. Но как потом реализовать аналоговое деление имея сигнал тока с датчика тока и сингал напряжения с входных клемм...?

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

загнал я с CV режимом. Наверное такого нету на нагрузках.

Есть. Используется, например, для тестирования зарядных устройств.

хватит ли скорости контроллера для его реализации.

Режим CR нужно делать быстрым, т.е. аппаратно. Это режим CP может быть программный, там скорости не надо, в нем тестируются всякие батарейки, топливные и солнечные элементы, а это практически постоянный ток.

Есть мысль на уровне подсознательной чуйки, что режим CR можно как то реализовать цифро-аналоговым методом

Достаточно посмотреть схемы промышленных нагрузок, чтобы узнать, как делают там. Один из способов - применение умножающего ЦАП или цифрового потенциометра. В качестве опорного напряжения V, нагрузка в режиме CC (это будет фактически режим CG, но уставка задается как 1/G). Или в качестве опорного напряжения I, нагрузка в режиме CV (это будет режим CR). Отличаются лишь реализуемыми диапазонами R.

Ссылка на комментарий
Поделиться на другие сайты

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

про CV я уже догадался где можно применять (нагуглил). В тупик поставил тот факт, что в моей практике такое не часто применяется. А правильнее сказать - еще не применялось

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

ну в общем оттестированную схему аналогового делителя нарыл. И даже точность озвученная порядка 0,5%. Если ее применить и сигнал подать на вход контроллера, получится что этот сигнал будет фактически сопротивлением (в каком то масштабе). Прогнав его через АЦП можно получить корректировочную базу для цикла регулировки тока. Контроллер это сделать вполне в состоянии и весьма шустро.

тут ребята постарались http://kazus.ru/forums/showthread.php?t=30486

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

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

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

Все равно скорость и точность будет хуже, а сложность - выше. Зачем делать плохо, если можно сделать хорошо? Умножающий ЦАП решает все проблемы. Посмотрите схему, например, Agilent 6060.

Ссылка на комментарий
Поделиться на другие сайты

В общем пришло осознание, что до уровня Л.И. мне врятли удастся допрыгнуть даже процентов на 10. Если стремиться к идеалу, то схемотехника будет уже не соразмерная задачам домашней лаборатории. Поэтому пока остановлюсь на режиме CC с возможностью расширения до CR/CV/CP.

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

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

Покодим немножко...

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Если стремиться к идеалу, то схемотехника будет уже не соразмерная задачам домашней лаборатории.

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

Ссылка на комментарий
Поделиться на другие сайты

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

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

Тут либо применять внешний АЦП, либо искать контроллер помускулистее с 12-битным АЦП на борту. И тут наша затея упирается в STM. Нет, не то чтобы я прям испугался. Освоить этот камень я думаю вполне возможно. Только что потребуется некоторое дополнительное время. Зато куча бонусов в виде сильного АЛУ, 12 разрядных АЦП и ЦАП на борту и кучи интерфейсов (половина из которых конечно без надобности). Я просто прикинул по деньгам. Внешний ЦАП и АЦП упадут гдето в 800 рублей, плюс контроллер (в случае с PIC) и куча граблей в виде ограничений по скорости, математике и периферии. А даже с STM32F100C все это дело самоустраняется. Стоит отладочная плата с контроллером на борту и программатором-отладчиком чтото около 900 рублей. Продается свободно в магазине за углом. ИМХО даже с учетом потерь времени будет выгодно. Ну и плюсом можно записать возможность расширения функционала без вмешательства в схему. Опять же наличие USB для всяких няшек в виде регистратора время-разрядных характеристик аккумуляторов (мне надо)

Взвешиваю.

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

А что именно не устраивает в функционале? CC в схеме Старичка есть. Вы недавно писали что пока Вам этого хватит. Про параметры, большой у Вас дрейф и как это выглядит?

Какие вообще у Вас требования к проектируемому аппарату?

Если нужны свистелки и перделки типа USB и т.п. Не ищите золотую середину между хорошо и просто. Делайте сразу хороший многофункциональный прибор, которыей простым не может быть.

Ссылка на комментарий
Поделиться на другие сайты

пока думаешь о проекте, думки все время меняются. Вчера вроде как было достаточно только СС, а завтра понадобится CR. Что делать? Все разбирать и переделывать заново?

СС я конечно сделаю, но с возможностью дальнейшей доработки. Чтобы работа не стояла.

Купил дискавери на STM32F051R8. Все что мне нужно на борту есть. Потратил 900 р. (Цена в Хабаровске). Сижу, грызу кокос. Лампочкой уже помигал. Прикольно, из коробки все работает практически на халяву. Посмотрел сколько платки на стм-ках стоят за бугром - 6-8 долларов. Как ардуинка. Сложновато конечно сразу вникнуть в эту тему, но чую если вникнуть то остальное контроллерное хозяйство смысла иметь уже не будет за такую деньгу. А значит будем вникать.

Что будет в итоге.

1. ЦАП позволит отказаться от всяких электронных потенциометров и лишних ОУ и напрямую управлять силовым контуром. Это по мнению гуру должно значительно снизить риски отрицательного влияния лишнего и повысит скорость управления. Первым делом освою этот модуль и сделаю простейший режим СС со слежением по АЦП с датчика тока. О датчике я уже говорил что это и зачем он мне.

2. Освоив режим регулирования СС можно теми же средствами не изменяя схемотехники сделать режимы CR/CV/CP добавив соответствующий мат-аппарат в код. Это я думаю будет не сложно. Опыт таких штучек есть.

3. В готовый девайс на досуге добавится USB или COM и будем считывать время-режимные графики для анализа поведения нагрузки (аккумулятора, бп итп). Что в общем то должно быть весьма полезным.

вроде как выглядит не сложно на первый взгляд

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

Про параметры, большой у Вас дрейф и как это выглядит?

дрейф не сильно и большой. Его характер я описал выше. Чем выше ток, тем больше дрейф. Как только начинает нагреваться балластный резистор, ток стабилизации начинает падать. На токе 4А он может сдвинуться вниз на 0,1А. Процесс плавный. Гдето за минуту-две. Потом стабилизируется на некотором значении. Ну и так далее при изменении тока вверх или вниз. Для толкового прибора это явный минус. Хотя возможно и не слишком существенный. Кому как

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

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

На борту PIC16 всего лишь 10-разрядный АЦП, а это на 2 разряда ниже, чем хотелось бы

Именно по этой причине я у себя в БП использовал STM32, его же буду использовать и в нагрузке. Точно модель процессора пока не выбрал, но это будет или STM32F100C8, или что-то из STM32L1 (из-за встроенной EEPROM). Тем более, что код для БП и для нагрузки имеет много общего, можно будет использовать много готовых фрагментов. Исходник БП, кстати, открытый.

1. ЦАП позволит отказаться от всяких электронных потенциометров и лишних ОУ и напрямую управлять силовым контуром.

Для реализации режима CR нужен умножающий ЦАП, поэтому ЦАП будет внешний. Я пока не определился точно с блок-схемой (два варианта приводил на коте), но скорее склоняюсь к сдвоенному AD5449.

Ссылка на комментарий
Поделиться на другие сайты

а если функцию умножения реализовать средствами контроллера это сильно испортит решение? Как думаете? Или желательно чтото более скоростное?

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

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Неужели за 3 недели Вы все остальное сделаете? Думаю, на разработку и изготовление нагрузки уйдет не меньше полугода (столько у меня ушло, например, на последние БП), поэтому 3 недели - это пыль.

Ссылка на комментарий
Поделиться на другие сайты

ну как бы хочется все же побыстрее )) Тем более по моим прикидкам весь вопрос уперся в основном в код. Остальное вроде как готово. Кузов сделал, радиаторы с ключами собрал (прокладки только в пути), схему управления приладил. Осталось подать управление и сделать мордашку

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

как я всегда боялся армов... ужас. А стоило вникнуть в референц-мануал, как всего лишь за день стало понятно что эта хреновина не сложнее PIC и AVR. Добавили ремаппинг, дма, чуть подкачали мышцы, а смысл все тот же.

Запустил АЦП и ЦАП, проще пареной репы

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

процесс потихоньку ползет вперед. Застрял на квадратурном энкодере. Сперва хотел программно опрашивать (по своей старой привычке), потом вычитал в мануале, что можно и аппаратно все сделать. Пока раскурил как это сделать, два дня прошло. Остался дисплей с интерфейсом и можно начинать натурные эксперименты

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

фича, котораую я знал, но в очередной раз наступил на эти грабли, потеряв 3 часа времени на @блю с софтом - не храните проекты в папках с русскими буквами в названии

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Энкодер опрашиваю программно, так как аппаратная обработка таймером имеет следующие недостатки:

- нет подавления дребезга

- тратится таймер

- жестко привязываются выводы

- теряется возможность сделать программное переключение типа энкодера с другой разводкой F1, F2 и GND

- все равно требуется программный поллинг таймера

Ссылка на комментарий
Поделиться на другие сайты

ну что тут сказать... по бОльшей части согласен

изучил ваш код, подумал. Действительно так гибче. С вашего позволения скомуниздю чуток

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Да не вопрос, код для того и открыт, чтобы им пользовались. Раньше на AVR применял более простую функцию для обработки энкодера, но принцип тот же:

//----------------------------------------------------------------------------
//Модуль поддержки энкодера
//Энкодер подключается к портам ENC_F1 (фаза 1) и ENC_F2 (фаза 2).
//Функция Enc_Scan() вызывается в основном цикле.
//Результат обработки энкодера - вызов функции Step().
//----------------------------- Константы: -----------------------------------
enum { State0, StateA, StateB, StateAB }; //состояния энкодера
//----------------------------- Переменные: ----------------------------------
static char EncPrev;	  //предыдущее состояние энкодера
static char EncPrevPrev;  //пред-предыдущее состояние энкодера
//----------------------- Инициализация энкодера: ----------------------------
void Encoder_Init(void)
{
 EncPrev = State0;	   //инициализация предыдущего состояния
 EncPrevPrev = State0;   //инициализация пред-предыдущего состояния
}
//------------------------- Обработка энкодера: ------------------------------
void Encoder_Exe(void)
{
 char EncCur = 0;
 if(!Pin_ENC_F1) EncCur  = StateA; //опрос фазы 1 энкодера
 if(!Pin_ENC_F2) EncCur |= StateB; //опрос фазы 2 энкодера
 if(EncCur != EncPrev)			 //если состояние изменилось,
 {
   if(EncPrev == StateAB &&	    //если предыдущее состояние StateAB
   EncCur != EncPrevPrev )	  //и текущее и пред-предыдущее не равны,
   {
  if(EncCur == StateB)		  //если текущее состояние StateB,
    Step(ENC_UP);   //шаг вверх
  else						  //иначе
    Step(ENC_DN);   //шаг вниз
   }
   EncPrevPrev = EncPrev;		  //сохранение пред-предыдущего состояния
   EncPrev = EncCur;			   //сохранение предыдущего состояния
 }
}
//----------------------------------------------------------------------------

Ссылка на комментарий
Поделиться на другие сайты

у меня чуть другая реализация. Но это не важно. На PIC работало. Перенес код на STM-ку. Сходу непонятно, правильно ли работает или нет, потому как в режиме отладки непрерывность процесса не обеспечивается. Решил переключиться на дисплей, чтобы на нем энкодер отладить. Нацарапал либу на основе стыренного из сети чуть кривенького шаблончика. Работает. Только что завел экранчик, кажет букаФФки :new_russian:

У меня после знакомства с эти монстром stm32 аж чето животный восторг какой то от такой кучи возможностей. :crazy:

Просто нереально мощная и простецкая в освоении (как неожиданно оказалось) штуковина. Реальная бомба. Все свои пики и авр-ы охота прямо сейчас сгребсти в кучу и отнести в помойку. Даже не охота теперь браться за них. Это примерно как nokia5110 по сравнению с iPhone6. При этом айфон почему то дешевле :unknw:

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

Думаю 16х2 вполне должно хватить. Если не хватит, есть 20х4 с SPI интерфейсом (но его пока жалко).

Спасибо кстати за исходники БП. В основном они бесполезны конечно, но есть интересные кусочки. Я например читая мануал как то упустил из виду SysTick. Оказывается в STM-ке есть еще один довольно плохо документированный таймер. Но между тем один из самых удобных и полезных. Моя любимая штуковина - timer On Demand. Я уже даже придумал как его грамотно использовать. У вас кмк довольно громоздко реализованы системные часы, мне даже сходу трудно сообразить для чего сделано именно так. Да еще и с синхронизацией. Неужто это так важно в довольно простом источнике питания?

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...