самодельное зажигание.

Vladimir_T

Я менял кривую угла для PIC16F84, там исходник написан в асемблере. Для PIC16F628 не делал, хотя это можно сделать, я менял данные в исходнике (написан в С+) а вот скомпилировать так и не смог. Та программа, на которой пытался это сделать, показалась мне такой мутной, что отложил я это дело до лучших времен. В теме про бензопилу есть ссылки на сайты, там расписано как это делается.

zzzzz

Владимир, а какая из схем генераторов вам больше “понравилась”?

Vladimir_T

Похоже они одинаковы, просто изначально я изготовил по схеме как 26 посте и сней работал. А лучше та, которая настроится и получится лучше. Все зависит от ферита и где-то от транзистора, некоторые сразу работают, то-есть выдают нужное напряжение, другим надо подбирать сопротивление в базовой цепи. Когда я первый раз собрал преобразователь, он заработал а нагрузку не держал (при подключении выпрямительного моста), генерация срывалась. Оказалось блокировочная емкость по питанию слишком мала (0,1 мкФ, почему ее такой указали не пойму), заменил на 10мкФ, все сразу заработало.

2 months later
Аеро

Спасибо Владимиру, запустил свой движок без опережения с Эмитерным повторителем. Магнит вставил чуть ранше ВМТ запускаеться с пол тичка ешо раз Спасибо Владимиру

2 months later
KGB

Vladimir(T)
а с самодельной бабиной не эксперементировали???
конструктив… данные матушки???

я написал своё…зажигание на меге8… тактовая 4 мгц…
обрабатываемые обороты таблицей в 256 байт поличились от 920 до ~200000
но на верхних оборотах получился большой шаг…
вот конец таблицы
33-7102,272727
32-7324,21875
31-7560,483871
30-7812,5
29-8081,896552
28-8370,535714
27-8680,555556
26-9014,423077
25-9375
24-9765,625
23-10190,21739
22-10653,40909
21-11160,71429
20-11718,75
19-12335,52632
18-13020,83333
17-13786,76471
16-14648,4375
15-15625
14-16741,07143
13-18028,84615
12-19531,25
11-21306,81818
10-23437,5
9-26041,66667
8-29296,875
7-33482,14286
6-39062,5
5-46875
4-58593,75
3-78125
2-117187,5
1-234375

ну последние шт25 нам не нужны… но обработка скажем до 20000 не помешает…
а вот тут …
33-7102
32-7324
уже вполне адекватный шаг.

кстати для настройки …сделал так…
в перывании после выдачи искры… на комп на скорости 115200 отправляю два байта 😁
номер ячейки таблицы и её содержимое 😛

а на компе в логере наблюдаю такое…
например

FD FF
FC FF

второе значение это количество пауз из расчёта 1п=(40гр-5гр)/256
а вот первое пляшет всего в пределах единицы…(на одних постоянных оборотах).

Vladimir_T

Насчет адекватности шага ничего не могу сказать, надо видеть кривую угла опережения зажигания. В моем ватианте при оборотах свыше 6000 график имеет линейный вид. У вас, как я понял, линейность начинается примерно с 7000 оборотов. Покажите график угла, тогда можно будет судить об адекватности.
Насчет настройки, тут я ничего не понял, дайте ссылку на материал, по примеру которого Вы работали, как то я не в теме.
У меня вопрос по контроллеру, он у вас при низких температурах работает? Я это к чему. PIC16f628 уже при нуле градусов не работает. Вернее зажигание с этим контроллером работает если контроллер “промышленный”, для низких температур (-25…125). Тот который у меня стоит, комнатный, минусовые температуры не любит. Купить в магазине “промышленный” трудно и похоже продавцы не знают и не догадываются о существовании таких контроллеров.
Самодельными катушками не занимался, была такая задумка, но это на будуее. Если получится, то отпишусь в этой теме.

KGB
Vladimir_T:

Насчет адекватности шага ничего не могу сказать, надо видеть кривую угла опережения зажигания. В моем ватианте при оборотах свыше 6000 график имеет линейный вид. У вас, как я понял, линейность начинается примерно с 7000 оборотов. Покажите график угла, тогда можно будет судить об адекватности…

разные моторы разные моменты зажиганий…
график может быть любым…по Х шаг по оборотым по У шаг 35гр\256
датчик хола можно ставить в любом положении. и потом от него считать момент…

Vladimir_T:

Насчет настройки, тут я ничего не понял, дайте ссылку на материал, по примеру которого Вы работали, как то я не в теме…

а ссылки и нет… яж сказал что своя разработка

Vladimir_T:

У меня вопрос по контроллеру, он у вас при низких температурах работает?.

на такомже проце у меня сделан частотомер он стоял в стк-500 и соотвемственно был без корпуса… на -15 работал без проблем…обдувался дажить винтом… руки в перчатках за 6р 😁 замёрзли

Vladimir_T

[QUOTE=KGB;1758133…датчик хола можно ставить в любом положении. и потом от него считать момент…[/QUOTE]

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

KGB
Vladimir_T:

Поэтому установив механическое опережение в 10 градусов, Вы не получите желаемое опережение в 30 градусов на максимальных оборотах.

😁 ну это вы уже наверно шутите !
понятно что надо отталкиваться от опережения на максимальных оборотов данного мотора…
на одном оно может быть 25гр а на другом 40гр (реально момент искры)
и ставить хол на моторе в 40гр с реальным опережением в 25гр не эфективно…
как Вы сами писали изза больших ступенек… а так дискретность меньше…точность выше.

-----------------------------------
а ваще я щитал так… сперва задол обороты… пределители таймера(возможности проца) и получил приблезительно 4мгц тактовой… сделал = 4 и стал щитать в обратку… задача была сделать так чтобы рабочие обороты мотора попали в диапазон счёта таймера от 0 до 255. чтоб не парится с 16 бит.
получилось так…
4 мгц
1 такт = 0.000 000 25 *1024 = 0.000 256

0.000 256 * 255 = 0.065 28 - это минимальные обороты…
= 15.3186гц * 60 = 919 оборотов. округляем = 920

на 15000 дощитает до 15.625

вполне всё устраивает…
это какбы сделан частотомер…
потом число счётика добавляем к начальному адресу таблицы…
и делаем выборку… те получаем опять число… от 0-255
теперь выбрали место установки хола… например 40гр…
на минимальных оборотах опережение гдето 5гр… менше не бывает…
значит рабочий диапазон 40-5=35гр разбиваем на 256 частей.
и получаем время… делаем в проге такую паузу…обзавём это Т
потом выесняем на каких оборотах какое надо опережение…
например 8000… опережение 30гр… значит задержка от хола составит 10гр
считаем за какое время на таких оборотах будет время ОДНОГО оборота…
потом это время делим на 360 и умножаем на 10…
потучили время прохода 10ти градусов на 8000обмин…
делим это время на Т и получаем сколько нам надо выдать пауз Т…и это число заносим в таблицу в ячейку 0адрес + число из счётчика
а для контроля что в реальности происходит…после выдачи искры, на компьтер по стандарту рс232 на скорости 115200 передаём два байта…
первый число из чсётчика…второй считаное по этому адресу значение количества задержек Т
…вот!!! и всё
это всё уже работает!

Vladimir_T

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

KGB

ща…

в тексте поправте этот кусок…
;----------------------------
; сбрасываем таймер

ldi Temp,1<<TOV0 ; сбрасываем переполнение…
out TIFR,Temp

ldi Temp,0x00
out TCNT0,Temp ; заполняем таймер

ldi Temp,1<<PSR10 ; сброс пред делителя…
out SFIOR,Temp

;----------------------------

добавлен сброс пред делителей… это повысит точность счётчина до единицы 😃))

1 month later
how-eee

я видел два варианта прошивок. в первом ДХ установлен в ВМТ и искра дается с задержкой уже для следующего оборота. Причем опережение может быть любым, хоть 100 градусов.
Только первая искра при запуске выдается сразу, без задержки, в ВМТ. В проге есть участок, где проверяется что мотор заглох. Если заглох, то первая искра опять без задержки.

У Вас же второй вариант - ДХ установлен на величину максимально возможного опережения и первая искра при запуске уже дается с задержкой. Но обороты то еще не рассчитаны. Проц не знает с какой силой вы толкнули винт. Тоесть первая искра получается с опережением “как повезет”. А теоретически, для легкого запуска, первую искру надо давать в ВМТ.

Скажите, я правильно все понял? И почему тогда вы выбрали такой вариант?

Проверте пожалуйста схему. перерисовал под пик16ф84 с учетом того что выше говорилось. Вот только не понял про высоковольтную часть. привел ее ниже. как делать? как у них или как у вас?
Схема тут keep4u.ru/…/0a177a878e77535f811dd1619d5e9667.html

Vladimir_T

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

Pav_13
Vladimir_T:

Характеристика угла следующая; 1000 об/мин - 4 градуса, 15000 об/мин - 12, 3000 - 3, потом ползет ввех почти линейно до 5800…6000 об/мин, а далее прямая горизонтальная линия.

Владимир, поясните, пожалуйста, все ли правильно в Вашей цитате и откуда на Excel-евском графике (и в графе “угол опережения”) получается более раннее зажигание для 1000 об/мин по сравнению с 2500 об/мин?
В графе “задержка для контроллера” и в таблице прошивки соответствующее число монотонно убывает без каких бы то ни было “провалов”!

KGB
Vladimir_T:

… При запуске первая искра с опережением в 28 градусов, вторая уже пересчитывается, ничего страшного, все работает.

в моём варианте расчитывается сразу первая искра 😃

how-eee
Vladimir_T:

общей земли между преобразователем и блоком контроллера не должно быть!!!

Ах да, точно, не заметил, спасибо! Тоесть + и - двух плат соединяются через индуктивности.
16ф628 у нас нет ни в одном радиомагазине. а 84-е по 4$. А с чего ему гореть? Обвязка-то скопирована с рабочей схемы.

Также присоединяюсь к вопросу Павла.

KGB:

запуске первая искра с опережением в 28 градусов

точнее сказать “отставание” а не опережение. =)

Нашел старый БП от компа. там три транса разных размеров. самый маленький я уже сломал, когда пытался расклеить - хрупкий, зараза. Грел в микроволновке, градусов до 80. надо больше?
Как думаете, можно использовать те, что побольше?

KGB
how-eee:

точнее сказать “отставание” а не опережение. =)

вообщето про 28гр не я сказал… и не отставание а опережение…
магнит встречается с датчиком когда коленвал ещё не дошол до ВМТ 28гр …
(в данном случае)

how-eee

ну я имел ввиду что искра отстает от момента пикапа. но это неважно.
ЗЫ. В живых остался пока только самый большой транс. как вы их разбираете?

Pav_13

У меня когда-то попытка нагреть такой транс в микроволновке вызвала горение великолепной “Вольтовой дуги” между выводами!
После чего я грел транс на электроплитке до размягчения состава, которым он склеен… Далее - без проблем!
Если нет электроплитки, попробуйте поставить транс на подошву утюга и, надев перчатки, периодически проверяйте половинки на подвижность…

how-eee

ясно, спасибо. а что скажете про такие катушки зажигания от скутеров. подойдут не пробовали?
www.scooter-art.ru/b/347_2.jpg
и еще www.scootermag.ru/new/…/DSC_0874_enl.jpg
files.motochasti.ru/images/tovar/…/katgy6.jpg
files.motochasti.ru/images/tovar/…/katjh70w.jpg
files.motochasti.ru/images/tovar/…/katjh70w.jpg

и подойдет ли для трансформатора вот таких размеров?

Vladimir_T
Pav_13:

Владимир, поясните, пожалуйста, все ли правильно в Вашей цитате и откуда на Excel-евском графике (и в графе “угол опережения”) получается более раннее зажигание для 1000 об/мин по сравнению с 2500 об/мин?
В графе “задержка для контроллера” и в таблице прошивки соответствующее число монотонно убывает без каких бы то ни было “провалов”!

В цитате все правильно, за исключением 15000, надо 1500. Этот график был снят с китайской зажигалки. Я потом сам делал штук двадцать прошивок с различными варианрами провалов и пришел к выводу, что такая более оптимальная. Поэтому на 1500 оборотах опережение больше чем на 2500, а график задержки так и получается и при определенном “провале” угла опережения, задержка может вообще линейно убывать. Я делал НУЛЕВОЙ угол опережения на 1500 оборотах , не понравилось, плохо запускался двигатель(хотя по идее должно быть наоборот, возможно это связано с нагрузкой, винтом), пока не сделал его 10…15 градусов(1500 об/мин). В этом варианте все стало нравится. А если бы была такая возможность, то на 1000 об/мин сделал опережение 3…6 градусов, а на 1500-10…15.