Перейти до публікації
bn1

Регулятор опережения зажигания на микроконтроллере

Нужно ли развивать проект дальше?  

157 користувачів проголосувало

  1. 1. Нужно ли развивать проект дальше?

    • Да
      158
    • Нет
      11


Рекомендовані повідомлення

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

 

Зображення

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

; Generated by WinDis84, © Nigel Goodwin 1998.

 

LIST P=16F84, F=INHX8M

include "P16FXX.inc"

ORG 0x0000

 

GOTO Label_0001

ORG 0x0004

GOTO Label_0002

Label_0002 RETURN

Label_0001 BCF STATUS , RP0

CLRF PORTA

CLRF PORTB

BSF STATUS , RP0

MOVLW 0xFF

MOVWF TRISB

MOVLW 0x00

MOVWF TRISA

BCF STATUS , RP0

CLRF TMR0

BSF STATUS , RP0

CLRWDT

MOVLW 0xEA

MOVWF OPTION_REG

BCF STATUS , RP0

GOTO Label_0003

Label_000E ADDWF PCL , f

RETLW 0x02

RETLW 0x02

RETLW 0x02

RETLW 0x02

RETLW 0x02

RETLW 0x02

RETLW 0x02

RETLW 0x02

RETLW 0x02

RETLW 0x02

RETLW 0x02

RETLW 0x02

RETLW 0x02

RETLW 0x02

RETLW 0x02

RETLW 0x02

RETLW 0x04

RETLW 0x0A

RETLW 0x14

RETLW 0x1E

RETLW 0x28

RETLW 0x32

RETLW 0x47

RETLW 0x4C

RETLW 0x50

RETLW 0x54

RETLW 0x58

RETLW 0x5C

RETLW 0x60

RETLW 0x63

RETLW 0x66

RETLW 0x69

RETLW 0x6C

RETLW 0x6F

RETLW 0x72

RETLW 0x75

RETLW 0x78

RETLW 0x7B

RETLW 0x7D

RETLW 0x80

RETLW 0x82

RETLW 0x85

RETLW 0x87

RETLW 0x89

RETLW 0x8C

RETLW 0x8E

RETLW 0x90

RETLW 0x92

RETLW 0x95

RETLW 0x97

RETLW 0x99

RETLW 0x9B

RETLW 0x9D

RETLW 0x9F

RETLW 0xA1

RETLW 0xA3

RETLW 0xA5

RETLW 0xA7

RETLW 0xA9

RETLW 0xAB

RETLW 0xAD

RETLW 0xAF

RETLW 0xB1

RETLW 0xB3

RETLW 0xB5

RETLW 0xB6

RETLW 0xB8

RETLW 0xB9

RETLW 0xB8

RETLW 0xB7

RETLW 0xB6

RETLW 0xB5

RETLW 0xB4

RETLW 0xB3

RETLW 0xB2

RETLW 0xB1

RETLW 0xB0

RETLW 0xB0

RETLW 0xAF

RETLW 0xAE

RETLW 0xAE

RETLW 0xAD

RETLW 0xAC

RETLW 0xAC

RETLW 0xAB

RETLW 0xAB

RETLW 0xAA

RETLW 0xAA

RETLW 0xA9

RETLW 0xA9

RETLW 0xA8

RETLW 0xA8

RETLW 0xA8

RETLW 0xA7

RETLW 0xA7

RETLW 0xA7

RETLW 0xA6

RETLW 0xA6

RETLW 0xA5

RETLW 0xA5

RETLW 0xA5

RETLW 0xA4

RETLW 0xA4

RETLW 0xA4

RETLW 0xA4

RETLW 0xA3

RETLW 0xA3

RETLW 0xA3

RETLW 0xA3

RETLW 0xA3

RETLW 0xA3

RETLW 0xA2

RETLW 0xA2

RETLW 0xA2

RETLW 0xA2

RETLW 0xA2

RETLW 0xA2

RETLW 0xA2

RETLW 0xA2

RETLW 0xA2

RETLW 0xA2

RETLW 0xA2

RETLW 0xA2

RETLW 0xA2

RETLW 0xA2

RETLW 0xA2

RETLW 0xA2

RETLW 0xA2

RETLW 0xA2

RETLW 0xA2

RETLW 0xA2

RETLW 0xA2

RETLW 0xA2

RETLW 0xA2

RETLW 0xA2

RETLW 0xA2

RETLW 0xA2

RETLW 0xA3

RETLW 0xA3

RETLW 0xA3

RETLW 0xA3

RETLW 0xA3

RETLW 0xA3

RETLW 0xA3

RETLW 0xA4

RETLW 0xA4

RETLW 0xA4

RETLW 0xA4

RETLW 0xA4

RETLW 0xA4

RETLW 0xA5

RETLW 0xA5

RETLW 0xA5

RETLW 0xA5

RETLW 0xA6

RETLW 0xA6

RETLW 0xA6

RETLW 0xA6

RETLW 0xA6

RETLW 0xA7

RETLW 0xA7

RETLW 0xA7

RETLW 0xA8

RETLW 0xA8

RETLW 0xA8

RETLW 0xA8

RETLW 0xA9

RETLW 0xA9

RETLW 0xA9

RETLW 0xA9

RETLW 0xAA

RETLW 0xAA

RETLW 0xAA

RETLW 0xAB

RETLW 0xAB

RETLW 0xAB

RETLW 0xAC

RETLW 0xAC

RETLW 0xAC

RETLW 0xAD

RETLW 0xAD

RETLW 0xAD

RETLW 0xAE

RETLW 0xAE

RETLW 0xAE

RETLW 0xAF

RETLW 0xAF

RETLW 0xAF

RETLW 0xB0

RETLW 0xB0

RETLW 0xB0

RETLW 0xB1

RETLW 0xB1

RETLW 0xB1

RETLW 0xB2

RETLW 0xB2

RETLW 0xB3

RETLW 0xB3

RETLW 0xB3

RETLW 0xB4

RETLW 0xB4

RETLW 0xB5

RETLW 0xB5

RETLW 0xB5

RETLW 0xB6

RETLW 0xB6

RETLW 0xB7

RETLW 0xB7

RETLW 0xB7

RETLW 0xB8

RETLW 0xB8

RETLW 0xB9

RETLW 0xB9

RETLW 0xB9

RETLW 0xBA

RETLW 0xBA

RETLW 0xBB

RETLW 0xBB

RETLW 0xBB

RETLW 0xBC

RETLW 0xBC

RETLW 0xBD

RETLW 0xBD

RETLW 0xBE

RETLW 0xBE

RETLW 0xBE

RETLW 0xBF

RETLW 0xBF

Label_0003 BCF PORTA , 00

Label_0006 CLRWDT

MOVLW 0xFF

MOVWF 0x20

MOVLW 0xFF

MOVWF 0x21

Label_0007 MOVLW 0x14

MOVWF 0x30

Label_0004 DECFSZ 0x30 , f

GOTO Label_0004

DECFSZ 0x20 , f

GOTO Label_0005

DECFSZ 0x21 , f

GOTO Label_0005

BSF PORTA , 00

GOTO Label_0006

Label_0005 CLRWDT

BTFSS PORTB , 00

GOTO Label_0007

Label_0008 BTFSS PORTB , 00

GOTO Label_0008

BSF PORTA , 00

CLRF 0x20

CLRF 0x21

Label_000A NOP

NOP

INCFSZ 0x20 , f

GOTO Label_0009

INCF 0x21 , f

CLRWDT

Label_0009 BTFSC PORTB , 00

GOTO Label_000A

CLRWDT

Label_000B BTFSC PORTB , 00

GOTO Label_000B

BCF PORTA , 00

CLRWDT

Label_000D NOP

NOP

INCFSZ 0x20 , f

GOTO Label_000C

INCF 0x21 , f

NOP

Label_000C BTFSS PORTB , 00

GOTO Label_000D

BSF PORTA , 00

MOVLW 0x16

SUBWF 0x21 , W

BTFSC STATUS , C

GOTO Label_0006

CLRWDT

Label_001C CLRF 0x24

CLRF 0x25

CLRF 0x2C

CLRF 0x2D

CLRF 0x2E

CLRF 0x2F

CLRF 0x28

CLRF 0x2B

MOVF 0x20 , W

MOVWF 0x22

SWAPF 0x22 , f

BCF 0x22 , 07

BCF 0x22 , 06

BCF 0x22 , 05

BCF 0x22 , 04

MOVF 0x21 , W

MOVWF 0x23

MOVLW 0x0F

ANDWF 0x23 , f

SWAPF 0x23 , W

ADDWF 0x22 , f

MOVF 0x22 , W

CALL Label_000E

MOVWF 0x26

MOVLW 0x00

MOVWF 0x27

MOVF 0x20 , W

MOVWF 0x29

MOVF 0x21 , W

MOVWF 0x2A

CALL Label_000F

MOVF 0x29 , W

MOVWF 0x24

MOVF 0x2A , W

MOVWF 0x25

BCF STATUS , RP0

MOVF 0x22 , W

SUBLW 0x8C

BTFSC STATUS , C

GOTO Label_0010

BSF PORTA , 02

GOTO Label_0011

Label_0010 BCF PORTA , 02

Label_0011 CLRWDT

CLRF 0x20

CLRF 0x21

Label_0012 BTFSS PORTB , 00

GOTO Label_0012

BSF PORTA , 00

Label_0016 DECFSZ 0x24 , f

GOTO Label_0013

BCF STATUS , Z

MOVF 0x25 , f

BTFSS STATUS , Z

GOTO Label_0014

NOP

GOTO Label_0013

Label_0014 DECF 0x25 , f

Label_0013 INCFSZ 0x20 , f

GOTO Label_0015

INCF 0x21 , f

MOVF 0x21 , W

SUBLW 0x0E

BTFSC STATUS , C

GOTO Label_0015

GOTO Label_0003

Label_0015 BTFSC PORTB , 00

GOTO Label_0016

CLRWDT

BCF PORTA , 00

Label_0017 BTFSC PORTB , 00

GOTO Label_0017

BCF PORTA , 00

Label_001B DECFSZ 0x24 , f

GOTO Label_0018

BCF STATUS , Z

MOVF 0x25 , f

BTFSS STATUS , Z

GOTO Label_0019

BSF PORTA , 00

GOTO Label_0018

Label_0019 DECF 0x25 , f

Label_0018 INCFSZ 0x20 , f

GOTO Label_001A

INCF 0x21 , f

MOVF 0x21 , W

SUBLW 0x0E

BTFSC STATUS , C

GOTO Label_001A

GOTO Label_0003

Label_001A BTFSS PORTB , 00

GOTO Label_001B

CLRWDT

BSF PORTA , 00

GOTO Label_001C

Label_000F CALL Label_001D

MOVF 0x26 , W

ADDWF 0x29 , f

BTFSC STATUS , C

INCF 0x2A , f

MOVF 0x27 , W

ADDWF 0x2A , f

BTFSC STATUS , C

INCF 0x2B , f

MOVF 0x28 , W

ADDWF 0x2B , f

RETLW 0x00

Label_001D COMF 0x26 , f

INCF 0x26 , f

BTFSC STATUS , Z

DECF 0x27 , f

COMF 0x27 , f

BTFSC STATUS , Z

DECF 0x28 , f

COMF 0x28 , f

RETLW 0x00

 

ORG 0x2000

DATA 0x0F

DATA 0x0F

DATA 0x0F

DATA 0x0F

 

ORG 0x2007

DATA 0x15

 

ORG 0x2100

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

DATA 0xFF

 

END

Анализировал немного программу. Алгоритм совсем не такой как у Долганова. У кого есть на чём потестить? Интересно посмотреть какой график нарисуется?

Змінено користувачем Dim0N

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах
daemon17, я файл RUOZ+84 открыл программой ICprog и переключился на режим просмотра окна "А". Так любой исходник видно.

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

Приветствую всех!

Подскажите, может у кого есть документация или ссылка - нужна характеристика работы вакуумного коректора УОЗ (google не помог).

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах
Приветствую всех!

Подскажите, может у кого есть документация или ссылка - нужна характеристика работы вакуумного коректора УОЗ (google не помог).

тебе штатного или переделанного для схемы на контроллере из статьи? (хотя что спрашивать, ведь нету у меня)

А скачал я вот это Посилання и много интересного там в дополнениях узрел.:bp: В том числе и таблицы и графики для каждой версии программы и варианта схемы.:bp:

Может что пригодится. Я пока буду просто копировать, а дальше будем посмотреть...

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах
daemon17, прочитал на одном дыхании, особенно про мех. тюнинг ВР и ЦР. Это класс. Спасибо.

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах
Посмотрел я на характеристики в первом посте ИМНО они далеки от оптимальных.

Думаю всем будет полезно, кто занимается РУОЗ почитать материал про принципы

построения УОЗ и почему характеристика должна быть такой а не другой.

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

Вот еще ссылка Посилання

 

Я не утверждал, что использую оптимальные характеристики. Все эти статьи были прочитаны давно. Информация полезная. Но это все теория. Кривые УОЗ необходимо подстраивать под каждую машину.

 

 

 

Что-то я упустил развитие темы. Завтра просмотрю внимательнее. Если не ответил еще на какие-то вопросы или просьбы. Попробую ответить.

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах
bn1, Перечитал ешё раз тему и не смог скачать прикреплённые файлы. Интересует прошивка. Прошу скинуть мне на мыло lukianov.dmitry@mail.ru. Или выложить на файлообменнике любом, а ссыль сюда или в личку. Для начала буду пробовать без ДАД, но в перспективе хочется доработать.

Нельзя ли схему подключения ДАД выложить для всеобщего обозрения?

 

Прошивка под ДАД в 19 посте. Прошивка с регулировкой НУОЗ резистором здесь - Удалено. Схема подключения ДАД очень простенькая. Выложу попозже.

Змінено користувачем bn1

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

Схема подключения ДАД.

[ATTACH]5249[/ATTACH]

Змінено користувачем bn1

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

Программа для МК с регулировкой НУОЗ резистором (ассемблер) - Удалено.

Змінено користувачем bn1

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

Поздравляю всех с Новым Годом !!!Зображення

Программы "Блок зажигания на микроконтроллере" с QRZ.RU , и с FTP журнала "РАДИО" давно морально устарели , новые версии можно скачать с

Посилання

и Посилання

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах
Программы "Блок зажигания на микроконтроллере" с QRZ.RU , и с FTP журнала "РАДИО" давно морально устарели , новые версии можно скачать с

Посилання

и Посилання

 

Имеются и там интересные вещи. Но на этом форуме реализована идея не Шкильменского.

Ассемблерный текст программы МК выложен выше. Если будут предложения по дальнейшей модернизации устройства, можно думать и делать. Если возникнет желание использовать в прошивке свой график УОЗ от оборотов, присылайте таблицу со значениями или рисунок. Можно добавить в код любой график.

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

Ребята, у меня к вам огромная просба. Посоветуйте пожалуйста человека в Харькове (или может кто из вас может) запрограмировать микроконтроллер PIC.

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

Всем привет, вот и моя програмка, может кому-то интересно будет.

Характеристику строил по классике как написано в книжках (см. мой пост выше)

получилось вот что...

эмулировал в Proteus-е, все чудненько, вот собственно прошивка и эмулятор.

Программа делалась как под контактную, так и бесконтактную систему зажигания ВАЗ

(в програме учитывался дребезг контактов).

Соотношение замкнутого/разомкнутого состояния стандартное - 55/35 град,

если применять к датчику холла, то надо пересчитать таблицу и смотреть

на полярность напряжения ( у меня разомкнутое состояние - "1", замкнутое - "0")

Трамблер изначально ставиться на 5 град опережения (по-классике) это учтено в прошивке.

Характеристика строится от 400 до 6000 оборотов, при превышении ~5700 оборотов опережение

устанавливается начальное - это защита от превышения max допустимых оборотов двигателя.

Это не окончательный вариант, так как я планирую встроить ручную регулировку НУОЗ

и корректировку от положения дроссельной заслонки.

Да относительно схемы, у меня никаких диодных развязок не нужно, все просто 5-я ножка - вход,

10-я - выход на систему эл. зажикания (см. исходник).

AVR брал ATtiny84, так как нужны будут еще ноги, но если без коректировок,

то можно взять и ATtiny85/45/25

Вообщем все пока.

post-15953-1475321945,7826_thumb.jpg

ruoz.zip

Змінено користувачем daemon17
уточнение

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

daemon17, как вариант очень даже не плохо. И тем более для контактного зажигания адаптировано. Хотелось бы узнать о ходовых испытаниях. И как ведет себя машинка при таком графике УОЗ.

 

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

Не понял, где учтен в прошивке начальный УОЗ трамблера? Если можно укажите.

По поводу диодных развязок. Если вдруг збойнет МК, то при их наличии хоть какой-то сигнал будет поступать на коммутатор (блок зажигания). Хотя вполне согласен, что не так уж отсутствие диодной развязки и критично.

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах
daemon17, как вариант очень даже не плохо. И тем более для контактного зажигания адаптировано. Хотелось бы узнать о ходовых испытаниях. И как ведет себя машинка при таком графике УОЗ.

В железе пока нет, доделаю ручную и вакуумную корректировки, тогда перейду к испытаниям.

 

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

Не совсем так, вернее он то разбит, на сколько - не считал (для меня это не существенно) я аппроксимировал характеристику через 8 оборотов

(почему через 8 - число кратное 2 для контроллера само то, лучше обсчитывать, меньше математики). Но можно взять и более грубый промежуток, например через 16, 32 ну это как кому по душе и как позволит память выбранного AVR-а.

 

Не понял, где учтен в прошивке начальный УОЗ трамблера? Если можно укажите.

Не совсем понял как это можно увидеть, это значение в таблице, которая в конце исходника (если смотрели). Просто при обсчете характеристики я от полученного значения отнимал значение для 5 град, вот полученное число и заносил в таблицу. Если реально, то сам формирователь дает опережение

на 5 град меньше +5 трамблера - вот и получим то что необходимо. На графике характеристика самого формирователя, в реальности то что получиться

на двигателе - нужно еще прибавить +5 град НУОЗ (поднять график на 5 град.)

 

По поводу диодных развязок. Если вдруг збойнет МК, то при их наличии хоть какой-то сигнал будет поступать на коммутатор (блок зажигания). Хотя вполне согласен, что не так уж отсутствие диодной развязки и критично.

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

У меня система сделана так что я переворачиваю разъем на своем электронном, разблокирую грузики (я их не прихватывал сваркой :bl:), и поехал на штатном. :br: Вот почему я и учитывал установку НУОЗ трамблера, чтоб потом в дороге не бегать с ключами и не устанавливать НУОЗ в случае поломки.

Змінено користувачем daemon17
Уточнение

Поділитися повідомленням


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

Думаю желательно сразу предусмотреть возможность корректировки по температуре двигателя. По опыту этого явно у меня не хватает. Так и хочется чтоб УОЗ на холодном двигателе был побольше.

 

Не совсем так, вернее он то разбит, на сколько - не считал (для меня это не существенно) я аппроксимировал характеристику через 8 оборотов

(почему через 8 - число кратное 2 для контроллера само то, лучше обсчитывать, меньше математики). Но можно взять и более грубый промежуток, например через 16, 32 ну это как кому по душе и как позволит память выбранного AVR-а.

 

С "математикой" Вы тут явно перегнули. При таком подходе, когда значение "задержки" для каждого значения оборотов хранится в МК, пусть даже через 8 оборотов, особо никакой "математики" не нужно. Посчитали длительность "единицы" на входе - взяли из таблицы значение соответствующее длительности - вычли из длительности значение "задержки" взятое из таблицы - отсчитали обратно - подняли уровень на выходе (или посчитали длительность "единицы" - взяли из таблицы соответствующую длительность "нуля" - подождали в соответствии со значением взятым из таблицы - подняли уровень на выходе). Ну или очень близко к этому. Неужели все значительно усложняется при использовании прерываний?

 

 

Не совсем понял как это можно увидеть, это значение в таблице, которая в конце исходника (если смотрели). Просто при обсчете характеристики я от полученного значения отнимал значение для 5 град, вот полученное число и заносил в таблицу. Если реально, то сам формирователь дает опережение

на 5 град меньше +5 трамблера - вот и получим то что необходимо. На графике характеристика самого формирователя, в реальности то что получиться

на двигателе - нужно еще прибавить +5 град НУОЗ (поднять график на 5 град.)

 

Здесь понятно. Хозяин барин. То есть все рассчитывается для ~ +7 град НУОЗ (5+ НУОЗ на графике). Потом учитывается, что трамблер повернут на +5 град вычитанием. И прописывается в МК.

 

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

У меня система сделана так что я переворачиваю разъем на своем электронном, разблокирую грузики (я их не прихватывал сваркой ), и поехал на штатном. Вот почему я и учитывал установку НУОЗ трамблера, чтоб потом в дороге не бегать с ключами и не устанавливать НУОЗ в случае поломки.

 

Здесь и говорилось именно про сбои МК от наводок и пр. а не сбои программы. При таком сбое двигатель слегка поколбасит (слишком мал будет УОЗ) до восстановления правильной работы МК при наличии развязки. Без развязки он (двигатель) остановится скорее всего.

Вариант с полной гибелью МК маловероятен, хотя и возможен.

Змінено користувачем bn1

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

Есть интересный проект по микропроцессорному зажиганию - Посилання полностью открытый и с хорошей поддержкой на форуме, единственное «но», для его работы необходим шкив коленвала от инжектора «60-2»

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах
Есть интересный проект по микропроцессорному зажиганию - Посилання полностью открытый и с хорошей поддержкой на форуме, единственное «но», для его работы необходим шкив коленвала от инжектора «60-2»

 

Проект очень даже не плохой. И начинался он опять же с использования трамблера с датчиком Холла (ДХ), если не ошибаюсь. Как устанавливать шкив от инжа и ДПКВ в нете описаний довольно много. Если есть желание, проблем нет.

 

Переход от трамблера к ДПКВ мотивируется устранением люфтов в сочленениях передающих вращение от коленвала до шторки трамблера. По наблюдениям самое больное место в этой передаче это люфт в сочленении полувалов самого трамблера. Если его устранить, то морочить голову с установкой ДПКВ только для умелых рук.

 

Основное положение которое постулировано здесь это минимальные переделки в машине и возможность при необходимости (поломки, сбоя и пр) быстрого возврата на исходное классическое зажигание с пружинками и пр.:) прямо в пути. Подобная идеология развивалась автором (b523pc, Шкильменским) здесь Посилання , но с некоторого времени мода взяла свое и все больше и больше чувствуется крен в сторону ДПКВ.

 

Плюс к этому, все что предлагалось пока на этом форуме можно спаять легко за один-два вечера без особых навыков в паянии. У меня вообще навесной монтаж. А вот чтоб спаять secu с его МК, может паяльный фен и не понадобится, но вот навыков нужно будет поднабраться.

 

Третье это цена. Если не пользовать ДАД, то цена здешних устройств просто смешная выходит. А результат есть не на много меньший чем у secu и подобных.

Змінено користувачем bn1

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

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

к этому и стремился ;), а если рассчитывать характеристику МП - то получаются большие временные затраты на расчет,

т.к. операции умножения и деления в МП громоздкие.

 

Посчитали длительность "единицы" на входе - взяли из таблицы значение соответствующее длительности - вычли из длительности значение "задержки" взятое из таблицы - отсчитали обратно - подняли уровень на выходе

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

По этому я и старался запихнуть в таблицу максимально просчитанное значение, и у меня используется единственная подпрограмма - деление чисел.

Может у Вас алгоритм и другой (я в нем особо не разбирался), но как говориться - правильно то, что работает.

Кстати? я смотрел что Вы использовали п/п умножения из apnote...

там есть ошибка (нужно перенести метку

m16u_1

) на две позиции вверх.

 

 

...

При таком сбое двигатель слегка поколбасит (слишком мал будет УОЗ) до восстановления правильной работы МК при наличии развязки. Без развязки он (двигатель) остановится скорее всего.

он не остановиться, просто будет пропуск в зажигании, но это будет заметно - машина будет подергиваться.

Во общем опыта использования МП на авто не имею, на транзисторах был формирователь,

но наводок никаких не было, правда там и частоты другие :multi:

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах
получаются большие временные затраты на расчет

 

Производительности МК для расчетов УОЗ хватает за глаза даже на предельных оборотах.

 

По этому я и старался запихнуть в таблицу максимально просчитанное значение, и у меня используется единственная подпрограмма - деление чисел.

 

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

 

Кстати? я смотрел что Вы использовали п/п умножения из apnote...

там есть ошибка (нужно перенести метку

 

Вот это интересно. Если можно ссылочку на первоисточник. Бо сколько не проверял, проблем с умножением не заметил.

 

но наводок никаких не было

 

У меня с этим проблем тоже не было. Но на форумах сходной тематики описаны прецеденты.

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах
Проект очень даже не плохой. И начинался он опять же с использования трамблера с датчиком Холла (ДХ), если не ошибаюсь. Как устанавливать шкив от инжа и ДПКВ в нете описаний довольно много. Если есть желание, проблем нет...................

 

Не сочтите за рекламу и не хочу разводить полемику по данному поводу, но выскажусь (не для дальнейшего обсуждения), если стоит цель заменить контролером центробежный регулятор трамблёра, то смысла ставить secu конечно нет, а вот если хочется получить полностью оконченную цифровую систему зажигания с корректировкой угла по температуре двигателя, разряжению в коллекторе, детонации и оборотам, и возможностью быстрого переключения таблиц между газом и бензином, возможностью быстрого корректирования таблиц (при наличии ноутбука ) и др., то secu самое то.

Установка ДПКВ упрощается заменой передней крышки с отливом для него, или изготовлением кронштейна, по чертежам, которых полно на форумах, и сложности в этом никакой нет.

Что касается быстрого перехода с secu на базовое зажигание, могу сказать, что здесь нет ничего сложного, ведь ни кто не обязывает демонтировать трамблёр, коммутатор (если есть) и штатную катушку, и весь переход будет заключаться в перекидывания высоковольтных проводов с двухвыводных катушек на трамблёр.

По поводу сложности изготовления, она только заключается в изготовлении печатной платы, но опять же при помощи ЛУТ это более чем реально, а далее монтаж компонентов проходит без каких либо специальных навыков и оборудования (лично паял обычным паяльником)

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

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

Вот это интересно. Если можно ссылочку на первоисточник. Бо сколько не проверял, проблем с умножением не заметил.

 

 

Если нет такой книги, скачайте, оч. полезная. Там, кстати, в разделе умножение чисел, это написано.

 

Практическое программирование микроконтроллеров Atmel AVR на языке ассемблера" rel="external">Посилання

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

Будь ласка, увійдіть для коментування

Ви зможете залишити коментар після входу



Увійти зараз

×