Автор любезно выложил исходник, поэтому я лишь перекомпилировал его под 16F628A. Логику работы не менял и даже не вникал, описание в журнале.nvz писал(а):...Если можно, сооруди прошивку под сигнализатор превышения скорости на 16F628 (Радио №6 2011г.) ...
Сделал бы с журнала, но нет PIC12F629 и пока не предвидится, а 16F628 имеется.....
Микроконтроллер в автомобиле
Re: Микроконтроллер в автомобиле
- Вложения
-
- Speed_signal.zip
- (7.48 КБ) 200 скачиваний
- Реклама
- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Микроконтроллер в автомобиле
Мне лично лишняя, не зависимая от меня работа автоматики нафиг не нужна, когда отключить дворники после работы омывателя я лучше знаю, поэтому трёх взмахов в ТЗ не было. Так же нет и контроля "возврата с мотора щёток". Насчёт перехода через положения: я не смог доказать Мэтру о ненужности этого, но у меня и так всё работает отлично.
- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Микроконтроллер в автомобиле
to Soir: пока писал ответ предыдущему оратору - появился твой ответ. Буду проверить и отписать!
- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Микроконтроллер в автомобиле
OFF по прошивке МК: во время проверки выдаёт ошибку. При сравнении оригинала с прошитой МК сумма CRC одинаковая, но в Eeprom успевает что-то записаться: 0000:FF 00 FF FF......
Это смертельно или при записи данных в реалии она исчезнет?
Что интересно, после перезагрузки компа и прошивке МК сообщение "проверено успешно", но в eeprom та же ситуация: FF 00 FF FF FF FF FF FF я.яяяяяя
Это смертельно или при записи данных в реалии она исчезнет?
Что интересно, после перезагрузки компа и прошивке МК сообщение "проверено успешно", но в eeprom та же ситуация: FF 00 FF FF FF FF FF FF я.яяяяяя
Re: Микроконтроллер в автомобиле
Программатор JDM? Это происходит наверно потому, что после завершения прошивки МК, питание еще остается на какое-то время и МК начинает выполнять программу, в которой есть запись данных в EEPROM. Это случается когда МК работает от внутреннего тактового генератора.nvz писал(а):OFF по прошивке МК: во время проверки выдаёт ошибку. При сравнении оригинала с прошитой МК сумма CRC одинаковая, но в Eeprom успевает что-то записаться: 0000:FF 00 FF FF......
Это смертельно или при записи данных в реалии она исчезнет?
Что интересно, после перезагрузки компа и прошивке МК сообщение "проверено успешно", но в eeprom та же ситуация: FF 00 FF FF FF FF FF FF я.яяяяяя
Если сама программа записалась правильно, то, скорее всего, запись в EEPROM не смертельна. Конечно, если данные, записанные в EEPROM, при работе программы будут обновляться. При первом запуске возможны какие-то неправильные начальные значения параметров, даже выходящие за пределы, но это все решится настройкой этих параметров и записью их в память.
Если же при прошивке в EEPROM нужно занести какие-то константы, которые участвуют в работе программы, но ее меняться не могут, то будут проблемы.
- Реклама
Re: Микроконтроллер в автомобиле
Вот потому и работает, что "не смог доказать..."nvz писал(а):...Насчёт перехода через положения: я не смог доказать Мэтру о ненужности этого, но у меня и так всё работает отлично.
- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Микроконтроллер в автомобиле
Вполне может быть....
Провёл эксперимент: Нажимал кнопку KEY при разных частотах и считывал Eeprom МК.
при 80 Гц - 13 00 FF FF....
120 Гц - 1D 00 FF FF...
160 Гц - 26 00 FF FF...
200 Гц - 30 00 FF FF...
погрешность в железе плюс-минус 2 герца. Сигнал короткий писк раз в две сек. можно и не услышать, неплохо бы двойной писк, но не обязательно (доделаю сам).
Провёл эксперимент: Нажимал кнопку KEY при разных частотах и считывал Eeprom МК.
при 80 Гц - 13 00 FF FF....
120 Гц - 1D 00 FF FF...
160 Гц - 26 00 FF FF...
200 Гц - 30 00 FF FF...
погрешность в железе плюс-минус 2 герца. Сигнал короткий писк раз в две сек. можно и не услышать, неплохо бы двойной писк, но не обязательно (доделаю сам).
Re: Микроконтроллер в автомобиле
Если "не горит", то чуть позже сделаю точнее и писк добавлю. Это уже будет моя прошивка, может будут изменения в назначении выводов. Вход частоты будет на RB0, а DOOR куда-нибудь на свободный порт B, например RB7. Кстати, DOOR вобще-то нужен?nvz писал(а):...погрешность в железе плюс-минус 2 герца. Сигнал короткий писк раз в две сек. можно и не услышать, неплохо бы двойной писк, но не обязательно (доделаю сам).
- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Микроконтроллер в автомобиле
Не горит, подожду.
DOOR вааще не нужен.
DOOR вааще не нужен.
Re: Микроконтроллер в автомобиле
Ну вот и дождался.nvz писал(а):Не горит, подожду.
DOOR вааще не нужен.
Проект (это не схема!, только проект) и прошивка во вложении. Не уверен, что правильно расчитал частоту в рабочем диапазоне скоростей и не знаю реального количества импульсов с датчика скорости, мог и ошибиться. Проверь, что получилось. Программа гистерезиса не имеет. То есть, при движении со скоростью равной заданной возможно многократное определение сигнала превышения скорости. Это приведет к сбою в ритме звуковой сигнализации. Надо проверить в железе, может такая ситуация возникать и не будет.
Логика работы простая.
Если автомобиль находится в движении, то при превышении заданной скорости звучит двойной прерывистый сигнал. Для установки заданной скорости нужно на выбранной скорости нажать кнопку KEY.
Если автомобиль не движется (частота импульсов меньше 2 Гц), то ничего и не работает. При первом включении выставлена минимально возможная скорость. После записи в память нового значения, оно будет считываться из EEPROM при следующей подаче питания на устройство.
- Вложения
-
- Speed_signal__my.zip
- (7.1 КБ) 177 скачиваний
- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Микроконтроллер в автомобиле
Несколько вопросов: какое время фиксирования сигнала (время нажатия на кнопку), контроль окончания записи в eeprom?
Насчёт датчика скорости: внутри его датчик Холла и круговая шторка с шестью вырезами. Выход - меандр (открытый коллектор). Если принять что за метр передвижения авто на выходе датчика 6 импульсов, то при 10км/ч это получается 10000/3600*6=16,6 импульсов/сек(Гц). При 100км/ч - 166 имп/сек.(если я ничего не напутал).
Проверил в железе: ставлю 60Гц, нажимаю кнопку. Поднимаю частоту до 60 - появляются одиночные сигналы, от 62 до 70 - сигналы идут сплошняком, при 70 - двойные.
как-то так.
Насчёт датчика скорости: внутри его датчик Холла и круговая шторка с шестью вырезами. Выход - меандр (открытый коллектор). Если принять что за метр передвижения авто на выходе датчика 6 импульсов, то при 10км/ч это получается 10000/3600*6=16,6 импульсов/сек(Гц). При 100км/ч - 166 имп/сек.(если я ничего не напутал).
Проверил в железе: ставлю 60Гц, нажимаю кнопку. Поднимаю частоту до 60 - появляются одиночные сигналы, от 62 до 70 - сигналы идут сплошняком, при 70 - двойные.
как-то так.
Re: Микроконтроллер в автомобиле
При нажатии на кнопку работает защита от дребезга контактов примерно 45 мсек. Запись в EEPROM несколько десятков мксек. Когда определено нажатие на кнопку, текущая скорость записывается во временную переменную, а затем эта временная переменная заносится в EEPROM. Это на тот случай, если процесс записи совпал с процессом измерения. Процесс измерения скорости не прерывается на обработку состояния кнопки и запись в память.nvz писал(а):Несколько вопросов: какое время фиксирования сигнала (время нажатия на кнопку), контроль окончания записи в eeprom?
Писал программу для идеального генератора и, важный момент, частота измеряется по времени между фронтами импульсов. То есть, если частота постоянна, но нестабильна ширина импульса то отсюда и будет нестабильная работа. Или при изменении частоты меняется скважность импульсов, это тоже приведет к ошибке в определении скорости.nvz писал(а):Проверил в железе: ставлю 60Гц, нажимаю кнопку. Поднимаю частоту до 60 - появляются одиночные сигналы, от 62 до 70 - сигналы идут сплошняком, при 70 - двойные.
При симуляции в Proteus все работает четко, значит дело в железе. Проверял генератором? Может надо проверить сам генератор? По возможности проверь на реальном объекте, то бишь в машине, а я что-нибудь придумаю с усреднением замеров.
- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Микроконтроллер в автомобиле
Значит нажатие кратковременное, нелимитированное.
Генератор ГЗ-112/1, на схему - через транзистор с открытым коллектором.
Попробую в машине - отпишу.
Генератор ГЗ-112/1, на схему - через транзистор с открытым коллектором.
Попробую в машине - отпишу.
Re: Микроконтроллер в автомобиле
Держать нажатой кнопку можно сколько угодно. На одно нажатие одна запись, пока кнопка не будет отпущена следующей записи не будет.nvz писал(а):Значит нажатие кратковременное, нелимитированное.
Изменил прошивку, что-то усреднил, чуть загрубил. Попробуй на генераторе. Если лучше не стало - добавлю гистерезис.
- Вложения
-
- speed_628.zip
- (1.2 КБ) 165 скачиваний
- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Микроконтроллер в автомобиле
Попробовал, на самОй уставке тоже беспорядочное пиликанье. Ничего, попробую на машине (уже всё спаял) - там видно будет. Заодно проверю, будет ли слышно пятивольтовую пиликалку EFM-250A на ходу и с музыкой или придётся что-то другое городить. Кстати в протеусе при прогонке этой конструкции звук оригинальный.
Re: Микроконтроллер в автомобиле
Добавил гистерезис.nvz писал(а):Попробовал, на самОй уставке тоже беспорядочное пиликанье...
- Вложения
-
- speed_628.zip
- (1.36 КБ) 166 скачиваний
- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Микроконтроллер в автомобиле
Не, гистерезис похоже не нужен. Проверил на машине - работает чётко, двойной сигнал, пробовал на разных скоростях. Остаётся придумать оформление и установку.
Спасибо!
Спасибо!
- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Микроконтроллер в автомобиле
тут кроме меня ещё пятеро скачали прошивки - поделитесь впечатлениями, если, конечно, скачивали для повторения, а не для коллекции.
Лично я поставил уставку на 67км/ч., так жена уже напоминает - снизь скорость....
Лично я поставил уставку на 67км/ч., так жена уже напоминает - снизь скорость....
- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Микроконтроллер в автомобиле
to Soir! Проверил прошивку с гистерезисом: отличий незаметно, но Eerom не работает, то бишь не запоминается после отключения питания.
Да, кстати, при остановке и при начале движения - тоже двойной сигнал....
Да, кстати, при остановке и при начале движения - тоже двойной сигнал....
Re: Микроконтроллер в автомобиле
Запоминает, моя ошибка в том, что при подаче питания не пересчитывался гистерезис... Но я эту прошивку и не "доводил", раз в ней не было необходимости. Исправил, можешь проверить.nvz писал(а):to Soir! Проверил прошивку с гистерезисом: отличий незаметно, но Eerom не работает, то бишь не запоминается после отключения питания.
Это касается только прошивки с гистерезисом?nvz писал(а):Да, кстати, при остановке и при начале движения - тоже двойной сигнал....
- Вложения
-
- speed_628.zip
- (1.39 КБ) 155 скачиваний


