Процедура преобразования тока в мА в код АЦП (ADuC842)

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
NIKITA777
Родился
Сообщения: 5
Зарегистрирован: Чт июн 11, 2020 09:06:09

Процедура преобразования тока в мА в код АЦП (ADuC842)

Сообщение NIKITA777 »

функц сис упр.png
(19.29 КБ) 163 скачивания
Здравствуйте, хотел бы у Вас помощи попросить
Нарисовал схему импульсного источника тока, предполагается напряжение 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
}
не могли вы бы помочь с написанием процедуры преобразования из предполагаемого тока в мА в код АЦП
если у меня вообще все не правильно, написать как нужно, или дать какие нибудь подсказки, пожалуйста
Реклама
BlackKilkennyCat
Собутыльник Кота
Сообщения: 2905
Зарегистрирован: Ср ноя 29, 2017 06:58:50

Re: Процедура преобразования тока в мА в код АЦП (ADuC842)

Сообщение BlackKilkennyCat »

Я бы рискнул предложить с изучения языка программирования и программирования вообще.
Void CurrentToADC (current[11], result) - это переводится как функция, которая ничего не возвращает и принимает неизвестные два параметра.
Ее надо было написать или как
int CurrentToADC (byte с) что означало бы "функция, возвращающая результат типа int, принимающая параметр типа byte
или как
void CurrentToADC (out int result) тогда результат вернулся бы в result
и это еще не все варианты...

Но переписывать сюда учебник по Си разве надо?

И надо видеть очевидное. Тут очевидно, что любое значение элемента массива равно его номеру. Зачем тогда массив?
тогда гораздо проще написать
for (i=0, i<11; i++)
{
result=i*4095/10000;
}
но так как в итоге всегда из цикла выйдет лишь последняя итерация, то весь цикл бессмыслен, он равносилен
result=10*4095/10000;
ну, если конечно забыть о прерываниях, которые могут позволить обработать result посреди цикла
Меня здесь больше нет
Реклама
tonyk
Это не хвост, это антенна
Сообщения: 1310
Зарегистрирован: Вт ноя 19, 2019 06:10:18

Re: Процедура преобразования тока в мА в код АЦП (ADuC842)

Сообщение tonyk »

Судя по схеме, рисовал её полный ноль в электронике. Не взлетит.
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6312
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Процедура преобразования тока в мА в код АЦП (ADuC842)

Сообщение Jack_A »

Тут 2 схемы: принципиальная блока питания (на первый взгляд - всё ОК) и функциональная (схема соединений). И по какой определилась "нулёвость" автора? Как правильно заметили, нулевой уровень виден в плане программирования - ну тут не в форум, а книжки читать. Или заказать кому-нить. Потому что : "Я вот хочу нейрохирургом поработать. Где тут у пациента голова?" :cry:
Изображение
Реклама
Эиком - электронные компоненты и радиодетали
tonyk
Это не хвост, это антенна
Сообщения: 1310
Зарегистрирован: Вт ноя 19, 2019 06:10:18

Re: Процедура преобразования тока в мА в код АЦП (ADuC842)

Сообщение tonyk »

По электрической. О программировании я не говорил. Попробуйте её промоделировать, может, тогда станет хоть что-то понятно. Только не пытайтесь её сразу паять! Судя по высоковольтной части, автору пока рано даже схемы такие рисовать. Впрочем, паяйте, премию Дарвина пока не отменили в первую очередь для тех, кто не читает учебников.
Реклама
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6312
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Процедура преобразования тока в мА в код АЦП (ADuC842)

Сообщение Jack_A »

Ни симулировать, ни тем более паять я не собираюсь. Симуляторами не пользуюсь - не потому, что они, мол, плохие, а просто без надобностей. Если есть конкроетное замечание, то как говорят в "полу_балбес" - в студию. Не думаю,что он сам её сочинил.
Могу только насчёт того, что мне ближе - программная часть. Судя по исходной схеме, там переменником выход регулируется от 0 до Umax, которое соответствует I вых. max. И если регулировать дистанционно, нужно, чтобы коду 4095 соответствовало Umax, а это связано с опорным напряжением, про которое ни гу-гу. И даже название темы неправильное. Запрашивается процедура преобразования одного числа - тока в мА - в другое - код ЦАП. А будет это ток или цена на пеньку в Тамбове - процедуре по фиг.
Вывод - ещё рано ТС заниматься такой задачей. Язык изучить, десяток тестовых прожек накидать с доведением до ума, диодами помигать.
Не пройдя Клухора и Бечо - да на Когутай или Ушбу...
Изображение
Реклама
BlackKilkennyCat
Собутыльник Кота
Сообщения: 2905
Зарегистрирован: Ср ноя 29, 2017 06:58:50

Re: Процедура преобразования тока в мА в код АЦП (ADuC842)

Сообщение BlackKilkennyCat »

[uquote="tonyk",url="/forum/viewtopic.php?p=3861061#p3861061"]Только не пытайтесь её сразу паять![/uquote] Правильно. Паять надо постепенно. :))

А насчёт премии Дарвина - перебор. Ничего тут страшного нет, либо будет работать, либо нет (в данном случае - нет). Или премия светит потому что там 220 вольт? :shock: Так правила безопасности одинаковы для любой конструкции, конденсатор или корпус может в глаза стрельнуть и от батарейки.

Ну и можно было бы просто сказать, что в самой левой части, если проследить минус от диодного моста, видно, что произошла путаница, и опорное сидит на нем же и т. д. И всё что надо автору - перерисовать левую часть по даташиту.
Правую мне моим разумом не осилить - с ОУ надо думать, а я уже в пижаме...
Меня здесь больше нет
tonyk
Это не хвост, это антенна
Сообщения: 1310
Зарегистрирован: Вт ноя 19, 2019 06:10:18

Re: Процедура преобразования тока в мА в код АЦП (ADuC842)

Сообщение tonyk »

в самой левой части, если проследить минус от диодного моста, видно, что произошла путаница
Если бы оно так и было, то я бы сказал. Человек в принципе не знает, не умеет и не понимает, как устроена электрическая сеть, питающая розетку. Правая часть схемы вообще феерична, ибо демонстрирует полное непонимание работы ОУ и неумение даже схемы создавать. Вот как только оно расставит номиналы элементов, укажет значения токов и напряжений, тогда, возможно, шевельнётся у него в голове мысль о правильности схемы.
В схеме не просто "пенка" из-за невнимательности, а демонстрация тотальной безграмотности автора.
Ответить

Вернуться в «Разные вопросы по МК»