Счётчик оборотов двигателя Atmega8

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Аватара пользователя
isx
Поставщик валерьянки для Кота
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

Счётчик оборотов двигателя Atmega8

Сообщение isx »

Добрый вечер) Возникла необходимость недавно сделать счётчик оборотов двигателя на станке. Сразу решено было использовать ацп и потенциометр через шестени. По теории всё было просто: 500оборотов двигателя дают смещение ось на 1000мм (это максимальное смещение для станка) итого на 1мм приходится пол оборота. Так как МК считывает с потенциометра градацию в 1024 положения (я взял всего 1000, а 24 оставил на непредвиденные разбросы) то точность получается в 1мм (то что мне и надо).
Потенциометр выбран был не случайно: во-первых, МК всегда будет знать в каком положении нажодится ось (даже если после выключения кто то её подвинет вручную), во-вторых,устойчивость к загрязнениям и пыли в том числе, в-третьих, устойчивость к помехам, и ещё он у меня обеспечивает защиту от самопроизвольны срабатываний (следит всегда за положением оси)...
Но проблемма как всегда ждала там где я её не ждал :) .
Как потом выяснилось, переменный резистор способен вращаться на 300 градусов по оси (это 5/6 оборота). Исходя из этого никакое соотношение шестерней не смогло превратить 500 оборотов в 5/6 оборота, которые требуются для этой цели.
Кто нибудь знает как можно еще попробывать реализовать мой замысел? А если невозможно, то подскажите что лучше использовать в моём случае. Были мысли по поводу светового датчика, но в помещении сильная запылённость, и от этого, со временем, могут возникнуть проблемы. Датчик холла тоже как вариант рассматривал, но не знаю как он отнесётся к близко разположенным двигателям на 380 (да и ранее с ним я никогда не работал).
Последний раз редактировалось isx Вс май 06, 2012 20:10:58, всего редактировалось 1 раз.
Реклама
Аватара пользователя
Maklesha
Мучитель микросхем
Сообщения: 412
Зарегистрирован: Пт янв 14, 2011 15:30:21

Re: Счётчик оборотов двигатемя

Сообщение Maklesha »

Тебе не к котам, а к конструкторам надо, шестерни выщитывать.
А в моей голове представилась червячная передача на шестерню с потенциометром. :tea:
Реклама
Аватара пользователя
isx
Поставщик валерьянки для Кота
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

Re: Счётчик оборотов двигателя Atmega8

Сообщение isx »

Ну по сути вы правы :)
Просто я уже смирился с провалом потенциометра и надеюсь найдётся другое подходящее решение (типо другого способа считать обороты).
Аватара пользователя
isx
Поставщик валерьянки для Кота
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

Re: Счётчик оборотов двигателя Atmega8

Сообщение isx »

А как насчёт Холла? Будет ли он помехи ловить или что то в этом роде?
Реклама
Эиком - электронные компоненты и радиодетали
s64
Потрогал лапой паяльник
Сообщения: 321
Зарегистрирован: Пн окт 18, 2010 21:18:21

Re: Счётчик оборотов двигателя Atmega8

Сообщение s64 »

Нужно взять многооборотный резистор.
Реклама
Аватара пользователя
isx
Поставщик валерьянки для Кота
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

Re: Счётчик оборотов двигателя Atmega8

Сообщение isx »

таковых в городе нет... как то раз уже пытался найти...
И кстати, совсем забыл указать одну весчь: Двигатель делает максимум 500 оборотов (т.е. есть так сказать нулевая и конечная точки оси.)
Реклама
s64
Потрогал лапой паяльник
Сообщения: 321
Зарегистрирован: Пн окт 18, 2010 21:18:21

Re: Счётчик оборотов двигателя Atmega8

Сообщение s64 »

тогда остается датчик холла и звездочка на вал. Минус - после выключения питания нужно гнать в исходное положение ( что по моему правильно)
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6312
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Счётчик оборотов двигателя Atmega8

Сообщение Jack_A »

Вариант - валкодер на светодиодах в коде Грея. Чтоб не загрязнялся - загерметизировать. Но тоже безлюфтовое шестеренчатое зацепление не обойти. Хорошее передаточное число обеспечивает планетарный редуктор. Или червячный.
А еще у нас когда-то на дозиметрических линейках для позиционирования применяли навитый на стержень плотно, виток к витку, проводом ПЭВ самодельный линейный потенциометр. Снятие контактное.
Но аналоговый датчик -- не очень кузяво, я думаю.
Аватара пользователя
ILYAUL
Держит паяльник хвостом
Сообщения: 906
Зарегистрирован: Ср мар 28, 2012 21:45:24
Откуда: ВО

Re: Счётчик оборотов двигателя Atmega8

Сообщение ILYAUL »

Датчик угла поворота, также называемый энкодер — устройство, предназначенное для преобразования угла поворота вращающегося объекта (вала) в электрические сигналы, позволяющие определить угол его поворота.[1]

Датчики угла поворота широко применяются в промышленности, в частности в сервоприводах.

Энкодеры подразделяются на инкрементальные и абсолютные, которые могут достигать очень высокого разрешения. Энкодеры могут быть оптические, резисторные и магнитные и могут работать через шинные интерфейсы или промышленную сеть.
Преобразователи угол-код практически полностью вытеснили широко применявшиеся ранее сельсины и дифференциальные трансформаторы угла поворота.
и тд.
http://ru.wikipedia.org/wiki/
Аватара пользователя
s_black
Мучитель микросхем
Сообщения: 411
Зарегистрирован: Вс авг 10, 2008 19:35:49
Откуда: Евпатория
Контактная информация:

Re: Счётчик оборотов двигателя Atmega8

Сообщение s_black »

Сделайте бесконтактный счётчик, используя светодиод+фотодиод. Сигнал с фотодиода усилить операционником и подать на счётный вход таймера контроллера. На крутящийся вал наклейте белую липкую ленту с чёрной полоской или, если торец вала - белый кружок с чёрным сектором.
Аватара пользователя
isx
Поставщик валерьянки для Кота
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

Re: Счётчик оборотов двигателя Atmega8

Сообщение isx »

У нас только механические энкодеры И там 700 об/мин , энкодер не осилит...
Врядли получится загерметизировать нормально. Аппарат такой, что ошибок не простит, ось сразу загнёт.
А вот такой ещё вопрос: сколько раз в секунду производится опрос АЦП (каждой ноги)? Думаю может холл к нему подсоединить. Там скорость вращение нужно считать не на единицу времени (как в тахометре), а просто по количеству оборотов... Получается если скорость вращения не более 700 об/мин, то в секунду 11.6 оборотов. Если магнит захватит 30 градусов, то необходимо производить (700/60) * (360/30)= 140 опросов в секунду. Пока мыслю в таком направлении
Аватара пользователя
ILYAUL
Держит паяльник хвостом
Сообщения: 906
Зарегистрирован: Ср мар 28, 2012 21:45:24
Откуда: ВО

Re: Счётчик оборотов двигателя Atmega8

Сообщение ILYAUL »

isx писал(а):У нас только механические энкодеры И там 700 об/мин , энкодер не осилит...
Странно , как энкодер расчитанный осилить 2000 ,3000 , 4000 оборотов в минуту не ослит вшивые 700. Вы хоть бы в гугле поискали сколько осиливают энкодеры , перед ответом
Аватара пользователя
Nickolai
Открыл глаза
Сообщения: 68
Зарегистрирован: Сб мар 10, 2012 12:25:42
Откуда: UA SUMY

Re: Счётчик оборотов двигателя Atmega8

Сообщение Nickolai »

isx писал(а): Думаю может холл к нему подсоединить.
Верно. Магнит можно поставить не один, а несколько.

Энкодер, хорошая штучка но не в этом случае, контактов на долго не хватит, сотрутся быстро. :))
Nik
Аватара пользователя
ILYAUL
Держит паяльник хвостом
Сообщения: 906
Зарегистрирован: Ср мар 28, 2012 21:45:24
Откуда: ВО

Re: Счётчик оборотов двигателя Atmega8

Сообщение ILYAUL »

Nickolai писал(а):
isx писал(а): Думаю может холл к нему подсоединить.
Энкодер, хорошая штучка но не в этом случае, контактов на долго не хватит, сотрутся быстро. :))
Хватит - вон Кристал водку годами выпускает , ещё не разу не менял
Аватара пользователя
isx
Поставщик валерьянки для Кота
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

Re: Счётчик оборотов двигателя Atmega8

Сообщение isx »

Просто доводилось ранее работать с механическими энкодерами. В итоге результат был таков:если крутить медленно, то всё путём, но если (даже рукой) крутануть сильно, то он не успевает и в итоге теряет данные о перемещении. (проект тоже был на атмеге8)
ILYAUL я тож насчёт этого подумал. Там второй шкив (который на черевичный вал идёт) за 2мм перемещения делает ровно 1 оборот. Так что если поставить два магнита, то как раз точность в 1 мм будет, как и нужно :) . К нам как раз на прошлой неделе впервые завезли в город неодимовые магниты, а вот холлов нет вообще, придётся ставить от ВАЗа.
Аватара пользователя
isx
Поставщик валерьянки для Кота
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

Re: Счётчик оборотов двигателя Atmega8

Сообщение isx »

Наш отечественный автопром не так плох как я думал. Оказалось что датчик (Астро 16.3855 с микросхемой Siemens) имеет всё таки цифровой выход..
Аватара пользователя
siamds
Встал на лапы
Сообщения: 99
Зарегистрирован: Вт мар 20, 2012 20:50:22
Откуда: Краснодар

Re: Счётчик оборотов двигателя Atmega8

Сообщение siamds »

В промышленных станках с ЧПУ контроль оборотов шпинделя осуществляется: либо фотоимпульсным датчиком типа BE178, либо ВТ (вращающий трансформатор), либо от тахогенератора. Копаясь в старых программах, нашел подходящую Вам программу, вариант измерения оборотов от тахогенератора, которую я Вам и предлагаю. В качестве тахогенератора можно использовать любой микродвигатель постоянного тока. Если Вас это устроит, доведем все до логического завершения. На всякий случай высылаю Вам программу Electric drive для управления электроприводом от компьютера.
Вложения
Reg_Simistor.rar
Измерение оборотов
(35.44 КБ) 346 скачиваний
На каждого Моцарта есть свой Сальери.
Alkul
Держит паяльник хвостом
Сообщения: 933
Зарегистрирован: Ср апр 13, 2011 11:09:20
Откуда: Екатеринбург

Re: Счётчик оборотов двигателя Atmega8

Сообщение Alkul »

Есть еще решение без всяких шестерней.
А именно - щелевой оптрон, например такой
Вам потребуется надеть на вал двигателя диск с прорезью, который и будет вращаться в щели оптрона, периодически перекрывая световой поток. Красивое решение в плане простоты. На светодиод через токоограничивающий резистор подать постоянное напряжение, выходной фототранзистор - "открытый коллектор", достаточно подтянуть его резистором к питанию и можно снимать импульсы. Оптрон (в Екатеринбурге) стоит 20 рублей, к нему потребуется еще 2 резистора. Токоограничивающий резистор светодиода и резистор-подтяжку коллектора подключить к +5В и выход (коллектор, подтянутый к питанию) можно напрямую к пину микроконтроллера подключать.
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6312
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Счётчик оборотов двигателя Atmega8

Сообщение Jack_A »

siamds писал(а):контроль оборотов шпинделя осуществляется: либо фотоимпульсным датчиком типа BE178, либо ВТ (вращающий трансформатор), либо от тахогенератора.
Ну ооочень хотелось бы посмотреть на схему подсчета количества оборотов, основанную на тахогенераторе. Не стабилизацию частоты вращения, а именно подсчет количества оборотов, чего упорно добивается ТС.
Аватара пользователя
siamds
Встал на лапы
Сообщения: 99
Зарегистрирован: Вт мар 20, 2012 20:50:22
Откуда: Краснодар

Re: Счётчик оборотов двигателя Atmega8

Сообщение siamds »

Извиняйте коллеги, просто я неверно трактовал вопрос. Jack_A абсолютно прав. А тема действительно интересная и есть над чем поломать голову.
На каждого Моцарта есть свой Сальери.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»