|
Есть задача под STM32, Изделие не серийное. Всего сделаем штук 5 |
|
|
|
Dec 26 2014, 00:20
|

Участник

Группа: Участник
Сообщений: 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.
|
|
|
|
|
 |
Ответов
|
Dec 26 2014, 01:06
|

Участник

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

|
Цитата(In_an_im_di @ Dec 26 2014, 04:49)  Ременная передача и ацп 12 разрядов... кто это всё проэктировал? это баг или фича?
ИМХО, для 5+ шт эффективнее(по времени и средствам) сделать аналоговый фазовый детектор да и всю схему АСУ, с цифровым управлением. Слёзно прошу не учить меня жыть. Если Вы можете эффективно решить поставленную задачу за разумное время и адекватные средства - welcome с предложениями или уточнениями в личку или опубликованную пошту. UPD 2 ALL: Кактегорически не приветствуется обсуждение избранной мной стратегии решения МОЕЙ задачи и схемное реализации оной. Кактегорически приветствуются и рукопожимаются конкретные предложения услуг по созданию/допилу ПО. С пониманием и поддержкой отношусь к вопросам/уточнениям, высказанным с целью лучшего понимания поставленной задачи. Спасибо за в нимание.
--------------------
Лиссажу. Дорого. - тел. 322-223-32.
|
|
|
|
|
Dec 26 2014, 01:37
|
Местный
  
Группа: Участник
Сообщений: 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
|
|
|
|
|
Dec 26 2014, 01:38
|

Участник

Группа: Участник
Сообщений: 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.
|
|
|
|
Сообщений в этой теме
Fester Addams Есть задача под STM32 Dec 26 2014, 00:20    In_an_im_di Цитата(Fester Addams @ Dec 26 2014, 04:38... Dec 26 2014, 01:42     Fester Addams Цитата(In_an_im_di @ Dec 26 2014, 05:42) ... Dec 26 2014, 01:43      In_an_im_di Цитата(Fester Addams @ Dec 26 2014, 04:43... Dec 26 2014, 01:44 Dog Pawlowa Цитата(In_an_im_di @ Dec 26 2014, 04:44) ... Dec 26 2014, 03:24 =pcb= Цитата(Dog Pawlowa @ Dec 26 2014, 08:24) ... Dec 26 2014, 11:24  Fester Addams Цитата(=pcb= @ Dec 26 2014, 15:24) ЗЫ: ес... Dec 26 2014, 12:54   AlexandrY Цитата(Fester Addams @ Dec 26 2014, 14:54... Dec 26 2014, 13:09   =pcb= Цитата(Fester Addams @ Dec 26 2014, 17:54... Dec 26 2014, 14:10 AlexandrY Цитата(Fester Addams @ Dec 26 2014, 02:20... Dec 26 2014, 10:35 Fester Addams Цитата(AlexandrY @ Dec 26 2014, 14:35) А ... Dec 26 2014, 12:23  AlexandrY Цитата(Fester Addams @ Dec 26 2014, 14:23... Dec 26 2014, 12:46   Fester Addams Цитата(AlexandrY @ Dec 26 2014, 16:46) Та... Dec 26 2014, 13:27    AlexandrY Цитата(Fester Addams @ Dec 26 2014, 15:27... Dec 26 2014, 13:44     Fester Addams Цитата(AlexandrY @ Dec 26 2014, 17:44) А ... Dec 26 2014, 13:57      AlexandrY Цитата(Fester Addams @ Dec 26 2014, 15:57... Dec 26 2014, 18:09       Fester Addams Цитата(AlexandrY @ Dec 26 2014, 22:09) Сл... Dec 26 2014, 19:39      Timmy Цитата(Fester Addams @ Dec 26 2014, 16:57... Dec 26 2014, 19:41       Fester Addams Цитата(Timmy @ Dec 26 2014, 23:41) По 4 и... Dec 26 2014, 20:50 Shivers Если это тот камень, о котором я думаю, т.е. Corte... Dec 26 2014, 10:49 sidy Цитата(Shivers @ Dec 26 2014, 13:49) Если... Dec 27 2014, 13:46 OlegH Цитата(Fester Addams @ Dec 26 2014, 02:20... Dec 26 2014, 11:34 Aner Да не, ... задачка из области робототехники, не пр... Dec 26 2014, 18:44 Aner Если вся математика уже отработана и понятна то чт... Dec 26 2014, 20:27 Fester Addams Вменяемый (в отличие от подавляющего большинства ф... Jan 13 2015, 07:43
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|