Jump to content

RockMANN

Members
  • Content Count

    23
  • Joined

  • Last visited

Community Reputation

4 Обычный

About RockMANN

  • Rank
    Новенький

Информация

  • Город
    Мытищи

Электроника

  • Стаж в электронике
    1-2 года
  • Сфера радиоэлектроники
    Микроконтроллеры
  • Оборудование
    AVR
  1. @snn_krs так точно,данные во флеше постоянные, не изменяемые.
  2. @snn_krs вы меня наверное не правильно поняли. Я хочу чтобы мои данные были частью прошивки. Я хочу загрузить их из FLASH при старте программы.
  3. @snn_krs получается нужно вставлять сами данные в текст программы, по другому никак? Так то я пользуюсь HxD редактором, конвертация в нём присутствует, мне важно было понять сам механизм.
  4. Перекодировал свой файл в Motorola s19, ST Programmer его всё равно не воспринимает
  5. Товарищи, я пробую работать в ST Visual Develop + Cosmic compiler. Подскажите, как в проект добавить данные из собственного файла. Есть у меня файл в формате *.bin , в нём данные в непосредственном виде, т.е. байты. Как сделать, чтобы компилятор схавал эти данные и сделал их частью прошивки? Как обратиться к ним я уж как-нибудь найду. Ещё пробовал пихать свой файл, конвертированный в HEX формат в ST Programmer, прога ругается на неверную адресацию в файле.
  6. @Borodach Я эту статью уже читал и не раз. Просто захотелось понять принципы и попробовать, как это в железе работает. @CherepVM Возьму на заметку, спасибо. У меня мерится период между нисходящими фронтами сигнала, т.е. как только шторка выходит из датчика срабатывает прерывание и заносится значение счётчика и так до следующего спада, т.к. кол-во пазов в диске равно кол-ву цилиндров в моём случае, то каждая шторка привязана к вмт цилиндра. Далее идут вычисления.
  7. Это понятно, здесь вопрос в том что момент включения и выключения катушки привязан к зубьям и впадинам, которые имеют фиксированный угол? Или же ведётся подсчёт времени периода между этими зубьями таймером? Грубо говоря искра происходит за какое-то количество зубов и впадин до вмт либо за количество времени до вмт?
  8. Может я не правильно выразился, объясню: в моей системе контроллер сначала замеряет период между зубьями(прорезями) а потом уже исходя из его длительности выбирает уоз, далее после арифметических операций формируется время до включения катушки и время до выключения катушки. Как я представляю себе алгоритм по 60-2: так как венец жёстко прикручен к КВ, то каждый зуб соотв. определенному положению поршня, вот я и думаю, что контроллер считает их кол-во и по прохождению определенного зуба он включает и выключает катушку. Но это же очень не точно, +-3 градуса по КВ т.к. каждый зуб+впадина 6 градусов. Как то так)) Я конечно предполагаю, что считает он их сугубо для определения вмт цилиндров чтобы не сбиться.
  9. Подскажите, где можно почитать про алгоритмы обработки сигнала с зубчатого венца 60-2? Алгоритм определения метки мне понятен, а вот какой алгоритм используется при выборе угла зажигания? Это жесткая привязка к каждому зубу венца или же подсчет длительности периода тоже происходит?
  10. Вопрос такой: стоит ли добавлять формирование отрицательного угла опережения зажигания? Моя прошивка умеет только от +1 и выше. Вообще есть ли смысл?
  11. Самое главное забыл написать, про функционал прошивки. Так как ТЗ была полностью функциональная замена трамблёра, то функций решил сделать по минимуму. Импульсы считаются с дисков с прорезями для датчика холла, либо с индуктивного датчика, установленного в трамблёре типа газ 2410. Программа мерит длительность периода таймером (задействован встроенный аналоговый компаратор, хотя мне самому он не очень нравится, просто хотелось сэкономить место) и исходя из полученного результата сравнивает с табличным значением диапазона оборотов. Далее в зависимости от разряжения в коллекторе выбирается значение угла опережения. На данный момент работают только 2 входа ацп, которые мерят дад и борт.сеть, но возможно расширить до 8. Таблица с УОЗ хранится во внешней EEPROM. В прошивке задействован алгоритм корректировки по ускорению и замедлению коленвала (корректировка вносится спустя несколько рабочих тактов), алгоритм корректировки УОЗ по напряжению в борт.сети, алгоритм увеличения времени накопления в катушке при просадке напряжения (старт двигателя). Звязь с пк через СОМ порт, для корректировки таблицы с уоз и заливки её в контроллер, а так же корректировки конфигурации числа выходов для катушек. На данный момент существует только 2 прошивки, ещё не откатанные, в качестве таблиц УОЗ я перенес в них штатные характеристики трамблеров для ВАЗ классики с датчиком холла и для отечественных V8 типа ГАЗ 53,66 или ЗИЛ. Так же сам написал на бэйсике мини менеджер для корректировки таблиц и связи с блоком. В планах освоить алгоритм работы по шкиву 60-2 и внедрить в прошивку. Вроде всё. Дополнение: Все расчёты проводил в excel, так-же часть прошивки компилируется в нём же.
  12. Вот моя схема на Atmega32, принципиально от остальных самодельных особо не отличается. Единственно присутствует EEPROM для хранения таблицы и микросхема-драйвер для управления силовыми транзисторами. Применение для любых бензиновых ДВС, возможно использовать от 1 до 16 цилиндров, катушки низкоомные, типа Б116, 27.3705, 406 инжекторная и подобные, дад типа 45 газовский или аналоги, датчики положения кв типа холла или индукционный. На машине пока ещё не тестил, но в скором времени это сделаю.
  13. Немного ошибся с выбором микросхемы для управления транзистором BU941. Для ULN2803 нужно инвертировать сигнал с микроконтроллера. Получается, что при подаче питания на схему транзистор сразу открывается на какое-то время хоть и не большое, пока загружается программа в мк. А после того, как контроллер установит нужный уровень на выходе, транзистор закроется и произойдёт искрообразование в катушке. Это конечно можно исправить, поставив дополнительный транзистор в цепь подтяжки питания к базе BU941, но я решил использовать другую микросхему для управления силовым транзистором. Микросхема UDN2981 не инвертирует сигнал, она подключает нагрузку к + питания, как раз то, что мне и нужно, хоть и не дешёвая.
  14. Посмотрел даташит на IRGS14C40L, он долго закрывается, целых 6 мкс. Это после подачи на него напряжения нужно сразу же его отключать, даже с таким временем закрывания катушка будет нагреваться. Воспользуюсь всё же таким вариантом: на выход с контроллера подключу микросхему драйвер типа ULN2803, т.к.в моём случае могут использоваться до 8 выходов порта контроллера. А на каждый выход с драйвера будет подключён BU941.
  15. Предполагается, что каскад управляется микроконтроллером с TTL уровнями. Возможно ли будет управлять таким транзистором напрямую с микроконтроллера(т.е. от напряжения 5 В и тока в 40 мА)?
×
×
  • Create New...