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

Круиз-контроль для Mitsubishi Grandis Atmega8535


Гость еще один max

Рекомендуемые сообщения

Гость еще один max
Володька праильна говорит....выход с цапа все равно стоит загнать на вход ацп и патом его подкоректировать с эталоном...так ано будет точнее.....+ при таком решении компесируются внешние воздействующие факторы (температура за бортом поменялась..ещё что тамо такое...)...ты Макс окромя чип. дипа поглядел бы на платан тамо некоторые железки и мелкосхемы подешевле будут...и ассортимент у них паболее будет чем у них...вот например...у них нашел такое чудо..

 

AD7302BN, 8-бит ЦАП инд, DIP20. Производитель: AD

Цена: от 1 шт - 160.00 руб., от 10 шт - 149.00 руб.

Женя, читай внимательнее предыдущие сообщения! Именно этот внешний ЦАП я и нашел у Чипа&Дипа, только какая разница где смотреть, если в моем городе его нет! Я готов выслать переводом или на Яндекс-мани или (самый лучший способ) пополнить счет сотового, чтобы мне их купили и отправили с оказией.

Позвонил региональному представителю "Платана" в Ростов, есть AD7302 только под заказ, 350 р/шт, идти будут 2 недели. Только сначала надо приехать туда (80 км), отдать деньги, потом через 2 недели еще раз приехать. Скидка на 10 шт не распространяется, только от 20 :smile: Так что обойдутся они мне почти в 600 р каждая... Вот вам и схема пизднесса...

С передачей сигнала на второй АЦП для корректировки я уже тоже согласился, в таком случае и транзюки на выходе не нужны будут. А в режиме поддержания скорости ООС будет по скорости, там рулится будет по другому совсем.

посморел на вскид д.ш. на эту AD7203......это блин у неё вход данных паралельный.......многа ног зараза займёт у мк....получеться идет 11 ног нада будет на неё адну тока занять у мк....многовато ....нада чего нить такое с спи или и2с....глянуть...

 

Добавлено после раздумий:

вот нашел такую хрень.. мелкая..недорогая ...+спи интерфейс.. от проца нуна з ноги всего...можно использовать апаратный спи микронтроллера.....нашел у платана..

 

MAX5383EUT-T, ЦАП 8-бит, Ind, SOT23. Производитель: MAX..

 

Цена: от 1 шт. - 59.00 руб., от 250 шт. - 48.80 руб.

Посмотрю и на эту. Только уверен, что и ее нет. И нахрена мне последовательный интерфейс? Что, офигенная экономия ног? Да у Atmega8535 их 40! Посмотри схему, у меня порт С вообще гуляет, а у А и D занято по 2 ноги всего! Солить их, что ли? А если еще внешний ЦАП цеплять, 2 ноги из-под ШИМа освободятся... Тут даже Атмеги8 хватит с головой.

Смотри как все логично - просто пишем в порт, прицепленнный к AD7302, значение АЦП (можно прямо с АЦП, минуя переменные!), выносим на еще одну ногу номер АЦП, с которого получено, и еще на одну ногу строб. И все!

SPI - это тот, по которому прошивается контроллер? Это его протокол знать надо, опять учится? Ну если выхода не будет, научусь. Пока попробую с ШИМ. А там видно будет.

Все-таки AD7302 сильно мне понравилась :smile:

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

  • Ответов 218
  • Создана
  • Последний ответ

Топ авторов темы

Топ авторов темы

Изображения в теме

ну Макс насчет ног то лишних...эт так сказать хозяин барин...толька ...яж говарил ...акромя 8 линий данных..нужно будет ещщё как минимум три ноги мк использовать...может это и немнога для 40 ногого монстра....но ведь у него есть аппартный спи...и он в кваре легко параметрируется в генераторе начального кода.....поэтому задумываться ни над чем ни надо будет....в дш по цапу необходимо посмотреть какие команды нужно заслать и апосля не задумываясь кидать в регистр спдр данные....вот собсна и всё...если уж задумался связаться с микроконтроллерами то придётся по любому разобраться с спи и как ано работает....большинство всякой всячины в основном работает на спи...ну ещё канечно на и2с....меньше по однопроводному интерфейсу 1-Wire каторый.

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

Гость еще один max

Женя, спасибо! Видимо опять меня ткнули в правильном направлении. Почитал про SPI, понравилось, очень заманчиво. Особенно вот по этой ссылке интересно: _https://avr.ru/solution/progs/spi

Но непонятно... Примеры программ в ассемблере, вот бы на Си увидеть... Закладку себе сделал, буду искать что-то типа статей на нашем сайте, там где используется CVR, его мастер создания кода. Там закладка SPI есть в начальной конфигурации, попробовал включить, мало что понял. Радует, что можно обмен сделать по прерыванию. Остальное потом разберусь.

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

Женя, спасибо! Видимо опять меня ткнули в правильном направлении. Почитал про SPI, понравилось, очень заманчиво. Особенно вот по этой ссылке интересно: _https://avr.ru/solution/progs/spi

Но непонятно... Примеры программ в ассемблере, вот бы на Си увидеть... Закладку себе сделал, буду искать что-то типа статей на нашем сайте, там где используется CVR, его мастер создания кода. Там закладка SPI есть в начальной конфигурации, попробовал включить, мало что понял. Радует, что можно обмен сделать по прерыванию. Остальное потом разберусь.

 

 

Макс привеет....найди книгу в инете Лебедева.."СodeVisionAVR пособие для начинающих" (весит до хрена сюда никак 60 метров весит)...очь харошая книга..и тамо есть описание про спи и примеры как им пользоваться...хорошо расписан гинератор начального кода... да вопще очень полезная книга....

А примеры использования апаратного спи на сях можно поглядеть в исходниках например когда используется какой нить дисплейчик от сотофона....у них половина контроллеров на спи работает...например такой как нокия 3310....или нокиа7110...

В протеусе один даже есть по умолчанию а 3310 можно доустановить....в просторах инета где то валяется библиотеки на нокию3310 самопальные...

...так что с отладкой этого самого спи.....протеус самое то....

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

Ну вот я и поставил себе круиз. Макс, какой алгоритм обработки выравнивания скорости применил? Просто есть один момент, когда скорость снижается , то надо побольше "нажать педальку" и когда она возрастает надо плавно отпускать, а то получаются как бы толчки небольшие. Короче надо ПИ регулятор применить. И делай не полное "нажатие педали" от круиза. Если есть вопросы по работе и алгоритму, задавайте.

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

Макс привет!!! Я тут насчет использования спи в сях вот чего сделал. Ак раз использовал DAC5320(12-разрядный)...

посмотри исходник ...использование спи в сях не то что бы простое а очь простое...всего одна строчка и всё...))!!

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

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

втрорая кнопка сверху собсвенно делает прибавление числа 10 к значению валяющему в буфере DACа....

предпоследняя кнопка собсвенно делает вычитание числа 10 из значения валяющему в буфере DACа....

 

Добавлено после раздумий:

да забыл добавить насчёт этого DACа каторый AD5320.....по его даташиту ...его выход мона сделать высокоомным....тоесть примечательно что это чудо када ненужно можно типа выключить и оно не будет мешать твоей штатной системе работать...тоесть собственно нагружать цепи измерения сабой....вот такая вот петрушка...ну думаю собсна ани все эти DACи так наверно умеют....

dac_5320.rar

post-5671-1275217932_thumb.gif

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

когда скорость снижается , то надо побольше "нажать педальку" и когда она возрастает надо плавно отпускать, а то получаются как бы толчки небольшие. Короче надо ПИ регулятор применить.

По опыту регулировки скорости на производстве, ПИ-регулирование всё равно даёт раскачку в конце цикла . Надо или полный ПИД или увеличить время отклика до приемлемых для данной ситуации значений. Если есть возможность, лучше заложить в программу оперативную регулировку, хотя бы на стадии определения значений.

Изменено пользователем mikky
Ссылка на комментарий
Поделиться на другие сайты

По опыту регулировки скорости на производстве, ПИ-регулирование всё равно даёт раскачку в конце цикла . Надо или полный ПИД или увеличить время отклика до приемлемых для данной ситуации значений. Если есть возможность, лучше заложить в программу оперативную регулировку, хотя бы на стадии определения значений.

 

вопрос, а раскачку собственно какя часть регулятора дает...пропорциональная или интегральная?...

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

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

:smile: Раскачку пропорциональная интегральная, а не пропорциональная дифференциальная даёт. Обычно "на глаз" не определить сколько процентов какой надо для плавной работы системы (зависит и от механики). Когда возможно, предпочитаю отказаться от дифференцирования, но не всегда возможно..Вот эти "гоняния" с разным знаком и есть раскачка по затухающей.

Изменено пользователем mikky
Ссылка на комментарий
Поделиться на другие сайты

Гость еще один max

Умно все как... Ни хрена не понял. Ну и ладно, пойдем путем попроще :smile:

Набросал программу, которая корректирует выход ШИМ в соответствии с входным значением. Получилось неплохо, погрешность максимум 0,01 вольт:

	  pwm1=read_adc(1);
// читаем в переменную данные АЦП
  if (pwm1+delta1>=0xFF) OCR1AL=0xFE;
//отсечка максимального значения
  else OCR1AL=pwm1+delta1;
//вывод на ШИМ вместе с корректировкой (изначально - 0)
  delta1=read_adc(1)-read_adc(4);
// вычисление погрешности 
  

  pwm2=read_adc(2);

  if (pwm2+delta2>=0xFF) OCR1BL=0xFE;

  else OCR1BL=pwm2+delta2;

  delta2=read_adc(2)-read_adc(3);

Ну конечно все в цикле. Это самый простой и действенный вариант, проверил в железе.

Залез в машину, прицепил на датчики. При ХХ напряжение на одном из них 0,96В. ШИМ выдает столько же без нагрузки, с нагрузкой в виде ECU 0,18В. Так что мои опасения оправдались, надо усиливать сигнал по току. Все-таки мечтаю достать внешний ЦАП, тогда проблема решится.

Снял данные с датчиков при разных положениях педали (подпирал брусочком в разных положениях):

post-1142-1275240809_thumb.jpg

Когда решится проблема с ЦАП, попробую просто прибавлять 0,3В к данным для вывода на разные входы ECU. Надеюсь это будет в пределах погрешности.

Минимальное показание - ХХ, максимальное при полностью вдавленной педали. ECU питается от 12В, 5В выдает на разные выводы, запитываться оттуда не рискнул, прицепился через КРЕНку к 12В.

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

Умно все как... Ни хрена не понял. Ну и ладно, пойдем путем попроще :smile:

Набросал программу, которая корректирует выход ШИМ в соответствии с входным значением. Получилось неплохо, погрешность максимум 0,01 вольт:

	  pwm1=read_adc(1);
// читаем в переменную данные АЦП
  if (pwm1+delta1>=0xFF) OCR1AL=0xFE;
//отсечка максимального значения
  else OCR1AL=pwm1+delta1;
//вывод на ШИМ вместе с корректировкой (изначально - 0)
  delta1=read_adc(1)-read_adc(4);
// вычисление погрешности 
  

  pwm2=read_adc(2);

  if (pwm2+delta2>=0xFF) OCR1BL=0xFE;

  else OCR1BL=pwm2+delta2;

  delta2=read_adc(2)-read_adc(3);

Ну конечно все в цикле. Это самый простой и действенный вариант, проверил в железе.

Залез в машину, прицепил на датчики. При ХХ напряжение на одном из них 0,96В. ШИМ выдает столько же без нагрузки, с нагрузкой в виде ECU 0,18В. Так что мои опасения оправдались, надо усиливать сигнал по току. Все-таки мечтаю достать внешний ЦАП, тогда проблема решится.

Снял данные с датчиков при разных положениях педали (подпирал брусочком в разных положениях):

post-1142-1275240809_thumb.jpg

Когда решится проблема с ЦАП, попробую просто прибавлять 0,3В к данным для вывода на разные входы ECU. Надеюсь это будет в пределах погрешности.

Минимальное показание - ХХ, максимальное при полностью вдавленной педали. ECU питается от 12В, 5В выдает на разные выводы, запитываться оттуда не рискнул, прицепился через КРЕНку к 12В.

 

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

 

Добавлено после раздумий:

:smile: Раскачку пропорциональная интегральная, а не пропорциональная дифференциальная даёт. Обычно "на глаз" не определить сколько процентов какой надо для плавной работы системы (зависит и от механики). Когда возможно, предпочитаю отказаться от дифференцирования, но не всегда возможно..Вот эти "гоняния" с разным знаком и есть раскачка по затухающей.

 

мишааа...ну вот по существу хотел услышать на вопрос ответом...какая из них ..чаасть дает раскачивание....давай ка проясним ситуацию...))) делись знаниями..))

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

мишааа...ну вот по существу хотел услышать на вопрос ответом...какая из них ..чаасть дает раскачивание....давай ка проясним ситуацию...))) делись знаниями..))

Ёк-макарёк! Прочти ещё раз что я написал то...Всё понятно , вроде. Составляющая не пропорциональная и интегральная, а интегральная и дифференциальная (они обе пропорциональные). ПИ - это пропорционально интегральная зависимость, она и раскачивает, поскольку не знает сразу где остановиться, а ищет несколько полуволн свою точку и подстраивается. Её останавливает диф, упреждая раскачку.Но если дифа много, то в некоторых случаях можно только увеличить раскачку в обратную сторону, поэтому хорошо всё в меру и требует подстройки оперативно при наладке хотя бы.

2 Max - это то что я писал упрощённо про "сустейн", а ты сказал что тебе не надо..

 

колебания можно сгладить уменьшив коэффициет усиления в цепи обратной связи. Что то мне подсказывает , что разработчики мицубана эту проблему в ЭСУД уже решили, поэтому можно попробовать датчик скорости опрашивать пореже (насколько - опытным путем), то есть воздействовать на интегральную составляющую

Я и грю - или время отклика увеличить или коэф.усиления уменьшить.. Тока не сильно, ибо тормознутая автоматика тож не гуд..

Изменено пользователем mikky
Ссылка на комментарий
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

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