Обсуждаем электронику на колесах. Нужен увлажнитель воздуха для Камаза? Вам сюда.
Ответить

Re: ФУОЗ на базе AC-CDI

Вс июн 25, 2017 14:08:15

А подпайка резистора ничего не меняет?

Re: ФУОЗ на базе AC-CDI

Вс июн 25, 2017 17:11:58

Flash.#13
Alles. Все сделал. Почти. Ошибка найдена.
Нужен Флэш :))

Re: ФУОЗ на базе AC-CDI

Вс июн 25, 2017 21:12:25

Flash.#13 я что то не понял про искру перед датчиком ( на опережение), пока я капиталю свой мотор отдал другу покатать фуоз, так вот при установке угла в предугадывание имеем отсечку в 4000об по китайскому тахометру. При переключении на 2 таблицу мотор крутится
Вложения
1234.jpg
(206.64 KiB) Скачиваний: 306

Re: ФУОЗ на базе AC-CDI

Вс июн 25, 2017 22:30:24

asel и какие будут предложения?

Iszak 35 градусов, многовато, будет идти на спад. Для обычного движка выше 25 градусов залазить смысла нет, так же режим "предсказания" еще допиливается.

Re: ФУОЗ на базе AC-CDI

Пн июн 26, 2017 06:44:08

Flash.#13
Выше я описывал ошибку. Но почему ... плохо читают. Повторю еще раз подробнее.
На моторах без акумулятора, дергаете за веревку или тапкой заводите мотор. (протеусом тоже можно увидеть). Появляется напряжение питания на МК. МК запускается. Потом приходит первый импульс от датчика. И в зависимости от того когда он пришел (это время от появления питания до вх импульса) вычисляется и появляется искра. Если пришел сразу после появления питания то искра с малой или совсем без задержки (и отдача), если позже , то и больше задержка появления искры. На разных моторах это по разному, поэтому у кого есть отдача, у кого нет, в зависимости от конструкции катушек и схемы питания МК.
Диагноз. Выше Флаш приводил три тестовые програмки. Так вот. Берем програмку "без первого импульса). И тестируем ее. И... вуаля. Импульса искры при появлении первого вх импульса НЕТУ!! Остальные импульсы все четко отрабатываются. НО!!Нет импульсов и при оборотах ниже 500об.
Итого. Програмкой можно пользоваться, отдачи не будет. Но придется дольше тянуть за веревку, т.к. искра появится только 2 или 3 обороте.
Лечение. Два варианта.
1. Сначала В програмке нужно восстановить искру на оборотах ниже 500.Но чтобы небыло искры по первому вх импульсу.
2. И потом уже полностью вылечить. Добавить , чтобы искра по первому вх импульсу была с задержкой как по 500об. (у нас получается , что искра по вх импульсу "расчетная" от времени подачи питания до появления вх импульса)
Все. :))

Re: ФУОЗ на базе AC-CDI

Пн июн 26, 2017 10:53:08

Вашы посты читал, но вы таки не ответили, подтяжка резистором базы транзюка что-то меняет? Есть теория что дело в железе МК, типа он при включении дает искру опуская ноги с бесконечности на лог 0, а база транзистора в воздухе висит, нет подтяжки кроме софтварной.
Судя по вашим опытам беда в том что первый импульс приходит слишком рано после включения МК, мне кажется это легко решить ввев банальную задержку(0.5с например), на протяжении которой МК не будет давать искру, но будет обрабатывать всю математику, чтобы ничего не пропускать.

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

Re: ФУОЗ на базе AC-CDI

Пн июн 26, 2017 16:35:26

Flash.#13
:music:
ты можешь перпесать-дописать в твоей тестовой програмке , которую ты приводил чуть выше постами?. Програмка называется -"без первого импульса. В этой програмке при первом вх импульсе нет искры. Но нет искры и при оборотах ниже 500об.
Допиши-перепиши, или как тебе еще объяснить , что бы в этой программке была искра на оборотах ниже 500. (Т.е. как у тебя названо в программе -"при переполнении счетчика")
А первый вх импульс пока не трогай. Пусть будет как есть в этой програмке., что при первом вх импульсе от датчика нет искры.
Резисторы, и разные задержки не надо.
:shock:
PC. Только что проверил еще раз програмку "без первого импульса". Импульсы искры есть до 460об. Ниже нет. Может этого и достаточно? Тогда нужно перписать так програмкку, чтобы при первом вх импульсе от датчика была задержка выдачи искры как при 500об. И на этом можно завершить эпопею с "отдачей"

Re: ФУОЗ на базе AC-CDI

Пн июн 26, 2017 20:07:40

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

Re: ФУОЗ на базе AC-CDI

Пн июн 26, 2017 21:11:43

Flash.#13
Какую проблему? Я перешел на программу "Без первого импульса". Тут проблем нет. Только жалко , что не используется первый импульс. А хотелось бы от него получить искру с задержкой без расчета по 500об. А я писать программы не умею. Вот все что я прошу.
Резистор у меня есть. Но у меня и другая схема.
Да. Еще увеличил ширину импульса искры с вых МК. Какой-то хилый он в последней версии программы.

Re: ФУОЗ на базе AC-CDI

Вт июн 27, 2017 09:04:24

А вот это зря, тиристор все равно сам закроется по разряду ВВ конденсатора, а если импульс будет слишком широким, это уменьшит время зарядки конденсатора, и как следствие мощность искры. Ну если проблем без первой искры нет, то нужно определится с длинной задержки, по осциллографу не видно, сколько нужно времени задержки?

Re: ФУОЗ на базе AC-CDI

Вт июн 27, 2017 12:13:01

Flash.#13
:facepalm: Еще раз. В програмке, которая называется -"без первого импульса". Выше вы приводили ее для тестирования. В этой програмке при первом вх импульсе нет искры. Но нет искры и при оборотах ниже 460об
Нужно дописать эту програмку, чтобы при первом вх импульсе от датчика была искра с задержкой как при 500об.
ПС
Да. Почитал посты. Чей то дядя писал:
"По таймеру, он считает постоянно, в коде нет остановки таймера. При старте МК таймер сразу же начинает считать, но считать правильно он будет только после первого обнуления входящим импульсом, и программа это учитывает, там есть соответствующие регистры статуса. При включении активна галочка "таймер врет", и пока не произойдет прием первого импульса с обнулением счета, показания не будут влиять на искру. Для первого оборота это означает максимальную задержку по таблице, то есть мы включили питание, и первый импульс никак не вызовет искру, а вызовет расчет искры при задержке таблицы 500 об/мин и с данными этой скорости, точнее там будет что-то около 480 об/мин по константе скорости, которая задана жестко в коде, именно для "мягкого запуска без отдачи".
Почитали? Так вот - это желание Флэша. А в дейсвительности в программе, импульс искры от первого входного импульса "гуляет" по таблице графика в зависимости от времени, между пуском МК и появлением первого вх импульса. Это и есть ошибка в программе. Надо ее исправить.
На каком языке еще объяснить, что б было понятно. Осциллограмы фоткать? :shock:

Re: ФУОЗ на базе AC-CDI

Вт июн 27, 2017 13:20:45

про начальные установки я имел вивиду чтото вроде:
;========Timer+ADC=======
ldi R9, 255
ldi R10, 0
out TCNT1H, R9
out TCNT1L, R10

ldi R16, 0b00000010 ;задержка 8,для счета при 4МГц
out TCCR1B, R16 ;пуск таймера 16-бит
ldi R16, 0b00011100
.............
так даже если искра придёт сразу после загрузки — она контроллер не обманет
Flash.#13 Вы говорите, что так уже сделано, но я не нашел, правда, пишу с телефона, может и просмотрел...

Re: ФУОЗ на базе AC-CDI

Вт июн 27, 2017 15:51:16

Ivanoff-iv за это отвечает 7бит 20-го регистра.
Код:
;таблица контрольных бит, РОН20
;R20/7-холостые обороты, переполнение 16-бит счетчика


;==переполнение 16-бит счетчика==
;переполнение означает что частота оборотов ниже 480/мин
timer1:
in R15,SREG      ;сохраним SREG
ori R20, 0b10000000   ;sbiR20/7, контроль
out SREG,R15   ;восстановим SREG
reti


;==холостые(низкие) обороты==
;режим активен при переполнении счетчика
;когда обороты ниже чем 460/мин
;при этом рассчет задержки невозможен
;и имеет смысл делать ее константой для
;познего зажигания 4°,без пропусков искры
holostie:
ser R16         ;РОН=0xFF
mov R9, R16      ;сработает как 500/мин
mov R10, R16   ;и мл.
andi R20, 0b01111111;cbiR20/7, контроль
ret


Именно этот блок на старте как-то влияет на рандомную искру, но он участвует в расчетах, и мне еще неясно какием именно боком оно сбоит, хотя уже есть пару вариантов решения проблемы.

Re: ФУОЗ на базе AC-CDI

Вт июн 27, 2017 16:26:29

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

Добавлено after 7 minutes 2 seconds:
а где бит R20.7 устанавливается при инициализации контроллера?

Re: ФУОЗ на базе AC-CDI

Вт июн 27, 2017 16:56:34

Код:
;========регистры========
...
ldi R20,0b10000000   ;РОН статуса

Re: ФУОЗ на базе AC-CDI

Вт июн 27, 2017 17:19:16

у меня, видно, не свежий файл, хотя скачал по ссылке "крайняя версия прошивки ФУОЗ" из подписи:
;========регистры========
.........
clr R20 ;РОН статуса

Re: ФУОЗ на базе AC-CDI

Вт июн 27, 2017 18:01:16

даем наводку.
при чем тут переполнение. мы ждем импульс или прерывание по переполнению? если фуоз питается от аккумулятора, то никаких проблем. вкл питание, и заводим. и от вкл питания до заводим - таймер переполнится 10000раз и по вх импульсу будет задержка как 500об.
а вот этот кусок проги ....
impuls:
sbrc R20, 6 ;if pinX,n='1' then do
ret ;если уже был счет то выход
in R10, TCNT1L
in R9, TCNT1H ;считываем показания счетчика
clr R16
out TCNT1H, R16
out TCNT1L, R16 ;обнуляем счетчик
ori R20, 0b01100000 ;sbiR20/6,5, контроль
;показания счетчика записаны, счетчик обнулен
;контроль 2 бит, один обнуляеться при рабочем ходе
;второй при расчете гтовности искры
ret

а именно
impuls:
sbrc R20, 6 ;if pinX,n='1' then do
ret ;если уже был счет то выход
может вместо ret отправить jamp holostie ??

думайте :(
ПС . Я уже три раза писал. берем прогу "без первого импульса". В ней нет искры по первому вх импульсу и нет искры при обор ниже 460. И аккуратно сначала делаем искру по первому импульсу с фиксиров задержкой на 500об. А уж потом пытаться присобачить искру при "переполнении"..... А не наоборот. :))

Re: ФУОЗ на базе AC-CDI

Вт июн 27, 2017 18:47:44

asel уже писал, решение проблемы в "процессе". Нет смысла делать 10 разных программ, под конкретные случаи, проще найти проблему и устранить ее. Либо ввести блок отвечающий за это, но версия проги будет одна, а не 9000.
Откуда у вас уверенность в написанном? Протеус не зря не видит этот "баг", он не в коде, а в чем-то другом, ошибка в коде нашлась бы достаточно быстро.
РОН20_6 никак не связан с холостыми, это статус повтора счета, МК считает кругами, и достаточно быстро, для него импульс датчика и оборот вала очень медленные процессы. Все это нужно чтобы не произошел повторный замер счетчика, до нового оборота-импульса датчика.
Вместо "наводки" лучше определить время, по истечению которого "баг" не проявляется, после подачи питания.

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

Re: ФУОЗ на базе AC-CDI

Вт июн 27, 2017 20:35:31

Flash.#13
протеус видит. просто вы этого не видите. :))
не надо 9000 программ. просто нельзя все объять сразу, и получается что потом в куче не разберешься.
выше постом я писал.
1!!! есть прога "без первого импульса"!! чистая. в ней сделать по первому вх импульсу датчика искру с задержкой по 500об. Все!!! Пока больше ничего не надо. неужели не понятно?
у вас же в программе есть - на ножке мк "0", вызов подпрограммы "impuls", ну.... и давайте искру по этому импульсу по 500об. в чем проблема? а потом запускайте счет и т.п. , и если "переполнение" то опять искру по 500об.

Re: ФУОЗ на базе AC-CDI

Вт июн 27, 2017 20:59:03

asel проблема в том что оно так не работает. А как сделать чтобы протеус видел? У меня не получилось.
Очередная тестовая программа, с попыткой побороть этот баг, просьба протестить и отписаться. Решил переделать блок холостых...
Вложения
тест холостых.rar
(5.1 KiB) Скачиваний: 163
Ответить