Официальный сайт компании Arduino по адресу arduino.cc
График y(x)
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Доброго времени суток уважаемые форумчани.
Встала задача по созданию электронного нагрузочного устройства для исследования Вольт-амперных характеристик источников энергии. Данное устройство представляет собой стабилизатор тока который пропускает через исследуемой образец ток определенной формы и длительности. Схемотехнику и обвязку для ардуинки победить удалось. А вот с отображением данных возникла проблема. По условиям тз в реальном времени должна отображаться вольт-амперная характеристика исследуемого образца. Самой простой вариант который я увидел это взять аналоговый осциллограф с длительным постсвечением и с помощью аналоговых выходов Due рисовать сетку координат и график. Идея сработала. Но все таки хотелось бы использовать что то более прогрессивное (пк).
В связи с выше описанным. Возник вопрос к уважаемым форумчанам. Существуют ли какие либо программы для отображения графика y(x) или кадра сформированного ардуинкой?
Не понятно, почему вопрос в проектах. Но, тем не менее: на поверхности лежит Arduino IDE -> Tools-> Serial Plotter
На первый взгляд напрашивается собственный небольшой дисплейчик, скажем, 320х240 точек. Этот вариант по каки-то причинам не подходит?
PS. И, вообще-то, эот раздел предназначен для того, чтобы авторы размещали в нем свои готовые или находящиеся в стадии изготовления проекты и отвечали на вопросы читателей. А вопросы принято задавать в других разделах.
Не понятно, почему вопрос в проектах. Но, тем не менее: на поверхности лежит Arduino IDE -> Tools-> Serial Plotter
Умеет строить только y(t) как и все программы которые я находил.
На первый взгляд напрашивается собственный небольшой дисплейчик, скажем, 320х240 точек. Этот вариант по каки-то причинам не подходит?
PS. И, вообще-то, эот раздел предназначен для того, чтобы авторы размещали в нем свои готовые или находящиеся в стадии изготовления проекты и отвечали на вопросы читателей. А вопросы принято задавать в других разделах.
Прошу прощения за выбор неправильной ветви форума(
Такой вариант рассматривали но отказались из-за того что экран маленький. И не детальная картинка( важны харрактерестические точки граффика ( перегибы описываемые второй производной функции)
Dgg-01, программа логвью на форуме были примеры как подружить с ардуиной.
Не понятно, почему вопрос в проектах. Но, тем не менее: на поверхности лежит Arduino IDE -> Tools-> Serial Plotter
Строго говоря - там нет никакого (t). Можете через минуту подавать значения и они будут нарисованы рядом. Так что вполне себе y(x).
dimax, Спасибо. Сейчас изучу)))
Используйте замену переменных:
t = x
Не понятно, почему вопрос в проектах. Но, тем не менее: на поверхности лежит Arduino IDE -> Tools-> Serial Plotter
Строго говоря - там нет никакого (t). Можете через минуту подавать значения и они будут нарисованы рядом. Так что вполне себе y(x).
Ну строго говоря да. Но все же реализовать полноценый y(x) в стандартной рисовалке ардуино невозможно(
Используйте замену переменных:
t = x
Если это предложение относится к разряду шуток то смешно)
Но все же реализовать полноценый y(x) в стандартной рисовалке ардуино невозможно(
у тя какое-нить образование есть?
у тя какое-нить образование есть?
Есть.
В измерительной технике для отображения данных используются графики вида:
1) у(t) - это график зависящей отвремени или от отсчетов или от порядкового номера измерения.
2) y(x) - график зависимости двух каналов друг от друга без учета времени.
Если имели опыт общения с осцилографом. Там отображение возможно и такое и такое.
Используйте замену переменных:
t = x
Если это предложение относится к разряду шуток то смешно)
А У Вас есть какие-либо разумные доводы против предложенного подхода?
В измерительной технике для отображения данных используются графики вида:
1) у(t) - это график зависящей отвремени или от отсчетов или от порядкового номера измерения.
2) y(x) - график зависимости двух каналов друг от друга без учета времени.
Если имели опыт общения с осцилографом. Там отображение возможно и такое и такое.
На практике график - это отображение зависимости y = y(x).
В частном случае, когда мы говорим о y = y(t), на самом деле в общий случай y = y(x) подставляется x(t) = t.
У нас есть два массива чисел, по которым нужно построить график.
И как называется один из массивов: "x" или "t" - разницы никакой.
у тя какое-нить образование есть?
Есть.
В измерительной технике для отображения данных используются графики вида:
1) у(t) - это график зависящей отвремени или от отсчетов или от порядкового номера измерения.
2) y(x) - график зависимости двух каналов друг от друга без учета времени.
Если имели опыт общения с осцилографом. Там отображение возможно и такое и такое.
и тогда что вам мешает скормить плотттреру2 массива/стрим данных :
1.значения по х на место t
2.значения по y .
есть плоттеры которым достаточно "скармливать" только 'y' и они сами уже "додумывают" t.
а есть плоттеры которым просто подаешь на входе два массива и они рисуют граф по точкам (x0,y0) , (x1,y1) ...
кстати ,есть неплохой https://hackaday.io/project/5334-serialplot-realtime-plotting-software
у тя какое-нить образование есть?
Есть.
В измерительной технике для отображения данных используются графики вида:
1) у(t) - это график зависящей отвремени или от отсчетов или от порядкового номера измерения.
2) y(x) - график зависимости двух каналов друг от друга без учета времени.
Если имели опыт общения с осцилографом. Там отображение возможно и такое и такое.
и тогда что вам мешает скормить плотттреру2 массива/стрим данных :
1.значения по х на место t
2.значения по y .
есть плоттеры которым достаточно "скармливать" только 'y' и они сами уже "додумывают" t.
а есть плоттеры которым просто подаешь на входе два массива и они рисуют граф по точкам (x0,y0) , (x1,y1) ...
кстати ,есть неплохой https://hackaday.io/project/5334-serialplot-realtime-plotting-software
Мешает отсутствие плоттера который бы умел это делать. Все которые я находил именно достраивали t по своей логике и не позволяли строить именно зависомость у(х).
Спасибо за ссылку. Сейчас изучу.
Используйте замену переменных:
t = x
Если это предложение относится к разряду шуток то смешно)
А У Вас есть какие-либо разумные доводы против предложенного подхода?
В измерительной технике для отображения данных используются графики вида:
1) у(t) - это график зависящей отвремени или от отсчетов или от порядкового номера измерения.
2) y(x) - график зависимости двух каналов друг от друга без учета времени.
Если имели опыт общения с осцилографом. Там отображение возможно и такое и такое.
На практике график - это отображение зависимости y = y(x).
В частном случае, когда мы говорим о y = y(t), на самом деле в общий случай y = y(x) подставляется x(t) = t.
У нас есть два массива чисел, по которым нужно построить график.
И как называется один из массивов: "x" или "t" - разницы никакой.
Сдал! Давай зачетку))))
С таким же успехом нет никакой разници вольты или амперы.
Вопрос был в том как вместо массива времени подать массив измереных данных. А не в том какими буковками массив называть...
О как в кахляндии уровень образования упал. :( Ужоснах.
Аргументированый ответ взрослого и образованного человека.
Спасибо)
Уточню.
Есть у меня два канала по которым я провожу измерения.
На одном синусоида. А на втором такая же синусоида но с сдвигом по фазе 90градусов. Все плоторы которые я находил выдавали мне две синусоиды со сдвигом 90 градусов. А в интересующем меня отображение должна быть окружность.
Уточню.
Есть у меня два канала по которым я провожу измерения.
На одном синусоида. А на втором такая же синусоида но с сдвигом по фазе 90градусов. Все плоторы которые я находил выдавали мне две синусоиды со сдвигом 90 градусов. А в интересующем меня отображение должна быть окружность.
чота ржу.
Уточню.
Есть у меня два канала по которым я провожу измерения.
На одном синусоида. А на втором такая же синусоида но с сдвигом по фазе 90градусов. Все плоторы которые я находил выдавали мне две синусоиды со сдвигом 90 градусов. А в интересующем меня отображение должна быть окружность.
чота ржу.
Эт правильно. Юмор продлевает жизнь)
С таким же успехом нет никакой разници вольты или амперы.
Ну, если не понимать между ними разницы, можно и так.
Вопрос был в том как вместо массива времени подать массив измереных данных. А не в том какими буковками массив называть...
А для того, чтобы ответить для Вашего конкретного случая, нужно знать, каким именно образом и куда Вы подаете массив x. Пока в Ваших сообщениях ничего кроме "аналогового осциллографа с длительным послесвечением" ничего не фигурировало.
Так что если способны из совета в общем виде сделать конкретную реализацию - все необходимое к Вас есть. А если не способны - опишите ту конкретную задачу, которая у Вас не получается, и есть весьма высокая вероятность, что получите именно для Вашей задачи более конкретный совет. (либо, не исключено, но маловероятно, заключение, что то, что Вы хотите сделать принципиально невозможно)
Уточню.
Есть у меня два канала по которым я провожу измерения.
На одном синусоида. А на втором такая же синусоида но с сдвигом по фазе 90градусов. Все плоторы которые я находил выдавали мне две синусоиды со сдвигом 90 градусов. А в интересующем меня отображение должна быть окружность.
Могу предположить (т.к. Вы продолжаете утаивать конкретные детали), что вместо одной пары массивов x=x(t) и y=y(t) Вы подавалли две пары: x1=x1(t) и y1=y1(x1), а также x2=x2(t) и y2=y2(x2).
С таким же успехом нет никакой разници вольты или амперы.
Ну, если не понимать между ними разницы, можно и так.
Вопрос был в том как вместо массива времени подать массив измереных данных. А не в том какими буковками массив называть...
А для того, чтобы ответить для Вашего конкретного случая, нужно знать, каким именно образом и куда Вы подаете массив x. Пока в Ваших сообщениях ничего кроме "осциллографа с длительным послесвечением" ничего не фигурировало.
Так что если способны из совета в общем виде сделать конкретную реализацию - все необходимое к Вас есть. А если не способны - опишите ту конкретную задачу, которая у Вас не получается, и есть весьма высокая вероятность, что получите именно для Вашей задачи более конкретный совет. (либо, не исключено, но маловероятно, заключение, что то, что Вы хотите сделать принципиально невозможно)
Справедливо)
Вас понял. Сейчас постараюсь объяснить детальнее.
У меня есть плата которая по двум аналоговым входам измеряет сигналы соответствующие вольтам и амперам.
Формирует два массива.
И дальше мне необходимо отобразить данные в виде графика. Точка граффика долдна иметь координаты (х1;у1) где х1 и y1 элементы сформированных массивов.
Отобразить граффик необходимо на пк.
У меня есть плата которая по двум аналоговым входам измеряет сигналы соответствующие вольтам и амперам.
Формирует два массива.
И дальше мне необходимо отобразить данные в виде графика. Точка граффика долдна иметь координаты (х1;у1) где х1 и y1 элементы сформированных массивов.
Отобразить граффик необходимо на пк.
Даже если такого нет, что мало вероятно ,даже тут 2 варианта решения :
1. написать самому,за вечер можно реализовать простенький плоттер на Python'e или в Matlab'е
2.передавать данные в формате CSV и ловить каким нить Serial Terminal на PC ,например: https://sourceforge.net/projects/y-a-terminal/ , а там уже данные скопировать в excel и "рисовать" что вашей душе угодно.
У меня есть плата которая по двум аналоговым входам измеряет сигналы соответствующие вольтам и амперам.
Формирует два массива.
И дальше мне необходимо отобразить данные в виде графика. Точка граффика долдна иметь координаты (х1;у1) где х1 и y1 элементы сформированных массивов.
Отобразить граффик необходимо на пк.
Даже если такого нет, что мало вероятно ,даже тут 2 варианта решения :
1. написать самому,за вечер можно реализовать простенький плоттер на Python'e или в Matlab'е
2.передавать данные в формате CSV и ловить каким нить Serial Terminal на PC ,например: https://sourceforge.net/projects/y-a-terminal/ , а там уже данные скопировать в excel и "рисовать" что вашей душе угодно.
Первый вариант надо пробовать.
Второй к сожалению не подходит. Так как необходимо в реальном времени наблюдать.
У меня есть плата которая по двум аналоговым входам измеряет сигналы соответствующие вольтам и амперам.
Формирует два массива.
И дальше мне необходимо отобразить данные в виде графика. Точка граффика долдна иметь координаты (х1;у1) где х1 и y1 элементы сформированных массивов.
Отобразить граффик необходимо на пк.
Давайте начнем с того, что поймем, что это за "два массива", в каком виде они хранятся/передаются, и действительно ли их только два.
Понимаете, в случае "один аналоговый вход" по логике должен быть "один массив". Но отобразить один массив в виде y=y(t) невозможно по причине отсутствия массива t. Можно отобразить только в виде y = y(N), где N - номер отсчета. Но в этом случае никакого "времени" уже нет в принципе. При некоторых условиях, например, при постоянной и известной частоте дискретизации, его можно восстановить t = t(N) - но это уже совершенно другой случай.
andriano, вопрошающий в элементарной математике не сечет от слова совсем, типичная современная образованщина.
Не тратьте своё время.
andriano, вопрошающий в элементарной математике не сечет от слова совсем, типичная современная образованщина.
Не тратьте своё время.
Примного уважаемый коллега еще раз огромное вам спасибо за вашу оценку моих знаний в элементарной математике и за ваше очень важное мнение по поводу современной системы образования. Но к великому сожалению конструктива и ясности в обсуждения они не добавляют(
У меня есть плата которая по двум аналоговым входам измеряет сигналы соответствующие вольтам и амперам.
Формирует два массива.
И дальше мне необходимо отобразить данные в виде графика. Точка граффика долдна иметь координаты (х1;у1) где х1 и y1 элементы сформированных массивов.
Отобразить граффик необходимо на пк.
Давайте начнем с того, что поймем, что это за "два массива", в каком виде они хранятся/передаются, и действительно ли их только два.
Понимаете, в случае "один аналоговый вход" по логике должен быть "один массив". Но отобразить один массив в виде y=y(t) невозможно по причине отсутствия массива t. Можно отобразить только в виде y = y(N), где N - номер отсчета. Но в этом случае никакого "времени" уже нет в принципе. При некоторых условиях, например, при постоянной и известной частоте дискретизации, его можно восстановить t = t(N) - но это уже совершенно другой случай.
Вот кусочек кода который позволяет решит мою задачу с помощью аналогового осциллографа с длительным постсвечением на один его вход подается dac1 на второй dac2(осциллограф работает в режиме X-Y):
for ( i=0; i<500; i++){
n = analogRead(A0);
t = analogRead(A1);
m = (n*t)/4096;
u[i] = n; // заполнение массива вольт
in[i] = t; //заполнение массива ампер
p[i] = m; //заполнение массива ватт
}
for ( i=0; i<500; i++){
analogWrite(DAC1, u[i]);
analogWrite(DAC0, in[i]); // Построение Волт-амперной характеристики
}
for ( i=0; i<500; i++){
analogWrite(DAC1, u[i]);
analogWrite(DAC0, p[i]); // Построение Вольт-ваттной характеристики
}
Безотносительно сабжа. m лучше вычислять в отдельном цикле, не тормозя сэмплирование.
Безотносительно сабжа. m лучше вычислять в отдельном цикле, не тормозя сэмплирование.
В конкретной задаче не критично, но Вы правы.
Спасибо подправлю)
А..уеть, как смешно!
График по точкам нарисовать...
Ну вот, для примера на питоне: Если захочешь из файла читать, ты уж сам.. гы! Это я смеюсь - сам это я подкалываю... но найдешь приятеля с IQ не двузначным.
тут пример для массивов из положительных чисел... Пиво ставишь - я подгоню под твой диапазон и пару перделок для красоты прилелаю... можно прям с Ардуинки читать.
Хотя пижжу - лень мне станет. Учись писать программы, что еще сказать.
Для Питона 2 - в первой строке Tkinter, для 3 - tkinter
(Как запустить? - установить питон и запустить, просто кликнув мышкой, Винда она за ползателя сама думает ;))
Хочешь сам править - прокомментирую код.
А..уеть, как смешно!
График по точкам нарисовать...
Ну вот, для примера на питоне: Если захочешь из файла читать, ты уж сам.. гы! Это я смеюсь - сам это я подкалываю... но найдешь приятеля с IQ не двузначным.
тут пример для массивов из положительных чисел... Пиво ставишь - я подгоню под твой диапазон и пару перделок для красоты прилелаю... можно прям с Ардуинки читать.
Хотя пижжу - лень мне станет. Учись писать программы, что еще сказать.
Для Питона 2 - в первой строке Tkinter, для 3 - tkinter
(Как запустить? - установить питон и запустить, просто кликнув мышкой, Винда она за ползателя сама думает ;))
Хочешь сам править - прокомментирую код.
Чертов гений))) (без сарказма) с питоном не общался( но ваш код уже запустил. Переполняет удивление восторг и слезы радостиXD Буду сидеть ковырять. Спасибо)
Сказав "А", пингвин не сказал "Б", а именно, что для питона существуют разные библиотеки для рисования всевозможных графиков и диаграмм. Советую качнуть папку с примерами, скажем, отсюда и позапускав их выбрать, что лучше подойдет для задачи. Как пример, просто красивая визуализация оттуда:
Сказав "А", пингвин не сказал "Б"
Привет!
Во первых ты знаешь, что меня зовут Влад, а пингвин на аватаре символ Линукса и моей комплекции в 150 кг. И я совершенно не против всякой деанонимизации.
Во вторых - просто погоди.... ТС будет знакомиться с Питоном первый раз. Это почти как дефлорация ;) ;) ;)!!! Гы!
Раз уже запустил, то знаний хотя бы основ программирования (а без них на этом форуме делать нечего) уже будет достаточно, чтобы подставить свои данные в пример на питоне.
Господа все хорошо) знания в программировании присутствуют. Просто по специальности являюсь специалистом по электротехнике автоматизации нижнего и среднего уровня. Питон давненько уже установил, но нормально потыкать то времени то конкретной задачи небыло. За примеры и направления движения всем огромное спасибо) с визуализацией разобрался, осталось теперь научится забирать питоном данные с ком порта. Но судя по информации в интернете, проблем особых не будет)
Существуют ли какие либо программы для отображения графика y(x) или кадра сформированного ардуинкой?
Визуализация входящих данных
http://arduino.ru/forumy/processing