Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Quadrature Rotary Encoder
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=1331
Страница 1 от 1

Автор:  Svetoslav40 [ Пет Ное 25, 2005 12:51 pm ]
Заглавие:  Quadrature Rotary Encoder

Здравеите колеги,
Става въпрос за ония "цепиики" дето приличат на потенциометри, ама не са....както и да е... разбрахте за какво гворя. Та мисълта ми е, дали някои си е играл с тях, и може да ми обясни как да изглежда програмата. Става въпрос за PIC16F84A и CCS C като развойна среда. Аз си поиграх малко и с помощта на някои хора, стигнах до някаде, и сега тъпцха на едно място. В прикачения фаил е актуалния сорс за 16F84. Идеята е, с джа сжетодиода да ми показва посоката на въртене на енкодера, за сега се иска само това, с цел да се "светна" как работи и как да го чета с С. Общо взето, това работи, но като движа енкодера в която и да е посока, освен че светва светодиода за посоката в която го въртя, премигва и диода за обратната посока.

Надявам се че съм обяснил за какво става реч. Ще се радвам ако някои да може да ми помогне.

Прикачени файлове:
Rotary Encoder.rar [7.54 KiB]
197 пъти

Автор:  VANK [ Пет Ное 25, 2005 1:00 pm ]
Заглавие: 

Прегледай във форума, това беше обсъждано.

Автор:  Svetoslav40 [ Пет Ное 25, 2005 1:48 pm ]
Заглавие: 

Намерих само един пост в които става дума за това нещто, а и проблема нее в самия енкодер, а в програмата която го чете, малко съм зле с С, и ото там идва проблема, маи.

Автор:  Dimitar [ Пет Ное 25, 2005 3:00 pm ]
Заглавие: 

Тия енкодери имат едни 4 състояния и в зависимост от това кое след кое идва се придобива представа за това какво става 8) . Т.е. програмата ти трябва да чете 2-та изхода на енкодера, от там има 4 възможни състояния и в зависимост от това в кое от тях си бил и кое е сега се продължава по-нататък. В общи линии е това - ако нещо конкретно те интерисува - питай.
ПП.Проблема ти във сорса (не го прегледах много подробно) е най-вероятно, че няма направен филтър на входните сигнали и затова се шашка и светят и двата диода.

Автор:  Svetoslav40 [ Пет Ное 25, 2005 4:01 pm ]
Заглавие: 

Dimitar: А как би трябвало да изглежда това в StateMachine-то, имаш предвид debounce, нали?
каде да го имплементирам в моя код, в маин-а, или в стеитмашината?

Автор:  TheHungry [ Пет Ное 25, 2005 5:10 pm ]
Заглавие: 

http://elm-chan.org/docs/tec/te04.html


P.S
На японски е но се разбира ако човек иска , пък и има преводачки за това

Автор:  BrainStorm [ Пет Ное 25, 2005 7:38 pm ]
Заглавие: 

http://www.fpga4fun.com/QuadratureDecoder.html ... прави се супер лесно .... може да си вземеш механиката от мишката а останалото е само неколко тригера и няколко логически елемента ....

Автор:  Svetoslav40 [ Съб Ное 26, 2005 2:45 pm ]
Заглавие: 

хмм, то ясно че мойе и с логики да се направи, ама, идеята е да се направи програмно, хората оспяват с един 18Fнещоси да четат 30-40 такива, верно цхе тургат мултиплеьори, ама краиня резултат е важен. Проблема е само ф това че съм много начинаещ в програмирането, и затова потърсих помощ тука, идеята е да стане само със софтуер, без външни компоненти (освен енкодера де).

и конкретно, каде да бодна debounce кода, в стеитмашината или в главния код??? ПЛЕАЦЕ ХЕЛП...как би трябвало да изглежда, ако може някои да ми даде конкретен пример няма да е зле....пък аз ще експериментирам и ще се науча да ги дялам тия неща....да ти е.а ци-то:)

Автор:  Dimitar [ Съб Ное 26, 2005 2:59 pm ]
Заглавие: 

Филтъра го сложи там където четеш входовете. В стейт машината няма нужда от филтър.

Автор:  bateAz [ Съб Ное 26, 2005 7:52 pm ]
Заглавие: 

Само да не дообъркам пича, но ми се струва, че филтърът трябва да е с State Machine. Там се прави брояч за броя на прочетените състояния и след определен брой потвърждения се преминава в друго състояние с нов брояч. Естествено, този брояч може и да не е част от машината, но някак си не ми харесва.

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/