-
Постов
156 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Блоги
Весь контент hc13nx2
-
Поздравляю с первым запуском )))
-
Напряжение какое на выводах кварца? Осциллографа нет посмотреть сигнал? Может для начала попробовать запустить на внутреннем генераторе?
-
Значит не правильно настроен генератор, линия сброса не подтянута. Калибровку можно не трогать, она влияет только на точность хода внутреннего генератора. У вас кварц? зачем тогда калибровка, она только для внутреннего генератора, покажите фьюзы процессора. На кварце конденсаторы стоят?
-
Оказался ещё модуль записи в I2C не подходящий к этому контроллеру, полностью не разобрался, но вот начал работать. signed char WriteI2C(unsigned char dat) { SSP1BUF = dat; /* Move data to SSPBUF */ if ( SSP1CON1bits.WCOL ) // test if write collision occurred return ( -1 ); // if WCOL bit is set return negative # while(SSP1STATbits.BF); /* wait till complete data is sent from buffer */ I2CWait(); /* wait for any pending transfer */ // if ( SSP1CON2bits.ACKSTAT ) // test for ACK condition received // return ( -2 ); // return NACK // else // if ( !PIR1bits.SSP1IF ) // test for ACK condition received // return ( -2 ); // else return ( 0 ); //return ACK }
-
Мне вот потребовалось перенести вывод на OLED дисплей с PIC18 на PIC16, и оказалось у XC8 библиотек управления I2C для 16 микроконтроллеров нет, вот наткнулся на эту ветку и взял кусок отсюда, вроде работает, а вроде нет. В общем ошибка в расчёте задачи коэффициента деления. Проще взять из документации.
-
Машина ездит, исходники надо только выложить, сейчас делаю другой вариант на PIC18F46K22
-
@Sheleh Да. на Январе стоит расширенный 51 по периферии + вроде арифметика там добавлена. А по поводу расчёта времени впрыска, проще сделать либо линейную интерполяцию между двумя значениями (смесь на ХХ и на максимальном режиме) от ДАД, либо значение ДАД умножать на коэфф. топливной смеси, а дальше уже умножать на полученное значение из таблицы VE, так можно таблицу обновлять реже.
-
Плывёт УОЗ электрически, изменяется напряжение на катушке в зависимости от оборотов, напряжение срабатывания компаратора постоянное. По напряжению обычно применяют одномерную таблицу, напряжение-время. Когда считывать момент с ДАД анализ этого я не проводил,. повторил готовое решение из МПСЗ читая в одно и то же время. Кроме старый пиков, можно использовать для хранения таблиц и память программ и программно её модифицировать. Иначе в ОЗУ отредактировать получится, а потом как сохранить? Перепрошивкой?
-
По считыванию сигнала с форсунки, надо учитывать напряжения питания, т.к. от него идёт аддтивная константа времени срабатывания форсунки. У меня это время учитывается в самом модуле загрузки таймера, плюс у меня два канала, они на прямой ключ с форсированным током, второй ключ через шунт для удержания, для упрощения я сделал время срабатывания форсунки=времени форсирования тока. Таблица обороты-шим не проканает, обороты надо держать в достаточно узком диапазоне, а ход РХХ будет большой. Тут нужно интегральное управления, пропорциональная компонента никак не катит. По ДПКВ, ну можно и так, а если индуктивный трамблёр, то он хуже, у него в зависимости от оборотов есть некоторое изменение угла. По поводу как сделать в него датчик фаз не понятно, хотя бы покажите фотографию внутренностей его и сколько у него импульсов на 2 оборота коленвала. По ШИМу, интересное решение, но тогда надо очень сильно вычищать код в прерываниях. Что-то грузить и сохранять, тут же ставить флаги и выходить, обработку всех данных только DPC делать основного цикла. По снятию показания ДАД я сделал как в МПСЗ, снимаю показания в определённый момент, по приходу синхронизирующего импульса, т.е. если даже АЦП что-то считал, я его останавливаю и выбираю канал ДАД. Проблем каких-то не было обнаружено. Вот допустим напряжение питания почему-то у меня постоянно скачет, на делителе 2к-2к/1к +1мкф, в новой плате уже зарезервировал место под танталовый электролит 10мкф. Может таблицу править прямо в ЕЕПРОМ? только не целиком грузить, а по отдельным компонентам. У меня пока всё как константы и то одномерная обороты/коррекция.
-
@Sheleh Интересно, гляну на схему, я так тоже начинал, что у меня схемы не было нормальной, а плату в спринте разводил и кусок схемы отлаживал в шпроте. Но так тяжело развиваться, сейчас использую Proteus 8 там и схема и плата. ДАД я использовал MPX4100, я его ещё покупал для МПСЗ, на него есть спецификация и понятно как приводить напряжение к давлению, он до 105кПа, что покрывает все потребности атмосферных двигателей и можно использовать спокойно 8бит АЦП. По датчику фаз, предлагаю сделать как в Invent Jetronic, одна шторка подпиливается, хоть и на запуске и получаем на один цилиндр хромой угол, но это ничего страшного. http://invent-labs.com/wp-content/uploads/Montazh-komplekta-Invent-Jetronic-v1.pdf Регулятор ХХ у меня шаговый, вполне стандартный и присутствует во всех автомагазинах, главное что им управлять просто и понятно, в случае замены полная повторяемость. Но занимает лишние выходы на ЭБУ. ДПДЗ можно не менять, главное детектировать опускание педали для стабилизации ХХ, включение экономайзера я использую по ДАД, что даже позволяет добавить крутящего момента при трогании, когда педаль газа нажата не сильно, но нагрузка на двигатель уже большая и давление уже где-то 65-70кПа во впускном коллекторе. Интересно как у вас реализован ШИМ форсунки. Чисто программная модель?