Перейти к содержанию
    

9 hours ago, Baser said:

А до осциллографа добрались? С его помощью много чего можно полезного посмотреть. А так сдается, что вам или шумы и помехи все сбивают

До осциллографа добрался, только он мне не очень помог. Мне бы какую-нибудь программку, которая выводит в графическом режимt приход с UARTa - этакий UART-осциллограф. В терминале есть "graf", но он довольно медленный и не показательный. Я бы вывел все данные с АЦП и посмотрел бы картинку, так сказать - "глазами АЦП". Вот тогда, мне кажется сразу стало бы ясно где сбоит программа.

 

9 hours ago, Baser said:

Данные с АЦП вы все выводите в терминал (на каждый шаг ШИМа) или выборочно?

Сейчас вывожу только по два значения: одно предшествующее событию ZeroCross и одно после него. Когда мотор в асинхронном режиме - все показания соответствуют, а при попытке перейти в синхронный сбиваются.

Сейчас на вывод каждого значения результата конверсии у меня есть примерно 80мкСек. При максимум пяти символах на значение  + 2 символа 'r\n\' и при скорости 115200 получится 1/115200*10*7=607мкСек. Нужна скорость минимум в 10 раз выше, а ведь еще сколько то времени занимает функция itoa()...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 часа назад, MPetrovich сказал:

До осциллографа добрался, только он мне не очень помог. ...
Я бы вывел все данные с АЦП и посмотрел бы картинку, так сказать - "глазами АЦП".

Если есть свободное ОЗУ - пишите значения в память, потом выводите в УАРТ, и так по циклу. Будут куски графика, но они повторяющиеся, что-то увидите. В УАРТ можно выводить в текстовом формате csv (Comma-Separated Values). Потом втягиваете в Excel и как угодно обрабатываете, фильтруете, строите графики.
С осциллографом я вам уже предлагал метод: выводите строб на свободную ногу МК в момент оцифровки АЦП - это один канал осцилл-а, на другой канал - входное напряжение АЦП (одна фаза). И смотрите свои моменты оцифровки, там ли они, есть ли в этот момент переходной процесс, помехи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 minutes ago, Baser said:

В УАРТ можно выводить в текстовом формате csv (Comma-Separated Values).

Не подскажите как это реализовать в контроллере?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 минут назад, MPetrovich сказал:

Не подскажите как это реализовать в контроллере?

Это, по сути, то что у вас уже есть :smile:
Если в терминал выводить цифры в текстовом виде, разделенные уникальным разделителем (напр. точкой с запятой) и ставить в конце строки символы CR, LF, то такой текстовый файл читается Excel-ом.
Я имел ввиду - выводить в УАРТ прерывисто: пишите данные в буффер в ОЗУ до заполнения, потом перестаете записывать и передаете буфер в УАРТ, медленно но уверенно :smile: И так по кругу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

23 minutes ago, Baser said:

Это, по сути, то что у вас уже есть

Не знал. Спасибо.

 

23 minutes ago, Baser said:

Я имел ввиду - выводить в УАРТ прерывисто: пишите данные в буффер в ОЗУ до заполнения, потом перестаете записывать и передаете буфер в УАРТ, медленно но уверенно :smile: И так по кругу.

Да, я уже об этом задумался. Осталось определиться с размером буфера УАРТа.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 часов назад, MPetrovich сказал:

Мне бы какую-нибудь программку, которая выводит в графическом режимt приход с UARTa - этакий UART-осциллограф

https://www.linux-apps.com/content/show.php/UART+PLOT?content=148539

Коллега использовал, ему понравилось.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 hours ago, MPetrovich said:

Мне бы какую-нибудь программку, которая выводит в графическом режимt приход с UARTa - этакий UART-осциллограф. 

https://digitalchip.ru/terminal-1-9b-rabotaem-s-com-portom/

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

47 minutes ago, dimka76 said:

https://digitalchip.ru/terminal-1-9b-rabotaem-s-com-portom/

Такая есть - это удобно для вывода текста, но графический интерфейс там довольно неудобный.

1 hour ago, Сергей Борщ said:

Отчего то не может открыть мой проводник эту ссылку. По названию вроде прога для linux, она на Винде то будет работать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, MPetrovich сказал:

Отчего то не может открыть мой проводник эту ссылку

Похоже, у вас не проводник, а полупроводник :blum:

2 часа назад, MPetrovich сказал:

По названию вроде прога для linux, она на Винде то будет работать?

Очень сомневаюсь. У вас все еще винда? Сочуствую...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мой (линуксовый) браузер тоже не может открыть эту ссылку. Похоже, что сайт заблокирован РКН.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, Сергей Борщ said:

Похоже, у вас не проводник, а полупроводник :blum:

Очень сомневаюсь. У вас все еще винда? Сочуствую...

Сейчас Eddy прибежит :acute:

1 hour ago, AHTOXA said:

Мой (линуксовый) браузер тоже не может открыть эту ссылку. Похоже, что сайт заблокирован РКН.

Opera + VPN

Мой Iron спокойно эту ссылку открывает. Безо всяких VPN.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 часа назад, MPetrovich сказал:

Отчего то не может открыть мой проводник эту ссылку. По названию вроде прога для linux, она на Винде то будет работать?

Даже если и откроется, для Виндовс это не годится. Там только проект в QtCreator на С++ и собрать его для окон не получиться - только Qt функции и Линуксовские порты ввода/вывода.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

47 минут назад, dimka76 сказал:

Opera + VPN

Мой Iron спокойно эту ссылку открывает. Безо всяких VPN. 

Я не к тому, что это невозможно, просто объяснил причину "неоткрывания".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

41 minutes ago, Baser said:

для Виндовс это не годится


 
 win32 {
     SOURCES +=  SerialPortWin.cpp
     HEADERS += SerialPortWin.h
 }
 unix {
     SOURCES +=  serialport.cpp
     HEADERS +=    serialport.h
 }

 

Полноценно проверять лень, но mingw из комплекта последних кутей даже не сильно warning'ов насыпал. Запускаться запускается, порт открывает, как графики рисует - не знаю.

Сергей, спасибо. Полезная программулина, может пригодиться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, esaulenka сказал:


 

 win32 {
     SOURCES +=  SerialPortWin.cpp
     HEADERS += SerialPortWin.h
 }
 unix {
     SOURCES +=  serialport.cpp
     HEADERS +=    serialport.h
 }

 

У меня по ссылке Сергея какие-то совсем другие исходники скачались. И там нет вариантов win32/unix. Вы откуда скачивали?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...