Profi-Max Laboratory
Handmade Wonders
New Alternative firmware for DPS3003... DPS5020
- Rigorous technical design.
- Large digits on the display. 3- or 4-digit display
- Ten general profiles and ten preset profiles for charging Li-Ion batteries.
- Profile setup menu.
- General parameters menu.
- Calibration menu.
- Screensaver. Screen rotation.
- Amp and watt hour meters. Shutdown timer.
- Recovery after external power failure.
- Indication of the charge of the external power supply battery.
- Possibility of connecting additional modules: a gyro sensor for screen rotation and a digital thermometer with an additional fan.
- Changing the color of the indication at the user’s choice.
- Control via USB (Com-port) or bluetooth.
- Firmware update via USB/UART
- Compatible with Chinese control software.

You can change the voltage and amperage after pressing buttons “V” or “A”. Rotate the knob to select menu or counters pages. Navigate menu items using up and down buttons. To leave any menu without saving changes just push “ON/OFF” button.
At the main screen push “SET” button and rotate the knob to select a profile. There are 20 profiles:
- M0..M9 – general profiles.
- C0…C9 – profiles for Li-Ion battery charge.
Output power on/off

When you turn on the output power, the display color changes. CV (constant voltage) or CC (constant current) mode is displayed.
Changing voltage and current while output is on
You can change the values after pressing buttons “V” or “A”.
The adjustment range is limited to avoid overvoltage.

Output level indicator
Depending on CV or CC mode you can see the level of output:
- In CV mode – The level is output current as a percentage of “I set”.
- In CC mode – The level is output voltage as a percentage of “U set”.


Smart or Normal display

Now you can select between 3-digit or 4-digit display.
Go to “Parameters” menu, the item “Smart Display” to change the selection.
Oscilloscope
Press the “V” button to select the voltage range.
Press the “A” button to select the current range.
Press the “SET” button to select the mode:
- Single voltage beam
- Single current beam
- Both beams. Voltage ahead
- Both beams. Current ahead
Whenever the U setting or I setting is changed, the autorange function starts and changes the ranges.

Counters screen

Rotate the knob to go to the counter screen.
The counters are reset every time the output is turned on, if the following is selected in the “Parameters” menu: Reset counters = Yes. Otherwise, the counters will be cumulative.
In addition, you can reset the counters by pressing the “SET” button for 3 seconds.

Profile setup menu (M0...M9 C0...C9)
When output is off rotate the knob to go to different menu. Use arrow-up and arrow-down buttons to navigate through menu items. The selected item is blinking and go green. Change value with the knob.
If you wish to save changes select “Save?” – Yes and then “Exit”.
To leave menu without saving just push “ON/OFF” button.
- OVP – Over Voltage Protection.
- OCP – Over Current Protection.
- OPP – Over Power Protection.
- Overtime – The time in minutes of the load shutdown timer.
- Soft Front – When turned on, the voltage increases gradually.
To disable the timer, set Overtime = 0.

Parameters menu

- Temp. – Tempearture and choice of Celsius or Fahrenheit.
- Overheat – The temperature when output will be turned off.
- Backlight – Screen brightness. 1 – minimum, 5 – maximum, 6 – maximum plus screensaver.
- Smart display – Three or four digit display.
- Battery source – The main page displays the state of charge of the input battery. Used for Li-ion powered mobile DPS.
- Max Memory – Determines how many memory cells will be available to the user using the “SET” button.
- Reset counters – Specifies the behavior of the counters. If set to Yes, the counters will be reset each time the output is turned on.
If the screensaver is activated, then five minutes after pressing the buttons, the screen brightness will decrease from maximum to minimum. The maximum brightness is restored again after any button is pressed or an error occurs.
Communication menu
Hold the “M1” (arrow-up) button after power-on during the logo screen. For the first few seconds, the device looks for a bluetooth connection.
Baud Rate and Modbus Address should be the same as in PC/Android application.
Please note: The pin code is stored in the BT module itself, and not in the internal memory of the PSU.
BT connected – means BT board found. No matter connection with PC/Android device.
The “BT Debug” menu item allows you to see the AT command passed to the BT module. Whites are commands and greens are answers.

Restore default configuration

Hold “SET” button after power-on during the logo screen.
If you choose Restore? Yes, all memory and calibration settings will be erased and replaced with the default.
There is a choice of hardware version. This is necessary for various revisions of printed circuit boards for calibration to work.
Screen rotation menu
Hold “M2” (arrow-down) button after power-on during the logo screen.
Set ” Rotate” to ” Yes”.
Then go to “Position” menu item and select the rotation.
The automatic screen rotation is available with external MPU6050 Gyroscope Sensor .
You can place the sensor in any position and then set the correct screen rotation in this menu.

Key Lock

Push rotary knob to lock-unlock device buttons.
NOTE: When device is connected with PC/Android application all the buttons are locked automatically.
Recovery after an external power failure
After turning on the output power with the “ON / OFF” button and then blocking the buttons by pressing the encoder, the state is stored in the non-volatile memory. Thus, after an external power failure, the unit will completely restore its state.
Modbus communication protocol

The basic data of the communication protocol is the same as the stock Chinese protocol of DPS devices. Additional data has been added. Read more here.
Calibration
When the power output is on, press and hold “SET” button for 3 seconds.
The calibration procedure is pretty straightforward. You only need a multimeter and an external power supply. Do not use a load during calibration.
The basic principle of calibration is to define two points – LOW point and HIGH point. For example, we can calibrate the input voltage at 6 V (low point) and 25 V (high point). It’s enough.
The low and high points are already preset in the device, but you must enter the correct values displayed on the multimeter.

Navigate menu item by pressing arrow up and down buttons. To start item press “SET” button. When the item blinking set correct value by the knob. To apply the value push the rotary knob for 3 second. The applied value goes blue. To store the changes select “Save?” – Yes and then “Exit”.
To achieve greater accuracy, repeat the calibration procedure 2 or 3 times.
If something goes wrong, you can restore the default settings at any time.
NOTE. Select I out H current value suitable for the maximum current of the multimeter.
Video – How to calibrate in Russian
If the calibration doesn’t work – READ HERE
VALUE-ADC-DAC

Since firmware version 3.8 a page with calibration data has been added. This page is mainly for information. Do not manually change the values on this page unnecessarily.
If you have a revision with a different hardware version and the calibration values differ significantly from the default ones, you can send me a photo of the VALUE-ADC-DAC page with a description of your model so that I can use your data in the next firmware revisions. admin@profimaxblog.ru
Firmware Update via USB/UART
Press “ON/OFF” button after enabling power during the logo screen to enter the “Update mode”.
When the screen goes black, you can upload new firmware using STM32CubeProgrammer (or ST’s old Flasher / or DPSmaster application).
Connect USB cable to PC, start STM32CubeProgrammer, select UART, then correct COM port (any baudrate, but with parity “EVEN”), click “Connect” and start programming.
NOTE: The update doesn’t work via bluetooth because your BT whistle on PC can’t transmit “EVEN ” parity.

Connecting additional modules
Starting with firmware version 3.6, it is possible to connect an external gyro sensor to rotate the screen.
Starting with firmware version 3.7, it is possible to connect an external digital temperature sensor and an additional cooling fan.
DPSmaster
DPSmaster is Windows PC application for communicate to RIDEN DPS (Digital Power Suplly) via USB or Bluetooth:
- DPS3003
- DPS3005
- DPS3012
- DPS5005
- DPS5015
- DPS5020
- DPS8005
Single application for all models. The application is 5Mb executable file without installation and any middleware. It works with stock and alternative firmware.

A WARNING ABOUT CHARGING BATTERIES
Connecting any rechargeable batteries directly to the output of the unit can crash the DPS device !!!
- In case of polarity reversal – 100% failure of any DPS model.
- When the output voltage of the power supply is turned off, the voltage from the battery will flow back to the power supply. This could damage it.
- These features are associated with the circuitry of the power supplies and do not depend on the firmware.
- To avoid the above charging problems, use an additional diode as shown in the figure below. Consider the amperage and voltage drop across the diode when charging.
- If you find it difficult to understand the above problems, do not charge the batteries using DPS power supplies, use specialized chargers instead.

- This topic has 32 replies, 8 voices, and was last updated 3 months, 3 weeks ago by
marburger.
-
AuthorPosts
-
-
19.12.2022 at 15:46 #3577
profi-max
KeymasterDPS3003 DPS3005 DPS3012 DPS5005 DPS5015 DPS5020 DPS8005
Новая прошивка версии 4.3
1)Расширенная защита.
2) Индикация автосохранения.
3) Скорость связи увеличена до 115200 бит/сек
4) Улучшена отзывчивость на запросы Modbus
5) Внесены дополнения в протокол
Подробности тут:-
This topic was modified 9 months, 2 weeks ago by
profi-max.
-
This topic was modified 9 months, 2 weeks ago by
-
23.12.2022 at 14:11 #3783
Jallaa
ParticipantА можно сделать прошивку под дисплей 3,5 дюйма, и распаять все кнопки и дисплей, прибор отличный, но мелкий экран и близко все кнопки.
-
23.12.2022 at 16:46 #3784
profi-max
Keymaster>А можно сделать прошивку под дисплей 3,5 дюйма, и распаять все кнопки и дисплей, прибор отличный, но мелкий экран и близко все кнопки.
В ближайшее время таких планов нет. И свободного времени тоже нет. Может быть когда-нибудь, но не факт. -
02.02.2023 at 06:23 #3834
wzn
ParticipantDPS5020 китайская прошивка. Пользователь несколько лет.
Зарегестрировался тут, чтоб поговорить о наболевшем.
1. Три цифры индикации это мало. Использую 4 цифры (штатный экран) на ток и внешний 5 цифр на напряжение (китайский модуль 5 знаков с поверкой в Самарском центре стандартизации).
Ваши три цифры – ни о чём.
2. Использую провод 7AWG чтоб при значительном выходном токе напряжение было похоже на то, которое на экране DPS5020.
3. Практически использую только m1 и m2 настройку. 1,65 и 14,5 вольт соответственно. Остальное под текущую задачу довожу донастройкой. Остальные m настройки я просто не запоминаю (забываю).
4. В штатном комплекте почему-то графики в Еxcel удавалось сохранить только на телефон (android). Они нафиг там не нужны. Нужны в компьютере, но компьютерное ПО их не пишет. За то имеет кучу настроек самого блока ( а они нужны как раз на телефоне.
5. Совершенно неочевидное управление кнопками и ручкой при настройке. -
02.02.2023 at 07:09 #3835
wzn
ParticipantВспомнил ещё пару взаимосвязанных пунктов:
6. Очень неудобное расположение кнопки включения DPS5020 под энкодером. Важно, что решение этой проблемы достаточно простое – положить (или поставить) DPS5020 на бок. Так что бы выходные клеммы были снизу. При этом решается проблема с доступом к кнопке включения и уменьшается используемое место на столе. Однако,это выявляет ещё одну проблему:
7. Экран не поворачивает информацию, если расположение DPS5020 отличается от горизонтального. -
02.02.2023 at 20:44 #3836
profi-max
KeymasterС удовольствием пообсуждаю эти блоки. В режиме обмена мнениями и информацией. Разные точки зрения приветствуются)
>>>Три цифры индикации мало.
Ответ: Выбрать 4 цифры вместо 3 можно в меню “Parameters” пункт “Smart Display”. Кроме этого, задать выходное напряжение и ток с высокой точностью можно в меню профиля M0…M9 Profile, даже когда включен 3 значный режим индикации.Посчитаем теоретически возможную точность DPS5020. Установлен процессор STM32F100 который имеет 12-разрядные АЦП и ЦАП. Двенадцать разрядов – это 4096 отсчетов. Получаем теоретическую точность для напряжения: 50 вольт разделить на 4096 равно 0,012 вольт. Теоретическая точность для тока: 20 ампер разделить на 4096 равно 0,00488 ампер (тоесть 5 мА).
Фактическая точность ещё хуже по двум причинам: 1) Используется не весть диапазон АЦП и ЦАП (что разумно и не спалит АЦП)
2) Очень большой уровень помех и наводок на входы АЦП. Наводки идут с самого блока, так как он импульсный. Никаких фильтров и экранов для защиты АЦП там нет (что объяснимо для очень бюджетного блока питания).Моё резюме такое. Не стоит ждать от блока питания за $30 такой же точности как у БП за $300.
В радиолюбительской практике в 99% случаев достаточно точности 0,1 вольт и 0,01 ампер.
В тех редких случаях, когда нужна высокая точность, я бы советовал использовать внешние вольт- амперметры. -
02.02.2023 at 23:32 #3837
wzn
ParticipantНаверное я хочу слишком много от такого блока питания. Однако точность я на контроллерах повышал делая 2, 4, 8 или более замеров с последующим усреднением.
Это не проблема, если требуемое число результатов в секунду является приемлемым.
Собственно требуется для тока только обеспечить минимально хотя бы 10 милиампер, а следующим шагом удвоить то, что есть. Это не контроль, а установка нужного. Для контроля ошибка в 4 знаке не столь важна.
Однако, для напряжения точность нужна выше и это при том, что как правильно отмечалось, импульсный блок генерирует ужасный сигнал, который содержит сильный шум. Меня спасает двойной Т-мост конденсаторный, без катушек перед внешним вольтметром с 5-ю цифрами. Да, вы правы. Только внешний вольтметр с отдельным питанием обеспечит точность измерения. Однако, теряется обратная связь с блоком питания для коррекции режимов по факту измерения.
Хотелось бы иметь возможность влиять на процесс обеспечения питания, если нагрузкой является заряжаемый аккумулятор.
p.s. Не ожидал быстрый ответ. Хотел только озвучить проблемы с которыми столкнулся. Вчера боролся с наводкой на осцилогаф от импульсных БП. Заметно помогло включение в разные розетки БП и осцилографа. Хотелось бы пообщаться Вайбером. -
03.02.2023 at 08:55 #3838
profi-max
Keymaster>>>Однако, теряется обратная связь с блоком питания для коррекции режимов по факту измерения.
>>>Хотелось бы иметь возможность влиять на процесс обеспечения питания, если нагрузкой является заряжаемый аккумулятор.
В моей прошивке, как думаю и в китайской, нет программной обратной связи. Вся обратная связь реализована аппаратно в драйвере TL594. Входы АЦП используются только для отображения фактического напряжения и тока.
Подробнее можно прочитать тут https://profimaxblog.ru/%d0%ba%d0%b0%d0%ba-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b0%d0%b5%d1%82-%d0%bf%d1%80%d0%be%d1%88%d0%b8%d0%b2%d0%ba%d0%b0-dps/Усреднение в моей прошивке есть. Основной цикл программы составляет 100 миллисекунд. За каждый основной цикл прошивка выполняет следующие задачи: Замер напряжения и тока в АЦП, Опрос кнопок, Отрисовка экрана, Ответы на запросы модбас. В самом цикле замера делается 16 замеров через 3 миллисекунды. Потом эти 16 значений усредняются, пересчитываются через коэффициенты в напряжение и ток для последующего вывода на экран. Усредненное значение имеет уже 16 разрядов, что как бы повышает точность. Иногда называют такой подход повышения точности OVERSAMPLING, но я не уверен что это научно обосновано))))
-
14.02.2023 at 20:36 #3839
-
14.02.2023 at 20:57 #3841
Serdg
ParticipantДисплей катастрофически мелкий, не позволяет использовать DPS с блоком питания в одном корпусе-
нет гармонии. Большой ящик с микро дисплеем. Хорошая задумка, но размер дисплея убивает.
С большим дисплеем- потрясающая конструкция получилась бы.
Сделал ему переднюю панель. Перенес разъемы на другую сторону платы и развел печатку, как мне удобно.
Все будет на алюминиевом шасси. В процессе… Радиатор медный, куллер австрийский. -
14.02.2023 at 21:12 #3842
-
15.02.2023 at 00:00 #3844
profi-max
KeymasterОго! Супер конструкция получилась!!!
Фотографии размером больше 1.5 МБ движок форума не даёт загружать. Уменьшайте размер фоток.
Согласен, дисплей катастрофически маленький.
Но сделать переход на дисплей с разрешением 240х320 точек почти не реально на имеющемся процессоре STM32F100. Для экрана с большим разрешением будут нужны уже другие шрифты, которые занимают в 4 раза больше места. А в прошивке уже нет свободной памяти. Да и тактовая частота 24Мгц очень низкая, чтобы комфортно прорисовывать дисплей с большим разрешением.Мне видится, что для перехода на большой дисплей нужно будет ещё дополнительный процессор помощнее, который бы управлял DPSом через UART по имеющемуся протоколу. Что-то вроде внешней панели оператора.
-
15.02.2023 at 06:18 #3845
Serdg
ParticipantА если использовать сопроцессор (еще один) для управления только индикатором?
-
15.02.2023 at 08:31 #3846
profi-max
KeymasterЕсли только индикацию, тогда на новом экране не будет меню. Поэтому нужно что-то полноценное.
-
21.02.2023 at 10:00 #3847
dave
ParticipantI have a few of these and they’ve been working well, but one of them has stopped regulating. vout is always the same as vin when it’s on. I have tried calibration and resetting defaults, has it broken? What could have caused this? Do you know a way to repair it?
-
21.02.2023 at 18:25 #3848
profi-max
KeymasterIt is best to look at the gate signal of the output MOSFET with an oscilloscope. There should be a meander with an amplitude of Vin minus 5 volts and a frequency of about 65 kHz. The PWM should change depending on the Vset voltage. This signal is generated in the TL594 driver. Check out the diagrams here:
-
14.05.2023 at 07:14 #3998
Doodad
ParticipantКак вам новинка?
https://aliexpress.ru/item/1005005429587089.html-
This reply was modified 4 months, 3 weeks ago by
Doodad.
Attachments:
You must be logged in to view attached files. -
This reply was modified 4 months, 3 weeks ago by
-
17.05.2023 at 22:39 #4010
mavi
Participant5020 не прошивает на 4.4 стоит 4.3
Шнуры, скорости, драйвера- менял
При прошивке происходит выключение экрана и обрыв связи -
01.06.2023 at 22:44 #4024
mavi
ParticipantЗдравствуйте не получается
Attachments:
You must be logged in to view attached files.-
01.06.2023 at 22:45 #4027
-
02.06.2023 at 22:16 #4031
profi-max
KeymasterПопробуйте прошить через USB с помощью STM32CubeProgrammer.
Если и это не поможет, тогда остается только прошивать через ST-Link
-
-
-
09.06.2023 at 00:14 #4035
marburger
ParticipantHello,
while trying to flash the firmware I think I shorted SWDIO and SWCLK or GND on my DPS5020 with the sewing needles as a connector. I got a spark, but DPS was still showing something on the screen and reacting to buttons. Now, after one powercycle, the display stays dead 🙁
Any idea what happend and if I can revive my DPS5020?-
09.06.2023 at 00:40 #4036
profi-max
KeymasterHi. Most likely your DPS5020 is alive. Try another ST-Link if possible.
-
09.06.2023 at 01:03 #4037
marburger
ParticipantOk, will do. Any clue why the DPS5020 screen is staying dead now? I did not stated flashing while the shortcut occured!
-
09.06.2023 at 08:35 #4038
profi-max
KeymasterCheck the voltage supply to the controller between VCC and GND pins
https://profimaxblog.ru/wp-content/uploads/2021/05/SWD-Pins.jpg
-
-
-
-
-
AuthorPosts
- You must be logged in to reply to this topic.
This Post Has 5 Comments
Comments are closed.
Большое человеческое спасибо за DPS3003
Пожалуйста)
С выхода регулятора ставим дроссель 3,2-3,6 мкгн, за ним электролит, микрофарад на 10. Далее схему на двух транзисторах IPB017N06N3
и LTC4372. LTC4372 запитываем отдельно- от регулятора. Обратную связь переделываем на выход защиты и дублируем на случай обрыва резистором.
Или, если нет падения через транзисторы, то лучше обратную связь установить за дроссель. А параллельно дросселю установить резистор 47 Ом.
Но установить этот аварийный резистор на случай обрыва цепей обратной связи на самой плате регулятора.
Это самый эффективный вариант защиты и от переполюсовки и от обратного напряжения и от пропадания питания.
A great job you’ve done!
Thanks