Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Calibration #15

Open
MrDrGEM opened this issue Apr 21, 2021 · 15 comments
Open

Calibration #15

MrDrGEM opened this issue Apr 21, 2021 · 15 comments

Comments

@MrDrGEM
Copy link

MrDrGEM commented Apr 21, 2021

Привет всем. Столкнулся тоже с проблемой калибровки. Залил актуальную прошивку. Версия платы 1, при подаче питания 5в - показания 11,3
6в - 21,5
7в - 32.8
8в - 43,0
Резисторы перепроверил тестером и вроде соответствуют скетчу RV1,2 - 20k , R1-8k2 , R2-270k , R3-180k , R4-8k2
Подскажите правильное направление решения. Спасибо.
ENG
Hello everybody. I also ran into a calibration problem. Uploaded the current firmware. Board version 1, when the input power is 5V - display show 11.3
6v - 21.5
7v - 32.8
8v - 43.0
I checked the resistors with a tester and seem to correspond to the sketch RV1,2 - 20k, R1-8k2, R2-270k, R3-180k, R4-8k2
Prompt the right direction of the solution. Thank you.

@MrDrGEM
Copy link
Author

MrDrGEM commented Apr 22, 2021

С точкой и показаниями разобрался. Теперь на амперметре не могу выставить точку, вместо 1А показывает 10

@cocus
Copy link
Owner

cocus commented Apr 22, 2021

So, current firmware has been modified lately and it's broken if you try to use it with PlatformIO. I don't know if it still works with IAR. In any case, go to config_8s003.h and modify which board revision you have:

//#define BOARD_HW_V1
//#define BOARD_HW_V2
#define BOARD_HW_V3

pick one of these.

Then, make sure you run a re-calibration by shoring the calibration pin (D6) and then powering up the device. (Don't connect anything to the voltage input).

@MrDrGEM
Copy link
Author

MrDrGEM commented Apr 23, 2021

Здравствуй. Напишу по порядку. У меня чип 8S003F3P6 . Сам чип таков что не могу его стирать но я иду в вкладку секуре бит и включаю потом выключаю бит защиты , тем самым получаю чистый чип. Скачал Ваш проект и поменял версию железа на
#define BOARD_HW_V1
//#define BOARD_HW_V2
//#define BOARD_HW_V3
После прошивки подключаю только питание вольтметра (без замера) замыкаю пин д6 и подаю питание (в моем случае 5в) светится один верхний сегмент в среднем разряде вольтметра. Через пару секунд снимаю перемычку с д6 и на дисплее появляются нули. Подключаю измерительный пин и точка на вольтметре не совпадает, вместо 5.00 показывает 50.0 иду в майн.с в строке
171 value = roundf(value * 100.0);
правлю
value = roundf(value * 10.0);
и точка начинает работать правильно а вот амперметр не хочет менять точку таким способом. Менял значения в 114 строке но он показывает 10.0А вместо 1.00
ENG
Hello. Thank for you ansver. I'll write in order. I have a 8S003f3p6 chip. The chip itself is such that I cannot erase it, but I go to the secure bit tab and turn it on, then turn off the protection bit, thereby getting a clean chip. I downloaded your project and changed the hardware version to
#define BOARD_HW_V1
// # define BOARD_HW_V2
// # define BOARD_HW_V3
After the firmware, I connect only the power supply of the voltmeter (without measurement), I close pin d6 and apply power (in my case, 5v), one upper segment glows in the middle display of the voltmeter. After a couple of seconds, I remove the jumper from d6 and zeros appear on the display. I connect the measuring pin and the point on the voltmeter does not match instead of 5.00 it shows 50.0 I go to the main.c in the line
171 value = roundf (value * 100.0);
change to
117 value = roundf (value * 10.0);
and the point starts working correctly, but the ammeter does not want to change the point in this way. Changed values ​​in line 114 but it shows 10.0A instead of 1.00 How to corect ampermetter ?

@cocus
Copy link
Owner

cocus commented Apr 23, 2021

This is good. I'll have a look at it to see what could have gone wrong with the last merge. Maybe @alexasf could add some clarification since I didn't test these changes.

@alexasf
Copy link
Contributor

alexasf commented Apr 27, 2021

Здравствуй. Напишу по порядку. У меня чип 8S003F3P6 . Сам чип таков что не могу его стирать но я иду в вкладку секуре бит и включаю потом выключаю бит защиты , тем самым получаю чистый чип. Скачал Ваш проект и поменял версию железа на
#define BOARD_HW_V1
//#define BOARD_HW_V2
//#define BOARD_HW_V3
После прошивки подключаю только питание вольтметра (без замера) замыкаю пин д6 и подаю питание (в моем случае 5в) светится один верхний сегмент в среднем разряде вольтметра. Через пару секунд снимаю перемычку с д6 и на дисплее появляются нули. Подключаю измерительный пин и точка на вольтметре не совпадает, вместо 5.00 показывает 50.0 иду в майн.с в строке
171 value = roundf(value * 100.0);
правлю
value = roundf(value * 10.0);
и точка начинает работать правильно а вот амперметр не хочет менять точку таким способом. Менял значения в 114 строке но он показывает 10.0А вместо 1.00
ENG
Hello. Thank for you ansver. I'll write in order. I have a 8S003f3p6 chip. The chip itself is such that I cannot erase it, but I go to the secure bit tab and turn it on, then turn off the protection bit, thereby getting a clean chip. I downloaded your project and changed the hardware version to
#define BOARD_HW_V1
// # define BOARD_HW_V2
// # define BOARD_HW_V3
After the firmware, I connect only the power supply of the voltmeter (without measurement), I close pin d6 and apply power (in my case, 5v), one upper segment glows in the middle display of the voltmeter. After a couple of seconds, I remove the jumper from d6 and zeros appear on the display. I connect the measuring pin and the point on the voltmeter does not match instead of 5.00 it shows 50.0 I go to the main.c in the line
171 value = roundf (value * 100.0);
change to
117 value = roundf (value * 10.0);
and the point starts working correctly, but the ammeter does not want to change the point in this way. Changed values ​​in line 114 but it shows 10.0A instead of 1.00 How to corect ampermetter ?

Моя рабочая ветка https://github.com/alexasf/vc288-alt-fw
В ней все исправлено. Но изменения почему-то не попали в основную ветку.

@ksv-success
Copy link

ksv-success commented Apr 30, 2021

кто вкурсе че тут происходит? не получается залить в стм8

src\main.c:92: warning 112: function 'roundf' implicit declaration
src\main.c:103: warning 112: function 'roundf' implicit declaration
src\main.c:122: warning 112: function 'roundf' implicit declaration
src\main.c:141: warning 112: function 'roundf' implicit declaration
src\main.c:173: warning 112: function 'roundf' implicit declaration
src\main.c:184: warning 112: function 'roundf' implicit declaration
src\main.c:203: warning 112: function 'roundf' implicit declaration
src\main.c:92: error 101: too many parameters
src\main.c:103: error 101: too many parameters
src\main.c:122: error 101: too many parameters
src\main.c:141: error 101: too many parameters
src\main.c:173: error 101: too many parameters
src\main.c:184: error 101: too many parameters
src\main.c:203: error 101: too many parameters
src\display_7seg.c:41: warning 158: overflow in implicit constant conversion
*** [.pio\build\stm8sblue_debug\src\main.rel] Error 1
==================================================== [FAILED] Took 1.95 seconds ====================================================

Environment Status Duration


stm8sblue_debug FAILED 00:00:01.947
=============================================== 1 failed, 0 succeeded in 00:00:01.947 ===============================================The terminal process "C:\Users.platformio\penv\Scripts\platformio.exe 'run', '--environment', 'stm8sblue_debug'" terminated with exit code: 1.

Terminal will be reused by tasks, press any key to close it.

@cocus
Copy link
Owner

cocus commented Apr 30, 2021

@ai-big-boss That's because of the last merge, where some bugs were introduced inadvertly. After my PR got merged, you should be able to build it again:
#17

@ksv-success
Copy link

ksv-success commented Apr 30, 2021

@ai-big-boss That's because of the last merge, where some bugs were introduced inadvertly. After my PR got merged, you should be able to build it again:
#17

ok thanks you bro! its working !

@ksv-success
Copy link

ksv-success commented Apr 30, 2021

image
как исправить ?

@cocus
Copy link
Owner

cocus commented Apr 30, 2021

Please modify the config_8s003.h so it's set as following:

#define BOARD_HW_V1
// # define BOARD_HW_V2
// # define BOARD_HW_V3

because these changes also default to a different board revision than the one you (and I) have.

@ksv-success
Copy link

Please modify the config_8s003.h so it's set as following:

#define BOARD_HW_V1
// # define BOARD_HW_V2
// # define BOARD_HW_V3

because these changes also default to a different board revision than the one you (and I) have.

да спасибо разобрался интуитивно понятно все это превосходно! посмотрел код вспомнил что вы собирались добавить поддержку разных версий и нашел сам )) спасибо за ответ ! благодарен вам за хорошую работу ! успехов вам и всего самого лучшего ! от чистого сердца

@ksv-success
Copy link

Здравствуй. Напишу по порядку. У меня чип 8S003F3P6 . Сам чип таков что не могу его стирать но я иду в вкладку секуре бит и включаю потом выключаю бит защиты , тем самым получаю чистый чип. Скачал Ваш проект и поменял версию железа на
#define BOARD_HW_V1
//#define BOARD_HW_V2
//#define BOARD_HW_V3
После прошивки подключаю только питание вольтметра (без замера) замыкаю пин д6 и подаю питание (в моем случае 5в) светится один верхний сегмент в среднем разряде вольтметра. Через пару секунд снимаю перемычку с д6 и на дисплее появляются нули. Подключаю измерительный пин и точка на вольтметре не совпадает, вместо 5.00 показывает 50.0 иду в майн.с в строке
171 value = roundf(value * 100.0);
правлю
value = roundf(value * 10.0);
и точка начинает работать правильно а вот амперметр не хочет менять точку таким способом. Менял значения в 114 строке но он показывает 10.0А вместо 1.00
ENG
Hello. Thank for you ansver. I'll write in order. I have a 8S003f3p6 chip. The chip itself is such that I cannot erase it, but I go to the secure bit tab and turn it on, then turn off the protection bit, thereby getting a clean chip. I downloaded your project and changed the hardware version to
#define BOARD_HW_V1
// # define BOARD_HW_V2
// # define BOARD_HW_V3
After the firmware, I connect only the power supply of the voltmeter (without measurement), I close pin d6 and apply power (in my case, 5v), one upper segment glows in the middle display of the voltmeter. After a couple of seconds, I remove the jumper from d6 and zeros appear on the display. I connect the measuring pin and the point on the voltmeter does not match instead of 5.00 it shows 50.0 I go to the main.c in the line
171 value = roundf (value * 100.0);
change to
117 value = roundf (value * 10.0);
and the point starts working correctly, but the ammeter does not want to change the point in this way. Changed values ​​in line 114 but it shows 10.0A instead of 1.00 How to corect ampermetter ?

разобрался?

@MrDrGEM
Copy link
Author

MrDrGEM commented May 4, 2021

К сожалению пока не разобрался. Прошил с ветки alexasf но там после калибровки не идет замер то есть замер делается только один раз только при включении. Если включил на 9 вольт то индикация не меняется если меняю вольтаж на измеряющем пине. Так и показывает 9 при любом входящем напряжении. Не исключено что я что то не правильно делаю, сейчас немного занят другим проектом и скоро вернусь к этому.

@alexasf
Copy link
Contributor

alexasf commented May 6, 2021

К сожалению пока не разобрался. Прошил с ветки alexasf но там после калибровки не идет замер то есть замер делается только один раз только при включении. Если включил на 9 вольт то индикация не меняется если меняю вольтаж на измеряющем пине. Так и показывает 9 при любом входящем напряжении. Не исключено что я что то не правильно делаю, сейчас немного занят другим проектом и скоро вернусь к этому.

Похоже АЦП затыкается.
Уменьши частоту измерения до двух в файле config.h
#define FREQ_AVERAGE_NETWORK 2 /Hz/
#define ADC_AVERAGE_SAMPLES_BASE_2 5
Это вернет измерение к исходным значениям базовой ветки
Проверить пока не могу, так как нет платы.

@alexasf
Copy link
Contributor

alexasf commented May 6, 2021

Протестировал измерение, на плате от термометра W1209.
На частоте 50 герц затыкался АЦП.
Уменьшил делитель частоты АЦП с 8 на 4. АЦП перестал затыкаться.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants