Форум myROBOT.ru » Лаборатория » Алгоритмы » Индикатор на двух светодиодах о повышенных/заниженных оборотах

Страниц (3): [1] 2 3 »
 

1. Alex_och - 14 Ноября, 2013 - 20:30:00 - перейти к сообщению
Здравствуйте. Я новичок. С управлениями портов и работой кнопок разобрался. Пару программок написал для себя.
Вот хочу сделать что-то типа тахометра или частотомера, который сигнализировал бы одним светодиодом о завышенных оборотах, вторым о заниженных оборотах.
Кто чем может подскажите, какой-нибудь набросочек подкиньте
2. Группа Инженеров - 14 Ноября, 2013 - 20:34:17 - перейти к сообщению
Криссталл?
3. Alex_och - 14 Ноября, 2013 - 20:38:23 - перейти к сообщению
Группа Инженеров пишет:
Криссталл?

Что значит "Криссталл?"
4. nestandart - 14 Ноября, 2013 - 20:44:23 - перейти к сообщению
Цитата:
Криссталл?

Какой микроконтроллер используте ? (перевод)
5. Alex_och - 14 Ноября, 2013 - 20:48:05 - перейти к сообщению
nestandart пишет:
Цитата:
Криссталл?

Какой микроконтроллер используте ? (перевод)

Atmega8
6. nestandart - 14 Ноября, 2013 - 21:03:05 - перейти к сообщению
Чем собираетесь считывать обороты ?

Энкодер ?
Холл ?
Или еще что то ?
7. Alex_och - 14 Ноября, 2013 - 21:19:20 - перейти к сообщению
nestandart пишет:
Чем собираетесь считывать обороты ?

Энкодер ?
Холл ?
Или еще что то ?

Об этом я еще конкретно не думал. Была мысль через оптопару на МК, а на оптопару сигнал приходит в прерывистом напряжении.
Но если ближе к делу (девайс для машины) - я написал программку, показывающую на семисигментном индикаторе номер включенной передачи, (задняя бегущие горизонтальные сигменты), оповещение о поднятом ручнике (пока точку задействовал).
Вот хотел добавить два индикатора (светодиодика), которые бы показывали что обороты занижены и нужно понизить передачу, второй показывает, что пора бы уже переключиться на повешенную.
8. nestandart - 14 Ноября, 2013 - 21:40:54 - перейти к сообщению
Это вам только холл и магнит на один из валов коробки ставить.
Извиняюсь но в этом помочь не смогу. Не работал с холлом.
9. Alex_och - 14 Ноября, 2013 - 21:57:49 - перейти к сообщению
nestandart пишет:
Это вам только холл и магнит на один из валов коробки ставить.
Извиняюсь но в этом помочь не смогу. Не работал с холлом.

Сигнал берется с катушки зажигания. У меня туда подключен электронный тахометр, в некоторых девайсах обороты считываются с форсунки. Но меня сейчас интересует больше програмная часть, чем железная.
Мозгами алгоритм понимаю, а как написать его программно не знаю.
Какая-то функция должна считывать импульсы и с чем-то сравнивать. Допустим если приходит меньше 5ти импульсов в секунду - загорается светодиод №1, если приходит больше 20ти импульсов в секунду - горит светодиод №2. От 5 до 20 импульсов не горят.
10. nestandart - 14 Ноября, 2013 - 22:10:33 - перейти к сообщению
А вы уверены что там идут именно прямоугольные импульсы ?
11. Alex_och - 14 Ноября, 2013 - 22:24:04 - перейти к сообщению
nestandart пишет:
А вы уверены что там идут именно прямоугольные импульсы ?

Не уверен, не проверял. Можно будет осцилографом посмотреть. Но тахометр ведь работает и он тоже на МК. Бортовой комп работает беря данные с форсунки (расход топлива и тахометр) и датчик скорости (у меня он герконовый с магнитиком и пришлось ставить последовательно кандер, чтоб импульсы подкорректировать - на форуме прочитал).
Мне кажется какой формы импульсы идущие с катушки это второй вопрос, их можно взять с форсунки например или схемку спаять, чтоб в нужную форму их делать
12. nestandart - 14 Ноября, 2013 - 22:37:35 - перейти к сообщению
На каком языке работаете ?

Я могу помочь только с ардуиновским С#.
13. Alex_och - 14 Ноября, 2013 - 22:53:03 - перейти к сообщению
nestandart пишет:
На каком языке работаете ?

Я могу помочь только с ардуиновским С#.

Ну как говорят в С (Си). Знаю что есть С++. А С# ?
Мне бы как заставить МК считать внешние импульсы, а там с переменными и if ками уже проще
14. nestandart - 14 Ноября, 2013 - 22:58:54 - перейти к сообщению
Цитата:
Знаю что есть С++. А С# ?

С# обозначаются все СИ подобные языки и диалекты.

Считатать импульсы можно внешним прерыванием (но при больших частотах результат может быть нестабильным), обычным опросом пинов.

В вашем случае лучше внешнее прерывание т.к. при опросе пинов импульсы могут теряться.
15. Alex_och - 14 Ноября, 2013 - 23:14:45 - перейти к сообщению
nestandart пишет:
Цитата:
Знаю что есть С++. А С# ?

С# обозначаются все СИ подобные языки и диалекты.

Считатать импульсы можно внешним прерыванием (но при больших частотах результат может быть нестабильным), обычным опросом пинов.

В вашем случае лучше внешнее прерывание т.к. при опросе пинов импульсы могут теряться.

Прочитал вот эту статейку про внешние прерывания http://myrobot.ru/wiki/index.php...xternalInterrupt
это по сути похоже на опрос кнопок как в первых уроках мигание светодиодом с помощью кнопки.
А как сказать МК, что если кнопка была нажата 5 раз в секунду и только тогда выполнить действие (так называемое прерывание)