MAL4X Научно-технический форум разработчиков симуляторов и автоматики


Симуляторы перегрузок. DIY электроника. ЭВМ. Компьютерные сети.
Up

Разработка нового контроллера

Строим реалистичный симулятор перегрузок своими руками. Рекомендации. Советы.

Модераторы: Death_Morozz, null, Ale

Сообщение AlexVr » 12 апр 2012, 19:16

Pavel155 писал(а):Перелет - ненравится от мне.


Чего уж хорошего. За исключением редких случаев имитации работы подвески на ухабах.

Pavel155 писал(а):Мотор должен остановиться в заданной точке и прибыть туда как можно быстрее.


Так практически не бывает. Тогда бы не было целой науки САУ. Нужно либо ограничивать скорость, либо тормозить перед точкой, либо как у нас - после нескольких затухающих колебаний по обе стороны от точки финиш в ней.
А вот понизить амплитуду и количество этих колебаний наша прямая задача с помощью увеличения дискретности как по ШИМ, так и по обратной связи.


Pavel155 писал(а):Если разговор идет о калибровочных концевиках, то их срабатывание должно быть как можно чаще


вот про это не понял. Считал что это аварийный случай, а концевики только для калибровки.

Аватара пользователя
AlexVr
SIMER
 
Сообщения: 449
Зарегистрирован: 05 апр 2010, 20:48
Благодарил (а): 23 раз.
Поблагодарили: 32 раз.
Баллы репутации: 71
Технарь

Сообщение Pavel155 » 12 апр 2012, 19:33

Уже говорили, что калибровка будет проводиться при включении.
Но я думаю, что калибровку буду производить во время работы каждый раз, когда маятник коснется нижней или верхней точки (поставлю концевики). Вдруг что-то станет с МК и частотник провернет мотор на градусы, а переколибровывать при перезапуске неудобно.
Иногда пропадаю. Пишите в личку.
Аватара пользователя
Pavel155
SIMER
 
Сообщения: 170
Зарегистрирован: 06 июл 2011, 10:39
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Баллы репутации: 20
Новичок

Сообщение Ale » 12 апр 2012, 20:25

У меня предложение. Тут была высказана идея - повторить Таноса с открытым кодом. Мне кодить - пару часов. С учетом занятости и лени - пару суток. Только у меня нетжелезяки для проверки. Рискнет кто нибудь побыть бета-тестером? Если да - то нужна точная спецификация контроллера и датчиков - желательно - схема (если она отличается от контроллера Таноса. У меня есть кое какие идеи, но их надо реализовать и опробовать. А не на чем Изображение
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1438
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 541 раз.
Поблагодарили: 572 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Сообщение Pavel155 » 12 апр 2012, 20:26

Ale пишет:К примеру, что делать, если в 255 будет находиться не в rx_buffer[0], а в rx_buffer[3]?

Такие варианты вoзмoжны как-раз в кoде Павла, так-как в нем каждый принятый байт засoвываеться в unsigned char all[2]; без всяких прoверoк. Кoдвижен любезнo сoздал целую функцию для успешнoгo приема нужнoгo кoличества байт, и oна oтличнo рабoтает в реальных устрoйствах.


Это я сейчас проверил. Если посылать правильные команды, то все работает. Но если сунуть лишинй байт, то все рушится, пока не перезапустить МК.



(Добавление)
У меня предложение. Тут была высказана идея - повторить Таноса с открытым кодом. Мне кодить - пару часов. С учетом занятости и лени - пару суток. Только у меня нетжелезяки для проверки. Рискнет кто нибудь побыть бета-тестером? Если да - то нужна точная спецификация контроллера и датчиков - желательно - схема (если она отличается от контроллера Таноса. У меня есть кое какие идеи, но их надо реализовать и опробовать. А не на чем

готов завтра уже зашить код в МК.
- имею отладочную плату http://mal4x.ru/forum/topic....m=6&topic=27

- имею сдвоенную плату от Null с двумя atmega 8535 на борту
Иногда пропадаю. Пишите в личку.
Аватара пользователя
Pavel155
SIMER
 
Сообщения: 170
Зарегистрирован: 06 июл 2011, 10:39
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Баллы репутации: 20
Новичок

Сообщение Ale » 12 апр 2012, 20:38

Это я сейчас проверил. Если посылать правильные команды, то все работает. Но если сунуть лишинй байт, то все рушится, пока не перезапустить МК.


Что имеено? использование rx_buffer[0]? Потому что в Вашем коде вроде не должно такой катастрофы случаться.

- имею отладочную плату http://mal4x.ru/forum/topic....m=6&topic=27

Конструктор, это хорошо. Но тестить хорошо бы на железках, именно сравнивая то, что получится у меня, с прошивкой Таноса. И, может быть, для начала с обратной связью на резисторах или Холлах
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1438
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 541 раз.
Поблагодарили: 572 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Сообщение null » 12 апр 2012, 20:49

Ale писал(а):Рискнет кто нибудь побыть бета-тестером? Если да - то нужна точная спецификация контроллера и датчиков - желательно - схема (если она отличается от контроллера Таноса. У меня есть кое какие идеи, но их надо реализовать и опробовать.

Я с удовольствием присоединюсь к тестированию. Если получится на выходных - будет идеальный вариант, т.к. в будние дни проблема со временем. Да и за железо мне не страшно Изображение . Мехнику не сломать, а нмост починю если что. Не беда. Принципиальная схема не совсем похожа на реальность. Я начал разводить плату в игл и там у меня есть наброски принципиальной схемы. Я думаю если не будет проблем, завтра допилю ее до варианта Таноса и скину сюда в первой половине дня. Если есть конкретные вопросы - могу ответить хоть сейчас.
Русский X-Simulator
Изображение
За пределами форума. Мой инстаграмм.
Аватара пользователя
null
SIMER
 
Сообщения: 1043
Зарегистрирован: 03 мар 2010, 18:42
Откуда: Ростов-на-Дону
Благодарил (а): 219 раз.
Поблагодарили: 160 раз.
Баллы репутации: 138
ТехнарьТехнарь

Сообщение Pavel155 » 12 апр 2012, 20:52

Что имеено? использование rx_buffer[0]? Потому что в Вашем коде вроде не должно такой катастрофы случаться.

ага. с помощью VMLAB.
Иногда пропадаю. Пишите в личку.
Аватара пользователя
Pavel155
SIMER
 
Сообщения: 170
Зарегистрирован: 06 июл 2011, 10:39
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Баллы репутации: 20
Новичок

Сообщение null » 12 апр 2012, 20:53

У меня датчики Холла SS495. Даташит здесь http://sensing.honeywell.com/index.php/ci_id/50358/la_id/1/document/1/re_id/0. Контроллер Atmega8535-16PU.
Русский X-Simulator
Изображение
За пределами форума. Мой инстаграмм.
Аватара пользователя
null
SIMER
 
Сообщения: 1043
Зарегистрирован: 03 мар 2010, 18:42
Откуда: Ростов-на-Дону
Благодарил (а): 219 раз.
Поблагодарили: 160 раз.
Баллы репутации: 138
ТехнарьТехнарь

Сообщение Ale » 12 апр 2012, 21:14

Хорошо, попробую к воскресенью подогнать первый вариант проги - ориентируюсь на Таноса с кварцем 18.432. Как я понимаю, для Павла нет проблем с его конструктором - ноги процессора можно любые юзать.

Кстати - еще вопрос - у таноса есть два режима работы контроллера -
2DOF uncoupled (JoyR), like the motion of Joyrider
2DOF coupled (SFGT), like the motion of SimForceGT (also known as frex-style)

В каком режиме будем работать мы? В смысле - нужно ли специально обрабатывать посылаемые от компа данные? Если они, к примеру, для осей X и Y - тогда на движки надо какую-то суперпозицию данных посылать?

(Добавление)
Собственно - вопрос вот в чем - нужно ли дополнительно в контроллере обрабатывать данные от софта сима, или нет?
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1438
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 541 раз.
Поблагодарили: 572 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Сообщение null » 12 апр 2012, 22:34

Ale писал(а):В каком режиме будем работать мы? В смысле - нужно ли специально обрабатывать посылаемые от компа данные? Если они, к примеру, для осей X и Y - тогда на движки надо какую-то суперпозицию данных посылать?

2DOF uncoupled (JoyR), like the motion of Joyrider. В этом режиме оси управляются независимо одна от другой. Данные о том какую ось куда передвинуть считаются в компе. Задача контроллера только принять данные и передвинуть куда сказали.
Про суперпозицию не осилил.
Ale писал(а):Собственно - вопрос вот в чем - нужно ли дополнительно в контроллере обрабатывать данные от софта сима, или нет?

Нет, не надо.

(Добавление)
Насчет кварца совсем забыл. У меня 22.1184мгц, надеюсь перекомпилировать под него не будет проблемой.
Русский X-Simulator
Изображение
За пределами форума. Мой инстаграмм.
Аватара пользователя
null
SIMER
 
Сообщения: 1043
Зарегистрирован: 03 мар 2010, 18:42
Откуда: Ростов-на-Дону
Благодарил (а): 219 раз.
Поблагодарили: 160 раз.
Баллы репутации: 138
ТехнарьТехнарь

Сообщение andrik » 13 апр 2012, 00:38

null писал(а):Насчет кварца совсем забыл. У меня 22.1184мгц, надеюсь перекомпилировать под него не будет проблемой.

Не проблема.
Если решили с Т.З., контроллером и схемой, могу поучаствовать.
Павел а можно взглянуть на схему твоей отладочной платы, насколько я понял ты под нее пишеш ? Или схема все-таки Таноса будет ?
У меня кодвижен 2.05 За неимением железа прошивку можно и в Протеусе погонять.
Аватара пользователя
andrik
Новичок
 
Сообщения: 38
Зарегистрирован: 04 ноя 2011, 14:28
Благодарил (а): 1 раз.
Поблагодарили: 5 раз.
Баллы репутации: 5

Сообщение AlexVr » 13 апр 2012, 06:26

Также с удовольствием поучаствую. Кварц 18. Механика прощает ошибки электроники.
Аватара пользователя
AlexVr
SIMER
 
Сообщения: 449
Зарегистрирован: 05 апр 2010, 20:48
Благодарил (а): 23 раз.
Поблагодарили: 32 раз.
Баллы репутации: 71
Технарь

Сообщение Pavel155 » 13 апр 2012, 07:29

Павел а можно взглянуть на схему твоей отладочной платы, насколько я понял ты под нее пишеш ? Или схема все-таки Таноса будет ?
У меня кодвижен 2.05 За неимением железа прошивку можно и в Протеусе погонять.

Конечно ! Там весь архив с файлами Lay.
http://mal4x.ru/forum/topic....p;v=l#1334291163


У вот у меня с Протеусом что-то не получается. Простенькие проги (например Uart) работает, но стоит загрузить что-то посерьезнее, начинает тупить (.
Прошивка Таноса запускается, но от порта не работает или сработает через большой период времени.
Иногда пропадаю. Пишите в личку.
Аватара пользователя
Pavel155
SIMER
 
Сообщения: 170
Зарегистрирован: 06 июл 2011, 10:39
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Баллы репутации: 20
Новичок

Сообщение Pavel155 » 13 апр 2012, 10:08

Я бы завел еще одно прерывание, по таймеру, в котором устанавливал флаг срабатывания таймера. И уже в основном цикле программы проверял этот флаг и регулирование бы делал только по флагу от таймера. Тогда регулирование пойдет через относительно равные промежутки времени, скажем, с частотой 1 КГц.


подскажите как это можно реализовать ? Интересует как сделать частоту.
Иногда пропадаю. Пишите в личку.
Аватара пользователя
Pavel155
SIMER
 
Сообщения: 170
Зарегистрирован: 06 июл 2011, 10:39
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Баллы репутации: 20
Новичок

Сообщение Ale » 13 апр 2012, 10:37

Уже пишу код, может к вечеру выложу проект

(Добавление)
А вообще на таймерах можно делать любую частоту. Алгоритм простой
1 - нужно разрешить прерывание по переполнению. Таймер считает от 0 до 255 (если это 8-битный таймер), затем опять переходит на 0. В этот момент вызывается прерывание
2 - таймеру нужно определить делитель (прескаллер) для входной частоты. Для этого у него есть специальный регистр. Если больше ничего не делать, то частота прерываний от таймера будет вычисляться так: Fint = F_SYS / PRESCALLER / 256 - , т.е системная частота деленная на прескаллер и деленная на "размер" таймера.
3 - если нужно более точно подобрать частоту, то надо прямо в прерывании от таймера инициализировать его какой нибудь величиной, что бы он до следующего преравыния не 256 тиков считал, а, допустим, всего 10. Т.е. если в прерывании в регистр таймера записать значение = (255-10), то он будет вызывать прерывания с частотой Fint= F_SYS / PRESCALLER / 10.
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1438
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 541 раз.
Поблагодарили: 572 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Пред.След.

Вернуться в X-SIMULATOR и RU-SIMULATOR & SimTools

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и гости: 2

cron
x

#{title}

#{text}