реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Closed TopicStart new topic
> Есть задача под STM32, Изделие не серийное. Всего сделаем штук 5
Fester Addams
сообщение Dec 26 2014, 00:20
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 37
Регистрация: 2-03-10
Из: М.О.
Пользователь №: 55 769



Здравия желаю.
Есть разработанная и собранная плата, но нужен софт.
Устройство собрано в пяти экземплярах и не факт, что будет тиражироваться.

Плата на STM32f415

Вообще-то есть и софт под всё это дело, он даже как-то работал, но есть следующие особенности:
1. с тех пор я изменил схему и камень (тоже STM32, но я взял покруче), добавил по аналоговым входам усилители PGA с управлением по SPI, на выходе поставил опторазвязку, управление скоростью PWM вместо DAC.
2. исходник без комментов, недостаточно структурен, на си, программист устал и отвалился.
3. Математики я почти совсем не знаю, но мой друг математик, видевший этот код, говорил о неоптимальности применённого алгоритма синхронного детектирования (выделения первой
гармоники). Он готов на математическом языке понимальщику свои соображения изложить.
Но в принципе, даже я почти всё понимаю в этом коде, кто там что делает. "Даже" относится к тому, что я не программист, тем более, что почти
совсем не знаю си, но на Паскалевиче программки допиливал-модернизировал-фиксил.

Да, всё железо уже есть, включая программатор, отладочные платки для разминки, компьютер, частотный привод, мотор с энкодером и проч.

Теперь Т.з.:
Нужно разработать ПО следующего устройства ввода-вывода.
Технические параметры:
3 цифровых входа инкрементного углового датчика
- опорный(0), квадратурные "А" и "В". Уровни сигналов - TTL.
Диапазон частот опорного сигнала 0-500Гц.
4 аналоговых входа с предусилителями с переключаемым по SPI коэфф. усиления.
Диапазон частот полезного сигнала 0.5-500Гц.
Диапазон напряжений на 4-х аналоговых входах 0.5 - 4.5V(p-p), ноль смещён на 2.5V, но постоянная
составляющая не интересует, соответственно на входе - развязывающий кондюк.
Интерфейс с ведущим компьютером - MODBUS RS-232

Режимы работы:
0. Режим управления: принимаем из компьютера управляющие посылки:
15 байт данных +
один байт - команда включить один из режимов работы.
1. Режим разгона: получаем с порта значение требуемой скорости вращения, ШИМом преобразуем с каким-то коэффициентом в управляющее напряжение, пропорционально требуемой скорости,
меряем частоту опорного сигнала (Z), как только её нестабильность станет меньше константы, переходим в режим измерения, если так и не стала стабильной
(нестабильность меньше соотв. константы) за заданное константой время разгона - выдать соответствующий код ошибки на порт и продолжать ловить частоту.
2. Режим измерения: непрерывно получаем оцифрованные сигналы с встроенного АЦП (от 1-го до 4-х) и
опорные импульсы, синхронно детектируем, т.е. выделяем из всех аналоговых сигналов первую гармонику (sin/cos преобразование)
с частотой, равной частоте опорных импльсов, векторно усредняем значения амплитуд и фаз сигналов и N раз в сек.
выдаём в порт накопленные за этот период усреднённые значения амплитуд и фаз по каждому из 4-х каналов и опорной частоты. Не всегда нужны все 4 канала АЦП.
Скорее всего, экономить время, выбирая к-во каналов АЦП, меньшее, чем 4, и не нужно - надо смотреть.
В начале измерения по каждому каналу подбираем коэфф. усиления для оптимального попадания во входной диапазон АЦП и записываем их в соответствующий программируемый усилитель по SPI
Надо мерить ОДНОВРЕМЕННО все каналы и загонять данные через DMA.
Вроде, скоростей должно хватить.
АЦП 12 разрядов,
3. Режим измерения угла: получаем импульсы: опорный(0) и 2
квадратурных с двух каналов энкодера, непрерывно считаем их и выдаём в порт угловое значение в единицах, равных учетверённому количеству импульсов на оборот энкодера.
Выдача в порт по запросу.
энкодер 600 имп. на оборот (или меньше)
При этом энкодер в некоторых случаях соединен с ротором, угловое положение которого интересует, при помощи ременной передачи, соответственно от случая к случая количество
импульсов на оборот разное. Но индексный импульс (Z) приходит с метки на измеряемом роторе, соответственно мы за один поворот ротора всегда получаем строго один и только один импульс.
И при повороте ротора вручную или на выбеге можем посчитать число импульсов А и В на оборот.
4. Режим вывода - по сигналу с порта выводим биты на шесть ног (оптопары).
5. режим позиционирования - два выхода (оптопары) - команда "вперёд" и "назад", один выход - через ШИМ и оптопару делает управляющее постоянное напряжение на привод (скорость).
На порт компьютер посылает два байта - значение требуемого угла позиционирования, контроллер, играя означенными тремя оптопарами, заставляет привод спозиционировать ротор на нужный угол.

Пишите на fesadd@gmail.com

В случае успешного опыта сотрудничество обещает быть продлённым...

UPD 2 ALL:
Кактегорически не приветствуется обсуждение избранной мной стратегии решения МОЕЙ задачи и схемное реализации оной.

Кактегорически приветствуются и рукопожимаются конкретные предложения услуг по созданию/допилу ПО.

С пониманием и поддержкой отношусь к вопросам/уточнениям, высказанным с целью лучшего понимания поставленной задачи.

Спасибо за в нимание.

Сообщение отредактировал Fester Addams - Dec 26 2014, 01:17


--------------------
Лиссажу. Дорого. - тел. 322-223-32.
Go to the top of the page
 
+Quote Post
In_an_im_di
сообщение Dec 26 2014, 00:49
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 454
Регистрация: 20-11-09
Из: Зеленоград
Пользователь №: 53 762



Ременная передача и ацп 12 разрядов... кто это всё проэктировал? это баг или фича?

ИМХО, для 5+ шт эффективнее(по времени и средствам) сделать аналоговый фазовый детектор да и всю схему АСУ, с цифровым управлением.

Сообщение отредактировал In_an_im_di - Dec 26 2014, 00:56
Go to the top of the page
 
+Quote Post
Fester Addams
сообщение Dec 26 2014, 01:06
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 37
Регистрация: 2-03-10
Из: М.О.
Пользователь №: 55 769



Цитата(In_an_im_di @ Dec 26 2014, 04:49) *
Ременная передача и ацп 12 разрядов... кто это всё проэктировал? это баг или фича?

ИМХО, для 5+ шт эффективнее(по времени и средствам) сделать аналоговый фазовый детектор да и всю схему АСУ, с цифровым управлением.


Слёзно прошу не учить меня жыть. Если Вы можете эффективно решить поставленную задачу за разумное время и адекватные средства - welcome с предложениями или уточнениями в личку или опубликованную пошту.

UPD 2 ALL:
Кактегорически не приветствуется обсуждение избранной мной стратегии решения МОЕЙ задачи и схемное реализации оной.

Кактегорически приветствуются и рукопожимаются конкретные предложения услуг по созданию/допилу ПО.

С пониманием и поддержкой отношусь к вопросам/уточнениям, высказанным с целью лучшего понимания поставленной задачи.

Спасибо за в нимание.


--------------------
Лиссажу. Дорого. - тел. 322-223-32.
Go to the top of the page
 
+Quote Post
In_an_im_di
сообщение Dec 26 2014, 01:37
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 454
Регистрация: 20-11-09
Из: Зеленоград
Пользователь №: 53 762



Цитата(Fester Addams @ Dec 26 2014, 04:06) *
С пониманием и поддержкой отношусь к вопросам/уточнениям, высказанным с целью лучшего понимания поставленной задачи.

В таком случае, пожалуйста, можете написать, что Вам надо, вместо написанного, как Вы хотите это получить? глядишь, люди и подтянутся.
Я серьёзно. Мозговой штурм де дал результатов по пониманию исходной задачи. Грубо говоря, написали много, но по делу не написано ничего. Что обдумывать, над чем работать, оценивать трудоёмкость чего? итдд

ну, например:
1. описание объекта управления
2. описание режимов управления: ручная уставка угла, набор скорости, работа через редуктор, и тд...
3. ...
...
N-2. условия сдачи-приёмки
N-1. сроки
N. оплата

ПС. Если Вы, конечно, не ищщете очередного программиста, который "программист устал и отвалился".

Сообщение отредактировал In_an_im_di - Dec 26 2014, 01:38
Go to the top of the page
 
+Quote Post
Fester Addams
сообщение Dec 26 2014, 01:38
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 37
Регистрация: 2-03-10
Из: М.О.
Пользователь №: 55 769



Цитата(In_an_im_di @ Dec 26 2014, 05:13) *
В таком случае, пожалуйста, можете написать, что Вам надо, вместо написанного, как Вы хотите это получить? глядишь, люди и подтянутся.

Надо написать или допилить ПО с учетом процитированных ниже особенностей.
Цитата
но есть следующие особенности:
1. с тех пор я изменил схему и камень (тоже STM32, но я взял покруче), добавил по аналоговым входам усилители PGA с управлением по SPI, на выходе поставил опторазвязку, управление скоростью PWM вместо DAC.
2. исходник без комментов, недостаточно структурен, на си, программист устал и отвалился.
3. Математики я почти совсем не знаю, но мой друг математик, видевший этот код, говорил о неоптимальности применённого алгоритма синхронного детектирования (выделения первой
гармоники). Он готов на математическом языке понимальщику свои соображения изложить.


Что делает устройство описано в тексте первого поста после слов "Теперь Т.з.:" достаточно подробно для понимания масштаба задачи.

По конкретным уточнениям - готов отвечать.

Сообщение отредактировал Fester Addams - Dec 26 2014, 01:40


--------------------
Лиссажу. Дорого. - тел. 322-223-32.
Go to the top of the page
 
+Quote Post
In_an_im_di
сообщение Dec 26 2014, 01:42
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 454
Регистрация: 20-11-09
Из: Зеленоград
Пользователь №: 53 762



Цитата(Fester Addams @ Dec 26 2014, 04:38) *
По конкретным уточнениям - готов отвечать.

бюджет?
Go to the top of the page
 
+Quote Post
Fester Addams
сообщение Dec 26 2014, 01:43
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 37
Регистрация: 2-03-10
Из: М.О.
Пользователь №: 55 769



Цитата(In_an_im_di @ Dec 26 2014, 05:42) *
бюджет?


Up to you.


--------------------
Лиссажу. Дорого. - тел. 322-223-32.
Go to the top of the page
 
+Quote Post
In_an_im_di
сообщение Dec 26 2014, 01:44
Сообщение #8


Местный
***

Группа: Участник
Сообщений: 454
Регистрация: 20-11-09
Из: Зеленоград
Пользователь №: 53 762



Цитата(Fester Addams @ Dec 26 2014, 04:43) *
Up to you.

Вы скрытный какой-то.
Или Ваш бюджет не покрывает заявленный Вами "масштаб задачи"?

Сообщение отредактировал In_an_im_di - Dec 26 2014, 01:50
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Dec 26 2014, 03:24
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(In_an_im_di @ Dec 26 2014, 04:44) *
Вы скрытный какой-то.

Вы часто слышали в магазине, как продавец спрашивает бюджет у покупателя ?
Не можете назвать свою цену на батон - отойдите.

Цитата(Fester Addams @ Dec 26 2014, 03:20) *
1. Режим разгона:
2. Режим измерения:
3. Режим измерения угла:
4. Режим вывода
5. режим позиционирования

Более эффективной постановкой задачи было бы: "Разрабатываю установку для балансировки колес".
Зачем шифроваться?


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Dec 26 2014, 10:35
Сообщение #10


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(Fester Addams @ Dec 26 2014, 02:20) *
..синхронно детектируем, т.е. выделяем из всех аналоговых сигналов первую гармонику (sin/cos преобразование)
с частотой, равной частоте опорных импльсов, векторно усредняем значения амплитуд и фаз сигналов и N раз в сек...

С пониманием и поддержкой отношусь к вопросам/уточнениям, высказанным с целью лучшего понимания поставленной задачи.


А можно не синхронно детектировать?
А усреднять не векторно?
Go to the top of the page
 
+Quote Post
Shivers
сообщение Dec 26 2014, 10:49
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950



Если это тот камень, о котором я думаю, т.е. CortexM4 разработки якобы НИИЕТ, а на самом деле - ЦР, то почему бы сразу не обратиться к авторам тестового софта под него, а именно, к Вектору? Они профи, с этим камнем год почти возились.
Сразу предупреждаю, если этот тот самый камень, то намучаетесь с ним .. одно DMA там чего стоит армовское ...
Go to the top of the page
 
+Quote Post
=pcb=
сообщение Dec 26 2014, 11:24
Сообщение #12


Местный
***

Группа: Участник
Сообщений: 301
Регистрация: 15-01-13
Пользователь №: 75 196



Цитата(Dog Pawlowa @ Dec 26 2014, 08:24) *
Вы часто слышали в магазине, как продавец спрашивает бюджет у покупателя ?
Не можете назвать свою цену на батон - отойдите.

Вы не товар, а услугу приобретаете, разовую и эксклюзивную. В этом разница, существенная.
В зависимости от бюджета будет вариативное решение вашей задачи.

А батон, он в куче лабазов есть, на любой вкус и цвет. В отличии от.

Цитата(Dog Pawlowa @ Dec 26 2014, 08:24) *
Более эффективной постановкой задачи было бы: "Разрабатываю установку для балансировки колес".
Зачем шифроваться?

Это может быть и не только задача балансировки колёс, но и литьё и балансировка лопастей турбины, коленвала.
А бюджет может быть выделен на погремушку.

ЗЫ: есть и математик и программист и дсп программист. От 700 т.р. без исходников.

Сообщение отредактировал =pcb= - Dec 26 2014, 11:25
Go to the top of the page
 
+Quote Post
OlegH
сообщение Dec 26 2014, 11:34
Сообщение #13


Частый гость
**

Группа: Свой
Сообщений: 186
Регистрация: 14-01-06
Из: Украина, г.Харьков
Пользователь №: 13 168



Цитата(Fester Addams @ Dec 26 2014, 02:20) *
С пониманием и поддержкой отношусь к вопросам/уточнениям, высказанным с целью лучшего понимания поставленной задачи.


По какой причине "устал и отвалил" предыдущий программист ? )
Go to the top of the page
 
+Quote Post
Fester Addams
сообщение Dec 26 2014, 12:23
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 37
Регистрация: 2-03-10
Из: М.О.
Пользователь №: 55 769



Цитата(AlexandrY @ Dec 26 2014, 14:35) *
А можно не синхронно детектировать?
А усреднять не векторно?

Можно, но мне нужно то, что я написал.

Цитата(Shivers @ Dec 26 2014, 14:49) *
Если это тот камень, о котором я думаю, т.е. CortexM4 разработки якобы НИИЕТ, а на самом деле - ЦР, то почему бы сразу не обратиться к авторам тестового софта под него, а именно, к Вектору? Они профи, с этим камнем год почти возились.
Сразу предупреждаю, если этот тот самый камень, то намучаетесь с ним .. одно DMA там чего стоит армовское ...
Это камень от ST.com Названные Вами буквы мне неведомы.

Сообщение отредактировал Fester Addams - Dec 26 2014, 12:25


--------------------
Лиссажу. Дорого. - тел. 322-223-32.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Dec 26 2014, 12:46
Сообщение #15


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(Fester Addams @ Dec 26 2014, 14:23) *
Можно, но мне нужно то, что я написал.


Так вам нужна первая или главная гармоника?
Или нужна траектория n-ой гармоники во времени?
Какая точность оценки нужна?

В курсе что фильтр постоянной составляющей вносит фазовые искажения?
Какой динамический диапазон сигналов?
Задача может быть вообще нетривиальной при достаточно высокой частоте измерений.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 2nd August 2025 - 14:10
Рейтинг@Mail.ru


Страница сгенерированна за 0.01475 секунд с 7
ELECTRONIX ©2004-2016