экодер. макс число оборотов которые он сможет считать
- Войдите на сайт для отправки комментариев
Пнд, 07/12/2015 - 21:33
вот допустим энкодер . у него 20 меток на оборот. сможет ли он отработать все 20 меток если двигатель будет вращаться 70 оборотов в минуту. спасибо.
спецификации нет, поэтому прошу ответить примерно - на ваш взгляд
http://ru.aliexpress.com/item/Rotary-encoders-Module-for-Arduino-UNO/324...
обрабатывает не энкодер, а контроллер дуино - механический энкодер быстро сдохнет, ставь оптический - купи или из мышы выковыряй.
достал из мыши. можно примерно схему подключения? на моем написано ATA2388 t1033c
достал из мыши. можно примерно схему подключения? на моем написано ATA2388 t1033c
то контроллер мыши, а не энкодера - пишешь в хугле[arduino энкодер из мыши] и вся недолга
У меня стоят энкодеры прямо на валу 130-го мотора с 32 делениями. Мотор выдает на гора 8000rpm . Частота прерываний от энкодера 8500гц. 4 мотора считает уверенно. Поглощает примерно 200мксек каждую миллисекунду или 20% CPU.
даешь двухядерную ардуину!? )))
Зачем? Если не юзать Wiring то 16Мгц на 8/16 битах .. это промежду прочим IBM PC AT 286. Вполне себе машинка. :)
вопрос: чисто теоретически, если воткнуть типа такого счетчика… ведь можно и более высокие скорости измерять и с каждым импульсом не париться. А на малых скоростях прямой сигнал с энкодера обрабатывать. Да даже не счетчик, а просто 2 Д-триггера (по одному на канал) уже проще, просто программно разделить на «высокую» и «низкую» скорость… ну или «скорост+ь направление», как в этой схеме (тока там рекламы много)…
ЗЫ
даешь двухядерную ардуину!? )))
снова муха в котлеты попала, аще STM32 не добили, а уже 2 ядра народ требует.
ишь ты завелся))) то есть тебя фраза "20% CPU" не смутила?
ОФФ ТОП
ишь ты завелся))) то есть тебя фраза "20% CPU" не смутила?
неа, не смутила, зависит от таймингов других процессов в процессоре. Можно так написать, что при 20% загрузки проца, будешь импульсы терять. Я веду речь о том, что на этом форуме многие очень многого не понимают. А те, кто понимает, не особо то делятся своими знаниями – слишком муторно и объемно объяснять. И очень многие даже не хотят вникать, а просят «дайте». Другим нужно «срочно», а учится некогда…
Да и по соучаствовать хотел - нужно же было чего-то написать для объему ))))))))
Гриша, "Я веду речь о том, что на этом форуме многие очень многого не понимают...И очень многие даже не хотят вникать, а просят «дайте»" Вы даже не догадываетесь насколько Вы - правы! Только "что это изменит"?
У меня вполне нормально отрабатывают энкодеры, 50мксек конечные автоматы для регулировки скорости этих же 4-х двигателей, датчик расстояний со своей сервой непрерывно "крутит башкой" и делает замеры по тому же самому прерыванию PCINT2, да по 5 раз в направление с усреднением и устранением ошибок и ещё небольшая кучка "вычислителей", ищущих дорогу в лабиринте и запоминающих маршрут (картографирование), дабы "взад ездить шустрее". :)
Ничё, все справляется.. :)
Ну .. дал я им свою либу, через которую все это вертится .. и? Активных пользователей на сегодня .. около 20 программистов судя по перепискам "тут да там". "Дайте" - мало-о .. надо ещё и сделать "за него". :)
ОФФ.ТОП
Ну .. дал я им свою либу, через которую все это вертится .. и? Активных пользователей на сегодня .. около 20 программистов судя по перепискам "тут да там". "Дайте" - мало-о .. надо ещё и сделать "за него". :)
Ну так о чем речь! Когда понимаешь, что делаешь, оно и работает, а большинство (я в том числе) копи-пастом занимается, некоторые с умом, а другие: « щас копи-пастом и на форум, а там ребята обругают, да может кто соберет за меня»… Энкодер штука не тривиальная как, к примеру, кнопка. И то, 2 очень серьезных топика про нее: этот и этот. Лично я, за год еще с часами не разобрался до конца, они конечно работают, но нюансов там горка с прицепом.
Написал как умел. чисто эксперементально. из 20 меток может одну пропустить или наоборот увидеть. скорость вращения 1 об в 2 сек. как мог крутил)) пока еще думаю как правильно сделать
Написал как умел. чисто эксперементально. из 20 меток может одну пропустить или наоборот увидеть. скорость вращения 1 об в 2 сек. как мог крутил)) пока еще думаю как правильно сделать
выкладывайте ВЕСЬ код , но свёрнутый и нумерованный , пожста....
зачем мине помнить про что это - r=digitalRead(2); ?
вот здесь я выкладывал код энкодера без использования прерывания, может пригодится
http://arduino.ru/forum/apparatnye-voprosy/opticheskie-enkodery#comment-144045
Вот как только в глазки попадает delay() дальше код даже не смотрю. Ибо даже delay(1) это 1 миллисекунда простоя, за которую проц вполне в состоянии прогнать 16 000 циклов исполнения, а каждый - практически "команда".
Ваще-то в линуксах, милисекунда - нормальная квота процессорного времени для отдельной нитки исполнения.. :)
Вот как только в глазки попадает delay() дальше код даже не смотрю. Ибо даже delay(1) это 1 миллисекунда простоя, за которую проц вполне в состоянии прогнать 16 000 циклов исполнения, а каждый - практически "команда".
Ваще-то в линуксах, милисекунда - нормальная квота процессорного времени для отдельной нитки исполнения.. :)
++
++. И еще - как можна обсуждать быстродействие скетча с digitalRead?! Быстро - это прямо с порта.
Не .. ну это не показатель. В моих скетчах полно ditialRead / Write но они у меня разворачиваются ровно в 1 команду .. прямо в порт. :)
Так у Вас свой "ардуино++", и ditialRead макрос, а не вызов функции-монстра.
Вот и подобрались к сути…
И посты: 16,18 -20 теперь сама соль будет )))))))))))))
Лично я, на UNO, записал
void loop()
{
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
}
Получил 100кГц и успокоился, дальше я пока не знаю как быстрее код написать … asm и прочее я пока не учил…
даешь двухядерную ардуину!? )))
Гриша, нет соль в том, что есть "блин без делай".
Ну и моя "Ардуина++" уже выложена в открытый доступ и даже тут есть отдельная тема, где выкладываю описание "что теперь изменилось/дополнилось", а на гитхабе есть текущий trunk.