Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Модератор форума: demanik, ivan_fd  
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Тахометр на PIC16F84A
Тахометр на PIC16F84A
IREK-1984 Дата: Пт, 17.02.2012, 17:54  |                                                                                                                Сообщение # 16
Группа: Пользователи
Ранг:  Начал соображать
Сообщений: 24
Репутация: 0   ±
Замечания:   ±
На сайте с 05.02.2012

Статус: Offline

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

Радиоэлектроника
Klim Дата: Пт, 17.02.2012, 21:41  |                                                                                                                Сообщение # 17
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 79
Репутация: 0   ±
Замечания:   ±
На сайте с 21.12.2009

Статус: Offline

Не надо код запускать, я его просто отредактировал для наглядности. Правильно работать он не будет.
IREK-1984 Дата: Вс, 19.02.2012, 18:19  |                                                                                                                Сообщение # 18
Группа: Пользователи
Ранг:  Начал соображать
Сообщений: 24
Репутация: 0   ±
Замечания:   ±
На сайте с 05.02.2012

Статус: Offline

как написать код чтобы работал правильно?

Радиоэлектроника
Klim Дата: Вс, 19.02.2012, 22:34  |                                                                                                                Сообщение # 19
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 79
Репутация: 0   ±
Замечания:   ±
На сайте с 21.12.2009

Статус: Offline

Извини, на выходные была глобальная пьянка. Очухаюсь, завтра напишу тебе софтинку. Но на всякий случай посоветую перейти на 628-й пик.
IREK-1984 Дата: Ср, 22.02.2012, 11:35  |                                                                                                                Сообщение # 20
Группа: Пользователи
Ранг:  Начал соображать
Сообщений: 24
Репутация: 0   ±
Замечания:   ±
На сайте с 05.02.2012

Статус: Offline

буду в городе, куплю.

Добавлено (22.02.2012, 11:35)
---------------------------------------------
вчера почитал самоучитель по асме, оказывается это очень полезно, появился даже небольшой интерес к асме. эту книжку я скачал 2 месяца назад, когда начал заниматься МК, пробовал читать и почти ничего не понимал, теперь после занятий на PBPro и Proton уже другое дело.
сегодня на протоне написал код для подсчета импульсов, где используется TMR0 по своему основному назначению, т.е. считать импульсы от порта RA4/T0CKI.


Радиоэлектроника
DAlexV Дата: Ср, 22.02.2012, 20:42  |                                                                                                                Сообщение # 21
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 657
Репутация: 27   ±
Замечания:   ±
На сайте с 13.05.2008

Статус: Offline

Quote (IREK-1984)
как написать код чтобы работал правильно?
Идея с прерываниями правильная, но есть одно но(на которое я то же наступал) При подсчете импульсов на единицу времени возникают ошибки округления, которые начинают влиять на конечный результат. Вот ссылка которая мне помогла http://atlab.narod.ru/articles/particle7.htm . Здесь все ответы. Удачи !!!!


Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
ЯНДЕКС Дата: 22.02.2012
IREK-1984 Дата: Ср, 22.02.2012, 21:11  |                                                                                                                Сообщение # 22
Группа: Пользователи
Ранг:  Начал соображать
Сообщений: 24
Репутация: 0   ±
Замечания:   ±
На сайте с 05.02.2012

Статус: Offline

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


Радиоэлектроника
mikhail09p Дата: Чт, 23.02.2012, 12:46  |                                                                                                                Сообщение # 23
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 481
Репутация: 14   ±
Замечания:   ±
На сайте с 04.05.2010

Статус: Offline

DAlex, тоже писал прогу для тахометра по этому принципу. В теории и в Протеусе всё очень красиво! Но жизнь делает коррективы.
А если серьёзно, то в авто куча помех от зажигания и девайс писАл: 1000-500-1500 и т. д. При 1000 оборотов. Это грубо. angry
Мучался я долго - и кольца применял ферритовые и делал 100 выборок и брал среднее... А потом махнул рукой и сделал на операторе Var = Counter Pin , Period. Да, точность получается 30 об\мин ну и чёрт с ней, с этой точностью! Работает намного устойчивее!
Я тут вроде спрашивал про входной каскад для тахомера, вроде, но никто не помог... Просто, думаю, процентов 50 - причина в этом.
DAlexV Дата: Чт, 23.02.2012, 14:57  |                                                                                                                Сообщение # 24
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 657
Репутация: 27   ±
Замечания:   ±
На сайте с 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
Репутация: 14   ±
Замечания:   ±
На сайте с 04.05.2010

Статус: Offline

Эту схемку (входную цепь) я делал - не победил. Почему-то лезло много импульсов вместо одного... А про оптрон хорошая идея! Придётся возвращатся к тахометру.
Ещё бы питание развязать - но не реально простыми средствами в авто.
Вообще общий провод это отличная антенна для всего мусора на свете. А микроконтроллер только этому мусору и рад! Очень уж они чувствительные к помехам...
Вот КАК, например, отсеять помехи с проводов длиной 10м с датчиком DS18B20 ??? Это очень актуальная проблема в данный момент для меня.

Сообщение отредактировал mikhail09p - Чт, 23.02.2012, 15:20
DAlexV Дата: Пт, 24.02.2012, 09:36  |                                                                                                                Сообщение # 26
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 657
Репутация: 27   ±
Замечания:   ±
На сайте с 13.05.2008

Статус: Offline

Quote (mikhail09p)
Почему-то лезло много импульсов вместо одного...
Если авто карбюраторный, то проблема может быть в искрогасящем конденсаторе который стоит на катушке. Или контактах трамблера. Для заводки не криминально, а электроника это чувствует.
Quote (mikhail09p)
Вот КАК, например, отсеять помехи с проводов длиной 10м с датчиком DS18B20 ??? Это очень актуальная проблема в данный момент для меня.

Здесь я посоветую обратиться к demanik. Он с ними много работал (промышленных масштабах).

Удачи wink


Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
IREK-1984 Дата: Пт, 24.02.2012, 16:33  |                                                                                                                Сообщение # 27
Группа: Пользователи
Ранг:  Начал соображать
Сообщений: 24
Репутация: 0   ±
Замечания:   ±
На сайте с 05.02.2012

Статус: Offline

в качестве развязки я тоже применял оптрон, но вход конструкции(код из первого поста) я цеплял не на датчик оборотов ДВС, а на разьем для подключения БК, к контакту "минус форсунка", осцилом я не смотрел (теперь тепло можно и посмотреть), там по ходу 1 импульс относительно плюса на 2 оборота, без перевода результата в "об/мин" девайс показывал нормально.
интересно сколько импульсов на выходе датчика оборотов Лада2114?


Радиоэлектроника
mikhail09p Дата: Пт, 24.02.2012, 17:12  |                                                                                                                Сообщение # 28
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 481
Репутация: 14   ±
Замечания:   ±
На сайте с 04.05.2010

Статус: Offline

Ребята, мне нужно снимать импульсы с карбюраторных "копеек", "пятёрок", "москвичей" и т. д. различных марок и мастей!
И снимать приходится ёмкостным способом с высоковольтного провода, потому, как зажигание бывает не только контактное, но даже электронное! smile
Вот где проблемы.
DAlexV Дата: Пт, 24.02.2012, 22:51  |                                                                                                                Сообщение # 29
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 657
Репутация: 27   ±
Замечания:   ±
На сайте с 13.05.2008

Статус: Offline

Quote (IREK-1984)
интересно сколько импульсов на выходе датчика оборотов Лада2114?
Если Lada не карбюр, а инжектор, то сигнал идет с мозгов. 1 имп/об. Если карбюр то 4 имп/об. Сигнал лучше всего снять с датчика Холла(зеленый провод).
Quote (mikhail09p)
И снимать приходится ёмкостным способом с высоковольтного провода, потому, как зажигание бывает не только контактное, но даже электронное!
Использовать датчик от автомобильного стробоскопа (с помощью которого устанавливают УОЗ) или сваять свой. Например вот: http://www.drive2.ru/cars....9768766 Заодно и сторобоскоп под рукой будет good


Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
IREK-1984 Дата: Сб, 25.02.2012, 08:55  |                                                                                                                Сообщение # 30
Группа: Пользователи
Ранг:  Начал соображать
Сообщений: 24
Репутация: 0   ±
Замечания:   ±
На сайте с 05.02.2012

Статус: Offline

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

Радиоэлектроника
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Тахометр на PIC16F84A
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск: