Цифровое управление лабораторным источником (stm32f100c4)
- Инженер АПГ
- Первый раз сказал Мяу!
- Сообщения: 21
- Зарегистрирован: Пн ноя 28, 2011 09:52:16
Re: Цифровое управление лабораторным источником (stm32f100c4
Предлагаю на рассмотрение еще один вариант усовершенствованной аналоговой части данного ЛБП.
- Вложения
-
- схема_блок_питания.GIF
- (71.75 КБ) 1689 скачиваний
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Цифровое управление лабораторным источником (stm32f100c4
Структура известная, со своими плюсами и минусами. Если говорить о конкретной реализации, тут беглым просмотром не ограничиться, требуется моделирование.
- Хатуль_мадан
- Электрический кот
- Сообщения: 1004
- Зарегистрирован: Ср мар 03, 2010 11:48:00
- Откуда: Уфа
Re: Цифровое управление лабораторным источником (stm32f100c4
Инженер АПГ писал(а):Предлагаю на рассмотрение еще один вариант усовершенствованной аналоговой части данного ЛБП.
Мне кажется, у Вас ошибочка в подключении транзисторов VT4 VT8, через R41 эмиттеры соединены с минусом питания, поэтому они всегда будут открыты, хоть и при мизерных токах (при R41=100к). Если так задумано шунтирование затворов полевиков, то теряется смысл в R48 R53.
- Инженер АПГ
- Первый раз сказал Мяу!
- Сообщения: 21
- Зарегистрирован: Пн ноя 28, 2011 09:52:16
Re: Цифровое управление лабораторным источником (stm32f100c4
Хатуль_мадан писал(а):Мне кажется, у Вас ошибочка в подключении транзисторов VT4 VT8, через R41 эмиттеры соединены с минусом питания, поэтому они всегда будут открыты, хоть и при мизерных токах (при R41=100к). Если так задумано шунтирование затворов полевиков, то теряется смысл в R48 R53.
Да, ошибка, но не совсем там, где Вы указали. Эту часть схемы просто скопировал (как оказалось с ошибками
Прилагаю исправленный вариант.
- Вложения
-
- схема_блок_питания_.GIF
- (71.64 КБ) 1375 скачиваний
-
- 121.GIF
- (22.54 КБ) 1121 скачивание
- Хатуль_мадан
- Электрический кот
- Сообщения: 1004
- Зарегистрирован: Ср мар 03, 2010 11:48:00
- Откуда: Уфа
Re: Цифровое управление лабораторным источником (stm32f100c4
Ну тогда откройте "тайну", как они (VT4 VT8) работают в Вашей схеме?
При подаче через резистор на эмиттер транзистора -15В, при положительном напряжении на базе, он всегда будет открыт.
Целесообразно R41 удалить, а эмиттеры соединить с нижними выводами R48 и R53.
При подаче через резистор на эмиттер транзистора -15В, при положительном напряжении на базе, он всегда будет открыт.
Целесообразно R41 удалить, а эмиттеры соединить с нижними выводами R48 и R53.
- Инженер АПГ
- Первый раз сказал Мяу!
- Сообщения: 21
- Зарегистрирован: Пн ноя 28, 2011 09:52:16
Re: Цифровое управление лабораторным источником (stm32f100c4
Хатуль_мадан писал(а):Ну тогда откройте "тайну", как они (VT4 VT8) работают в Вашей схеме?
При подаче через резистор на эмиттер транзистора -15В, при положительном напряжении на базе, он всегда будет открыт.
Целесообразно R41 удалить, а эмиттеры соединить с нижними выводами R48 и R53.
Цитирую
Galizin писал(а):Это так с биполярными транзисторами хорошо поступать. Там разброс напряжений открытия 50-100 mv без подбора транзисторов. А у полевых этот парамерт может гулять на вольт например от экземпляра к экземпряру. Да еще и с температурой.
Может быть можно добавить выравнивающую схему. Оба истока соединить с базами 2 биполярных транзисторов. Эммитеры этих транзисторов соединены и подключены к потребителю тока например 400мкА в вашем случае. Коллекторы этих транзисторов подключены к затворам полувых транзистров - короче дифкаскад.
Если у одного из транзисторов ток увеличился то увеличится падение наряжения на токоизмерит. резисторе. Токи в дифкаскаде перераспределятся таким образом, что тот полевой транзистор в котором токи больше призакровется, а второй приоткроется. Источник тока нужно брать такой, что бы на резисторе в стоке (5к). падало примерно с вольт те по 200мкА на каждый. Эти резисторы шунтированы конденсаторами, так что процесс перераспределения будет проходить относительно медленно. А управление по скорости не пострадает. Даже если транзисторы будут различаться крутизной - то один из них примет на себя ток только на короткое время - что не страшно.
Страница 13 данного форума
- Хатуль_мадан
- Электрический кот
- Сообщения: 1004
- Зарегистрирован: Ср мар 03, 2010 11:48:00
- Откуда: Уфа
Re: Цифровое управление лабораторным источником (stm32f100c4
Почитал. Теперь понятно. Они выполняют не защитную функцию, а выравнивание нагрева от тока нагрузки. Хотя, надо ли это? Если выбрать режим работы с хорошим запасом, то может и 50% перекос токов не приведет к поломке, тем более, полевики при увеличении нагрева автоматически снижают проводимость канала, что тоже автоматом выравнивает нагрузку на каждый из них. Раз уж есть резисторы в цепях истока, то можно параллельно VT4 VT8 поставить еще такие же транзисторы, но эмиттеры соединить с нижними выводами R48 и R53, получится дополнительная "быстрая" токовая защита в случае КЗ, что точно так же ограничит ток через каждый транзистор на безопасном уровне.
Re: Цифровое управление лабораторным источником (stm32f100c4
Хатуль_мадан писал(а): тем более, полевики при увеличении нагрева автоматически снижают проводимость канала, что тоже автоматом выравнивает нагрузку на каждый из них.
Это тянется с Хоровица Хилла. Для того что бы так было нужно использовать спец транзисторы. У обычных транзисторов этот участок может начинатся тогда, когда они будут страдать от перегрева. Например для irl630 этот участок начинается после 8 ампер.
Re: Цифровое управление лабораторным источником (stm32f100c4
Заинтересовался данной схемой, начал экспериментировать, в результате чего выяснилось, что C4 приводит к завышению выходного напряжения после перехода с режима стабилизации тока к стабилизации напряжения. Без него все работает нормально.
Re: Цифровое управление лабораторным источником (stm32f100c4
Похоже так и есть. Процентов на 12.
Re: Цифровое управление лабораторным источником (stm32f100c4
Зависит от того, на сколько просело напряжение в режиме стабилизации тока. Больше просело - больше завысилось.
Re: Цифровое управление лабораторным источником (stm32f100c4
Олег, а можно STM32F100C4 заменить на STM32F100RBT6B(стоит на STM32VLDISCOVERY)? Вроде как отличаются только объемом памяти, не нашел еще, что обозначают эти все буквы, или ткните носом где почитать 
- koyodza
- Собутыльник Кота
- Сообщения: 2623
- Зарегистрирован: Вс июл 17, 2011 11:51:52
- Контактная информация:
Re: Цифровое управление лабораторным источником (stm32f100c4
dmirrr писал(а):а можно STM32F100C4 заменить на STM32F100RBT6B
...
не нашел еще, что обозначают эти все буквы, или ткните носом где почитать
Хоть вопрос адресован не мне, отвечу.
Расшифровка букв есть в Datasheet
В данном случае С4 это не вся маркировка.
С - корпус LQFP-48
R - корпус LQFP-64
Соответственно, цоколевка у них разная, номера выводов не совпадают, но совместимая.
4 - 16кБ FLASH, LowDensity
6 - 32кБ FLASH, LowDensity
8 - 64кБ FLASH, MediumDensity
B - 128кБ FLASH, MediumDensity
C - 256кБ FLASH, HighDensity
Могут быть и другие буквы, Вам пока достаточно.
В данном случае переход с 4 на В означает не только увеличение объёма FLASH, но и переход на другой класс, увеличивается объём ОЗУ с 4кБ до 8кБ, появляются дополнительные устройства, например TIM4, USART3, SPI2, увеличивается число каналов АЦП и так далее.
Дальше идёт буква Т, означающая корпус LQFP
После этого идёт цифра 6 или 7, для Вас она не имеет значения, и означает максимальную рабочую температуру.
После неё могут идти знаки служебной информации.
Резюмируя, могу сказать, что если не принимать специальных мер в софте против такого перехода, то всё сделанное для STM32F100C4T будет великолепно работать на STM32F100RBT без изменений софта, только внимательно поменяйте номера выводов
Re: Цифровое управление лабораторным источником (stm32f100c4
К предыдущему ответу могу только добавить, что в datasheet есть таблица соответствия порта ВВ и номера вывода корпуса. Что бы перейти на другой корпус нужно использовать те же самые порты ВВ. На каких ножках они будут в другом корпусе нужно смотреть в той самой таблице.
Re: Цифровое управление лабораторным источником (stm32f100c4
Спасибо! Datasheet на STM идут на целое семейство и многостраничные. У Atmel немного попроще в этом деле. Здесь-же куча всего. Пока еще не очень разобрался что и где искать.
Re: Цифровое управление лабораторным источником (stm32f100c4
на АТМЕЛЫ (а не на частный вариант в виде прошловековых AVRов), вся документация, SDK, примеры и т.д. так же идут единые на все семейство.
Более того, недавно атмел выпустил обобщенный фреймворк ASF. Один и на avr, xmega, av32, cortex m3/m4, причем полно файлов общих.
Так что не горячитесь
p.s. ради atsam4s приходится ковыряться
Более того, недавно атмел выпустил обобщенный фреймворк ASF. Один и на avr, xmega, av32, cortex m3/m4, причем полно файлов общих.
Так что не горячитесь
p.s. ради atsam4s приходится ковыряться

- _AHTOXA_
- Встал на лапы
- Сообщения: 130
- Зарегистрирован: Пт янв 21, 2011 14:16:36
- Откуда: Уфа
- Контактная информация:
Re: Цифровое управление лабораторным источником (stm32f100c4
dmirrr писал(а):Спасибо! Datasheet на STM идут на целое семейство и многостраничные. У Atmel немного попроще в этом деле. Здесь-же куча всего. Пока еще не очень разобрался что и где искать.
Как раз таки на STM datasheet-ы идут на отдельные контроллеры, и они достаточно краткие. А тот документ, о котором вы говорите - это Reference Manual.
ЗЫ. Например, вот здесь лежит datasheet на STM32F100C4 (выберите "Design support", и смотрите первый pdf).
- amv2000
- Опытный кот
- Сообщения: 717
- Зарегистрирован: Вт апр 26, 2011 13:58:36
- Откуда: Ростовская область
Re: Цифровое управление лабораторным источником (stm32f100c4
Не могу разобраться с этим местом в коде
Здесь устанавливаем на пине В0 аналоговый вход, только почему GPIOB->CRH а не GPIOB->CRL...а вот эту строку не догоняю
Поясните пожалуйста, если не трудно.
Код: Выделить всё
GPIOB->CRH &= ~((GPIO_CRL_MODE0|GPIO_CRL_CNF0)<<(LCD_DC_PIN-8)*4)Здесь устанавливаем на пине В0 аналоговый вход, только почему GPIOB->CRH а не GPIOB->CRL
Код: Выделить всё
GPIOB->CRH &= ~((GPIO_CRL_MODE0|GPIO_CRL_CNF0)Код: Выделить всё
<<(LCD_DC_PIN-8)*4)Поясните пожалуйста, если не трудно.
Re: Цифровое управление лабораторным источником (stm32f100c4
amv2000 писал(а):Не могу разобраться с этим местом в кодеКод: Выделить всё
GPIOB->CRH &= ~((GPIO_CRL_MODE0|GPIO_CRL_CNF0)<<(LCD_DC_PIN-8)*4)
Здесь устанавливаем на пине В0 аналоговый вход, только почему GPIOB->CRH а не GPIOB->CRL
потому что
Код: Выделить всё
#define LCD_DC_PIN 12
то есть настраивается PB12 и, поскольку 12 > 7, то используется CRH . Здесь сбрасываем все необходимые биты в 0, что бы следующей строкой нужные биты устанговить в 1. Это делается оттого, что значение по-умолчанию регистра отличается от 0, поэтому необходимо очистить все влияющие на режим биты, что бы потом их правильно установить
amv2000 писал(а):...а вот эту строку не догоняюКод: Выделить всё
GPIOB->CRH &=
~((GPIO_CRL_MODE0|GPIO_CRL_CNF0)Код: Выделить всё
<<(LCD_DC_PIN-8)*4)
Поясните пожалуйста, если не трудно.
Операция | - результат - все нужные биты установлены в 1.
Операция ~ - инвертирование - все нужные быты установлены в 0, ненужные в 1.
Операция &= - побитовое AND - все биты где были 0 хотя бы у одного операнда окажутся установленными в 0. Остальные не изменятся. То есть сбросятся требуемые биты - те которые обозначены единичными битами в макросах GPIO_CRL_MODE0 ...
Операция << - битовый сбвиг влево - просто выбор нужной 4-ки битов в зависимости от пина. Можно было бы использовать GPIO_CRL_MODE12 и т.д. Но номер пина у меня задан макросом, поэтому при изменении макроса нужно было бы мнять и GPIO_CRL_MODE. А так - свобода перекидывать пины в пределах 8-15 одним переопределением макроса.
- amv2000
- Опытный кот
- Сообщения: 717
- Зарегистрирован: Вт апр 26, 2011 13:58:36
- Откуда: Ростовская область
Re: Цифровое управление лабораторным источником (stm32f100c4
Galizin писал(а):Операция << - битовый сбвиг влево - просто выбор нужной 4-ки битов в зависимости от пина.
Здесь
Код: Выделить всё
<<(LCD_DC_PIN-8)*4)Вот так почему то более понятно
Код: Выделить всё
GPIOC->CRH &= ~GPIO_CRH_MODE12 //очистим разряды MODE12 (сбросить биты MODE12_1 и MODE12_0 в нуль)
GPIOC->CRH |= GPIO_CRH_MODE12_0 //Выставим бит MODE12_0, для настройки вывода на выход с быстродействием 10MHz