Опорным является питание контроллера. У контроллера есть калибровочная константа, которая содержит измеренное Vref при известном напряжении питания. Эта константа позволяет вычислить реальное напряжение питания из измеренного Vref. Далее это вычисленное значение используют как точное значение опорного АЦП.
Я их привел не для того чтобы кто то восхищался красотой, а привел критические замечания или предложения.
Какие "практические замечания" вы ожидаете услышать, не приведя код инициализации? Здесь нет ясновидящих, кто угадает что там внутри ваших красивых функций.
Вы прозрели или нет?
Если нет, объясняю как пользоваться спойлером.
Заходите на страницу 105. Находите мое сообщение. Под таблицей есть 2 кнопки с надписью "Показать". Подводите курсор мышки под первую и нажимаете левую кнопку мыши и Вы прозреваете. Перед Вами раскрываются две функции - одна инициализации другая считывания канала ADC. Вторая кнопка с надписью "Показать" работает аналогично. Надеюсь подробно описывать не надо.
Прежде чем писать об ясновидиние разобрались бы как пишутся и читаются сообщения на сайте.
Но опять-же - советы посмотреть работу термодатчика совместно с Vrefint, вы проигнорили.
Канал Vref нужен был для проверки стабильности напряжения питания. И причем тут канал термодатчика? Давайте сдуру подключим еще десяток каналов. Что это даст? Все каналы заведены на один мультиплексор. Чувствуются глубокие знания и логика.
Если Вы ждёте ясновидящего, умеющего узреть содержимое всех этих ваших функций, и что они пишут в регистры конфигурации АЦП - продолжайте в том же духе. Не буду более мешать. А я не ясновидящий.
Если Вы работали с ADC STM8L Вы должны были это понять или нужно было комментировать каждую строчку.
Ну да конечно - работали с STM8L здесь похоже только Вы. Только странно почему даже его простейший DMA с АЦП запустить не смогли. Такой-то гуру и не смог...
Вы прозрели или нет? Если нет, объясняю как пользоваться спойлером.
С этого момента можете пользоваться спойлером или чем угодно самостоятельно, в гордом одиночестве. Потому как похоже Вы здесь единственный гуру. И никто и в подмётки не годится Вам. Правда почему-то не умеющий запустить простейшего АЦП и DMA на простейшем МК. Продолжайте в том же духе. А у нас наши проекты на STM8L и так прекрасно работают.
И причем тут канал термодатчика? Давайте сдуру подключим еще десяток каналов. Что это даст? Все каналы заведены на один мультиплексор. Чувствуются глубокие знания и логика.
Не понятно зачем тогда вы вообще сюда пришли, если все вокруг вас тут дураки и все советы вы игнорируете. Зачем тогда спрашиваете совета у дураков? Копайтесь в своём ... сами.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04 Сообщений: 2694 Откуда: г. Чайковский
Рейтинг сообщения:0 Медали: 1
Можно попробовать частоту тактирования АЦП увеличить, вплоть до 16МГц и посмотреть разницу. Еще можно максимально укоротить провода от батарейки, или вместо батарейки, подать разделенное питание на входа АЦП, делитель сделать прямо возле МК и тоже поглядеть разницу.
Еще один момент п.14.3.4 RM. Может я его неправильно понял, но понял это так, что если время между соседними конвертациями больше tIDLE, то АЦП следует переводить в power-off. А tIDLE, согласно DS колеблется от 1сек до до 2мс.
_________________ Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Если Вы ждёте ясновидящего, умеющего узреть содержимое всех этих ваших функций, и что они пишут в регистры конфигурации АЦП - продолжайте в том же духе. Не буду более мешать. А я не ясновидящий.
Если Вы имеете опыт программирования STM8L то должны были знать что эти функции из STM8L15x-16x-05x-AL31-L_StdPeriph_Lib от STMicroelectronics, а если не знаете, то нечего давать советы. Скачайте и посмотрите, что внутри. Там установка регистров.
И с чего Вы взяли, что я не смог запустить DMA, Вы не только плохо видите, но похоже и у Вас проблемы с чтением.
А спрашиваю я не у Вас а у специалистов имеющий опыт работы с STM8L, и прежде чем писать ответ на вопрос нужно внимательно читать, что хотят узнать и если не понимаете о чем идет речь лучше помолчать.
Да я имею большой опыт в электронике (лет 50) и в программировании (начинал с синклера), а написал сюда чтобы получить совет от специалиста, стоит ли связываться с ADC STM8L или искать другие варианты.
А не читать глупости о человека который не знает стандартные функции.
Еще один момент п.14.3.4 RM. Может я его неправильно понял, но понял это так, что если время между соседними конвертациями больше tIDLE, то АЦП следует переводить в power-off. А tIDLE, согласно DS колеблется от 1сек до до 2мс.
Насчет 2мс не читал. В основном пишут в районе секунды.
У меня цикл одной передачи несколько мс. Так, что это не тот случай.
здесь SYSCLK=2MHz, используется одиночное преобразование, которое выполняется в WAIT режиме. Из периферии включено только АЦП, РТС, парочка UART'ов. Питалово от МК. Думаю, что если бы сделал нормальное питание аналоговой части, то результат был бы лучше блок инициалтзации АЦП, если возникнут вопросы:
здесь SYSCLK=2MHz, используется одиночное преобразование. Из периферии включено только АЦП, РТС, парочка UART'ов. Питалово от МК. Думаю, что если бы сделал нормальное питание аналоговой части, то результат был бы лучше
Из периферии включено только АЦП и UART. У меня цикл одной передачи несколько мс.
Пробовал одиночное преобразование и в цикле через DMA. Считывал 4 канала и ADC_Channel_Vrefint для контроля стабильности питания. Как видно скачки ADCRef незначительные (что говорит о стабильности питания). Четыре входа ADC0, ADC1, ADC2 и ADC4 соединены и подключены к батарейки. При этом наблюдаю скачки и разные показания по каналам(см. таблица на 105 стр.).
Меня это не устраивает, буду использовать INA226, да и ресурсов у STM8 маловато.
kvn234, в одном китайском "вольтметре" на STM8 я обнаружил интересное подключение: в качестве опоры они измеряли падение напряжения на диоде. Соответственно, на эту опору и корректировали измерения. У STM32 удобней: там внутренняя опора есть.
_________________ Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда. Я на гитхабе, в ЖЖ
это не баг, это фича. L серия предназначена для устройств с автономным питанием, поэтому периферия там урезана по максимуму. сравните с MSP430 там вообще все очень по спартански. зато чипы работают от батарейки годами.
А вот интересно: насколько больше STM32L жрет, чем STM8L? А то, может, ну их нафиг, эти восьмибитки?
_________________ Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда. Я на гитхабе, в ЖЖ
А вот интересно: насколько больше STM32L жрет, чем STM8L?
я не думаю, что большая разница будет. у меня stm8l151 в active-halt режиме потреблял 2.3 мкА. по даташиту на STM32L151x6/8, потребление в Standby режиме с РТС - 1.1 мкА. Даже в два раза меньше
kvn234, а напряжение питания при этом стабильно? Температура чипа невысокая?
_________________ Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда. Я на гитхабе, в ЖЖ
kvn234, а напряжение питания при этом стабильно? Температура чипа невысокая?
Температура комнатная. Для измерения опорного напряжения ADC, оно же напряжения питания в каждом цикли вместе с измерением 4х внешних каналов измерялся канал ADC_Channel_Vrefint. В дальнейшем предполагалось рассчитать напряжение питания(опорное) для данного цикла и входное напряжение по каждому каналу. Я уже писал о стабильности измерений по каналу ADC_Channel_Vrefint (см. стр.105 колонка ADCRef), это говорит о стабильности питания. Измерения и передача по USART циклическая, несколько десятков раз в секунду (точно не скажу, схему разобрал).
Я для передачи USART использовал кольцевой буфер и прерывание. Т.е. передача шла одновременно с измерениями по внешним каналам. Возможно это повлияло на нестабильность показаний.
я не думаю, что большая разница будет. у меня stm8l151 в active-halt режиме потреблял 2.3 мкА. по даташиту на STM32L151x6/8, потребление в Standby режиме с РТС - 1.1 мкА. Даже в два раза меньше
У меня вся схема (STM8L151 + nRF24L01+) в том же режиме сна = 0.9...1.0 мкА. Она же в "low power run"/"low power wait" на минимальной частоте = ~5мкА. При Uпит = ~2.4V.
У меня вся схема (STM8L151 + nRF24L01+) в том же режиме сна = 0.9...1.0 мкА. Она же в "low power run"/"low power wait" на минимальной частоте = ~5мкА. При Uпит = ~2.4V.
у меня вольтаж 3.3 Вольт. 2.3 мкА это средняя цифра за 60 сек. там еще один раз МК просыпался, снимал данные с АЦП, передавал на UART и снова засыпал. Как то так:
В low power wait с тактированием от LSE 38 кГц вышло 3мкА. low power run - 4.7мкА.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 32
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения