Генерация низкочастотных прямоугольных импульсов через ЦАП

Захват, обработка и генерирование сигнала

Генерация низкочастотных прямоугольных импульсов через ЦАП

Postby Andrey Petrzhik on 09 Oct 2018, 19:24

Добрый день!
Встала задачка генерить N прямоугольных импульсов 0-5В для шагового двигателя на различной частоте.
Использую ЦАП NI PCI-6221 с подключенной коробкой BNC-2120. К коробке на ao1 подцепил аналоговый осциллограф.
На 1000Гц всё работает нормально, на 100 хуже, на 10Гц какой-то бардак творится.
Причём при генерации синуса или любого другого сигнала c изменением амплитуды не скачком проблем нет!
Что же не так? Должна быть какая-то очень простая ошибка...
Спасибо большое за помощь!
Фотки с осциллографа и программу прикладываю.
Attachments
10-100Hz.jpg
program_prntscrn.jpg
analog_generator.vi
(16.81 KiB) Downloaded 5 times
Andrey Petrzhik
beginner
beginner
 
Posts: 41
Joined: 17 Nov 2015, 11:57
LabVIEW Version: 12
Karma: 0

Re: Генерация низкочастотных прямоугольных импульсов через Ц

Postby Andrew Lunev on 09 Oct 2018, 19:36

Вы уверены, что проблема в генерации, а не в осциллографе? Может он на таком режиме развертки какие-то параметры не держит? Ему лет то уже...
Заведите выход на AI вход той же платы и проверьте запись, сравните с результатом не осциллографе.
User avatar
Andrew Lunev
leader
leader
 
Posts: 870
Joined: 11 Dec 2010, 12:31
Location: Москва
Medals: 2
Activity (1) Professionalism (1)
LabVIEW Version: 2018
Karma: 250
hardware I/O VIP teachers

Re: Генерация низкочастотных прямоугольных импульсов через Ц

Postby Andrey Petrzhik on 09 Oct 2018, 20:22

Не то чтобы уверен, но этим осциллографом пользуемся часто (например 50Гц помехи от 220V сети на нём очень хорошо видны)... да, попробую снять сигнал на входе через АЦП. Спасибо.
Andrey Petrzhik
beginner
beginner
 
Posts: 41
Joined: 17 Nov 2015, 11:57
LabVIEW Version: 12
Karma: 0

Re: Генерация низкочастотных прямоугольных импульсов через Ц

Postby Andrey Petrzhik on 09 Oct 2018, 20:56

Упс... первая прикидка дала что походу всё нормально работает... правда что-ли? Закоротил ao1 на ai5... Вот бы никогда не подумал, что осциллограф может не давать измерить корректно 10-100Гц...
Attachments
10Hz-daq_input.jpg
Andrey Petrzhik
beginner
beginner
 
Posts: 41
Joined: 17 Nov 2015, 11:57
LabVIEW Version: 12
Karma: 0

Re: Генерация низкочастотных прямоугольных импульсов через Ц

Postby Andrew Lunev on 09 Oct 2018, 23:38

На всех трех картинках видно, что сигнал затухает по экспоненте. Просто на малых периодах видны только очень малые части экспоненты и поэтому создается впечатление, что полки сигнала прямые, но все имеют наклон и чем период развертки больше, тем больше это заметно. Явно неисправность развертки осциллографа, чинить его надо...
User avatar
Andrew Lunev
leader
leader
 
Posts: 870
Joined: 11 Dec 2010, 12:31
Location: Москва
Medals: 2
Activity (1) Professionalism (1)
LabVIEW Version: 2018
Karma: 250
hardware I/O VIP teachers

Re: Генерация низкочастотных прямоугольных импульсов через Ц

Postby Blackman on 10 Oct 2018, 02:14

Проверьте тип входа. Должен быть открытый (DC+AC).
Attachments
OSCInputTYPE.png
Blackman
leader
leader
 
Posts: 783
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 225
VIP

Re: Генерация низкочастотных прямоугольных импульсов через Ц

Postby Andrey Petrzhik on 16 Oct 2018, 00:03

Blackman, так и есть, причём я тыкал такую же кнопочку левее (там где времена ставишь), а эту у Y1 не заметил... позор мне:(
Да, решил тут для генерации использовать не ЦАП, а счётчик, ибо это вроде логичнее. Накидал программку, но что-то она сильно жрёт процессор, когда долго измеряешь (~10 минут) на 1000Гц сигнал и пишешь его на график. Кому не лень, гляньте пожалуйста. Думаю какие-то тайминги надо выставить, или например слишком много точек на график кидаю... а может вообще лучше потоково писать в файл, а не потом его сохранять? А так вроде стабильно генерится, кому интересно характерный кусочек графика прикладываю.

Спасибо за внимание и за помощь!
Attachments
impulses.vi
(30.88 KiB) Downloaded 2 times
1.jpg
2.jpg
10Hz_1000Hz_10min.png
Andrey Petrzhik
beginner
beginner
 
Posts: 41
Joined: 17 Nov 2015, 11:57
LabVIEW Version: 12
Karma: 0

Re: Генерация низкочастотных прямоугольных импульсов через Ц

Postby Vitekkz88 on 16 Oct 2018, 06:54

Для анализа графиков с миллионом отсчетов лучше использовать отдельную программу. Так же, Ваша программа будет замедляться по мере забивания сдвигового регистра. Вы же в нём данные копите, верно? И каждый раз LabVIEW приходится раздувать этот регистр и заниматься копированием + добавкой новой порции данных. Если на десятках тысяч отчетов это будет незаметно, то на сотнях тысяч это будет заметно. Вот и прикидывайте: фунция вам
Разделите Вашу программу на:
а)цикл генерации данных
б)цикл накопления данных
в)цикл записи данных
г)цикл визуализации данных(показывайте не каждую входящую выборку, а каждую десятую например. Если данные поступают
динамично, то пользователь не успеет на глаз ничего оценить).
д)цикл анализа данных(в этот цикл добавите логику принятия решений при тех или иных зафиксированных параметрах, какие-то измерения и прочее).
Передачу данных между циклами делайте с помощью очередей. Вот тут пример посмотрите, почти всё что нужно, осталось запись организовать:
viewtopic.php?f=108&t=7732&start=75#p62401
По поводу записи данных: посмотрите еще возможности записи в бинарный файл или в tdms.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
User avatar
Vitekkz88
expert
expert
 
Posts: 1045
Joined: 21 Jan 2014, 15:45
Location: Томск
Medals: 3
Activity (1) Silver (1) Автор (1)
LabVIEW Version: 12,13,14
Karma: 301
hardware I/O VIP


Return to Обработка сигнала

Who is online

Users browsing this forum: No registered users and 2 guests

cron