Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
26.10.2006, 10:41
|
|
Прописка
Регистрация: 03.02.2005
Адрес: между степью и рекой
Сообщений: 163
Сказал спасибо: 10
Сказали Спасибо 81 раз(а) в 42 сообщении(ях)
|
Поищите исходник одного из первых частотомеров на PIC16C84, "DigiScale", кажется, назывался. Вроде, тут: http://personal-www.kirov.ru/~ra4nalr@write.kirov.ru/ . Там вполне действующая подпрограммка преобразования BIN-BCD, с дальнейшим выводом на 7-сег. LED.
Другое дело, что делат на PIC-е задачу АЦП с периодом менее 50мксек я бы не стал ![Прикольно](images/smilies/icon_wink3.gif) не для того он предназначен. Если уж хотите честным образом измерять действующее значение, надо более солидную аппаратуру.
Можно пойти "нечестным" путем: у вас тиристорный регулятор, работающий на активную нагрузку? - Тогда можно определить чисто математически зависимость мощности от угла отсечки тиристора (задержки его открытия от начала полупериода), и, определяя момент открытия, просто вычислять мощность.
|
|
|
|
04.11.2006, 12:16
|
|
Частый гость
Регистрация: 26.06.2006
Сообщений: 10
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
![Секрет](images/smilies/icon_arrow.gif) для измерения единичного импульса малой длительности импульса контроллером,через аналоговый модуль(ацп) можно попробовать использовать все аналоговые входы. а потом зная цикл опроса каждого модуля и входов (ведь считывание входов происходит в одном цикле) можно выстроить полную функцию.
![Секрет](images/smilies/icon_arrow.gif) если импульсы имеют постоянные характеристики(период и тп) то все гораздо проще производится опрос входа с различной периодичностью чтения, а потом выстраивается функция с необходимой точностью.
|
|
|
|
05.11.2006, 12:43
|
|
Вид на жительство
Регистрация: 23.04.2006
Сообщений: 308
Сказал спасибо: 14
Сказали Спасибо 13 раз(а) в 12 сообщении(ях)
|
Сообщение от Past
|
для измерения единичного импульса малой длительности импульса контроллером,через аналоговый модуль(ацп) можно попробовать использовать все аналоговые входы. а потом зная цикл опроса каждого модуля и входов (ведь считывание входов происходит в одном цикле) можно выстроить полную функцию.
если импульсы имеют постоянные характеристики(период и тп) то все гораздо проще производится опрос входа с различной периодичностью чтения, а потом выстраивается функция с необходимой точностью.
|
Давайте об этом поподробнее?
Сходу не всё понятно. Если опрос аналоговых входов происходит в одном цикле, то и считается одно и тоже значение. Как же при этом построить полную функцию?
И если производить опрос с различной периодичностью чтения (как это?), то для построения полной функции придется набирать много отсчётов, увеличивая время считывания....
Что я не понял, поясните, плз...
|
|
|
|
05.11.2006, 21:55
|
|
Гражданин KAZUS.RU
Регистрация: 21.02.2005
Сообщений: 685
Сказал спасибо: 14
Сказали Спасибо 84 раз(а) в 44 сообщении(ях)
|
Я понимаю так. В начале в цикле даеш команды на начало отцифровки все АЦП. Когда даш последнаму уже и первый подоспеет. В результате можно не ждать.
|
|
|
|
08.11.2006, 22:50
|
|
Частый гость
Регистрация: 26.06.2006
Сообщений: 10
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
по точкам
- в большенстве контроллеров на сколько я знаю чтение DI входов одного модуля(пальца) происходит за один прием и описывается по bit-у на канал одним словом - единым кодом, не считая адресации модуля + узла.
![Секрет](images/smilies/icon_arrow.gif) С аналоговыми сигналами все по другому, т.к. с каждого канала мы получаем число соответственное числу разрядов АЦП. И обработать все каналы в один момент времени нет возможности, соответственно опрос каждого происходит в один цикл опроса модуля, но поочереди.(проверить просто, подать сигнал типа "пила" и т.п. с периодом равным циклу программы).
![Секрет](images/smilies/icon_arrow.gif) остается только присваивать программно значения кажного канала(с 0 по последний) одной переменной и любоваться функцией(можно потом сделать наложения, усреднения интерполирование и тп).
![Секрет](images/smilies/icon_arrow.gif) на счет чтения на с разной периодичностью с одного канала:
цикл программы можно менять(правда не на всех контроллерах),например, ставя различные задержки программно, соответственно будет разный период между(! так верней сказать) чтениями.В последсвии т.к. мы не знаем ничего о сигнале , кроме того что он имеет постоянные характеристики, необходима матобработка почти бесполезного массива цифр (например: метод наложения опираясь на пики сигнала)
__________________
практик.
Не прощайте за невежество-о ...
|
|
|
|
10.11.2006, 19:44
|
|
Вид на жительство
Регистрация: 23.04.2006
Сообщений: 308
Сказал спасибо: 14
Сказали Спасибо 13 раз(а) в 12 сообщении(ях)
|
Спасибо, кое-что прояснилось. Остальное понятно как добыть.
Цитата:
|
проверить просто, подать сигнал типа "пила" и т.п. с периодом равным циклу программы
|
Однако, ИМХО, одну фразу следует уточнить: ... с периодом, равным времени опроса всех входов АЦП...
Поскольку обычно у АЦП 8 входов, то получится 8 отсчётов за период. Этого достаточно?
|
|
|
|
15.11.2006, 22:33
|
|
Частый гость
Регистрация: 26.06.2006
Сообщений: 10
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Сообщение от zelanez
|
Спасибо, кое-что прояснилось. Остальное понятно как добыть.
Цитата:
|
проверить просто, подать сигнал типа "пила" и т.п. с периодом равным циклу программы
|
Однако, ИМХО, одну фразу следует уточнить: ... с периодом, равным времени опроса всех входов АЦП...
Поскольку обычно у АЦП 8 входов, то получится 8 отсчётов за период. Этого достаточно?
|
![Секрет](images/smilies/icon_arrow.gif) вопрос спорный, т.к. контроллер может убивать время на опрос модулей которых нет. Почитай мануал (установи во все свободные слоты AI-модули ![Смешно](images/smilies/icon_lol.gif) )
![Секрет](images/smilies/icon_arrow.gif) надеюсь, т.к. многие microPC-контроллеры в зависимости от комплектации имеют CPS (кол.-во циклов программы в секунду) более 1000.
__________________
практик.
Не прощайте за невежество-о ...
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 08:04.
|
|