роботы робототехника микроконтроллеры


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

> Описание: помогите, т.к. еще не совсем разобрался с таймерами, прерываниями
Alex_och Post Id


Рядовой


Сообщений всего: 19
Дата рег-ции: Нояб. 2013  



Здравствуйте. Я новичок. С управлениями портов и работой кнопок разобрался. Пару программок написал для себя.
Вот хочу сделать что-то типа тахометра или частотомера, который сигнализировал бы одним светодиодом о завышенных оборотах, вторым о заниженных оборотах.
Кто чем может подскажите, какой-нибудь набросочек подкиньте
 
 Top
Группа Инженеров Супермодератор Post Id



Супермодератор


Сообщений всего: 497
Дата рег-ции: Авг. 2008  



Криссталл?
 
 Top
Alex_och Post Id


Рядовой


Сообщений всего: 19
Дата рег-ции: Нояб. 2013  



Группа Инженеров пишет:
Криссталл?

Что значит "Криссталл?"
 
 Top
nestandart Супермодератор Post Id



Супер-модератор


Сообщений всего: 1490
Дата рег-ции: Сент. 2010  



Цитата:
Криссталл?

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


Рядовой


Сообщений всего: 19
Дата рег-ции: Нояб. 2013  



nestandart пишет:
Цитата:
Криссталл?

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

Atmega8
 
 Top
nestandart Супермодератор Post Id



Супер-модератор


Сообщений всего: 1490
Дата рег-ции: Сент. 2010  



Чем собираетесь считывать обороты ?

Энкодер ?
Холл ?
Или еще что то ?
 
 Top
Alex_och Post Id


Рядовой


Сообщений всего: 19
Дата рег-ции: Нояб. 2013  



nestandart пишет:
Чем собираетесь считывать обороты ?

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

Об этом я еще конкретно не думал. Была мысль через оптопару на МК, а на оптопару сигнал приходит в прерывистом напряжении.
Но если ближе к делу (девайс для машины) - я написал программку, показывающую на семисигментном индикаторе номер включенной передачи, (задняя бегущие горизонтальные сигменты), оповещение о поднятом ручнике (пока точку задействовал).
Вот хотел добавить два индикатора (светодиодика), которые бы показывали что обороты занижены и нужно понизить передачу, второй показывает, что пора бы уже переключиться на повешенную.
 
 Top
nestandart Супермодератор Post Id



Супер-модератор


Сообщений всего: 1490
Дата рег-ции: Сент. 2010  



Это вам только холл и магнит на один из валов коробки ставить.
Извиняюсь но в этом помочь не смогу. Не работал с холлом.
 
 Top
Alex_och Post Id


Рядовой


Сообщений всего: 19
Дата рег-ции: Нояб. 2013  



nestandart пишет:
Это вам только холл и магнит на один из валов коробки ставить.
Извиняюсь но в этом помочь не смогу. Не работал с холлом.

Сигнал берется с катушки зажигания. У меня туда подключен электронный тахометр, в некоторых девайсах обороты считываются с форсунки. Но меня сейчас интересует больше програмная часть, чем железная.
Мозгами алгоритм понимаю, а как написать его программно не знаю.
Какая-то функция должна считывать импульсы и с чем-то сравнивать. Допустим если приходит меньше 5ти импульсов в секунду - загорается светодиод №1, если приходит больше 20ти импульсов в секунду - горит светодиод №2. От 5 до 20 импульсов не горят.
 
 Top
nestandart Супермодератор Post Id



Супер-модератор


Сообщений всего: 1490
Дата рег-ции: Сент. 2010  



А вы уверены что там идут именно прямоугольные импульсы ?
 
 Top
Alex_och Post Id


Рядовой


Сообщений всего: 19
Дата рег-ции: Нояб. 2013  



nestandart пишет:
А вы уверены что там идут именно прямоугольные импульсы ?

Не уверен, не проверял. Можно будет осцилографом посмотреть. Но тахометр ведь работает и он тоже на МК. Бортовой комп работает беря данные с форсунки (расход топлива и тахометр) и датчик скорости (у меня он герконовый с магнитиком и пришлось ставить последовательно кандер, чтоб импульсы подкорректировать - на форуме прочитал).
Мне кажется какой формы импульсы идущие с катушки это второй вопрос, их можно взять с форсунки например или схемку спаять, чтоб в нужную форму их делать
 
 Top
nestandart Супермодератор Post Id



Супер-модератор


Сообщений всего: 1490
Дата рег-ции: Сент. 2010  



На каком языке работаете ?

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


Рядовой


Сообщений всего: 19
Дата рег-ции: Нояб. 2013  



nestandart пишет:
На каком языке работаете ?

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

Ну как говорят в С (Си). Знаю что есть С++. А С# ?
Мне бы как заставить МК считать внешние импульсы, а там с переменными и if ками уже проще
 
 Top
nestandart Супермодератор Post Id



Супер-модератор


Сообщений всего: 1490
Дата рег-ции: Сент. 2010  



Цитата:
Знаю что есть С++. А С# ?

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

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

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


Рядовой


Сообщений всего: 19
Дата рег-ции: Нояб. 2013  



nestandart пишет:
Цитата:
Знаю что есть С++. А С# ?

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

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

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

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


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 





Powered by Exclusive Bulletin Board
ExBB FM 1.0 RC1 Smiles by Fool from Foolstown
  Яндекс.Метрика   Рейтинг@Mail.ru