Обсуждаем контроллеры компании Atmel.
Ответить

Re: Циклический таймер на ATtmega8A.

Пн апр 12, 2021 22:00:01

Alex_641, может тебе следует почитать школьный учебник АРИФМЕТИКИ про целочисленное деление?
а целочисленное деление в школе изучается еще до дробей, и тем более, до десятичных дробей.

Re: Циклический таймер на ATtmega8A.

Пн апр 12, 2021 22:13:10

Остаток от деления ( по твоему канкулятору ) разелить на шта ?

Добавлено after 10 minutes 3 seconds:
Алгоритм по расчёту ёмкости , в моём исполнении за 0,1 секунду :
Есть стандартное зарядное устройство на 5 вольт. Подключено к потребителю не постоянного тока (мобильный телефон, любое то-что имеет свой конроллер заряда и изменяет ток в зависимости от полноты заряда).

Задача
считать ацп тока раз в 0,1 секунды, расчитать емкость набранную за это время.
Реализация без FLOAT ( расчёт ёмкости за 0,1 сек):
К примеру АЦП выдал ток I;
дельта С ( ёмкость за данный промежуток времени )=А*час=I*(1/36000)=I/36000 , но так как у нас не флоат, то микроконтроллер не может считать данные ниже единицы.
Потому умножаем числитель на 10 000 000 получаем I*10 000 000 /36000
сокращаем нули I*10 000/36=278 В итоге I*278
и теперь расчитываем ёмкость , набранную за 0,1 секунды
Показания тока с АЦП у меня в программе равны 1000=1 А !
То есть в формулу можем подставлять миллиамперы, предположим что ток 50 мА
Расчитываем всосанную ёмкость при токе 50 мА и времени 0,1 сек
50*278=13900 - это для микроконтроллера!
50*278/10 000 000 =0,00139 А*ч а это фактически !

Проверяем :
50 мА -ток заряда
0,00139 А*ч за 1/10 секунды
0,00139*36000=50,04 мА/ч .

Re: Циклический таймер на ATtmega8A.

Пн апр 12, 2021 22:40:58

Остаток от деления ( по твоему канкулятору ) разелить на шта ?

Зачем делить остаток на "шта"? Неужели школьная арифметика забылась?

Re: Циклический таймер на ATtmega8A.

Пн апр 12, 2021 22:48:50

А что с алгритмом выше ? )))

Добавлено after 5 minutes:
При целочисленной арифметике результат деления одного целого числа на другое состоит из двух чисел — частного и остатка. Если остаток деления отбросить, получим результат, в абсолютной величине округленный до меньшего целого.

Re: Циклический таймер на ATtmega8A.

Пн апр 12, 2021 22:50:24

А что с алгритмом выше ? )))

Это частный случай числа с фиксированной запятой, с основанием десятичным. В железе иногда преимущественно выбирать основание по степени двойки.

Re: Циклический таймер на ATtmega8A.

Пн апр 12, 2021 22:57:18

Хорошо ! Есть остаток , после деления ! Но до какой стпени , до каких запятых ? Тысячных, миллионных ? Гугольных ?

Добавлено after 4 minutes 9 seconds:
..у Нас есть переменная INT32 ! И фсё ! У нас нет 0,0014 и даже 0,99 !!! У нас есть 1 и 2 в степени 32 !

Re: Циклический таймер на ATtmega8A.

Пн апр 12, 2021 22:57:29

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

Оригинально! Возьму на заметку,спасибо!

Re: Циклический таймер на ATtmega8A.

Пн апр 12, 2021 22:58:00

Alex_641, В смысле до какой? До основания. В данном случае основание было выбрано 3600, т.к. оно подходит для расчетов во времени в час (60 сек * 60 мин = 1 час). Соотв. минимальная единица отсчета 1/3600.
Последний раз редактировалось NStorm Пн апр 12, 2021 23:23:00, всего редактировалось 1 раз.

Re: Циклический таймер на ATtmega8A.

Пн апр 12, 2021 23:10:11

Нет 1/36000 - единица отсчёта 0,1 секунда !

Добавлено after 3 minutes 58 seconds:
Это потому , что зарядные устройства телефонов и других гатжетов , а точнее их контроллеры заряда - быстро меняют ток заряда , и могут менять токи несколько раз в секунду ! Это было замечено не раз !

Re: Циклический таймер на ATtmega8A.

Пн апр 12, 2021 23:13:57

А какой смысл измерять потребленную емкость при заряде телефона?

Re: Циклический таймер на ATtmega8A.

Пн апр 12, 2021 23:20:14

А какой смысл измерять потребленную емкость при заряде телефона?

Что бы замерить ёмкость АКб телефона !

Добавлено after 1 minute 53 seconds:
Вот купил ты телефон (планшет) , а в его характеристиках написано 5000 ма/ч ! А при зарядке оказалось 1900 (((

Re: Циклический таймер на ATtmega8A.

Пн апр 12, 2021 23:26:51

Я буду измерять емкость аккумулятора при разряде до определенного напряжения,а не при заряде
В вашем случае я бы считал в мкА/ч,тогда формула будет
C=C+((I+Iост)/36)
Iост=I mod 36
где C-общая потребленная емкость
I-измеренный ток,то есть значение ацп,у вас 1000=1 ампер
Iост-остаток от предыдущего измерения тока

Re: Циклический таймер на ATtmega8A.

Пн апр 12, 2021 23:36:46

Приходишь в магаз , и говоришь - "ребята - вы меня обналули . Это не правильно ! " . "Так нельзя делать!" !

Добавлено after 6 minutes 55 seconds:
Я буду измерять емкость аккумулятора при разряде до определенного напряжения,а не при заряде
В вашем случае я бы считал в мкА/ч,тогда формула будет
C=C+((I+Iост)/36)
Iост=I mod 36
где C-общая потребленная емкость
I-измеренный ток,то есть значение ацп,у вас 1000=1 ампер
Iост-остаток от предыдущего измерения тока

Вы теоретик ! Я практик ! Я уже сделал устройство замера всосанного тока ! По вышеизложенного алгоритма ! И он работает ! И давно ! Может он (алгоритм) не совершенен ... Но он работает как автомат Калашникова!

Re: Циклический таймер на ATtmega8A.

Пн апр 12, 2021 23:41:43

Я тоже практик,тоже собирал свой измеритель емкости,на атмега8+дисплей 1602,но на счет такого алгоритма подсчета не сталкивался (я об остатке от деления)

Re: Циклический таймер на ATtmega8A.

Вт апр 13, 2021 00:03:22

Я тоже практик,тоже собирал свой измеритель емкости,на атмега8+дисплей 1602,но на счет такого алгоритма подсчета не сталкивался (я об остатке от деления)

Очень интересно пообщаться на общие темы ! Вы меня заинтриговали !!! Какие Ваши алгоритмы, какие Ваши достижения ?

Добавлено after 6 minutes 5 seconds:
Вот например Вы написали -"измеритель ёмкости" ! Ёмкости чего ?

Добавлено after 5 minutes 6 seconds:
...не подумайте ничего плохого ! Мне просто интересно !

Добавлено after 5 minutes 14 seconds:
А насчёт "остатка от деления" - видимо это какая то новая математика ! Основаная на "быстрых позитронах", и базонах Хигса.

Re: Циклический таймер на ATtmega8A.

Вт апр 13, 2021 05:45:23

Вот например Вы написали -"измеритель ёмкости" ! Ёмкости чего ?

Если мы разговариваем о емкости аккумулятора то я и писал о емкости аккумулятора,я тоже могу до ваших слов доеб...ся,например-
Я уже сделал устройство замера всосанного тока !

а кто его сосет? и почему он сосет а не потребляет
А насчёт "остатка от деления" - видимо это какая то новая математика ! Основаная на "быстрых позитронах", и базонах Хигса

Сразу понятно,что вы практик не знающий теории,потому что учились только в первом и втором классе,а вот если бы закончили 3 класс то знали бы что такое "Деление с остатком. Видеоурок по математике 3 класс"
шутка

Re: Циклический таймер на ATtmega8A.

Вт апр 13, 2021 08:16:55

Alex_641, я о примере Starichok51 писал. Вроде речь шла о представлении без FP изначально.

Что касается 0.1с - ток заряда батареи не меняется так быстро, чтобы так часто его измерять. Почитайте как работают специлизированные микрухи для измерения ёмкости, вроде такой: https://datasheets.maximintegrated.com/en/ds/DS2740.pdf
Она вообще раз в 3.515с преобразование АЦП делает.
В регистры счета и аккумулятора вообще валятся буквально значения АЦП просто. Преобразование до человеко-читаемых величин уже делаете сами на МК в момент вывода, просто умножая на нужный коэф. в зависимости от номинала шунта. Это можно делать довольно редко, скажем раз 1-2с, нет смысла человеку обновлять инфу быстрее.

Re: Циклический таймер на ATtmega8A.

Пт апр 16, 2021 07:27:05

проверю.

Ну что с проверкой? Работает как надо? Или таймер уже без надобности?

Re: Циклический таймер на ATtmega8A.

Вт апр 20, 2021 16:03:06

Нужен...только огороды "пришли" не вовремя и на работе завал.....сделаю.. обязательно отпишусь..

Re: Циклический таймер на ATtmega8A.

Ср апр 28, 2021 16:52:51

вот накидал платку.
надо зеркалить и проверить.
Вложения
таймер.rar
(32.94 KiB) Скачиваний: 143
Ответить