Japp. I mitt andra inlägg så länkar jag till motorerna/encodern jag använder. Det är dem från badtastex. Alltså encodern sitter på motoraxeln.
JBV: Fattar inte riktigt varför det inte funkar att dividera frekvensen A och B för sig. Hmm... Om någon har lust att förklara, så vore det schysst.
Så som jag tänker borde det ju funka. Jag har ju iof aldrig använt någon divideringskrets tidigare.
"Decoda" en 3600 cpr encoder. Hur?
Man kan inte dela A och B var för sig för att de "hänger ihop". Deras inbördes fas anger riktningen, ska man veta hastigheten mätar man på endera fas enbart.
Man kan i enkelhet säga att när A har en stigande flank kan man på nivån på B se riktningen.
Så som en del andra har skrivit: är det för att du ska veta hastigheten och riktningen är fast räcker det alldeles fint med att bara läsa en av faserna, det är samma information i dom ändå.
Vad är det du vill uppnå? Vill du ha en absolut positionering av motorn eller bara veta hastigheten?
Man kan i enkelhet säga att när A har en stigande flank kan man på nivån på B se riktningen.
Så som en del andra har skrivit: är det för att du ska veta hastigheten och riktningen är fast räcker det alldeles fint med att bara läsa en av faserna, det är samma information i dom ändå.
Vad är det du vill uppnå? Vill du ha en absolut positionering av motorn eller bara veta hastigheten?
Jo, i slutändan så skulle jag väl vilja göra positionsreglering, men till att börja med så blir det hastighetsreglering. Jag vill alltså använda båda A och B och utnyttja deras inbördes fasförskjutning så att man kan bestämma åt vilket håll motorn snurrar, så att använda enbart index (Z?) pulsen är inte aktuellt.
Tappar man A och B inbördes fasförskjutning om man frekvensdelar båda signalerna?
Tappar man A och B inbördes fasförskjutning om man frekvensdelar båda signalerna?
Om du tar en vanlig D-flip-flop (t.ex. 4013) och matar in B på D-ingången och klockar med A kommer Q att visa vilket håll den kör. Tar du sedan en µC med Capture-enhet till att kolla hastigheten kan du på en pinne kolla riktningen ('0'=CW, '1'=CCW eller vice-versa).
Har du en µC med 2 räknare i kan du även använda detta riktningssignal till att dela upp via ett par externa gates vilken räknaringång som ska ha pulserna, den ena räknare räknar alltså alla CW-pulser och den andra räknar CCW-pulserna, sedan klarar mjukvaran resten.
Har du en µC med 2 räknare i kan du även använda detta riktningssignal till att dela upp via ett par externa gates vilken räknaringång som ska ha pulserna, den ena räknare räknar alltså alla CW-pulser och den andra räknar CCW-pulserna, sedan klarar mjukvaran resten.
Vid 3600ppr och 3000rpm finns totalt 720.000 flanker/s att ta om hand. Om man skrämmer upp en ATtiny i 24mhz och programmerar assembler kanske man kan ta omhand om alla pulserna. Annars kan man skrota t.ex. de fallande flankerna och få 360.000 pulser. Bryr man sig inte om riktningen heller kan man komma undan med så lite som 180.000 flanker/s =)