Например TDA7294

Форум РадиоКот • Просмотр темы - ATmega + 12bit ADC
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Ср янв 21, 2026 00:19:02

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 276 ]    , , , , 5, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: ATmega + 12bit ADC
СообщениеДобавлено: Вс авг 15, 2021 14:33:49 
Мудрый кот

Карма: 20
Рейтинг сообщений: 145
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 1849
Рейтинг сообщения: 3
slav0n писал(а):
это фигня.
фигней, ты будешь заниматься.

Единственно могу сказать, да работает, но разница, да же при сравнении 12 реальных бит с 12-13 виртуальными (при 10 битном АЦП) ощутима, чувствуется. Это еще не хватает хорошей нагрузки с кучей пульсаций.

Но, как говорят, за неимением лучшего, сойдет и так. Но, лучше иметь 12 реальных бит, чем 12 виртуальных.

Да, и не хватает отсчетов, 64 отсчета - это мало.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega + 12bit ADC
СообщениеДобавлено: Вс авг 15, 2021 17:01:34 
Опытный кот
Аватар пользователя

Карма: -14
Рейтинг сообщений: -98
Зарегистрирован: Ср дек 01, 2010 00:38:15
Сообщений: 882
Откуда: Харьков
Рейтинг сообщения: 0
Dimon456 писал(а):
фигней, ты будешь заниматься.
шаг 10 мВ не даст представления о предполагаемом разрешении 0.8 мВ

_________________
ohmycode!
primuss3.com


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega + 12bit ADC
СообщениеДобавлено: Вс авг 15, 2021 18:04:00 
Мудрый кот

Карма: 20
Рейтинг сообщений: 145
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 1849
Рейтинг сообщения: 0
slav0n писал(а):
сделай шаг 0.001В
Куда тебе этот шаг нужен? Для морального самоудовлетворения?
Да и шаг в 0.001В, пиши формулу, максимум у меня 33В, подстраивайся, выдам я тебе этот шаг.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega + 12bit ADC
СообщениеДобавлено: Вс авг 15, 2021 19:24:47 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2927
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18924
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
Dimon456 писал(а):
при делении на 8 он отбрасывает 3 младших бита, которые несут информацию.
да, сумма 64 выборок дает 6 дополнительных бит.
но согласно теории оверсемплинга только 3 бита из 6 несут полезную (правильную) информацию.
с другой стороны, и ты прав - 3 младших бита тоже несут информацию, информацию о среднем значении.
и если поделить на 64, особенно с плавающей точкой, то получим достаточно правильное среднее значение.
веше я говорил, то делаю сумму 1000 выборок.
1000 мало отличается от 1024, и можно по этой теории считать, что я имею +5 бит.
но несмотря на мою тутошнюю защиту оверсемплинга, теория остается теорией. и не факт, что у меня на выходе импульсного блока питания имеется именно такой шум, который требует эта теория.
потому я и взял внешний АЦП, который аппаратно дает 15 бит.
но в своей теме я оставил устаревшую версию с внутренним АЦП для желающих собрать более простое устройство.

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


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: ATmega + 12bit ADC
СообщениеДобавлено: Вс авг 15, 2021 20:16:20 
Мудрый кот

Карма: 20
Рейтинг сообщений: 145
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 1849
Рейтинг сообщения: 0
Starichok51 писал(а):
и не факт, что у меня на выходе импульсного блока питания имеется именно такой шум, который требует эта теория.
Я что-то не дошел еще до этого, надо отписаться в вашей теме, я то же использую импульсный источник питания, на той плате я испарил ключевые транзисторы, и переделал другую плату, плата Linkworld на АТ2005, только последняя заменена на ТЛ, именно по вашей схеме.
Там много шума не надо, у меня при АЦП 12 бит шумят 3 младших разряда, а это примерно 20мВ шума.
Причина шума вот в этом
СпойлерИзображение
это на ножке АЦП
это возникает при переключении каналов мультиплексора АЦП, к примеру, на одном канале у вас 2 вольта, а на другом - 0 вольт. Если сканировать один канал, такого не будет.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega + 12bit ADC
СообщениеДобавлено: Вс авг 15, 2021 20:25:37 
Опытный кот
Аватар пользователя

Карма: -14
Рейтинг сообщений: -98
Зарегистрирован: Ср дек 01, 2010 00:38:15
Сообщений: 882
Откуда: Харьков
Рейтинг сообщения: 0
Dimon456 писал(а):
выдам я тебе этот шаг
можешь не париться, просто поставь на выход цапа делитель 1:10 и меряй
хотя... замечено - на малых значениях входного сигнала, соизмеримых с шумом, оверсемплинг подламывается

_________________
ohmycode!
primuss3.com


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega + 12bit ADC
СообщениеДобавлено: Вс авг 15, 2021 20:33:01 
Мудрый кот

Карма: 20
Рейтинг сообщений: 145
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 1849
Рейтинг сообщения: 0
slav0n писал(а):
просто поставь на выход цапа делитель 1:10
а я на экране хочу увидеть реальные изменения, то есть измерить с точностью до 0,001В.
Формулу давай, сколько тебе выборок надо, 1024 хватит?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega + 12bit ADC
СообщениеДобавлено: Вс авг 15, 2021 20:41:23 
Опытный кот
Аватар пользователя

Карма: -14
Рейтинг сообщений: -98
Зарегистрирован: Ср дек 01, 2010 00:38:15
Сообщений: 882
Откуда: Харьков
Рейтинг сообщения: 0
какую формулу? не понял
1 мВ это разрешение 12 бит для опоры 4.096
0.8 для 3.3

_________________
ohmycode!
primuss3.com


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega + 12bit ADC
СообщениеДобавлено: Вс авг 15, 2021 20:43:25 
Мудрый кот

Карма: 20
Рейтинг сообщений: 145
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 1849
Рейтинг сообщения: 0
Код:
33000*АЦП/32768
я же тебе сказал, 33 вольта максимум, а не 3,3 вольта.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega + 12bit ADC
СообщениеДобавлено: Вс авг 15, 2021 20:52:55 
Опытный кот
Аватар пользователя

Карма: -14
Рейтинг сообщений: -98
Зарегистрирован: Ср дек 01, 2010 00:38:15
Сообщений: 882
Откуда: Харьков
Рейтинг сообщения: 0
не тупи, 3.3 это твоя опора АЦП

_________________
ohmycode!
primuss3.com


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega + 12bit ADC
СообщениеДобавлено: Вс авг 15, 2021 21:01:57 
Мудрый кот

Карма: 20
Рейтинг сообщений: 145
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 1849
Рейтинг сообщения: 0
slav0n, мне 51 год, мне лень уже думать, для отображения на индикаторе с точностью 0,001В, требуется сколько разрядов?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega + 12bit ADC
СообщениеДобавлено: Вс авг 15, 2021 21:13:29 
Опытный кот
Аватар пользователя

Карма: -14
Рейтинг сообщений: -98
Зарегистрирован: Ср дек 01, 2010 00:38:15
Сообщений: 882
Откуда: Харьков
Рейтинг сообщения: 0
а мне 54, так мне еще ленивее...
ведь это же ты тут бил себя пяткой в грудь, что оверсемплинг не работает

_________________
ohmycode!
primuss3.com


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega + 12bit ADC
СообщениеДобавлено: Вс авг 15, 2021 21:17:16 
Мудрый кот

Карма: 20
Рейтинг сообщений: 145
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 1849
Рейтинг сообщения: 0
ну и оставайся тогда при своих интересах.

Эх slav0n, берем 64-битную переменную, складываем туды 256 выборок, сдвигаем на 3 бита, и получаем 15 бит, а далее где-то вот так 33000*15бит/32768.
Или так, берем 64-битную переменную, складываем туды 512 выборок, сдвигаем на 4 бита, и получаем 15 бит, а далее где-то вот так 33000*15бит/32768.


Последний раз редактировалось Dimon456 Вс авг 15, 2021 22:07:50, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega + 12bit ADC
СообщениеДобавлено: Вс авг 15, 2021 22:00:31 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2927
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18924
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
Dimon456 писал(а):
Причина шума вот в этом
это в каком месте снята картинка?
и какие шкалы по горизонтали и по вертикали?
Dimon456 писал(а):
это возникает при переключении каналов мультиплексора АЦП, к примеру, на одном канале у вас 2 вольта, а на другом - 0 вольт.
ну, у меня тоже 2 канала - по напряжению и по току.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega + 12bit ADC
СообщениеДобавлено: Вс авг 15, 2021 22:33:54 
Мудрый кот

Карма: 20
Рейтинг сообщений: 145
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 1849
Рейтинг сообщения: 0
Starichok51 писал(а):
это в каком месте снята картинка?
Я делал в соответствии с этой статьей, и картинки от туда, свои картинки я не делал, но они соответствуют, поставил после делителя напряжения буферный ОУ (на усилителе тока у вас и так ОУ стоит) и rc-цепь 220 Ом и 10нФ.

Вот, к примеру, с генератора начального кода CVAVR
Спойлер
Код:
// Read the AD conversion result
unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input | ADC_VREF_TYPE;
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
// Start the AD conversion
ADCSRA|=(1<<ADSC);
// Wait for the AD conversion to complete
while ((ADCSRA & (1<<ADIF))==0);
ADCSRA|=(1<<ADIF);
return ADCW;
}
они предлагают делать задержку после переключения входов мультиплексора в 10мкс, возможно на успокоение этого процесса.
Задержка в 10мкс работает на 8/16/32 может еще каких мегах, на 8L этого мало.
На 48/168/328 этого то же мало.

На stm32 АЦП работает в DMA кольцевом режиме, последовательно сканируется 2 канала, так как сигнал постоянный (это не переменная или какая-то гармоническая), по этому я не отслеживаю в каком моменте у меня DMA находится, половинка и полный, я просто в любой момент беру из буфера DMA и считываю данные АЦП.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega + 12bit ADC
СообщениеДобавлено: Пн авг 16, 2021 08:51:11 
Опытный кот
Аватар пользователя

Карма: -14
Рейтинг сообщений: -98
Зарегистрирован: Ср дек 01, 2010 00:38:15
Сообщений: 882
Откуда: Харьков
Рейтинг сообщения: 0
Dimon456 писал(а):
Эх slav0n, берем 64-битную переменную, складываем туды 256 выборок, сдвигаем на 3 бита, и получаем 15 бит, а далее где-то вот так 33000*15бит/32768.
Или так, берем 64-битную переменную, складываем туды 512 выборок, сдвигаем на 4 бита, и получаем 15 бит, а далее где-то вот так 33000*15бит/32768

эх, Dimon456, неправильно.
256 это +4 бита,
а для разгона 12 бит до 15 надо делать так:
Код:
n = 64 * x;//+3 bits
   ---
return (sum >> 3) / x;

разгон 10 бит до 15 будет интересней
1024 семпла - без усреднения
Код:
n = 1024 * x;//+5 bits
   ---
return (sum >> 5) / x;


Добавлено after 3 hours 20 minutes 25 seconds:
а что касается твоей "ФОРМУЛЫ" - 33000/32768
так это банальный коэффициент пропорциональности
для float вообще до лампочки что в числителе 0.33 или 330000
все равно на вход ацп не подашь больше 3.3

_________________
ohmycode!
primuss3.com


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega + 12bit ADC
СообщениеДобавлено: Пн авг 16, 2021 09:11:08 
Мудрый кот

Карма: 20
Рейтинг сообщений: 145
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 1849
Рейтинг сообщения: 0
slav0n писал(а):
все равно на вход ацп не подашь больше 3.3
Я знаю что не подашь больше 3,3, но на входе у меня стоит делитель на 10. 33/10=3,3. В чем опять проблема?
slav0n писал(а):
n = 1024 * x;//+5 bits
---
return (sum >> 5) / x;
поподробнее, а то до меня долго доходит. Что такое х? И за чем делить на x? Сдвига мало?

Да и float у меня нету, поэтому без float.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega + 12bit ADC
СообщениеДобавлено: Пн авг 16, 2021 09:15:31 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2927
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18924
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
Dimon456, почитал статью, спасибо за ссылку.
я паузу перед запуском измерения не делаю. я даже не знал, что ее нужно делать.
я думаю, что искажения, вызванные конденсатором на входе АЦП по напряжению, у меня не имеют значения, так как в проекте с внутренним АЦП по напряжению я оставляю всего 300 единиц (30,0В), а это всего 9 бит.
выше я писал, что оставляю 16 бит среднего значения измеренного сигнала. и при обрезании до 9 бит искажения тоже отрежутся.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega + 12bit ADC
СообщениеДобавлено: Пн авг 16, 2021 09:25:19 
Опытный кот
Аватар пользователя

Карма: -14
Рейтинг сообщений: -98
Зарегистрирован: Ср дек 01, 2010 00:38:15
Сообщений: 882
Откуда: Харьков
Рейтинг сообщения: 0
Dimon456 писал(а):
Что такое х? И за чем делить на x? Сдвига мало?
это усреднение, я уже писал:
кстати, множитель 4^N выборок удобно брать из весов разрядов (2, 4, 8, 16...)
тогда децимацию и усреднение можно делать одновременно одним сдвигом
также его можно брать и произвольным,
а еще на этот х можно умножить знаменатель твоей "формулы", убрав из return

_________________
ohmycode!
primuss3.com


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega + 12bit ADC
СообщениеДобавлено: Пн авг 16, 2021 09:39:03 
Мудрый кот

Карма: 20
Рейтинг сообщений: 145
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 1849
Рейтинг сообщения: 0
slav0n, мы наверное на разных волнах с тобой находимся.
Еще раз, при АЦП 10бит: берем 64-битную переменную, складываем туды 256 выборок, 1023*256=261888 , о да же в 32 бита влазит
сдвигаем на 3 бита, 261888>>3=32736
и получаем 15 бит,
а далее где-то вот так 33000*15бит/32768. 33.000*32736/32738 = 32.997 с точностью до тысячной вольта.
Где неправильно?


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 276 ]    , , , , 5, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y