-
Notifications
You must be signed in to change notification settings - Fork 12
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
Dynamic comma #7
Comments
No, the 8th bit of the argument "data" of that function will actually decide if the decimal place is lit or not. There are no access to that since it's on the TO-DO list. |
Хорошо спасибо буду ждать будущее |
Please have a look at this branch. https://github.com/cocus/vc288-alt-fw/tree/cocus/calibration-and-moving-decimal-point-test Note that if you changed any of the "calibrations" you should review these in this code. Dynamic comma is also applied, but not tried. I don't have my meter at hand to try it out. |
Hello, did you manage to try this? I'm interested on some feedback! |
Спасибо! извините что так долго отвечал, только увидел сообщение на почте, попробую сегодня или завтра и напишу что у меня вышло ) |
все так же нет запятой к сожалению... |
сделал так как вы сказали но ничего не изменилось все так же как и было |
even if you supply some voltage to the input? Have you calibrated it before starting? |
https://github.com/cocus/vc288-alt-fw/tree/cocus/calibration-and-moving-decimal-point-test |
вообщем никаких показаний не показывает даже не горит не один сегмент ни до калибровки ни после возможно потому что у меня STM8S103F3P ничего не работает хотя первый код работал вполне нормально без каких либо изменений |
нет индикации совсем |
изменил значение 0 на 1 |
Заработало осталось только откалибровать |
не калибруется думаю нужно поставить резисторы правильного номинала |
калибровка не работает( |
If you change the 1 to 0 as you've mentioned, you're bypassing the calibration routine. |
else if (value >= 0.001) возможно ли добавить такой код чтобы показывал значения до 1 Вольта |
замыкаю j2 и контакт измерений на землю и подаю питание загорается индикатор А центральный вольтметра после больше 30 секунд отпускаю и ничего |
Я уже и резистор 270кОм заменил на 300 кОм на амперметре так как на вольтметре тоже 300 кОм возможно нужно точное значение измерить мультиметром и добавить в программу ? |
спалил программатор при попытке замерить напряжения 12 вольт после калибровки теперь у программатора 3 вольта закорочено на землю возможно что программа сработала неправильно? но как через резистор 300 кОм могло поступить напряжение на линию 3 вольта странно |
ну вообщем спасибо за вашу работу не бросайте я все же спустя долгое время смог восстановить свой испорченный вольтметр благодаря вам и вашей программе после ремонта программатора или покупки нового буду опять пробовать вашу программу надеюсь STM8 жива )) может быть изначально с программатором проблема была криво устанавливал программу вообщем до встречи ) |
Hi, I've updated the branch. Please download it again. Note that on the first time you use this, you need to comment out line 170 out of main.c; and a calibration will take place when you start the meter. After that, please un-comment it. A proper calibration trigger will be added later. Dynamic comma should work "ok" now, and the amps should display something useful as well. Although the gain value for the amps is not right. |
Привет! хорошо обновлю сейчас только недавно вроде бы восстановил свой программатор вышедший из строя после неудачного замера напряжения сгорел микроконтроллер stm32 заменил прошил буду пробывать заказа новый с Китая теперь будет 2 программатора )) |
проэкт не компилируется ошибки выбивают но я пробывал старую версию вообщем и STM8 умерла буду ждать с китая STM8 закажу с излишком штук 10 мало ли ))) как получу и перепаяю установлю вашу программу и напишу обязательно |
Good catch! I forgot to push that file! Please clone again, I've pushed that file. |
Значения идут в минус |
What do I need to do to calibrate? |
only the change #define ADC_AVERAGE_SAMPLES_BASE_2 5 |
other settings do not change readings, all readings remain unchanged |
what needs to be done so that the readings after the decimal point smoothly change, for example, from 0.01 to 0.99 (0.02, 0.03, 0.04 and so on) |
Is calibration possible once with firmware? |
Sorry I will wait for an answer dear friend |
когда замыкаю JP2 минуту удерживаю показания не изменяются буду пробывать подбирать резисторы R2 и R3 но буду рад если ответите спасибо вам! |
my ST-Link was faulty I ordered a new one in China, that's just got it and immediately started to flash, the first one for some reason burned out, I restored it STM32 firmware but does not want to flash STM8 :D , there is apparently something else failed, so this message was I now have everything in order the new programmer works properly. |
So, the calibration doesn't start by itself. you need to remove the input voltage (i.e. the one you'd measure) and then flash it with main.c:173 commented. This will run the calibration ALWAYS. After it boots for the first time, revert this change (i.e. un-comment the same line) and then it should work. |
а почему показания не изменяются когда я меняю значения в #define VOLTS_R2_RV1 301500.0 я их изменил , но это ничего не изменило |
я заметил погрешность в 1-2 вольт при изменении напряжения от 1 до 20 вольт |
Because those are the reference values that will be stored on the calibration. so if you change those defines, you need to "re-calibrate" your device. That small error you saw on the voltage on that range I think its due to the non linearity that this ADC shows (which I didn't do anything to fix it for now). |
понял буду пробовать тестировать но уже делал замену резисторов)) на вольтметре вроде бы удачно а вот амперметр бог знает чет непонятное на нем ))) что то показывает какие то числа когда ничего не подключено ))) амперметр показывает постоянно разные числа 200, 185, 197 очень быстро иногда удается разглядеть и при подключении нагрузки , измеряет в обратном направлении то есть если показывает 200 становится 180 то есть показания идут как бы в минус |
Okay, the amp wasn't tried that much, but it could have some issues. Next time I have time to work on it will try to make the amp meter to work properly. Probably the formula for the gain is wrong. I'll have to debug it more closely. But the volt meter should work "kind of ok" for now. |
если правильно понял после того как я уберу комментирование //while(!read_programming_pin()); |
ehhh technically it should work from the beginning but I catched an issue with that pin. it seems like the LEDs connect from the SWIM line to that pin, and if you ground it, you'll pull the SWIM line low, which would break your debug session. I think it might work if you're not debugging it, but I think it won't work regardless. That's an issue with the design of the board. I will see what other methods I can come up with for triggering a calibration. |
Хорошо буду ждать дополнений ! и тестировать то что вы сказали спасибо вам огромное! |
настроил вольтметр подбором резисторов показывает правильно ! только после запятой ошибается и считает не от 1.00 до 1.99 а хаотично 1.23 , 1.11, 1.37 как то так хотя мультиметр показывает четко где можно настроить это исправить значения после запятой? |
Где можно в программе изменить значения RV1 и R2 потому что у меня другое значение и найти точно такой же резистор с маркировкой 274 не могу поэтому поставил с маркировкой 304 |
@cocus я получил сегодня новый вольтамперметр с Китая на STM8 :D |
Hey good, I don't speak russian myself and seems like english is a good "global" language for all projects, I hope you can translate those. Cool to see a proper STM8 meter. |
я взял новый китайский VC288 на котором была установлена STM8 и прошил его вашей прошивкой xD. Скажите как настроить его что бы он вел расчет правильно где настроить это? |
странно почему эта формула не работает ? |
Hello! how can I configure the ADC so that it shows 3.30 volts and not 3.17 - 3.29 |
если я правильно понял с запятой нужно работать здесь?
void set_segments(uint8_t data)
{
PA_ODR_ODR2 = data & 1; data >>= 1; // G
PC_ODR_ODR4 = data & 1; data >>= 1; // F
PC_ODR_ODR7 = data & 1; data >>= 1; // E
PC_ODR_ODR6 = data & 1; data >>= 1; // D
PC_ODR_ODR3 = data & 1; data >>= 1; // C
PA_ODR_ODR3 = data & 1; data >>= 1; // B
#ifndef SWIM_DEBUG_ENABLED
PD_ODR_ODR1 = data & 1; data >>= 1; // A (same pin of SWIM)
#else
data >>= 1;
#endif
PC_ODR_ODR5 = data & 1; data >>= 1; // Dp
}
void select_digit(uint8_t digit)
{
PD_ODR_ODR4 = digit != 0;
PD_ODR_ODR6 = digit != 1;
PD_ODR_ODR5 = digit != 2;
}
The text was updated successfully, but these errors were encountered: