Лабораторный БП PSL-3604

Блоки питания, преобразователи напряжения, UPS'ы - это здесь :)
Ответить
Вымогатель припоя
Аватара пользователя
Сообщения: 587
Зарегистрирован: Вт сен 13, 2011 13:29:09
Откуда: Крым, Симферополь

Сообщение morokot »

Есть также и 0,1%, серия RT0805
http://www.compel.ru/datapdf/yag/ps/rt0 ... d40162.pdf

RT0805BRD07100KL
RT0805BRE0710KL
RT0805BRE0720KL
Реклама
Друг Кота
Аватара пользователя
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск

Сообщение Леонид Иванович »

Приступаю к написанию прошивки, а это дело, как известно, начинается с написания ТЗ. Чтобы не писать ненужный документ, совместил ТЗ с руководством пользователя. Присоединил черновик v4, на глюки нумерации параграфов внимания не обращайте, замечания и предложения по алгоритмам принимаются.
Вложения
PSL-3604_Draft4.pdf
(891.15 КБ) 921 скачивание
Контактная информация:
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 587
Зарегистрирован: Вт сен 13, 2011 13:29:09
Откуда: Крым, Симферополь

Сообщение morokot »

Впечатляет... :shock:
Не к чему придраться...
Мучитель микросхем
Аватара пользователя
Сообщения: 475
Зарегистрирован: Вт дек 07, 2010 15:34:19
Откуда: UA

Сообщение dmirrr »

morokot писал(а):Если не ошибаюсь, цена указана за 10 шт. (около 0,5$)
Ошибаетесь, цена за 100шт. Их и заказал.
Реклама
Эиком - электронные компоненты и радиодетали
Вымогатель припоя
Аватара пользователя
Сообщения: 587
Зарегистрирован: Вт сен 13, 2011 13:29:09
Откуда: Крым, Симферополь

Сообщение morokot »

Да, уточнил, за 100 шт.
0,1%, серия RT0805 ещё дешевле, как ни странно...
Реклама
Мучитель микросхем
Аватара пользователя
Сообщения: 475
Зарегистрирован: Вт дек 07, 2010 15:34:19
Откуда: UA

Сообщение dmirrr »

Шаг перестройки выходного напряжения 0,1В и 0,01В. Если нужно перестроится с 3,3В на 30 устанет рука крутить, это не один оборот нужно сделать. Или предполагается для таких масштабных перестроек пользоваться пресетами? Может стоит сделать шаг перестройки настраиваемый через ПК?
Максимальные значения тока/напряжения однозначно нужно сделать изменяемыми, достаточно через ПК.
Меню довольно насыщено, но все вроде нужное, и большого смысла прятать только для установки с компьютера нет. Хотя, на платах предусмотрена установка датчика температуры либо DS18B20 либо LM75. Как будет переключатся тип датчика, или будет автоопределение? Как калибровать LM75, или температура будет определятся по характеристике из datasheet. Ну и меню вентилятора прятать, если нет термодатчика.
Теперь по калибровке: выход из калибровки по таймеру убран? По опыту пользования предыдущей версии на Mega8 было неоднократно. что не успевал переставить щупы мультиметра в режим измерения токов (отвлекался) и калибровка заканчивалась по таймеру, приходилось начинать все с начала. Пока все. Сделаю, погоняю, может и еще вопросы возникнут.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск

Сообщение Леонид Иванович »

dmirrr писал(а):Шаг перестройки выходного напряжения 0,1В и 0,01В. Если нужно перестроится с 3,3В на 30 устанет рука крутить
Это точно. Проверил, поставил на генераторе шаг 0.1 Гц и с 3.3 Гц до 30 Гц крутил 15 секунд :( С одной стороны, 0.1 В - самый ходовой шаг, хотелось бы его сделать основным. Получается, вместе с FINE нужен еще и COARSE. На как это удобней сделать, пока непонятно. Может, пусть кнопка FINE перебирает по кругу 3 шага? Индицировать можно другим видом мигания цифр.
dmirrr писал(а):Может стоит сделать шаг перестройки настраиваемый через ПК?
Хотелось бы с шагом разобраться на месте. Как вариант, можно сделать меню настройки шага. В общем, вопрос пока открыт.
dmirrr писал(а):Максимальные значения тока/напряжения однозначно нужно сделать изменяемыми, достаточно через ПК.
Это я планировал сделать, только пока в документацию не внес. Глубоко закопанное меню, например, с вызовом по удержанию кнопки при включении. Или даже при замыкании чего-нибудь внутри. Настраивать надо максимальное напряжение, ток и мощность.
dmirrr писал(а):на платах предусмотрена установка датчика температуры либо DS18B20 либо LM75. Как будет переключатся тип датчика, или будет автоопределение?
Только не LM75, а LM19. Не планировал делать автоопределение. Думаю, будут две конфигурации для компиляции. Ну а проект планирую сделать изначально с открытыми исходниками.
dmirrr писал(а):Как калибровать LM75
Зачем калибровать? У LM19 ±2.5°C, этого вполне хватит.
dmirrr писал(а):Ну и меню вентилятора прятать, если нет термодатчика.
Может не быть вентилятора, а термодатчик обязателен. Он обеспечивает защиту от перегрева.
dmirrr писал(а):выход из калибровки по таймеру убран?
Убран. Выход только по кнопкам. Сам процесс калибровки не очень нравится в плане задействованных кнопок, скорее всего, поменяется. Но это нужно смотреть на реальном приборе. Спасибо за замечания!
Контактная информация:
Мучитель микросхем
Аватара пользователя
Сообщения: 475
Зарегистрирован: Вт дек 07, 2010 15:34:19
Откуда: UA

Сообщение dmirrr »

Леонид Иванович писал(а):Только не LM75, а LM19
Извиняюсь, опечатался немного :)
А возможен вариант, когда устанавливать напряжение с нажатым энкодером, при это устанавливать шаг , допустим сразу 1В? Тогда процедура установки будет очень простой: нажал - установка грубо,с большим шагом, допустим 1В отпустил - установка точно, с шагом 0.1В, с нажатой кнопкой "Fine" - 0.01В. Ну и при нажатом энкодере "Fine" отключать. В каком-то югославском измерителе такое было, уже не помню каком, реализовано было механически, но удобно. Но это может конфликтовать с остальными функциями, нужно думать. Если изменяемый шаг реализовать через кнопку "Fine", тогда, по моему мнению, удобней для пользования, будет мигать изменяемым розрядом. Пока других мыслей нет.
А по поводу термодатчика, лучше делать одну прошивку и тип датчика переключать либо через меню, либо с ПК, если будет достаточно свободной памяти в STM32F100С4. Прошивку под STM32 компилировать немного не намного сложней чем под AVR, но согласитесь, как-то неправильно будет для изменения типа датчика качать среду разработки, компилировать проект.
Леонид Иванович писал(а):Глубоко закопанное меню, например, с вызовом по удержанию кнопки при включении.
Туда-же предлагаю спрятать калибровку, все настройки, которые делаются один раз после сборки БП (максимальные значения тока/напряжения, настройки температурных порогов, вентилятора, шаги перестройки и т.д.). В рабочем меню оставить минимум, только то, что может понадобится изменить оперативно. Будет два отдельных меню, будет проще с организацией и навигацией по меню.
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Сообщение ChipKiller »

Леонид Иванович писал(а):замечания и предложения по алгоритмам принимаются.
... после беглого прочтения ТЗ возникла пара вопросов.
1. на базе чего сделана реализация USB ? (cp210x, ft232 ......)
2. где храним параметры ? ( может на свободные PB8..9 повесить 24cXX ?)
Мучитель микросхем
Аватара пользователя
Сообщения: 475
Зарегистрирован: Вт дек 07, 2010 15:34:19
Откуда: UA

Сообщение dmirrr »

Ничего, что я отвечу?
1. Преобразователь на FT232, но можно применить любой другой, имеющийся в наличии, так, как USB-UART выполнен отдельным модулем, гальваническая развязка разведена на плате управления.
2. В последней версии платы управления так и сделано.
Изображение
Опытный кот
Аватара пользователя
Сообщения: 725
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

Сообщение amv2000 »

dmirrr писал(а):А возможен вариант, когда устанавливать напряжение с нажатым энкодером
Это будет неудобно, удерживать кнопку энкодера и крутить его очень постараться надо.
А вот насчет калибровки согласен, можно при включении и (при нажатом к примеру энкодере) заходить в меню калибровки, завершив калибровку, сохраняем настройки и далее работаем только в основном меню.
Мучитель микросхем
Сообщения: 478
Зарегистрирован: Ср окт 15, 2008 09:33:03
Откуда: Воронеж

Сообщение Galizin »

dmirrr писал(а):2. где храним параметры ? ( может на свободные PB8..9 повесить 24cXX ?)
Параметры можно хранить
1. Во флеше. Нужно выделить 2 страницы флеша по 1к. Если нужно сохранять только последние напряжение и ток то это 4 байта. Ресурс флеши - 10000. Так что хватит на то что бы сохранить 10000*(2048/4) раз. Это конечно не миллион, но тоже много. Там же можно хранить и калибровочные коэф., тогда циклов несколько меньше.
2. В регистрах, подпитываемых от батареи. Там не очень много памяти, но хватает что бы сохранить последние установки. Под калибровочные коэффициенты можно выделить тогда 1 блок.

Сохранять можно по выключению питания. Тогда ресурс распространяется не на количество перестроек а на количество выключений. Для этого нужно сделать определение выключения - делитель с выпрямителя для определения начала выключения. Ну и конденсатор побольше, что бы успеть сохраниться.

stm32 имеет спец режим ADC для слежения за порогом. Как только входное напряжение на заданном канале ADC перевалит порог - генерируется прерывание. Вот в этом прерывании все можно и сохранить и дождаться полного выключения. Исходники всего что я написал выкладывал.
Друг Кота
Аватара пользователя
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск

Сообщение Леонид Иванович »

amv2000 писал(а):Это будет неудобно, удерживать кнопку энкодера и крутить его очень постараться надо.
Неудобно. Пока вопрос с шагом регулировки остается открытым. Может быть, сделать шаг зависимым от значения, как сделано у меня в генераторах (и вполне удобно при использовании)? Только здесь более плавно увеличивать шаг, скажем, 0.1 В до 9.9 В, 0.2 В, до 19.9 В, 0.5 В дальше. А кнопка FINE может сначала включать постоянный шаг 0.1 В (светодиод FINE мигает), второе нажатие - включает шаг 0.01 В (светодиод FINE горит).
amv2000 писал(а):насчет калибровки согласен, можно при включении и (при нажатом к примеру энкодере) заходить
Входить в калибровку нужно после прогрева источника, причем дергать при этом питание не очень желательно, чтобы не вызвать термический стресс. Поэтому специально сделал вход в калибровку из меню. Все пункты меня являются одинаково ненужными при эксплуатации источника. Поэтому нет смысла разбивать меню на две части - невозможно будет выделить "более нужные" функции.
Galizin писал(а):1. Во флеше. Нужно выделить 2 страницы флеша по 1к.
Очень сильно боюсь, что задуманное не влезет в 16 кбайт. Поэтому выделять под эмуляцию EEPROM целых 2 кбайт - расточительство.
Galizin писал(а):2. В регистрах, подпитываемых от батареи.
Добавлять на плату батарейку - намного большее зло, чем добавлять 24С04. Батерейка оправдана лишь тогда, когда нужны часы.
Galizin писал(а):Сохранять можно по выключению питания. Тогда ресурс распространяется не на количество перестроек а на количество выключений. Для этого нужно сделать определение выключения
Думал и про такое. Но сигнал пропадания сети на плату управления не заведен, нестабилизированного напряжения там тоже нет. Как вариант, можно мониторить напряжение 5 В, из которого делаю 3.3 В. Тоже будет некоторое время. Тогда можно под эмуляцию EEPROM отвести только одну страницу, раз будет гарантированное время на стирание и запись.

Анализируя варианты, пришел к выводу, что лучше всего использовать внешнюю 24С04.
Контактная информация:
Модератор
Аватара пользователя
Сообщения: 19055
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Сообщение Starichok51 »

1. кнопка FINE может по кругу гонять и 3 шага: 1В, 0,1В, 0,01В
2. кнопка энкодера при удержании будет по кругу гонять 3 шага: 1В, 0,1В, 0,01В. можно при удержании кнопки автоматически показывать на дисплее текущий шаг, а смену шага делать с интервалом, например, 1 секунда.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Опытный кот
Аватара пользователя
Сообщения: 725
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

Сообщение amv2000 »

Galizin писал(а):stm32 имеет спец режим ADC для слежения за порогом.
Это Вы наверное за этот кусок кода говорите, как я понял?

Код: Выделить всё

/* Включить программируемый детектор напряжения */
  PWR->CR |= PWR_CR_PLS_2|PWR_CR_PLS_1; /* 2.8 V */
  PWR->CR |= PWR_CR_PVDE; /* Включить детектор напряжения питания PVD */

  { /* Задержка для стабилизации питания */
    __IO uint32_t Delay = 1000000;
    while (Delay--) ;
  }
// ******** застрять до нормальнога питания! ********
  /* проверяем питание */
  while ( (PWR->CSR & PWR_CSR_PVDO ) != 0 ) ; // ждать пока подымится питание или не сбросится встроенным ресетом.
Друг Кота
Аватара пользователя
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск

Сообщение Леонид Иванович »

Starichok51 писал(а):1. кнопка FINE может по кругу гонять и 3 шага: 1В, 0,1В, 0,01В
Да, это хороший вариант. Только для безопасности нужно постоянно индицировать текущее значение шага. Можно сделать, например, так:

Шаг 0.1 В - основной, светодиод FINE не горит.
Шаг 0.01 В - мелкий шаг, светодиод FINE горит.
Шаг 1 В - крупный шаг, светодиод FINE мигает, предупреждая об опасности сильно быстро изменить напряжение.
Контактная информация:
Модератор
Аватара пользователя
Сообщения: 19055
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Сообщение Starichok51 »

можно и светодиодом управлять.
но по мне удобнее, как я уже говорил:
можно при удержании кнопки энкодера автоматически показывать на дисплее текущий шаг, а смену шага делать с интервалом, например, 1 секунда
удержание кнопки энкодера автоматически переводит дисплей в индикацию шага.
можно менять шаг, как я написал, через 1 секунду, пока кнопка не отпущена
а можно сделать так: следующее удержание кнопки переключает величину шага и показывает ее, и так по кругу.
если привязываться к светодиоду, то автоматически переводить дисплей в индикацию шага не нужно.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Открыл глаза
Сообщения: 47
Зарегистрирован: Ср сен 19, 2012 12:37:44
Откуда: Киев

Сообщение victor.s »

По поводу шага регулировки - а почему бы не выбирать шаг автоматом взависимости от скорости вращения энкодера?
Типа крутанул быстро - меняется с шагом 1В. Крутишь чуть медленне - 0.1В.

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

Для 0.01В можно и кнопку Fine нажать, или, поскольку это требуется достаточно редко и, когда старшие разраяды уже выставлены, нужно поменять максимум 9 значений, то шаг 0.01 применять при ОЧЕНЬ медленном вращении. Хотя, кнопка Fine наверное тут все-же будет лучше.
Открыл глаза
Сообщения: 47
Зарегистрирован: Ср сен 19, 2012 12:37:44
Откуда: Киев

Сообщение victor.s »

Кроме того, для безопасности, в режиме когда нагрузка подключена, вполне можно игнорировать скорость и всегда менять выходное напряжение только на 0.1/0.01В
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Сообщение ChipKiller »

почему бы не выбирать шаг автоматом взависимости от скорости вращения энкодера?
.. Flash не резиновая - ИМХО вначале обеспечивают необходимый функционал, а "плюшки" потом. Все удобства в 16 кило можно и не втиснуть
Ответить

Вернуться в «Питание»