roboforum.ru

Технический форум по робототехнике.

Автомобильный вольтметр

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Re: Автомобилльный вольтметр

Сообщение Master » 03 сен 2009, 10:10

Вчера распаял плату. Добавил подстроечный резистор на 50 К, чтобы можно было калибровать.
А дальше начались траблы. Терпеть не могу когда в протесе все гуд, а в железе фигня какая-то.
Вопщем если на индикаторы выводить просто показания adc_data, то все нормально, при напряжении 12,2 В, после делителя на вход АЦП приходит 4,06 В, что теоретически получается равным
5 - 1024
4,06 - х
х=1024 * 4,06 / 5 = 831
на индикаторе тоже все верно 830 (правда значения скачат +-30 нужно усреднять).
Если крутить подстроечник, то значения на индикаторе тоже адекватно увеличиваются и уменьшаются.

Но когда я пытаюсь использовать формулу.
DCV_displey=adc_data*10,0*5.0/1024.0*3.0;
adc_data*5,0/1024,0 - пересчет в вольты АЦП
3,0 - домножаем на три т.к. у нас делитель
10,0 - умножаем чтобы привести 12,5 к виду 125, чтобы вывести на индикатор.

Но у меня 830 АЦП отображается как 18,2, а если крутить подстроечник значения пляшут в разные стороны. Крутишь в сторону уменьшения значения вначале уменьшаются, а потом растут, потом снова уменьшаются, в другую тоже самое. Можно даже поймать момент когда на индикаторе будет то 1,2В, то 14В и так будет устойчиво мигать.
Вложения
DCV.JPG
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Re: Автомобилльный вольтметр

Сообщение SERGEY_M » 03 сен 2009, 10:25

а нафига такая формула?
adc_data*5,0/1024,0 - пересчет в вольты АЦП

переводи сразу в миливольты и избавься нафиг от плавающей запятой
в int все влезет
DCV_displey=adc_data*5*3;
получишь число 12465, т.е. 12,465В
Последний раз редактировалось SERGEY_M 03 сен 2009, 10:41, всего редактировалось 1 раз.
Аватара пользователя
SERGEY_M
 
Сообщения: 682
Зарегистрирован: 20 мар 2009, 12:45
Откуда: Украина, Одесса
ФИО: Сергей

Re: Автомобилльный вольтметр

Сообщение blindman » 03 сен 2009, 10:27

То, что цифры скачут, похоже на переполнение. Хотя по идее его быть не должно, если компилятор вменяемый :)
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Автомобилльный вольтметр

Сообщение Master » 03 сен 2009, 10:28

разные числа получаются, если adc_data = 830
то
830*5/1024*3=12,158
830*5*3=12450

Добавлено спустя 19 секунд:
Компилятор CVavr
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Re: Автомобилльный вольтметр

Сообщение blindman » 03 сен 2009, 10:32

Master, попробуй adc_data и DCV_displey объявить как long, а пересчёт делай как DCV_displey=adc_data*150/1024;
Применение плаваючей запятой думаю тут неоправдано
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Автомобилльный вольтметр

Сообщение SERGEY_M » 03 сен 2009, 10:40

правильно
у тебя 5, это опорное 5В
у меня 5, это 5/1024=4,88мВ ~5мВ
я думаю подстроечником это можно подогнать
Аватара пользователя
SERGEY_M
 
Сообщения: 682
Зарегистрирован: 20 мар 2009, 12:45
Откуда: Украина, Одесса
ФИО: Сергей

Re: Автомобилльный вольтметр

Сообщение Master » 03 сен 2009, 10:41

blindman
SERGEY_M
Попробую и так, и так.
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Re: Автомобилльный вольтметр

Сообщение Master » 03 сен 2009, 18:43

Блин, не помогло не так не этак.
Может ошибка в чем-то другом? Вот полная схема.
А в архиве проект целиком + печатная плата. Гляньте плиз.

Добавлено спустя 2 минуты 32 секунды:
Щас видео как оно работает выложу.


Думал в начале что от того что я кручу и показания скачут, пробовал крутить ступеньками (покрутил остановился), то же самое. Причем повторюсь, что если на индикатор выводить просто содержимое АЦП, то все нормально он показывает изменения адекватно.
Вложения
авто.rar
Проект
(109.03 КиБ) Скачиваний: 13
cxema.JPG
Полная схема
fuse.JPG
Фьюзы
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Re: Автомобилльный вольтметр

Сообщение blindman » 03 сен 2009, 19:00

Такое впечатление, что 2 и 3 разряды на индикаторе переставлены
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Автомобилльный вольтметр

Сообщение Master » 03 сен 2009, 19:06

Щас по схеме проверю.

Добавлено спустя 1 минуту 50 секунд:
Оооо, велики blindman преклоняюсь перед твоим опытом!!! Так и есть.
Всем остальным откликнувшемся тоже спасибо.
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Re: Автомобилльный вольтметр

Сообщение Duhas » 03 сен 2009, 19:08

а я поглядел видео.. и не заметил ))))
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Автомобилльный вольтметр

Сообщение blindman » 03 сен 2009, 19:09

Да по видео явно видно. Последняя цифра меняется только после того, как вторая пройдет от 0 до 9 - хотя должно быть наоборот.

Master, Поставь на паузу, посмотри напряжение на мультиметре, и в показаниях индикатора переставь среднюю и правую цифры. Как раз увидишь что при 4.05 показывает 12.2 - что согласуется с расчетами.
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Автомобилльный вольтметр

Сообщение Master » 03 сен 2009, 20:00

Это меня и сбивало с толку, что если выставить 4.05 то показывает все верно, а если измерять другие напряжения у которых значения единиц и десятков не две одинаковые цифры, то все не верно.
Просто тут так совпало что БП выдает 12,2 В.
:) Довольный как слон.
Ща закончу выложу все файлы прошивки и печатку одним архивом может кому пригодится.
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Re: Автомобилльный вольтметр

Сообщение avr123.nm.ru » 03 сен 2009, 20:08

Наверняка пригодится. Хорошо бы в первый пост залить архив и можно в топике "исходники" дать ссылку.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Автомобилльный вольтметр

Сообщение Master » 03 сен 2009, 20:56

Вот что в итоге должно получится.

Добавлено спустя 6 минут 59 секунд:
Выложил все в первом посте.
Вложения
.JPG
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Пред.След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: GoGo.Ru [Bot], Yandex [Bot] и гости: 5