Цифровое управление лабораторным источником (stm32f100c4)

Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


Ответить
Родился
Сообщения: 18
Зарегистрирован: Вт авг 09, 2011 18:49:08

Сообщение sat387 »

да про коммутацию я забыл упомянуть,так и задумывалось,

и вообще все это тупиковая затея но вынужденная,
очень хотелось бы собрать по схеме PSL 36-04
Леонида Ивановича, все необходимое для этого собрал и уже
начал было плату делать когда увидел выложенную прошивку,
но увы прошивки пока нет поэтому приходится изголятся

кстати прошивка на 24В и 9.99A была раннее выложена
Леонидом Ивановичем в одноименой теме,хотелось
напряжения 36В для универсальности
Реклама
Друг Кота
Аватара пользователя
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск

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

sat387 писал(а):прошивку вашу проверил напряжение 36В соответствует, а ток который можно максимально выставить равен 989 без запятых
Проверьте эту.
sat387 писал(а):у меня цель немного друая, сделать универсальный источник питания током так на 3А но чтобы было два диапазона mA и A
Лучше сделайте два разных источника питания. Источников никогда много не бывает. Увидите, что так намного удобней. А делать оптом почти одинаковые приборы всегда легче. Я именно так для себя и решил, делаю 2 шт. PSL-2401, 1 шт. PSL-3604 и, возможно, 1 шт. ключевой PSL-2020.
sat387 писал(а):но увы прошивки пока нет
Вы про какую плату? Для PSL-3604 на STM32? Этой прошивки ждать не стоит. А вот для версии на AVR она может появиться. Хотя тут тоже проблемы. Человек выслал мне по почте внешний АЦП, котрый там нужен, но я так и не смог получить посылку. У нас на почте - дурдом, всегда огромная очередь на много часов. Я 4 раза туда ходил, тратил всё имеющееся время, но так и не смог подойти к кассе. Посылка пошла обратно. Судьба заставляет делать на STM32? :dont_know:

Что касается текущей версии платы для PSL-2401, прошивку для которой высылаю, так я ее тоже очень хочу выбросить и сделать по-другому, так как выявлен ряд недостатков. Но и в новой версии будет использован ШИМ-ЦАП и встроенный 10-разрядный АЦП. Кстати, насчет ЦАП. А не лучше ли будет вместо 14-разрядного ШИМ использовать 8-разрядный с программным "довеском" до 14-16 бит в виде дельта-сигма?

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

//----------------------------- Constants: -----------------------------------

#define PWM_MAX      0xFF00 //PWM full scale
#define FINE_PWM_MAX 0x0100 //fine PWM full scale

//----------------------------- Variables: -----------------------------------

static unsigned int Pwm; //current PWM value

//------------------------- Function prototypes: -----------------------------

#pragma vector = TIMER2_OVF_vect
__interrupt void Pwm_Cycle(void); //timer 2 overflow

//-------------------------- PWM module init: --------------------------------

void Pwm_Init(void)
{ 
  //timer 2 mode: fast PWM, set OC2 on compare match, CK/1
  TCCR2 = (1 << WGM21) | (1 << WGM20) | (1 << COM21) | (1 << COM20) | (1 << CS20);
  TIFR = (1 << TOV2);    //pending interrupts clear
  TIMSK |= (1 << TOIE2); //overflow interrupt enable
}

//----------------------- Timer 2 overflow interrupt: ------------------------

#pragma vector = TIMER2_OVF_vect
__interrupt void Pwm_Cycle(void)
{
  //Delta-Sigma modulator:
  static int Sigma = 0;
  int Delta;
  //quantization:
  if(Sigma > FINE_PWM_MAX)
  {
    Delta = -FINE_PWM_MAX;
    OCR2 = 0xFE - HI(Pwm);
  }
  else
  {
    Delta = 0;
    OCR2 = 0xFF - HI(Pwm);
  }
  //summing:
  Sigma = Sigma + LO(Pwm) + Delta;
}

//-------------------------------- Set PWM: ----------------------------------

void Pwm_Set(unsigned int v)
{
  if(v > PWM_MAX) v = PWM_MAX;
  Pwm = v;
}

//-------------------------------- Get PWM: ----------------------------------

unsigned int Pwm_Get(void)
{
  return(Pwm);
}

//----------------------------------------------------------------------------
Вложения
PSL36_9.zip
(5.52 КБ) 427 скачиваний
Контактная информация:
Реклама
Мучитель микросхем
Сообщения: 478
Зарегистрирован: Ср окт 15, 2008 09:33:03
Откуда: Воронеж

Сообщение Galizin »

Леонид Иванович писал(а):Для PSL-3604 на STM32? Этой прошивки ждать не стоит.
На stm32 уже сделана настройка диапазона тока и напряжения. Выбирается любое желаемое максимальное значение напряжения и тока от 9.999 до 9999 единиц. Единицы могут быть вольты милливольты миллиамперы и т.д. Максимальное значение настраивается резисторами и калибруется по показаниям мультиметра при первом включении. То есть единая прошивка на все варианты.
Родился
Сообщения: 18
Зарегистрирован: Вт авг 09, 2011 18:49:08

Сообщение sat387 »

спасибо за прошивку,но проверить смогу только вечером

полностью с вами согласен на счет разных источников и много,так и делаю: один PSL 24-01 и второй хотел

сделать PSL 36-04 на AVR, к стати раннее речь шла именно о нем а не об stm32
но поскольку на прошивку я уже не надеялся решил вторым сделать по схеме
PSL 24-01 но доработанной с учетом выше изложенных характеристик.

и нескромный вопрос когда вы планируете закончить новую переработанную
версию цифровой части PSL 24-01 и базовой версии PSL 36-04 на avr
Реклама
Эиком - электронные компоненты и радиодетали
Собутыльник Кота
Аватара пользователя
Сообщения: 2623
Зарегистрирован: Вс июл 17, 2011 11:51:52

Сообщение koyodza »

Источники PLS-ххх от ув. ЛИ обсуждаются там http://radiokot.ru/forum/viewtopic.php?f=11&t=59168
А эта тема о другом источнике
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск

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

sat387 писал(а):и нескромный вопрос
Ответил в своей ветке: http://radiokot.ru/forum/viewtopic.php? ... 6#p1344896
Контактная информация:
Реклама
Родился
Сообщения: 18
Зарегистрирован: Вт авг 09, 2011 18:49:08

Сообщение sat387 »

Galizin писал(а):На stm32 уже сделана настройка диапазона тока и напряжения. Выбирается любое желаемое максимальное значение напряжения и тока от 9.999 до 9999 единиц. Единицы могут быть вольты милливольты миллиамперы и т.д. Максимальное значение настраивается резисторами и калибруется по показаниям мультиметра при первом включении. То есть единая прошивка на все варианты.
думал про ваш источник даже stm32 заказал для него, всем хорош, но вот дисплей -- крутил
так и так ну не вписывается он в габариты источника питания средней и большой мощности
ну ни как, если буду делать то как малогабаритный и по заявленным вами характеристикам:
0 - 30В 0 - 0,5А
и пожелание насчет эргономики : управлять энкодером с одной кнопкой с таким насыщенным меню не совсем удобно, было бы здорово добавить несколько кнопок прямого назначения.это пока только мое мнение
Мучитель микросхем
Сообщения: 478
Зарегистрирован: Ср окт 15, 2008 09:33:03
Откуда: Воронеж

Сообщение Galizin »

sat387 писал(а): и пожелание насчет эргономики : управлять энкодером с одной кнопкой с таким насыщенным меню не совсем удобно, было бы здорово добавить несколько кнопок прямого назначения.это пока только мое мнение
Так и было задумано с самого начала - такой минималистический вариант.
Замена индикаторов потребует переделки всего ПО и вообще всей логики. Исходники прикреплены в первом сообщении. Проконсультировать по ним если что могу. Даже помочь. Практически это будет совсем другая конструкция. На нее потребуется время. Если возметесь - доделайте.
Минимальная доработка - это добавление 8 LED индикаторов на 8 HC595. Индикаторы всегда будут отображать например текущее напряжение и ток. Добавить кнопку проблем особых не составит - ног там свободных много осталось. Даже на разъем они выведены. В программу добавить - тоже будет не так сложно.
Опытный кот
Аватара пользователя
Сообщения: 725
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

Сообщение amv2000 »

Galizin писал(а):Минимальная доработка - это добавление 8 LED индикаторов на 8 HC595. Индикаторы всегда будут отображать например текущее напряжение и ток. Добавить кнопку проблем особых не составит - ног там свободных много осталось.
Вот и я так подумываю, только индикация динамическая и 74НС595 три штуки

Картинка удалена, в виду её некорректного размера. Мах.
Вложения
Безымянный.jpg
(215.41 КБ) 1262 скачивания
Родился
Сообщения: 18
Зарегистрирован: Вт авг 09, 2011 18:49:08

Сообщение sat387 »

Да насчет динамической индикации вы правы, только индикацию сделать по алгоритму как у
Леонида Ивановича : в зависимости от внешнего сигнала CV/CC в режиме CV -первый
индикатор отображал заданое напряжение, второй текущий ток ,а в режиме CC - первый
текущие напряжение,второй заданный ток, так удобней поверьте
Galizin писал(а):Проконсультировать по ним если что могу. Даже помочь. Практически это будет совсем другая конструкция. На нее потребуется время. Если возметесь - доделайте.
с удовольствием бы взялся доделать только с програмированием не очень, делаю попытки освоить но на это нужно время и не мало
Опытный кот
Аватара пользователя
Сообщения: 725
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

Сообщение amv2000 »

sat387 писал(а):индикацию сделать по алгоритму как у
Леонида Ивановича : в зависимости от внешнего сигнала CV/CC в режиме CV -первый
индикатор отображал заданое напряжение, второй текущий ток ,а в режиме CC - первый
текущие напряжение,второй заданный ток
с удовольствием бы взялся доделать только с програмированием не очень, делаю попытки освоить но на это нужно время и не мало
Ну в программировании я тоже, как говорится читаю со словарем, а насчет алгоритма даже не знаю ...
А надо ли выводить что то еще на LED кроме текущих значений, все установки можно видеть на ЖК?
Мучитель микросхем
Сообщения: 478
Зарегистрирован: Ср окт 15, 2008 09:33:03
Откуда: Воронеж

Сообщение Galizin »

sat387 писал(а):Да насчет динамической индикации вы правы, только индикацию сделать по алгоритму как у
Леонида Ивановича : в зависимости от внешнего сигнала CV/CC в режиме CV -первый
индикатор отображал заданое напряжение, второй текущий ток ,а в режиме CC - первый
текущие напряжение,второй заданный ток, так удобней поверьте
В режиме Conatant Voltage измеренное напряжение равно заданному. Поэтому, что будет отображаться безразлично. Кроме того определять контрллером, какой сечас режим, это неправильно. Если нагрузка скачущаяя - то показания тоже будут скачущие. Сейчас скачки просто усредняются. Контроллеру нет дела, в каком режиме находится сила. Она сама следит за этим.
Динамическая индикация потребует увеличения частоты контроллера. Но запас по частоте есть. Общие катоды (или аноды) будут потреблять значительный ток. Нужно будет использовать транзисторные ключи.
Возмется кто за железо? Повторить что есть, дополнительно еще поставть 3 hc595, 4 ключа bc846 (bc856), 2 индикатлора по 4 цифры, 8 резистров, один дополнительный стабилизатор, вероятно на 5 вольт, 2 подтягивающих резистора. Все что дополнительно лучше вывести на отдельную плату, что бы индикатор можно было разместить где угодно. Основную схему возможно тоже придется менять, hc595 лучше подвешивать на spi или на второй usart. Придется пожертвовать часами и(или) графиками или ставить более жирный контроллер.
Друг Кота
Аватара пользователя
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск

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

Galizin писал(а):определять контрллером, какой сечас режим, это неправильно.
А кто будет делать индикацию режима CV/CC?
Контактная информация:
Мучитель микросхем
Сообщения: 478
Зарегистрирован: Ср окт 15, 2008 09:33:03
Откуда: Воронеж

Сообщение Galizin »

Леонид Иванович писал(а): А кто будет делать индикацию режима CV/CC?
У меня этим сила занимается. Только она знает в каком режиме она находится.
А какой толк от того, что контроллер будет знать, в каком режиме находится сила? Ну кроме как светодиодик зажечь. В CV режиме разница в измеренном и установленном значении 2 единицы младшего разряда.
Друг Кота
Аватара пользователя
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск

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

Galizin писал(а):А какой толк от того, что контроллер будет знать, в каком режиме находится сила?
Тогда он сможет на дисплее нарисовать текущий режим работы.
Контактная информация:
Родился
Сообщения: 18
Зарегистрирован: Вт авг 09, 2011 18:49:08

Сообщение sat387 »

может не спорить о наболевшем и пойти на компромис, в авторском варианте на дисплее отображены
действующие и установленные значения напряжения и тока в независимости от режима силы,
и вот небольшая проблема в размерах самого дисплея, уж очень цифры мелкие
вот если бы заменить его на символьный LCD 16 X 2
Собутыльник Кота
Аватара пользователя
Сообщения: 2623
Зарегистрирован: Вс июл 17, 2011 11:51:52

Сообщение koyodza »

Я так делал, как раз 16х2
http://koyodza.com/powers.html
На фото индикатор отображает отладочную информацию, проект делался довольно давно, до обсуждаемых здесь. Реальное фото выложу чуть позже.

Считаю, что выводить 4 значения, и при этом не отображать текущий режим (СС или CV) не самая лучшая идея.
Намного удобнее при отключенном выходе отображать установленные значения, а при включенном - измеренные и текущий режим работы
Последний раз редактировалось koyodza Пн июл 23, 2012 17:24:38, всего редактировалось 1 раз.
Контактная информация:
Мучитель микросхем
Сообщения: 478
Зарегистрирован: Ср окт 15, 2008 09:33:03
Откуда: Воронеж

Сообщение Galizin »

Сделано так как сделано. На каждое решение были свои причины. Можно сколько угодно их критиковать.
Я готов доработать софт до добавления динамической индикации текущих значений на 2 светодиодных индикаторах по 4 цифры. Быстро не будет. Возмется кто за железо?
Это будет имеено доработка. Смена индикатора потребует переделки всего меню и логики работы программы.
Собутыльник Кота
Аватара пользователя
Сообщения: 2623
Зарегистрирован: Вс июл 17, 2011 11:51:52

Сообщение koyodza »

Вот реальные фото в разных режимах
http://caxapa.ru/thumbs/342843/IMG_1005.jpg
http://caxapa.ru/thumbs/342843/IMG_1006.jpg
http://caxapa.ru/thumbs/342843/IMG_1007.jpg
http://caxapa.ru/thumbs/342843/IMG_1008.jpg
Угловая скобка показывает какой параметр редактируется.
При включенном выходе режим отображается в разных позициях, что позволяет видеть периодические переключения.
Также в нижней строке отображается мощность в нагрузке, когда никто не трогает кнопок управления и выход активен
Контактная информация:
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 21
Зарегистрирован: Пн ноя 28, 2011 09:52:16

Сообщение Инженер АПГ »

Galizin писал(а):Сделано так как сделано. На каждое решение были свои причины. Можно сколько угодно их критиковать.
Я готов доработать софт до добавления динамической индикации текущих значений на 2 светодиодных индикаторах по 4 цифры. Быстро не будет. Возмется кто за железо?
Это будет имеено доработка. Смена индикатора потребует переделки всего меню и логики работы программы.
Прошу прощения за наглость, но мне как раз нужен такой контроллер. Не совсем нужны всяческие графики и часы. Но было бы не плохо иметь подключение к ПК, а там уже и графики, и управление с помощью мыши, и все такое :) . За железо там браться особо нечего (касательно индикации). У уважаемого Леонида Ивановича сделано довольно красиво (мне понравилось :)) )
Вложения
плата управления на ATmega8 для PSL-3604.pdf
(112.01 КБ) 994 скачивания
Ответить

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