Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 28.06.2020, 11:51  
egor123
Прохожий
 
Регистрация: 13.11.2019
Сообщений: 3
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
egor123 на пути к лучшему
По умолчанию Процедура преобразования тока в мА в код АЦП (ADuC842)

Нажмите на изображение для увеличения
Название: функц сис упр.png
Просмотров: 0
Размер:	19.3 Кб
ID:	154179
Нажмите на изображение для увеличения
Название: Электрическая принципильаня схема ИБП.png
Просмотров: 0
Размер:	43.4 Кб
ID:	154180
Здравствуйте, хотел бы у Вас помощи попросить
Нарисовал схему импульсного источника тока, предполагается напряжение 0-15 В, ток от 0-до 10 А (рис. "Электрическая принципильаня схема ИБП.png")
Теперь хочу сделать систему управления источником тока (рис. "функц сис упр.png")
Сейчас передо мной встала задача
Ток от 0 до 10 А, он должен быть пропорционален числу от 0 до 4095, т.е от 0 до 0FFF.
нужно написать процедуру преобразования из предполагаемого тока в мА в код АЦП.
у меня вот такое вот начало:
Код:
Void CurrentToADC (current[11], result)
int current[11]={0,1,2,3,4,5,6,7,8,9,10};
for (i=0, i‹11; i++)
{
result=(current[i]*4095)/10000
}
не могли вы бы помочь с написанием процедуры преобразования из предполагаемого тока в мА в код АЦП
если у меня вообще все не правильно, написать как нужно, или дать какие нибудь подсказки, пожалуйста
Реклама:
egor123 вне форума  
Непрочитано 07.07.2020, 13:15  
-Alan-
Прописка
 
Аватар для -Alan-
 
Регистрация: 05.12.2008
Адрес: Россия, Омск
Сообщений: 145
Сказал спасибо: 39
Сказали Спасибо 29 раз(а) в 22 сообщении(ях)
-Alan- на пути к лучшему
По умолчанию Re: Процедура преобразования тока в мА в код АЦП (ADuC842)

Самый простой вариант:
Код:
int CurrentToDAC(int Current_ma) {
    return (Current_ma * 100 / 244);
// либо
// return (Current_ma * 1000 / 2442);
};
Это если грубо принять 10000мА (10А) = 4095 = 2.442 mA/бит
Соответственно ток делим на константу 2.44 (можно 2.442, чтобы получить более точное значение), но чтобы операции выплонялись в целочисленных значениях, имеет смысл домножить ток на 100 и только затем делить на 244 (либо на 1000 и 2442). Эта операция не будет использовать числа с плавающей точкой и будет выполняться быстрее (на 32 битных процессорах без FPU, во всяком случае).

Последний раз редактировалось -Alan-; 07.07.2020 в 13:15. Причина: опечатка
-Alan- вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
FAQ (ЧаВО) по PROTEUS для начинающих и не только dosikus Proteus 221 07.03.2024 22:45
Режимы сна Атмега-8 putmannn AVR 123 08.03.2013 15:30
АЦП AT91sam7s256 Uragan90 Микроконтроллеры, АЦП, память и т.д 10 25.04.2011 13:30
Помогите отладить программу АЦП на AVR Alexander48 Микроконтроллеры, АЦП, память и т.д 8 30.11.2009 14:07
ATtiny15, код АЦП при работе от внутреннего источника fiksx Микроконтроллеры, АЦП, память и т.д 1 01.03.2007 10:13


Часовой пояс GMT +4, время: 03:31.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot