- Вложения
-
- atmega_8_av_meter_var_0.rar
- (27.7 КБ) 277 скачиваний
-
- main.c
- (10.75 КБ) 277 скачиваний
ATmega + 12bit ADC
- Сообщения: 2466
- Зарегистрирован: Сб май 07, 2011 17:52:59
Пламенный честной публике
мне снова жидкость в голову ударила и сразу после этого, ни секунды немедля, я решил что пора бы уже оцифровать ток с датчика 12-битным внешним ацп mcp3201, т,к. разрешения встроенного 10-битного нехватайет. нужно цифровать диапазон 0...200а с разрешением 0.1а, т.е. вывод на 4-диджитный лёд с точкой во втором младшем разряде. 0.1...199.9а. встроенный цифрует напряжение. до этого я делал два 10-битных и ничтоже сумяшися решил пришить козью голову где-то сбоку к овце. но... меня замучили остатки совести и я решил посоветоваться с си-программистами по поводу: все ли я правильно сделал? а может быть есть более красивые места для козей головы? схема в протеусе и код в блокнотике
- Реклама
- Сообщения: 1759
- Зарегистрирован: Пт июн 01, 2018 07:28:45
[uquote="charchyard",url="/forum/viewtopic.php?p=4069664#p4069664"]4-диджитный лёд[/uquote]
а это что за лёд такой? Новый вид не скользкого льда?
а это что за лёд такой? Новый вид не скользкого льда?
сразу бросается в глаза
Код: Выделить всё
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
primuss3.com
- Сообщения: 2466
- Зарегистрирован: Сб май 07, 2011 17:52:59
привет slav0nсразу бросается в глаза
бросается в глаза лишнее и бесполезное масло масляное.
да там еще есть что кромсать
драйвер нехай будет на софтовой шине, какая ему разница, да и АЦП тоже неважно
а шить прошивку надо просто попробовать и убедиться как повлияет на процесс DOUT MCP3201
да там еще есть что кромсать
драйвер нехай будет на софтовой шине, какая ему разница, да и АЦП тоже неважно
а шить прошивку надо просто попробовать и убедиться как повлияет на процесс DOUT MCP3201
ohmycode!
primuss3.com
primuss3.com
- Реклама
- Сообщения: 2466
- Зарегистрирован: Сб май 07, 2011 17:52:59
реж лишнее я благословляюда там еще есть что кромсать
можно просто поставить подтяжку на CS
ohmycode!
primuss3.com
primuss3.com
- Сообщения: 2466
- Зарегистрирован: Сб май 07, 2011 17:52:59
R13, R14 лишние
ohmycode!
primuss3.com
primuss3.com
- Сообщения: 2466
- Зарегистрирован: Сб май 07, 2011 17:52:59
понял slav0n спасибо
кста на соседнем форуме меня модераторс забабанил за ВНИМАНИЕ! : Тему нужно создавать с осмысленным заголовком, вкратце отражающим суть проблемы... а там нету проблемы от слова совсем. т.е. такие темы вообще запрещены к публикации, а если безмозглый "грамматическая ошибка на уровне 4 класса" решил расколупать кривыми клешнями настоящую пром электронику даже без тестера, то это проблема достойна публикации
кста на соседнем форуме меня модераторс забабанил за ВНИМАНИЕ! : Тему нужно создавать с осмысленным заголовком, вкратце отражающим суть проблемы... а там нету проблемы от слова совсем. т.е. такие темы вообще запрещены к публикации, а если безмозглый "грамматическая ошибка на уровне 4 класса" решил расколупать кривыми клешнями настоящую пром электронику даже без тестера, то это проблема достойна публикации
- Сообщения: 2466
- Зарегистрирован: Сб май 07, 2011 17:52:59
ohmycode!
primuss3.com
primuss3.com
- Сообщения: 2466
- Зарегистрирован: Сб май 07, 2011 17:52:59
прочитал. не понял ровным счётом ни хирра. да и доказательств в конце ни идиного не приведено. ни кода, ни схемы. ни фоток, ни видев. ни хирра вообчем целом. голимая абстракция про сфеерического каня педального. заказная бессмысленая статейка ради кусочка хлеба насущного не боле 
буду делать разводняк под внешний 12-битный ацп.
буду делать разводняк под внешний 12-битный ацп.
это был перевод первой половины атмеловского апноута
там же ссылка на вторую половину
просто проведи дополнительную дорожку между входами внешнего ацп и ацп меги, может пригодиться
там же ссылка на вторую половину
если ты нифига не понял, это совершенно ничего не значит.charchyard писал(а):не понял ровным счётом ни хирра.
буду делать разводняк под внешний 12-битный ацп.
просто проведи дополнительную дорожку между входами внешнего ацп и ацп меги, может пригодиться
Последний раз редактировалось slav0n Вт авг 10, 2021 13:28:43, всего редактировалось 1 раз.
ohmycode!
primuss3.com
primuss3.com
Смотрим в книгу - видим фигу.
Там есть и вторая часть у статьи.
Вообще то это рекомендации от производителя AVR и схемы там есть и всё разжевано. И более того что работает, проверено.
Там есть и вторая часть у статьи.
Вообще то это рекомендации от производителя AVR и схемы там есть и всё разжевано. И более того что работает, проверено.
- Сообщения: 2466
- Зарегистрирован: Сб май 07, 2011 17:52:59
читал я всю литературу. сделаю оператор switch из двух 0R. но кодировки то у меня всё одно нетути для этого. там програмных наворотов боле гораздо чем внешний прикрутить. а то что всё работает и проверено где конкретные доказательства?
душа человеческая темна и с легкостью обращается ко злу
та ты шо!charchyard писал(а):там програмных наворотов боле гораздо чем внешний прикрутить.
суммируешь 16 10-битных выборок и делишь сумму на 4, получаешь 12 бит
вот и весь хрен до копейки
ohmycode!
primuss3.com
primuss3.com
а если я суммирую за 1 секунду 1000 10-битных выборок, то сколько бит я реально могу получить?slav0n писал(а):суммируешь 16 10-битных выборок и делишь сумму на 4, получаешь 12 бит
у меня получается 5 бит - 4^5 = 1024.
правда, я оставляю 16 старших бит от суммы и меня это устраивает.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
- Сообщения: 1849
- Зарегистрирован: Вс дек 25, 2016 08:34:54
Попытка обмануть, и так, посчитаем: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
Кого вы пытаетесь обмануть?
- Сообщения: 1759
- Зарегистрирован: Пт июн 01, 2018 07:28:45
а как здесь учитывается тот факт, что последние два бита - это шум? Точнее, шум квантования и нелинейность преобразования?


