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

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


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

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

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

Миш, ты говорил чтобы при ОТКЛЮЧЕНИИ чтобы плавно скорость снижало. А тут речь совсем о другом - с каким временным диапазоном опрашивать датчик скорости в режиме поддержания скорости, и при вычислении дельты как быстро нагонять скорость: то ли сразу разность влупить, то ли постепенно поднимать. Это можно сравнить с поддержанием скорости на большом маховике, который откликается не сразу.

Я так думаю, что надо просто в программе управления вынести все коэффициенты в отдельные константы в начале программы, и когда железо будет готово, потратить на это полдня где-нить на безлюдной трассе, да и все. Ноут с собой, программатор и с Богом! Вчера все железяки состыковал, все работает. Единственное что раздражает - чип сразу не шьется, только полное стирание и заново запись. Думаю, что из-за питания - от программатора идет 3,7В. При 5В должно быть все нормально.

Женя, спасибо за наводку на книгу Лебедева. Скачал с rutracker.org, пробежал глазами - кайф, то, что надо! Хоть и хают CVR ассемберщики (код не оптимальный), для непрофессионалов самое то. Интересно, что бы вы сказали, если бы я на Бейсике пытался программу написать...

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

Блин, жалко, что ШИМ не вытянул управление :smile: Где мне теперь внешние ЦАПы доставать, ума не приложу...

Хотя мысль есть - а если резисторная матрица R-2R с обратной связью по АЦП? Т.е. неточный вывод подгонять обратной связью? Деталей, конечно будет море (2 выходные матрицы это аж 34 резистора, застрелиться!), но какой другой выход? "Пиво к нам само не придет!" (С) Масяня.

Словами вы умными все кидаетесь, вроде по-русски говорите. Да и из ВУЗа вроде все памятно. С трудом напряг мозг, чтобы понять. Дошло. Но больше не буду, говорим об одном и том же, но по разному.

 

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

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

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

 

Ага, а как я педали скажу, что "погодь, тут вот DAC поработать хочет, ты пока не посылай данные, перейди в Z-состояние!"? Если бы это было возможно, то вообще песня - даже провод от педали резать не надо! свой уже разрезал :smile:

Если бы да кабы...

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

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

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

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

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

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

Женя, проверь свои файлы. Моделирование идет некорректно, обрати внимание на свой скрин: на резисторе 2,1В, на выходе DAC 0,012207В. У меня при моделировании такая же фигня выскакивает. Пока разобраться не смог, но кажется причина в том, что DAC 12-ти битный, а ADC в Atmega 8- или 10- битный. Там по идее не просто биты засылать надо, а пересчитывать.

Просьба - напиши на Си без кнопок, просто чтобы входное напряжение пройдя через ADC, выбрасывалось через SPI на внешний DAC, и все. И нарисуй на выход AD5601, паять я ее точно не смогу, это наносхема, но для примера само то - 8ми битная, а назначение лапок такое же как в 5320. Мне бы разобраться надо, а то тыкался сам, даже Лебедев не помог, там пример с внешним ADC.

Понравилась мне AD5302 - двухканальный внешний ЦАП с SPI. Но блин опять все упирается в возможность ее покупки...

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

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

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

Женя, проверь свои файлы. Моделирование идет некорректно, обрати внимание на свой скрин: на резисторе 2,1В, на выходе DAC 0,012207В. У меня при моделировании такая же фигня выскакивает. Пока разобраться не смог, но кажется причина в том, что DAC 12-ти битный, а ADC в Atmega 8- или 10- битный. Там по идее не просто биты засылать надо, а пересчитывать.

Просьба - напиши на Си без кнопок, просто чтобы входное напряжение пройдя через ADC, выбрасывалось через SPI на внешний DAC, и все. И нарисуй на выход AD5601, паять я ее точно не смогу, это наносхема, но для примера само то - 8ми битная, а назначение лапок такое же как в 5320. Мне бы разобраться надо, а то тыкался сам, даже Лебедев не помог, там пример с внешним ADC.

Понравилась мне AD5302 - двухканальный внешний ЦАП с SPI. Но блин опять все упирается в возможность ее покупки...

 

Maкс привет......ну вот правильно ты заметил что показания АЦП и ЦАПа не совпадают ...но оговорюсь сразу...я не ставил в той программе задачу правильно приводить показания ацп и цапа.....ия там лиш проверил и посмотрел как использовать функцию доступа к спи....вот и все ..ну а если хочешь чтоб показания ацп и цапа совподали то уж надо разбиратся с другой стороны сначала....во первых смотри ацп настроен как 10-ти разрядный и +к этому он использует внутренний источник напряжения!!! каторый равен тамо 2.56 вольта...тоесть весь диапазон ацп от 0 до 1023 будет эти 2.56 вольта......теперь смотрим на цап и что мы тамо видим а тамо в протеусе по умолчанию стоит опорный источник питания на 5 вольт!!!....тоесть он эти 5 вольт поделит на свою разрядность и будет на основании ссвоего опорного напряжения выдавать на выход напряжение......ияж те именно указывал смотри на буфер с каторого происходит оправка значения в спи цапу а тамо на скрине в буфере была цифра 10....если взять формулу из д.ш на цап ад5320...и пересчитать выходное напряжение то тамо всё правильно...!!!(средними кнопочками как раз идет прибавление числа и декрементирование числа буфера цапа и на основании этого выдает напряжение я это значение на калькуляторе и с помощью формулы проверил все совпало тоесть что спи корректно передал то что я ему заказывал и это же палучил на его выходе в виде напряжения..)

ну а раз если надо корректное значение с ацп получить по той программке то придется пересчитывать значение ацп только и за того что у ацп и цапа разные опорные напряжения+поправка на разрядность!!! или привести ацп и цап к одному опорному напряжению чтоб они прост совпадалии патом подкоректировать код для цапа потому что он 12 разрядный...а ацп меги 10-ти....но ту особых проблем не должно быть...

сёня разберусь с ацп и его коректностью выдачи напряжения из цапа...

 

 

 

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

Просьба - напиши на Си без кнопок, просто чтобы входное напряжение пройдя через ADC, выбрасывалось через SPI на внешний DAC, и все. И нарисуй на выход AD5601, паять я ее точно не смогу, это наносхема, но для примера само то - 8ми битная, а назначение лапок такое же как в 5320. Мне бы разобраться надо, а то тыкался сам, даже Лебедев не помог, там пример с внешним ADC.

 

да написать то под неё программу можно макс...но вот одна загвоздка будет...её нету в протеусе поэтому проблемотично будет посмотреть правильно ли написал код или нет а вот ад5320 есть проте и моно пасмореть на это безобразие в симуляторе...а пример в кваре с ацп тоже неплохой он и послужил примером написания программы для цапа...разница тамо лишь в том что мы туда заталкиваем значение вот такой функцией spi(<что-то>); а в примере с ацп

<что-то>=spi(0); вот и всё....

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

Понятно. Пока отложи. Ибо толку теоретизировать - нету в доступном пространстве НИ ОДНОЙ мс с внешним ЦАП.

Подошли бы:

1. AD7302 - 8-ми битный 2 канальный внешний ЦАП с параллельным интерфейсом. Проводов много, но реализация очень простая.

2. AD5301 - 8-ми битный 1 канальный внешний ЦАП с последовательным SPI, таких надо 2 шт.

3. AD5303 - 8-ми битный 2 канальный внешний ЦАП с последовательным SPI, таких надо 1 шт. Просто два 5301 в одном корпусе.

4. MAX522 - 8-ми битный 2 канальный внешний ЦАП с последовательным интерфейсом SPI.

Начал думать о простейшей R-2R матрице, резисторы в магазинах 5%, смоделировал в Протеусе, отклонения будут до 0.08В. По сравнению с 0,01В на ШИМ показатель фиговый. Подумал - а если взять штук 50 каждого номинала и подобрать поближе. Попробовал с 1% - погрешность 0,015-0,02В, уже сравнимо с ШИМ.

Наверное буду в лоб решать, куплю резики и буду тупо подбирать значения близкие к номинальному.

Вот такая фигня будет...

post-1142-1275390176_thumb.jpg

А AD5601 в Протеусе есть, у тебя какой? У меня версия 7.6 SPO (сборка 8304)

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

макс у меня их два протеуса один установленный 7.2 сп6...и портабельная тока качнул 7.6 сп0(сборка8304)....но я больше играюсь в первой она у меня стабильней работает...но вот блин тока счаз посматрел в7.6 есть эта ad5601...а в 7.2 нету ((...поиграюсь папозжа в том протеусе и с 5601....выложу что получится...

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

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

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

Айс или не айс, а попробую, что мешает? Надо все варианты пройти.

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

Смутило одно в описании такого ЦАП:

Когда мы рассматривали матрицу R-2R, мы считали ключи идеальными (сопротивление замкнутого ключа равно нулю), но в реальности сопротивление замкнутых ключей (открытых транзисторов) не равно нулю. Для того, чтобы влияние этих паразитных сопротивлений можно было не учитывать,  рекомендуется выбирать сопротивление R в 2_в степени_n (n - разрядность ЦАП) раз больше сопротивления замкнутого ключа.

Это как понимать? Сопротивление открытого транзистора МК это по идее сопротивление канала? По разным данным может быть от 0,01 Ом до 50 Ом, причем чем более высоковольтный полевик, тем больше сопротивление. Если взять 20 Ом (напряжение 5В высоковольтным назвать нельзя), то R надо выбрать:

20*256=5120 Ом. 10 кОм пойдет с запасом. Т.е. R=10 кОм, 2R=20 кОм. Большее значение не буду брать, т.к. опять фигня может выйти с отбором тока в ECU как и с ШИМ - не потянет. По прикидкам (грубым, исходя из падения напряжения на выходе ШИМ) входное сопротивление ECU около 60 кОм. При выводе 0xFF на порт внутреннее сопротивление ЦАП будет около 5,5 кОм, с учетом падения 4,6В. Это больше "педали в пол", значит пойдет. А значения в режиме дубликации можно выровнять или ООС по еще одному АЦП (пройденный этап), или просто введением поправочного коэффициента. Кстати, оба способа дают одинаковую точность, правда второй не учитывает ТКС, но он проще.

Хотя это все уже теоретизирование. Поеду-ка я в магазинчик :smile:

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

Все как-то развивается странно...

Купил резюки, разместил на листочке, промерял:

post-1142-1275482431_thumb.jpg

Получился целый магАзин, брал 10 и 20 кОм, вот что вышло по штукам:

19,8 - 2

19,9 - 6

20,0 - 3

20,1 - 4

20,2 - 1

20,3 - 10

20,4 - 4

20,5 - 5

20,6 - 4

20,7 - 2

20,8 - 2

20,9 - 2

21,0 - 1

 

9,77 - 1

9,79 - 1

9,80 - 11

9,81 - 7

9,82 - 5

9,83 - 8

9,84 - 9

9,85 - 3

9,86 - 1

9,87 - 3

 

Вполне нормальный разброс для 5% резюков, практически все укладываются в 2%, а с отбором и в 1,5. 2 ЦАПа соберется.

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

В Протеусе нет модели AD7302, но есть похожий DAC0890, тоже 8-битный 2-х портовый, на нем откатать попробую.

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

Всем привет!

Володя, Миша, Женя - проверьте схему, пожалуйста! Хотя бы взгляд киньте, фрагменты даташита с описанием пинов и типовую схему оттуда же добавляю.

Порт С идет полностью на передачу данных во внешний ЦАП, 6 и 7 разряды порта D идут на управление ЦАПом - выбор канала и синхронизация. Меня больше всего интересует правильность подключения остальных управляющих пинов. Вроде все по даташиту (насколько правильно перевел).

Выходы ЦАПов закинул на АЦП для контроля, немного изменилась нумерация АЦП (так на печатке удобнее), но это без разницы.

Корче - гляньте, а?

Схема:

post-1142-1275654302_thumb.jpg

Назначение пинов:

post-1142-1275654380_thumb.jpg

Типовое включение внешним ЦАП:

post-1142-1275654310_thumb.jpg

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

Володя, а соединение выводов ЦАПа правильное? Если опираться на даташит, выводить будет правильно?

Контроль программно отключить несложно. Или не включать в программу :smile: Зато на плате разводка сразу есть, ежели что - оп, и включили...

Спаял платку, завтра панельку под ЦАП впаяю, и буду ждать мс... в процессе написания прошивки :smile:

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

привет макс....да вроде как усё правильно....но на кнопку бы(PA.2) внешний бы резюк и притянуть его к питанию мк...

Макс вапрос а чем такое оригинальное применение ацп для кнопок обосновано?!...вроде как ж у тя многоногий монстр сидит..)))пустых и незайдествованых ног вполне хватает ...

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

Макс вапрос а чем такое оригинальное применение ацп для кнопок обосновано?!...вроде как ж у тя многоногий монстр сидит..)))пустых и незайдествованых ног вполне хватает ...

Отвечу я :smile: , это обусловленно тем, что блок кнопок это готовое устройство, рычажек, который будет стоять на руле и так как руль крутится там применен скрученный шлейф, а пины в шлейфе ограничены, вот и применяют резистивную матрицу

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

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

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

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