Тахометр на PIC16F84A
|
|
IREK-1984 |
Дата: Пт, 17.02.2012, 17:54 | Сообщение # 16 |
Группа:
Пользователи
Ранг:
Начал соображать
Сообщений:
24
Замечания:
±
На сайте с 05.02.2012
Статус:
Offline
|
если вам не трудно, напишите, пожалуйста, думаю этот пример мне понадобится и в дальнейшим. сейчас попробую на протеусе запустить редактированный код.
Радиоэлектроника
|
|
|
|
Klim |
Дата: Пт, 17.02.2012, 21:41 | Сообщение # 17 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
79
Замечания:
±
На сайте с 21.12.2009
Статус:
Offline
|
Не надо код запускать, я его просто отредактировал для наглядности. Правильно работать он не будет.
|
|
|
|
IREK-1984 |
Дата: Вс, 19.02.2012, 18:19 | Сообщение # 18 |
Группа:
Пользователи
Ранг:
Начал соображать
Сообщений:
24
Замечания:
±
На сайте с 05.02.2012
Статус:
Offline
|
как написать код чтобы работал правильно?
Радиоэлектроника
|
|
|
|
Klim |
Дата: Вс, 19.02.2012, 22:34 | Сообщение # 19 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
79
Замечания:
±
На сайте с 21.12.2009
Статус:
Offline
|
Извини, на выходные была глобальная пьянка. Очухаюсь, завтра напишу тебе софтинку. Но на всякий случай посоветую перейти на 628-й пик.
|
|
|
|
IREK-1984 |
Дата: Ср, 22.02.2012, 11:35 | Сообщение # 20 |
Группа:
Пользователи
Ранг:
Начал соображать
Сообщений:
24
Замечания:
±
На сайте с 05.02.2012
Статус:
Offline
|
буду в городе, куплю. Добавлено (22.02.2012, 11:35) --------------------------------------------- вчера почитал самоучитель по асме, оказывается это очень полезно, появился даже небольшой интерес к асме. эту книжку я скачал 2 месяца назад, когда начал заниматься МК, пробовал читать и почти ничего не понимал, теперь после занятий на PBPro и Proton уже другое дело. сегодня на протоне написал код для подсчета импульсов, где используется TMR0 по своему основному назначению, т.е. считать импульсы от порта RA4/T0CKI.
Радиоэлектроника
|
|
|
|
DAlexV |
Дата: Ср, 22.02.2012, 20:42 | Сообщение # 21 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
657
Замечания:
±
На сайте с 13.05.2008
Статус:
Offline
|
Quote (IREK-1984) как написать код чтобы работал правильно? Идея с прерываниями правильная, но есть одно но(на которое я то же наступал) При подсчете импульсов на единицу времени возникают ошибки округления, которые начинают влиять на конечный результат. Вот ссылка которая мне помогла http://atlab.narod.ru/articles/particle7.htm . Здесь все ответы. Удачи !!!!
Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
|
|
|
|
IREK-1984 |
Дата: Ср, 22.02.2012, 21:11 | Сообщение # 22 |
Группа:
Пользователи
Ранг:
Начал соображать
Сообщений:
24
Замечания:
±
На сайте с 05.02.2012
Статус:
Offline
|
последний код у меня без прерываний, таймер без переполнений считает импульсы. за ссылку спасибо большое!! там есть отличная идея, завтра займусь изучением.
Радиоэлектроника
|
|
|
|
mikhail09p |
Дата: Чт, 23.02.2012, 12:46 | Сообщение # 23 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
481
Замечания:
±
На сайте с 04.05.2010
Статус:
Offline
|
DAlex, тоже писал прогу для тахометра по этому принципу. В теории и в Протеусе всё очень красиво! Но жизнь делает коррективы. А если серьёзно, то в авто куча помех от зажигания и девайс писАл: 1000-500-1500 и т. д. При 1000 оборотов. Это грубо. Мучался я долго - и кольца применял ферритовые и делал 100 выборок и брал среднее... А потом махнул рукой и сделал на операторе Var = Counter Pin , Period. Да, точность получается 30 об\мин ну и чёрт с ней, с этой точностью! Работает намного устойчивее! Я тут вроде спрашивал про входной каскад для тахомера, вроде, но никто не помог... Просто, думаю, процентов 50 - причина в этом.
|
|
|
|
DAlexV |
Дата: Чт, 23.02.2012, 14:57 | Сообщение # 24 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
657
Замечания:
±
На сайте с 13.05.2008
Статус:
Offline
|
Quote (mikhail09p) В теории и в Протеусе всё очень красиво! Но жизнь делает коррективы. Здесь полностью согласен. Основная проблема после перехода с виртуальной модели, на живое устройство это борьба с помехами и глюками которые Протеусу не смоделировать. Что же касаемо моих глюков пойманных при измерении оборотов по вышестоящему алгоритму. Кол-во импульсов за 1 оборот двигателя 4 или 6(зависит от маховика на валу). В протеусе все четко. Длинна между импульсами одинаковая. В жизни иначе. Длительность 4 импульсов (на 1 оборот) оказалась разная. В итоге складывал 4 длительности вместе и после этого данный глюк был побежден. Второй глюк был с датчиком. Хотели прекрутить родной. В итоге появлялись паразитные одиночные импульсы которые проц ловил. Результат. Купили нормальный промышленный датчик и забыли как страшный сон.
Что же касаемо аппаратных помех, то советую хорошо стабилизировать питание и использовать оптроны для развязки цепей дабы не палить ноги проца. Горят они оказывается на ура. Знакомый, с которым занимаемся одним проектиком уде 4 камня умудрился спалить. Quote (mikhail09p) Я тут вроде спрашивал про входной каскад для тахомера, вроде, но никто не помог... http://dmitrstas.ucoz.ru/publ....1-0-128 А для пущей надежности можно еще оптрон на коллектор засунуть (подтянутый к 12 вольтам через резюк) Вот и развязка полная получается. Даже если катушка пробьет входной каскад, нога проца жива останется.
Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
|
|
|
|
mikhail09p |
Дата: Чт, 23.02.2012, 15:19 | Сообщение # 25 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
481
Замечания:
±
На сайте с 04.05.2010
Статус:
Offline
|
Эту схемку (входную цепь) я делал - не победил. Почему-то лезло много импульсов вместо одного... А про оптрон хорошая идея! Придётся возвращатся к тахометру. Ещё бы питание развязать - но не реально простыми средствами в авто. Вообще общий провод это отличная антенна для всего мусора на свете. А микроконтроллер только этому мусору и рад! Очень уж они чувствительные к помехам... Вот КАК, например, отсеять помехи с проводов длиной 10м с датчиком DS18B20 ??? Это очень актуальная проблема в данный момент для меня.
Сообщение отредактировал
mikhail09p - Чт, 23.02.2012, 15:20
|
|
|
|
DAlexV |
Дата: Пт, 24.02.2012, 09:36 | Сообщение # 26 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
657
Замечания:
±
На сайте с 13.05.2008
Статус:
Offline
|
Quote (mikhail09p) Почему-то лезло много импульсов вместо одного... Если авто карбюраторный, то проблема может быть в искрогасящем конденсаторе который стоит на катушке. Или контактах трамблера. Для заводки не криминально, а электроника это чувствует. Quote (mikhail09p) Вот КАК, например, отсеять помехи с проводов длиной 10м с датчиком DS18B20 ??? Это очень актуальная проблема в данный момент для меня. Здесь я посоветую обратиться к demanik. Он с ними много работал (промышленных масштабах).
Удачи
Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
|
|
|
|
IREK-1984 |
Дата: Пт, 24.02.2012, 16:33 | Сообщение # 27 |
Группа:
Пользователи
Ранг:
Начал соображать
Сообщений:
24
Замечания:
±
На сайте с 05.02.2012
Статус:
Offline
|
в качестве развязки я тоже применял оптрон, но вход конструкции(код из первого поста) я цеплял не на датчик оборотов ДВС, а на разьем для подключения БК, к контакту "минус форсунка", осцилом я не смотрел (теперь тепло можно и посмотреть), там по ходу 1 импульс относительно плюса на 2 оборота, без перевода результата в "об/мин" девайс показывал нормально. интересно сколько импульсов на выходе датчика оборотов Лада2114?
Радиоэлектроника
|
|
|
|
mikhail09p |
Дата: Пт, 24.02.2012, 17:12 | Сообщение # 28 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
481
Замечания:
±
На сайте с 04.05.2010
Статус:
Offline
|
Ребята, мне нужно снимать импульсы с карбюраторных "копеек", "пятёрок", "москвичей" и т. д. различных марок и мастей! И снимать приходится ёмкостным способом с высоковольтного провода, потому, как зажигание бывает не только контактное, но даже электронное! Вот где проблемы.
|
|
|
|
DAlexV |
Дата: Пт, 24.02.2012, 22:51 | Сообщение # 29 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
657
Замечания:
±
На сайте с 13.05.2008
Статус:
Offline
|
Quote (IREK-1984) интересно сколько импульсов на выходе датчика оборотов Лада2114? Если Lada не карбюр, а инжектор, то сигнал идет с мозгов. 1 имп/об. Если карбюр то 4 имп/об. Сигнал лучше всего снять с датчика Холла(зеленый провод). Quote (mikhail09p) И снимать приходится ёмкостным способом с высоковольтного провода, потому, как зажигание бывает не только контактное, но даже электронное! Использовать датчик от автомобильного стробоскопа (с помощью которого устанавливают УОЗ) или сваять свой. Например вот: http://www.drive2.ru/cars....9768766 Заодно и сторобоскоп под рукой будет
Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
|
|
|
|
IREK-1984 |
Дата: Сб, 25.02.2012, 08:55 | Сообщение # 30 |
Группа:
Пользователи
Ранг:
Начал соображать
Сообщений:
24
Замечания:
±
На сайте с 05.02.2012
Статус:
Offline
|
понятно, спасибо. лада инжектор, значит нужно подключится к зеленому проводу датчика оборотов.
Радиоэлектроника
|
|
|
|