Читайте VCC

Рик Кимбалл
Ср. 04 ноября 2015 г., 21:05
const uint8_t led = BOARD_LED_PIN; enum { LED_ON=0, LED_OFF=1 }; // for Blue Pill .. active low led void setup_vcc_sensor() { adc_reg_map *regs = ADC1->regs; regs->CR2 |= ADC_CR2_TSVREFE; // enable VREFINT and temp sensor regs->SMPR1 = ADC_SMPR1_SMP17; // sample rate for VREFINT ADC channel } void setup(){ setup_vcc_sensor(); Serial1.begin(115200); pinMode(led,OUTPUT); Serial1.println("\r\nPrint Internal VCC Voltage"); systick_uptime_millis = 0; // really sleazy way to reset millis; } void loop() { int millivolts; uint32_t t0 = millis(); digitalWrite(led,LED_ON); delay(50); millivolts = 1200 * 4096 / adc_read(ADC1, 17); // ADC sample to millivolts Serial1.print(t0); Serial1.print(" "); Serial1.print(millivolts/1000,DEC);Serial1.print(".");Serial1.print(millivolts%1000,DEC); Serial1.println("V"); digitalWrite(led,LED_OFF); while((millis()-t0) < 1000); // delay 1000ms }

Ахулл
Ср. 04 ноября 2015 г., 23:26
Хороший! Подходит для проверки здоровья аккумуляторов и предварительного упрощения. Мне нужно подать это в моем загроможденном ментальном архиве на потом. : D

Tiger762
Пт, 05 февраля 2016 г., 17:25
Не уверен, почему, но мне пришлось изменить определение на ADC_CR2_TSEREFE (вместо ...TSVrefe)

Mrburnette
Пт. 05 февраля 2016 г., 18:43
Ахулл написал:Хороший! Подходит для проверки здоровья аккумуляторов и предварительного упрощения. Мне нужно подать это в моем загроможденном ментальном архиве на потом. : D

Рик Кимбалл
Пт. 05 февраля 2016 г. 22:14
Tiger762 написал:Не уверен, почему, но мне пришлось изменить определение на ADC_CR2_TSEREFE (вместо ...TSVrefe)

Мадиас
Пн 25 апреля 2016 г., 21:27
Итак, всего через 2 месяца, я очень рад этому коду! Спасибо!
Причина:
Я строю пульт дистанционного управления NRF24 с литий-ион 18650. Я использую 2 в параллельном протестировании успешно с минимальным. Напряжение: ~ 3 до максимума 4.2 (Абсолют Минимум составляет около 2.5 В, но я не достигну этого предела). Прежде чем я подумал о 2 в сериале (так 6->8.4-V), но мне не нужно было то напряжение, которое приводит к сжиганию времени батареи из-за LDO (есть 3.Только компоненты 3V).
Итак, у меня возникла проблема с измерением напряжения без постоянной 3.3V Ссылка. На старом добром AVR есть внутренняя ссылка на напряжение около 1.1 В, очень удобно для таких упражнений, но не на STM32F1XX.
Итак, с помощью этой кодовой Snapplet я получил свое (гибкое) эталонное напряжение, остальные являются простыми расчетами!

Rogerclark
Пн 25 апреля 2016 г., 21:52
Матиас

Как вы думаете, мы должны добавить эту функцию в ядро ?

Он не должен делать наброски больших, если не используется (называется)

Мадиас
Пн 25 апреля 2016 г., 22:03
Наверняка мы могли бы поместить это в ядро, но я верю, что никто не узнает об этом :) (Если вы не ищете это, как я это сделал, даже на AVR внутренняя ссылка - более или менее - «скрытая» функция для мира Arduino)
Может быть, пришло время для сравнения «arduino -Stm32duino». ТАКАЯ САЛЕТ/ПИСА....

Rogerclark
Пн 25 апреля 2016 г. 11:13
Не беспокойся

Я думаю, было бы лучше, просто добавить его в примеры

Мадиас
Вт 26 апреля 2016 г., 5:47 утра
+1 для этой идеи! (Может быть, тонкая версия без «Serial1» и «Светодиоды») Я постараюсь извлечь эту часть из моего кода, так что будет также точный пример для чтения внешнего напряжения.

Rogerclark
Вт 26 апреля 2016 г. 6:05
Спасибо

Ахулл
Вт 26 апреля 2016 г. 11:55 утра
Если вы ищете ссылку на напряжение для сравнения с, один из них может помочь при калибровании.
(Другие поставщики доступны, конечно).

Изображение

DataSheed претендует Максимум 15 ч/млн/° C, от 0 ° C до 70 ° C что должно быть достаточно точным для большинства приложений, включая калибровку дешевого мультиметра.

Мадиас
Вт 26 апреля 2016 г. 13:05
Ahull: Есть также меньшие IC для этого, просто Google для 1.25 Справочник по напряжению шунтирует IC, и вы получите тысячи результатов, таких как Ref1112
Я полагаю, что большая проблема заключается в том, что на Maple Mini нет «реального» входа VREF, поэтому вам всегда нужен аналог ссылки в PIN -код и необходимость расчета SW (сравните с другим входным выводом). Поправьте меня, если я ошибаюсь...

Ахулл
Вт 26 апреля 2016 г. 13:14
Мадиас написал:Ahull: Есть также меньшие IC для этого, просто Google для 1.25 Справочник по напряжению шунтирует IC, и вы получите тысячи результатов, таких как Ref1112
Я полагаю, что большая проблема заключается в том, что на Maple Mini нет «реального» входа VREF, поэтому вам всегда нужен аналог ссылки в PIN -код и необходимость расчета SW (сравните с другим входным выводом). Поправьте меня, если я ошибаюсь...

Mrburnette
Вт 26 апреля 2016 г. 13:35
Или...
После окончания университета я управлял лабораторией EE Государственного университета - в основном наблюдал за студентами и аспирантами, чтобы убедиться, что ни одно из оборудования не выросла ноги :ржу не могу: Но я также сделал некоторую минимальную калибровку и т. Д. Исследование: веселая работа == паршивая финансовая компенсация.

Хороший обзор того, что такое калибровка и не является

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


Луча

Пито
Ср 27 апреля 2016 г., 7:02
Самый дешевый и самый простой способ - почтенный TL431 ($ 0.0, что вы можете найти практически во всех источниках питания переключения лома). Вам нужен резистор 10 тысяч.
Ввод до +5 В через 10K и VKA = VREF = 2.5 В, 6 МВ дрейф в диапазоне температуры, хорошо для 12 -битного. TL431REF.JPG

Сжимать
Ср 27 апреля 2016 г. 10:09
В дополнение к TL431, есть также еще одно очень распространенное эталонное устройство, LM336-2.5

Zoomx
Ср 27 апреля 2016 г. 10:43
Ахулл написал: DataSheed претендует Максимум 15 ч/млн/° C, от 0 ° C до 70 ° C что должно быть достаточно точным для большинства приложений, включая калибровку дешевого мультиметра.

ZMEMW16
SAT 30 апреля 2016 г. 12:49
MCP1525 2.56 В
MCP1541 4.096V
aliexpress £ 0.18 & £ 0.26

SRP

кузница
Пн 29 августа 2016 г. 1:34
Думаю, вы используете светодиод в ток Surge, у меня есть OLED, подключенный в 3.3v, так что мне не нужно использовать светодиод для этого ?

Бубулиндо
Пн сентября 05, 2016, 5:30 утра
Я смотрел на эти же функции АЦП (после того, как он удалось получить прерывания от него и аналого -наблюдатель), и можно измерить внутреннюю температуру чипа, прочитав канал 16 вместо канала 17. Существует формула и некоторые параметры для расчета числа, но даже тогда ее следует использовать только для обнаружения температуры повышения.

Одна вещь, которая выделяется, это то, что ядро ​​ADC было довольно неразвитым. У него есть несколько интересных функций, но кажется, что единственное развитие было сделано, чтобы получить эквивалент анализа ().

Мне удалось заставить прерывания работать и скоро начну заглянуть в режим сканирования. :)

victor_pv
Вт 10 января 2017 г. 22:42
Ахулл написал:Хороший! Подходит для проверки здоровья аккумуляторов и предварительного упрощения. Мне нужно подать это в моем загроможденном ментальном архиве на потом. : D

Ахулл
Вт 10 января 2017 г. 11:42
Хорошая находка. Мне нужно играть с этим. Интересно, как быстро это может реагировать.

victor_pv
Ср 11 января 2017 г. 13:35
Ахулл написал:Хорошая находка. Мне нужно играть с этим. Интересно, как быстро это может реагировать.

Очень худой сериал.printf ()