ATmega + 12bit ADC

Обсуждаем контроллеры компании Atmel.
charchyard
Поставщик валерьянки для Кота
Сообщения: 2466
Зарегистрирован: Сб май 07, 2011 17:52:59

ATmega + 12bit ADC

Сообщение charchyard »

Пламенный честной публике :wink: мне снова жидкость в голову ударила и сразу после этого, ни секунды немедля, я решил что пора бы уже оцифровать ток с датчика 12-битным внешним ацп mcp3201, т,к. разрешения встроенного 10-битного нехватайет. нужно цифровать диапазон 0...200а с разрешением 0.1а, т.е. вывод на 4-диджитный лёд с точкой во втором младшем разряде. 0.1...199.9а. встроенный цифрует напряжение. до этого я делал два 10-битных и ничтоже сумяшися решил пришить козью голову где-то сбоку к овце. но... меня замучили остатки совести и я решил посоветоваться с си-программистами по поводу: все ли я правильно сделал? а может быть есть более красивые места для козей головы? схема в протеусе и код в блокнотике
Вложения
atmega_8_av_meter_var_0.rar
(27.7 КБ) 277 скачиваний
main.c
(10.75 КБ) 277 скачиваний
Реклама
parovoZZ
Мудрый кот
Сообщения: 1759
Зарегистрирован: Пт июн 01, 2018 07:28:45

Re: ATmega + 12bit ADC

Сообщение parovoZZ »

[uquote="charchyard",url="/forum/viewtopic.php?p=4069664#p4069664"]4-диджитный лёд[/uquote]
а это что за лёд такой? Новый вид не скользкого льда?
Реклама
Аватара пользователя
slav0n
Опытный кот
Сообщения: 882
Зарегистрирован: Ср дек 01, 2010 00:38:15
Откуда: Харьков
Контактная информация:

Re: ATmega + 12bit ADC

Сообщение slav0n »

сразу бросается в глаза

Код: Выделить всё

if((Adres_Reg & 0x80)==0x80)
if(Adres_Reg & 0x80)

Код: Выделить всё

for(V=5;V<8;V++)
 {
   Data_In[V] = Digit[V];
   Send_max7219(V,Data_In[V]);
 }

for(V=5;V<8;V++)
 {
   Send_max7219(V,Digit[V]);
 }
ohmycode!
primuss3.com
charchyard
Поставщик валерьянки для Кота
Сообщения: 2466
Зарегистрирован: Сб май 07, 2011 17:52:59

Re: ATmega + 12bit ADC

Сообщение charchyard »

сразу бросается в глаза
привет slav0n :wink: скажи, будь ласков, это бросается в глаза потому, что это эротика? или это дёшовая порнографика? я в искустве слабо разбираюсь пока... ещё меня тревожит моментум один: там драйвер 7219 слушает атмегу по виртуальной spi, а ацп разговаривает по натуральной. а как драйверу вернуть людскую ориентацию? или пусть так? и ещё меня беспокоит зашью я код в микру если часть спая задействована на внешний ацп?
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
slav0n
Опытный кот
Сообщения: 882
Зарегистрирован: Ср дек 01, 2010 00:38:15
Откуда: Харьков
Контактная информация:

Re: ATmega + 12bit ADC

Сообщение slav0n »

бросается в глаза лишнее и бесполезное масло масляное.
да там еще есть что кромсать

драйвер нехай будет на софтовой шине, какая ему разница, да и АЦП тоже неважно

а шить прошивку надо просто попробовать и убедиться как повлияет на процесс DOUT MCP3201
ohmycode!
primuss3.com
Реклама
charchyard
Поставщик валерьянки для Кота
Сообщения: 2466
Зарегистрирован: Сб май 07, 2011 17:52:59

Re: ATmega + 12bit ADC

Сообщение charchyard »

да там еще есть что кромсать
реж лишнее я благословляю :kill: ясна. впаяю туда оператор switch аппаратный на двух 0R на всякий.
Реклама
Аватара пользователя
slav0n
Опытный кот
Сообщения: 882
Зарегистрирован: Ср дек 01, 2010 00:38:15
Откуда: Харьков
Контактная информация:

Re: ATmega + 12bit ADC

Сообщение slav0n »

можно просто поставить подтяжку на CS
ohmycode!
primuss3.com
charchyard
Поставщик валерьянки для Кота
Сообщения: 2466
Зарегистрирован: Сб май 07, 2011 17:52:59

Re: ATmega + 12bit ADC

Сообщение charchyard »

что-то по типу того, slav0n?
СпойлерИзображение
Аватара пользователя
slav0n
Опытный кот
Сообщения: 882
Зарегистрирован: Ср дек 01, 2010 00:38:15
Откуда: Харьков
Контактная информация:

Re: ATmega + 12bit ADC

Сообщение slav0n »

R13, R14 лишние
ohmycode!
primuss3.com
charchyard
Поставщик валерьянки для Кота
Сообщения: 2466
Зарегистрирован: Сб май 07, 2011 17:52:59

Re: ATmega + 12bit ADC

Сообщение charchyard »

понял slav0n спасибо :beer:
кста на соседнем форуме меня модераторс забабанил за ВНИМАНИЕ! : Тему нужно создавать с осмысленным заголовком, вкратце отражающим суть проблемы... а там нету проблемы от слова совсем. т.е. такие темы вообще запрещены к публикации, а если безмозглый "грамматическая ошибка на уровне 4 класса" решил расколупать кривыми клешнями настоящую пром электронику даже без тестера, то это проблема достойна публикации :facepalm:
charchyard
Поставщик валерьянки для Кота
Сообщения: 2466
Зарегистрирован: Сб май 07, 2011 17:52:59

Re: ATmega + 12bit ADC

Сообщение charchyard »

...продолжаю медитировать...
Вложения
av_meter_ver_3.rar
(22.18 КБ) 261 скачивание
Аватара пользователя
slav0n
Опытный кот
Сообщения: 882
Зарегистрирован: Ср дек 01, 2010 00:38:15
Откуда: Харьков
Контактная информация:

Re: ATmega + 12bit ADC

Сообщение slav0n »

ohmycode!
primuss3.com
charchyard
Поставщик валерьянки для Кота
Сообщения: 2466
Зарегистрирован: Сб май 07, 2011 17:52:59

Re: ATmega + 12bit ADC

Сообщение charchyard »

прочитал. не понял ровным счётом ни хирра. да и доказательств в конце ни идиного не приведено. ни кода, ни схемы. ни фоток, ни видев. ни хирра вообчем целом. голимая абстракция про сфеерического каня педального. заказная бессмысленая статейка ради кусочка хлеба насущного не боле :sleep:
буду делать разводняк под внешний 12-битный ацп.
Аватара пользователя
slav0n
Опытный кот
Сообщения: 882
Зарегистрирован: Ср дек 01, 2010 00:38:15
Откуда: Харьков
Контактная информация:

Re: ATmega + 12bit ADC

Сообщение slav0n »

это был перевод первой половины атмеловского апноута
там же ссылка на вторую половину
charchyard писал(а):не понял ровным счётом ни хирра.
буду делать разводняк под внешний 12-битный ацп.
если ты нифига не понял, это совершенно ничего не значит.
просто проведи дополнительную дорожку между входами внешнего ацп и ацп меги, может пригодиться
Последний раз редактировалось slav0n Вт авг 10, 2021 13:28:43, всего редактировалось 1 раз.
ohmycode!
primuss3.com
goldmen8
Говорящий с текстолитом
Сообщения: 1523
Зарегистрирован: Пн май 28, 2012 19:52:17
Откуда: г.Киров (Вятка)

Re: ATmega + 12bit ADC

Сообщение goldmen8 »

Смотрим в книгу - видим фигу.

Там есть и вторая часть у статьи.
Вообще то это рекомендации от производителя AVR и схемы там есть и всё разжевано. И более того что работает, проверено.
charchyard
Поставщик валерьянки для Кота
Сообщения: 2466
Зарегистрирован: Сб май 07, 2011 17:52:59

Re: ATmega + 12bit ADC

Сообщение charchyard »

читал я всю литературу. сделаю оператор switch из двух 0R. но кодировки то у меня всё одно нетути для этого. там програмных наворотов боле гораздо чем внешний прикрутить. а то что всё работает и проверено где конкретные доказательства?
душа человеческая темна и с легкостью обращается ко злу
Аватара пользователя
slav0n
Опытный кот
Сообщения: 882
Зарегистрирован: Ср дек 01, 2010 00:38:15
Откуда: Харьков
Контактная информация:

Re: ATmega + 12bit ADC

Сообщение slav0n »

charchyard писал(а):там програмных наворотов боле гораздо чем внешний прикрутить.
та ты шо!
суммируешь 16 10-битных выборок и делишь сумму на 4, получаешь 12 бит
вот и весь хрен до копейки
ohmycode!
primuss3.com
Аватара пользователя
Starichok51
Модератор
Сообщения: 19054
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Re: ATmega + 12bit ADC

Сообщение Starichok51 »

slav0n писал(а):суммируешь 16 10-битных выборок и делишь сумму на 4, получаешь 12 бит
а если я суммирую за 1 секунду 1000 10-битных выборок, то сколько бит я реально могу получить?
у меня получается 5 бит - 4^5 = 1024.
правда, я оставляю 16 старших бит от суммы и меня это устраивает.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: ATmega + 12bit ADC

Сообщение Dimon456 »

slav0n писал(а):суммируешь 16 10-битных выборок и делишь сумму на 4, получаешь 12 бит
Попытка обмануть, и так, посчитаем:
суммируем 16 10-битных выборок, к примеру 956, итог 15296
- делим на 4 = 3824
- делим на 16 (среднее) 956

далее, будем определять шаг,
956 * 5000 / 1024 = 4668,0
3824 * 5000 / 4096 = 4668,0

суммируем 16 10-битных выборок, к примеру 957, итог 15312
- делим на 4 = 3828
- делим на 16 (среднее) 957

957 * 5000 / 1024 = 4672,9
3828 * 5000 / 4096 = 4672,9

определяем шаг

при 10 бит 4672,9 - 4668,0 = 4,9
при ваших 12 бит 4672,9 - 4668,0 = 4,9

истинный шаг 10 битного АЦП 1 * 5000 / 1024 = 4,9
истинный шаг 12 битного АЦП 1 * 5000 / 4096 = 1,2

Кого вы пытаетесь обмануть?
parovoZZ
Мудрый кот
Сообщения: 1759
Зарегистрирован: Пт июн 01, 2018 07:28:45

Re: ATmega + 12bit ADC

Сообщение parovoZZ »

а как здесь учитывается тот факт, что последние два бита - это шум? Точнее, шум квантования и нелинейность преобразования?
Ответить

Вернуться в «AVR»