Электронное зажигание на микропроцессоре

( Пред.  1, 2, 3  След. )
Начать новую тему   Ответить на тему Подписчиков (3)
Форум » Лаборатория дядюшки Теслы » Электронное зажигание на микропроцессоре
Онлайн-статус
omich

Посмотреть профиль Отправить личное сообщение
На форуме с 05.09.2011, cообщений 436
Железнодорожный
Ответить с цитатой
Ссылка на это сообщение:
Добавлено: 07:18 / 03.04.16

Цитата:
Кстати да, магнитик наверное и на дэшный ротор можно приклеить, чтобы фронт импульса поднять.

Это чтобы катушку индуктивнсоти использовать вместо холла? Вот это тогда точно неоправданное усложнение конструкции. Холлу не надо ни каких дополнительных магнитов, он и так от Дешкиного магнита очень четко срабатывает.

Код прошивок как в открытом виде, так и скомпиленном, лежит в теме про зажигание. Ссылка "А тут расчет экспериментальных кривых в Exel представленных ниже(они же "прошивки")" выделена красным цветом. Там внутри архива код сразу для 4-х прошивок вместе с калькуляторами на Exel, но ни кто не мешает взять любую и и сделать свою для любого двигателя. Их модифицировали не только под 2-х скоростные моторы, но и даже для мотороллера Тула-200М.

ЗЫ. Да уж, на Arduino это сильно! Very Happy ...но на одной восьминогой микросхеме получается значительно компактнее, тем более, если взять в корпусе SOIC8.
Онлайн-статус
Hammer
Завхоз
Посмотреть профиль Отправить личное сообщение
На форуме с 05.10.2005, cообщений 4340, возраст 46
Жуковский
Ответить с цитатой
Ссылка на это сообщение:
Добавлено: 10:07 / 03.04.16

Спасибо! Прошивки попозже посмотрю.

Я же написал, что можно использовать ATTiny85, это восьминогий процессор и тоже есть в мелком корпусе. Вот собранные на нем Ардуины:

Электронное зажигание на микропроцессоре


Электронное зажигание на микропроцессоре


Я пока вот прикинул, что можно измерять длительность запускающего импульса. Чем короче импульс, тем больше фар включено. Нужно соотносить эту длительность с оборотами, тогда может и получится корректировать УОЗ.

Вы бы лучше подсказали вариант гальванической развязки. Например, намотать провод на гвоздь и приклеить эту катушку к датчику Холла...
Онлайн-статус
omich

Посмотреть профиль Отправить личное сообщение
На форуме с 05.09.2011, cообщений 436
Железнодорожный
Ответить с цитатой
Ссылка на это сообщение:
Добавлено: 10:57 / 03.04.16

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

ЗЫ. Развязку лучше всего делать через оптроны. К примеру, очень распространенные и отлично себя зарекомендовавшие PC817. На трансформаторах тоже можно делать развязку, но там сильно ограничено полосой пропускания, т.е. сигналы только ВЧ проходят, ну и про сложность изготовления не стоит забывать, а так же механическую непрочность выводов проводов(для таких трансов придется использовать маленькие сердечники и тонкий провод).
Онлайн-статус
Hammer
Завхоз
Посмотреть профиль Отправить личное сообщение
На форуме с 05.10.2005, cообщений 4340, возраст 46
Жуковский
Ответить с цитатой
Ссылка на это сообщение:
Добавлено: 11:22 / 03.04.16

А вариант с неонкой не прокатит? Она ж будет вспыхивать при 60В, а чем ловить отклик? Вчера попробовал ИК светодиодом - не получилось. На зажигалку реагирует, на неонку нет.

Мне надо придумать максимально просто.
Онлайн-статус
omich

Посмотреть профиль Отправить личное сообщение
На форуме с 05.09.2011, cообщений 436
Железнодорожный
Ответить с цитатой
Ссылка на это сообщение:
Добавлено: 12:03 / 03.04.16

Я не совсем понял про неонку, она куда подключена? Ну а инфракрасный светодиод ее не увидел, т.к. спектр излучения неона 585,25 и 540,05 НМ, а инфракрасный длиннее 625 НМ. Тут, скорее всего, обычный фото резистор или фотодиод бы сработал.

Электронное зажигание на микропроцессоре
Онлайн-статус
Hammer
Завхоз
Посмотреть профиль Отправить личное сообщение
На форуме с 05.10.2005, cообщений 4340, возраст 46
Жуковский
Ответить с цитатой
Ссылка на это сообщение:
Добавлено: 12:08 / 03.04.16

Неонку через диод в нагрузку заряжающей катушке. Чтобы нужная полуволна "светилась".
Онлайн-статус
omich

Посмотреть профиль Отправить личное сообщение
На форуме с 05.09.2011, cообщений 436
Железнодорожный
Ответить с цитатой
Ссылка на это сообщение:
Добавлено: 12:34 / 03.04.16

Ну так с таким же успехом через диод и резистор на оптрон и он уж точно сработает. Резистор подобрать по максимальному возможному напряжению на катушке. Ток срабатывания у того же оптрона PC817 от минимального до максимального нормируется от 2,5 до 30 mA. Т.е. если напряжение на катушке доходит до 400 вольт, то посчитаем для не предельного, а среднего тока 20 mA:
400/0,02 = 20 кОм. Теперь прикинем максимально допустимое напряжение 20000 * 0,03 = 600 вольт.
Теперь прикинем при каком напряжении он сработает(при минимальном токе) U=I*R , т.е. 20000 * 0,0025 = 50 вольт. Так это приблизительно выглядит. И ни каких неонок. Wink
Онлайн-статус
Hammer
Завхоз
Посмотреть профиль Отправить личное сообщение
На форуме с 05.10.2005, cообщений 4340, возраст 46
Жуковский
Ответить с цитатой
Ссылка на это сообщение:
Добавлено: 13:00 / 03.04.16

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

EL817 - это я так понимаю аналог? В старом блоке питания от компа они есть.
Онлайн-статус
omich

Посмотреть профиль Отправить личное сообщение
На форуме с 05.09.2011, cообщений 436
Железнодорожный
Ответить с цитатой
Ссылка на это сообщение:
Добавлено: 13:14 / 03.04.16

Hammer писал(а):
А от провода намотанного на бронепровод сие будет срабатывать?
...
EL817 - это я так понимаю аналог? В старом блоке питания от компа они есть.

Главное, это обеспечить ток оптрону. Единственное, нужно опасаться тока самоиндукции и не допускать обратного напряжения на светодиоде оптрона.

EL817 - да, это то же самое. Они есть буквально везде, даже в зарядках для телефона. ...но вообще, проще в Китае заказать партию за копейки.
Онлайн-статус
Hammer
Завхоз
Посмотреть профиль Отправить личное сообщение
На форуме с 05.10.2005, cообщений 4340, возраст 46
Жуковский
Ответить с цитатой
Ссылка на это сообщение:
Добавлено: 14:40 / 03.04.16

Ну что же! Начали!

Тестировать буду поблочно, так меньше деталей сгорает, и я меньше расстраиваюсь.

Электронное зажигание на микропроцессоре


Слева повышающий трансформатор с неонкой от внутренностей лазерного принтера. Там много таких трансформаторов, рекомендую. Посередине EL817 с обвязкой из двух резисторов. Справа Digispark в варианте с колодкой.

Соединил всё воедино, потыкал питанием в трансформатор, по неонке убедился что трансформатор трансформирует, Ардуина откликнулась, и ничего не сгорело.

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

Сначала наверное просто сделаю что-то типа тахометра, чтобы девайс отправлял на экран сотового телефона (или сразу на OLED дисплей) обороты двигателя и смещение обратной волны зарядной катушки.
Онлайн-статус
omich

Посмотреть профиль Отправить личное сообщение
На форуме с 05.09.2011, cообщений 436
Железнодорожный
Ответить с цитатой
Ссылка на это сообщение:
Добавлено: 14:54 / 03.04.16

Так это через оптрон сигнал проходит? На всякий случай еще раз повторюсь, но его обязательно надо защитить от обратного напряжения, т.е. только чтобы прямой ток шел, иначе пробьет светодиод и оптрон перестанет работать.
Онлайн-статус
Hammer
Завхоз
Посмотреть профиль Отправить личное сообщение
На форуме с 05.10.2005, cообщений 4340, возраст 46
Жуковский
Ответить с цитатой
Ссылка на это сообщение:
Добавлено: 17:05 / 03.04.16

Ну вот, видите, я еще толком даже не начал ничего делать, а уже косячу! Какие там мне токи высокой частоты? Впаял диод, немного покодил. Попробовал измерить время импульса с трансформатора.

А вот если напрямую я батарейкой на вход трансформатора тыкаю, какой длины должен получаться импульс? У меня процессор показывает 10-200 мкс. Что косвенно подтверждается жирностью свечения неонки. Верный диапазон?

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

Посмотреть профиль Отправить личное сообщение
На форуме с 05.09.2011, cообщений 436
Железнодорожный
Ответить с цитатой
Ссылка на это сообщение:
Добавлено: 17:21 / 03.04.16

Диапазон импульса вполне может такой быть, точнее можно было бы только осциллографом увидеть. По прерываниям, к сожалению, подсказать ничего не могу, сам не знаю. Sad
Онлайн-статус
Hammer
Завхоз
Посмотреть профиль Отправить личное сообщение
На форуме с 05.10.2005, cообщений 4340, возраст 46
Жуковский
Ответить с цитатой
Ссылка на это сообщение:
Добавлено: 17:30 / 03.04.16

А я по прерываниям и не спрашиваю, тут нужно грызть породу. Дело в том, что ATTiny85 имеет слишком мало ног))) Внешнее прерывание вешается только на одну ногу, но она же используется для передачи данных, например, в дисплей. Как бы можно использовать прерывание, но тогда не будет дисплея. Ну это я придумаю, как сделать всё.

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

Электронное зажигание на микропроцессоре


Электронное зажигание на микропроцессоре
Онлайн-статус
Hammer
Завхоз
Посмотреть профиль Отправить личное сообщение
На форуме с 05.10.2005, cообщений 4340, возраст 46
Жуковский
Ответить с цитатой
Ссылка на это сообщение:
Добавлено: 20:00 / 03.04.16

С прерываниями разобрался. Они у меня немного напутаны из-за того, что я во все тиньки прописываю новый бутлоадер, а у него чтобы использовать библиотеки USB есть особенности.

Поэтому, если вы просто шьете процессор через USBasp, например, то для внешнего прерывания нужно использовать ногу P0, если у вас стандартный бутлоадер, то тоже будет нога P0, если как у меня, бутлоадер Micronucleous v2.2, то для внешнего прерывания канает нога P2.

Вот схемка, чтобы я сам не запутался, здесь прерывание на ноге P2:

Электронное зажигание на микропроцессоре


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

Программа для замера длительности нужного нам импульса на Digispark:

Код:
#include "DigiKeyboard.h"

#define PIN_SENSOR    0  //Sensor input
#define PIN_LED       1  //LED PWM

uint32_t timer, cycles;

volatile int state = LOW;

void triggerOn()
{
  state = HIGH;
}

void ledBlink (int blinkCount, int blinkDelay)
{
  int i;
  for (i=0; i<blinkCount; i++)
  {
    digitalWrite(PIN_LED, HIGH);
    DigiKeyboard.delay(blinkDelay);
    digitalWrite(PIN_LED, LOW);
    DigiKeyboard.delay(blinkDelay);
  }
}

void setup() {
  pinMode(PIN_SENSOR, INPUT);
  pinMode(PIN_LED, OUTPUT);
  attachInterrupt(0, triggerOn, FALLING);
  ledBlink(3, 100);
}

void loop() {
  if (state == HIGH) //Сигнал пошел!
  {
    cycles = 1;
    timer = micros();
    while (digitalRead(PIN_SENSOR) == LOW) {cycles ++;}  //Ждем окончания сигнала

    timer = micros() - timer;     //Считаем время

    ledBlink(3, 30);
    state = LOW;
    DigiKeyboard.println(timer);
  }
}


На Digispark к ноге P1 подцеплен светодиод, поэтому схема немного другая. Сигнал с оптрона идет на P2 (прерывание) и на P0 (измерение). Программа после запуска три раза мигнет светодиодом и притворится компьютерной клавиатурой и будет печатать в ваш компьютер после каждого импульса его длительность в микросекундах. Для этого лучше заранее открыть на компьютере блокнот. А светодиод будет визуально подтверждать срабатывание. Но мопеде пока не тестил, но не за горами этот день.

С прерываниями измерения получились идентичными предыдущему замеру.

Две ноги еще осталось. Этого при необходимости может хватить для построения повышающего преобразователя напряжения.

Стал продумывать алгоритм тайминга. А может и не нужна вторая полуволна. Если мы знаем время оборота коленвала в микросекундах, знаем время зарядной полуволны в микросекундах, значит середина этой полуволны (в варианте с совкоциклами!!!) где-то в районе НМТ. Следовательно время искры должно быть:

Ти = Тк / 2 - Тв / 2,

где:

Ти - время через которое нужно открывать тиристор,
Тк - время оборота коленвала,
Тв - время зарядной полуволны.

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

Теперь про точность. Минимальный отслеженный процессором импульс был 6 мкс. Для простоты возьмем 10 мкс. При 6000 об/мин один оборот коленвала длится 10 000 мкс. Это 0.036 градуса на каждую микросекунду. У нас точность (10 мкс) это 0.36 градуса на итерацию. Пусть будет 0,5 градуса. Точность конечно будет падать с оборотами, но тоже что-нибудь придумается. А потом не забываем, что сумма этих микросекунд еще усредняется делением.

Фиг знает, может и получится.

Для дэшек без перемотки подковы тоже сгодится микропроцессорное управление. Могут быть даже определенные плюсы. Например, нет проблем с питанием контроллера, его уже тогда можно будет от КРЕН питать. А на Digispark вообще уже есть регулятор напряжения, если самому паять не хочется. Возможно не нужен будет используемый сейчас оптрон. Вместо тиристора встанет полевик, никаких гальванических развязок уже не нужно будет. Схема сильно упростится.

Начать новую тему    Ответить на тему Подписчиков (3) ( Пред.  1, 2, 3  След. )
 

Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах

« Электрика на мотовелосипед. | ДИСТАНЦИОННОЕ переключение со звезды на треугольник. »



 
© ДЫРЧИК.РУ 2018
info@dyr4ik.ru
www.magazinmopedov.ru Мобильная платформа для втуберов