|
Виж темите без отговор | Виж активните теми
Дата и час: Съб Авг 22, 2026 12:13 am
|
Страница 1 от 1
|
[ 7 мнения ] |
|
относно де-баунсване на енкодер
| Автор |
Съобщение |
|
trakon
|
 относно де-баунсване на енкодер
Добър ден, въпроса ми може да прозвучи глупаво на вас професионалистите , но "кво да праим"  , на зор съм и го задавам - та опитвам се да изградя проста схема за хардуерно дебаунсване на двата изхода от квадратурен енкодер към микро контролер съгласно схемата препоръчана от производителя на енкодера. Ето тази схема:  Прерових стотици страници с общи приказки в интернет и така и не намерих категоричен отговор какъв тип трябва да е 10nF кондензатора заграден с червено - електролитен или керамичен. Предварително благодаря , ако някой реши да си загуби времето с мен, като ме светне по въпроса. Със здраве .
|
| Сря Апр 08, 2015 1:23 am |
|
 |
|
timt
Ранг: Форумен бог
Регистриран на: Вто Ное 27, 2012 9:27 pm Мнения: 2011
|
 Re: относно де-баунсване на енкодер
Не е електролитен и се слага против претрепване на контакта. 10нф малък ми се вижда а и 10 ком.
|
| Сря Апр 08, 2015 6:44 am |
|
 |
|
mitko_el
Ранг: Форумен бог
Регистриран на: Вто Яну 24, 2006 6:34 pm Мнения: 1756 Местоположение: Варна
|
 Re: относно де-баунсване на енкодер
В момента съм настъпал баш тая мотика... Енкодера затуй си има изходи А , В (има и С ама това не е важно в случая) .Следят се и 2-та сигнала (дори и само в една посока да го въртиш) , ако искаш да си ок. Пък кондензатор 10nF електролитен , не знам да съществува.
_________________ За пари сичко праим,даже и работим...
|
| Сря Апр 08, 2015 8:18 am |
|
 |
|
ike
Ранг: Форумен бог
Регистриран на: Пет Фев 04, 2005 9:59 pm Мнения: 6019 Местоположение: София
|
 Re: относно де-баунсване на енкодер
Слагаш само един 47кОм резистор и ползваш софтуерен де-баунс.
_________________ Warriors of the Night, ASSEMBLER!!!
|
| Сря Апр 08, 2015 11:51 am |
|
 |
|
trakon
|
 Re: относно де-баунсване на енкодер
Благодаря на отзовалите се. Значи щом не съществува 10nF електролитен ( то и аз не намерих такъв де ), остава да е керамичен. Досега си дебаунсвах бутоните на Ардуиното софтуерно, нещо от сорта:
int buttonFive, buttonFiveOld; void setup() { } void loop() { buttonFive=digitalRead(5); if (buttonFive!=buttonFiveOld) { delay(15); buttonFive=digitalRead(5); if(buttonFive==HIGH) { .....} else { ...... } buttonFiveOld=buttonFive }
Сега обаче трябва да накача осем енкодера , по две линии -А и Б всеки на Ардуино, което в реално време чете сериен порт и движи три стъпкови моторчета. Имам усещането, че като завъртя енкодера и като ми започнат едни delay -и , моторчетата ще започнат да буксуват, а и с учебна цел искам да се науча да ги правя тея хардуерни дебаунсвания. За сега съм закачил два доста качествени енкодера и дори не ги дебаунсвам , работят си доста добре , отчитат си на всеки детент . Чета ги по следния начин:
encoderPinA=digitalRead(2); encoderPinB=digitalRead(3); if(((encoderPinA != encoderPinALast)&&(encoderPinB != encoderPinA)) || ((encoderPinB != encoderPinBLast) && (encoderPinB == encoderPinA))) { ....... } else if(((encoderPinA != encoderPinALast) && (encoderPinB == encoderPinA) || (encoderPinB != encoderPinBLast) && (encoderPinB != encoderPinA))) { ..... } encoderPinALast=encoderPinA; encoderPinBLast=encoderPinB;
Сега обаче съм взел по "ефтинджос", енкодери, но с повече функции и си искат дебаунсването.
@timt , такива ги предписва пройзводителя на енкодера, ще работи на пет волта . Ако били по- големи, имало опасност веригата да стане много бавна и да не отчита всяко прещракване ма енкодера, но като го направя, ще се чуе, и ако има проблеми ще пробвам различни стойности.
|
| Сря Апр 08, 2015 7:18 pm |
|
 |
|
stefan63
Ранг: Форумен бог
Регистриран на: Вто Фев 07, 2012 11:22 pm Мнения: 3084
|
 Re: относно де-баунсване на енкодер
И за хардуерно , и за софтуерно - първо трябва да се сметне максималната честота на импулсите.
|
| Сря Апр 08, 2015 7:41 pm |
|
 |
|
timt
Ранг: Форумен бог
Регистриран на: Вто Ное 27, 2012 9:27 pm Мнения: 2011
|
 Re: относно де-баунсване на енкодер
@timt , такива ги предписва пройзводителя на енкодера, ще работи на пет волта . Ако били по- големи, имало опасност веригата да стане много бавна и да не отчита всяко прещракване ма енкодера, но като го направя, ще се чуе, и ако има проблеми ще пробвам различни стойности. Както писа колегата stefan63 трябва да се тръгне от честотата на импулсите или по точно от спецификацията на енкодера. (бързината на действие) Предположих че енкодера ти е обикновен от тия ръчните а то май се оказа промишлен за което най вероятно е 10 нф инак за малките стойността е по голяма.
|
| Сря Апр 08, 2015 8:58 pm |
|
|
|
Страница 1 от 1
|
[ 7 мнения ] |
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 4 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|