Перейти к содержанию

На Lcd1602 Плавает Напряжение 0.3 - 0.7В.


Рекомендуемые сообщения

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Все равно не пойму с плаванием напряжении. Изменения не помогают странно что аналогичные скетчи ведут себя также, хотя по видео обзорам напряжение у них не скачет. Может калибровка есть какая?

С Уважением!

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Вы сейчас шутите, или как ?

Ещё почти вначале темы Вас навели на мысль. Я её довёл несколькими постами выше. Это что касается текщего разрешения АЦП. Что касается увеличения разрешения - советовал Виктор.

А Вы до сих пор продолжаете спрашивать одно и тоже.

Ссылка на комментарий
Поделиться на другие сайты

Нет я его не писал. Нашел в просторах интернета и повторил схему. Поэтому если можно показать или дописать то что нужно для моих целей.

С Уважением!

Ссылка на комментарий
Поделиться на другие сайты

Alex, я хочу это единичное преобразование убрать из функции и сделать там 20 преобразований и усреднить. глядиш и плавать перестанет

стрелок, если эта функция есть в программе, то она есть в библеотеке, в какой не знаю, но точно знаю что она из стандартных от ардуины, а вы открыли библиотеку от дисплея, ищите

Не знаеш как? Спроси у Google'а !!!

Ссылка на комментарий
Поделиться на другие сайты

Alex, я хочу это единичное преобразование убрать из функции и сделать там 20 преобразований и усреднить

Ну это же можно сделать и в самой программе. Не обязательно лезть в библиотеку.
Ссылка на комментарий
Поделиться на другие сайты

Нашёл вот такой код подойдёт?


;пп сглаживания показаний на основе алгоритма "скользящее окно"
window:
; определяем и сдвигаем данные в окне	 
  ldi yl,$60   ;указатель на начало окна
  ldi yh,$0
  ldi zl,$62   ;второй указатель на следующее значение в окне
  ldi zh,$0
;смещаем содержимое окна на один элемент
  ldi temp3,31
stack:
  ld temp1,z+
  ld temp2,z+
  st y+,temp1
  st y+,temp2
  dec temp3
  brne stack
;вновь поступившее значение помещаем в конец	 
  sts $9e,buf_adc_l   ;  9e 7e
  sts $9f,buf_adc_h   ;  9f 7f
;теперь суммируем все,что находится в окне для усреднения
  ldi yl,$60   ;начало окна
  ldi yh,$0
  ldi zh,32    ;количество элементов в окне

  clr temp1
  clr temp2
summ:
  ld temp3,y+
  add temp1,temp3
  ld temp3,y+
  adc temp2,temp3

  dec zh
  brne summ
;теперь делим сдвигом вправо на количество элементов (усредняем значение)
  ldi zh,5
div:
  clc
  ror temp2
  ror temp1
  dec zh
  brne div
;все готово - назад в буфер
  mov buf_adc_h,temp2
  mov buf_adc_l,temp1
  ret

С Уважением!

Ссылка на комментарий
Поделиться на другие сайты

Судя по комментариям в коде, там уже все усреднили, аж 32 раза. Остаётся только смириться 70 мВ это пустяки, а 30 мВ так вообще пыль.

Не знаеш как? Спроси у Google'а !!!

Ссылка на комментарий
Поделиться на другие сайты

Нет Вы не поняли это не с моей прошивки код, а из просторов интернета. Если он подходит то скажите куда его мне дописать?

С Уважением!

Ссылка на комментарий
Поделиться на другие сайты

Вот нашёл ещё код в интернете. Куда его записать и поможет он?

#define MAX_LEN_BUFER 128			 // размер буфера хранения измерений
unsigned long SUMM_ADC_VALUE=0;	 // переменная хранения суммы показаний
unsigned char SUMM_COUNTS=0;		 // количество интераций
unsigned int ADC_VALUE=0;			 // переменная хранения значения ADC
unsigned int RESULT=0;			 // переменная среднеарифметического значения ADC

unsigned int ADC_VALUE_BUFFER[MAX_LEN_BUFER]; //кольцевой буфер хранения измерений предназначен для вычисления среднеарифметического




SUMM_ADC_VALUE -= ADC_VALUE_BUFFER[sUMM_COUNTS];	 // вычесть из суммы значение кольцевого буфера по указателю SUMM_COUNTS

 ADC_VALUE_BUFFER[sUMM_COUNTS] = ADC_VALUE;			 // записать новое значение в кольцевой буфера по указателю SUMM_COUNTS

 SUMM_ADC_VALUE += ADC_VALUE;						 // накопление в переменную для усреднения

 SUMM_COUNTS++;										 // двигаем указатель

 if ( SUMM_COUNTS>= MAX_LEN_BUFER)					 // если указатель вышел за предел кольцевого буфера
 {
 SUMM_COUNTS = 0;									 // указатель обнулить, в начало кольцевого буфера
 }
RESULT =(SUMM_ADC_VALUE / MAX_LEN_BUFER);		 // среднеарифметическое значение сумма накопленных значений / количесво операций сложения

Многие пишут про опорное напряжение .ARef у меня она не подключена, к тому же LCD берет +5в из самой платы мега 328 и все это общее питается от USB компьютера. Делитель из резисторов у меня рассчитан на +40в и из за этого может быть не точность.

Изменено пользователем Стрелок

С Уважением!

Ссылка на комментарий
Поделиться на другие сайты

Ерунда какая-то тут написана. Какие то вычитания ненужные, потом сложения, ... В общих чертах - что-то близкое.

В общем, гуглите кольцевой буфер. Как он реализуется, как используется, ...

Только ничего у Вас всё равно не получится, уже несколько раз сказано в теме. Но Вы же не хотите вникать, Вам надо что бы "работало".

Ссылка на комментарий
Поделиться на другие сайты

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

В посте #14 Я писал что пробовал разные скетчи вольт метров во всех одно и тоже.

Изменено пользователем Стрелок

С Уважением!

Ссылка на комментарий
Поделиться на другие сайты

Какие тут могут быть загадки ?

Это же обычная арифметика.

10 бит - ~1000 дискрет. 30 вольт делим на 1000 - получаем 30 мв на 1 дискрету. Это получилось разрешение вашего АЦП.

Прямо Вам сказал - 30 мв - это максимальное разрешение в Вашем случае. Что тыт может быть непонятного и загадочного ?

Или Вы действительно, наивно считаете, что АЦП - это какая-то магическая хрень, которая может измерять напряжение в диапазоне 0-1000000 Вольт с разрешением в 1 микровольт ? Да какой там микровольт, берём ещё ниже - нановольт, чё уж там...

Ну пораскиньте Вы хоть немного серым веществом, включите обычную человеческую логику.

Ссылка на комментарий
Поделиться на другие сайты

Как он может помочь Вашему решению, если Вы не хотите вникать в сказанное ?

Возьмите линейку на 30 см. Максимальное её разрешение, с которым она сможет померить - 1 мм.

Есть некая линия, которую нужно измерить с помощью этой линейки. Вы прикладываете линейку, конец отрезка оказывается чуть дальше отметки 12.5 см (125 мм), т.е. между миллиметровыми делениями.

А теперь вопрос - какова длина отрезка ? И назовите мне длину с точностью в 0.1мм. Только говорите с точностью в 0.1. мм, т.к. Я ХОЧУ узнать с точностью до 0.1 мм. И я не принимаю ответ "длина находится между 125 и 126 мм", мне нужен точный ответ.

Ждём ответа. А потом уже будем разговаривать дальше.

Ссылка на комментарий
Поделиться на другие сайты

Вы пытаетесь учить математике. Вопрос я задавал совсем другой, чем считать длинну отрезка с точность 0.1мм линейкой с делением 1мм.

Изменено пользователем Стрелок

С Уважением!

Ссылка на комментарий
Поделиться на другие сайты

Да такой же вопрос Вы задали, один в один.

Ваш вопрос равносилен вопросу "Как померить линейкой, с делениями в 1 мм, отрезок с точностью до 0.1мм". Если Вы до сих пор, после примера с линейкой, не поняли в чём у Вас проблема, то дальше разговор бесполезен.

Тем более, Вы не ответили мне на вопрос с линейкой. И я вам могу сказать почему. Потому, что на него невозможно ответить, ибо замер инструментом, не позволяющим мерить с такой точностью, невозможен.

Собственно и Вы хотите того же самого.

Ссылка на комментарий
Поделиться на другие сайты

Думаю не стоит его повторять. Как то я просил у Вас посмотреть скетч в теме с проблемой pwm, ответ был (нет времени на это) а требовать ответ про линейку есть! Буду гуглить интернет может повезёт и найду нужную информацию. Спасибо.

Изменено пользователем Стрелок

С Уважением!

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...