Страница 1 из 1

NI USB 6216 PWM через Analog Output

Добавлено: 13 фев 2017, 13:02
WSLB60
Здравствуйте.

Собрал схему управления мотора через NI USB 6216. Пока реализован функционал вкл. / выкл. и смена направления.
Попытался регулировать скорость вращения двигателя путём изменения напряжения на аналоговом порту, но при достижении определенного напряжения мотор просто включается и при дальнейшем увеличении напряжения скорость вращения не меняется.
Возможно ли вообще регулировать скорость вращения через аналоговые входы USB 6216?
При работе с 6216 использую пакет NI DAQmx.
Через пакет Arduino скорость вращения двигателя регулировать удавалось. Но только при использовании Digital Output и элемента PWM из пакета Arduino.

Спасибо.

Re: NI USB 6216 PWM через Analog Output

Добавлено: 13 фев 2017, 17:32
Borjomy_1
Посмотреть осциллографом выходной сигнал не судьба. Небось, "1 Ch 1 Sample Write" использовали...
Программу свою представьте. Гадать нам предлагаете?
мотор просто включаеТся и при дальнейшем увеличении напряжения скорость вращения не меняеТся.
Вы и в жизни так говорите "включаеТЬся"? :cantbe: вслух произносить не пробовали? Нет таких слов "включаеТЬ" и "меняеТЬ"

Re: NI USB 6216 PWM через Analog Output

Добавлено: 14 фев 2017, 10:54
WSLB60
Достадная ошибка. Поправил, спасибо.
Схема:
Изображение

Осциллографа у меня под рукой нет, но выходной сигнла на 6216 я проверял.
Регулировать велечину напряжения при помощи данной схему удаётся.
Или нужно было проверить какой-то другой параметр?

Re: NI USB 6216 PWM через Analog Output

Добавлено: 14 фев 2017, 14:01
Borjomy_1
Настоятельно рекомендую найти пример "Voltage - On Demand Output" через меню Help/Find Examples
Там как раз ваш случай

Re: NI USB 6216 PWM через Analog Output

Добавлено: 20 фев 2017, 09:59
WSLB60
Спасибо. Пример помог понять, что проблема была не в моей схеме в LabView, а в некорректном соединении контактов.

Re: NI USB 6216 PWM через Analog Output

Добавлено: 20 апр 2017, 10:10
WSLB60
Продолжил работу с этим прибором. При создании интерфейса, возник вопрос: как запретить редактирование значения внутри элемента Text Ring во время работы программы? В свойствах элемента такой возможности не нашёл.
И еще один вопрос: возможно ли установка параметров формы из txt файла? Идея в следующем: при запуске программы предлагается сохранить данные в файл. В этом файле помимо самих данных есть информации о выставленных параметрах. Если нужно провести повторное тестирование при тех же параметрах гораздо удобнее подкачать файл, чем выставлять или менять параметры вручную.
Спасибо.

Re: NI USB 6216 PWM через Analog Output

Добавлено: 22 апр 2017, 11:00
WSLB60
Разобрался, как получить данные из txt файла. Но эти данные могу передать только в элементы типа Indicator.
Подскажите пожалуйста, каким образом можно передать эти данные в элементы типа Control?

На схеме внизу изображён вариант чтения данных из файла и установки их в элемент Indicator.
Изображение

Re: NI USB 6216 PWM через Analog Output

Добавлено: 22 апр 2017, 19:18
Borjomy_1
Подскажите пожалуйста, каким образом можно передать эти данные в элементы типа Control?
ПКМ на индикаторе->Create->Local Variable. При необходимости ПКМ на локальной переменной ->Change to write

Только конструкция от "Save as" - это какое-то извращение... Пишите лучше в tdms, это более подходящий инструмент для вашей идеи...

Re: NI USB 6216 PWM через Analog Output

Добавлено: 23 апр 2017, 03:47
WSLB60
Огромное спасибо! Помогло.
Не подскажите, ещё такую вещь. Пытаюсь добавить функционал в программу. А именно, на основании файла измерений строить график и на нём определить макс. и мин. значения. Просмотрел несколько примеров в LabView, но они мне не подходят, т.к. там используется xy-Graph, а увязать его с элементом Peak Detektor мне пока не удалось.
file_2.png
file_2.png (5.91 КБ) 7904 просмотра

Re: NI USB 6216 PWM через Analog Output

Добавлено: 23 апр 2017, 10:11
Borjomy_1
Сторонние ресурсы использовать для загрузки картинок запрещено. Используйте кнопку "предпросмотр"

Re: NI USB 6216 PWM через Analog Output

Добавлено: 02 май 2017, 11:50
WSLB60
При дальнейшем тестировании схемы столкнулся вот с какой проблемой: если выполнять несколько циклов подряд, то схема недодаёт напряжение на канал. К примеру если параметр Voltage установить 1, 45, Start delay = TimeUp= WorkTime= 500 ms, DELAY = 10 ms, то первый цикл доходит до максимального значения 1.450 и держит его необходимое время, а все последующие доходят до значения 1.421. То есть теряется ещё один шаг 0.029 Вольт (шаг рассчитываю просто: Vmax / (TimeUp/DELAY)). TimeUp это время, за которое должно быть достигнуто максимальное напряжение.
При задержке 100 ms также теряется один шаг на всех циклах кроме первого.
А при задержке в 1 ms (то есть при шаге 0.0029 Вольт) теряется 232 шага.

Подскажите пожалуйста, в чём моя ошибка в схеме.