Bestämnd min. tid för puls
Bestämnd min. tid för puls
Jag ska med en pic läsa av pulser på ett par ben.
Detta ska göras löpande i en loop dvs jag vill inte stå kvar med ett count kommando (pic basic).
Men låt säga att pulsen in kanske är 1ms men jag läser bara av med 2ms mellanrum, då kan jag ju missa pulsen.
Vad kallas en sådan koppling som håller kvar puls-in till en betämd tid?
Dvs. 1ms hålls kvar till 2ms
Om det kommer in en puls till under tiden kretsen håller nivån så spelar det mig ingen roll.
Är det någon som har ett bra schema över något liknande så vore jag tacksam.
Ha det
Detta ska göras löpande i en loop dvs jag vill inte stå kvar med ett count kommando (pic basic).
Men låt säga att pulsen in kanske är 1ms men jag läser bara av med 2ms mellanrum, då kan jag ju missa pulsen.
Vad kallas en sådan koppling som håller kvar puls-in till en betämd tid?
Dvs. 1ms hålls kvar till 2ms
Om det kommer in en puls till under tiden kretsen håller nivån så spelar det mig ingen roll.
Är det någon som har ett bra schema över något liknande så vore jag tacksam.
Ha det
Ingen dum ide, men jag tror jag hittade vad jag sökte.
http://www.play-hookey.com/digital/timer_555.html
Borde väll funka.. ska testa snart.
http://www.play-hookey.com/digital/timer_555.html
Borde väll funka.. ska testa snart.
Om man bara hade en pinne med pulser på (eller om man hade en egen interrupt-flagga för varje pinne) så kunde man även köra varianten att polla flaggorna.
Skillnaden mellan att polla pinnarna direkt blir ju att flaggan sätts även av en jättekort puls, och det räcker att du läser av flaggan innan *nästa* puls kommer (till skillnad från direkt poll då du måste läsa av innan första pulsen är klar).
Men det är nog bättre med en interrupt-rutin som direkt kan läsa av pinnarna och vidta åtgärder...
Skillnaden mellan att polla pinnarna direkt blir ju att flaggan sätts även av en jättekort puls, och det räcker att du läser av flaggan innan *nästa* puls kommer (till skillnad från direkt poll då du måste läsa av innan första pulsen är klar).
Men det är nog bättre med en interrupt-rutin som direkt kan läsa av pinnarna och vidta åtgärder...
Antar att pulsen du ska detektera är en positiv puls. Invertera den så pulsen blir negativ, kör in den negativa pulsen i DS1233
http://www.elfa.se/elfa-bin/setpage.pl? ... 009443.htm
Ut får du en 300ms lång negativ puls.
En av alla möjliga lösningar.
http://www.elfa.se/elfa-bin/setpage.pl? ... 009443.htm
Ut får du en 300ms lång negativ puls.
En av alla möjliga lösningar.
ok många ideer, perfekt.
Ska erkänna att jag inte är den skarpaste på pic, men jag ska dra grundidén så att vi snackar samma grej.
Det kanske funkar med en interrupt men jag är inte så bekant med det ännu så guida mig gärna.
Projekt "flight recorder".
Ett ben tar in antalet tändpulser på en bil.
Ett annat antal hjulvarv(kardan) ,genom givare.
Ev ett för att känna av när du kör förbi en ir sändare.
Jag har tänkt så här:
Läs av ben 1 (viss kodning kommer fixas för att inte dubbeltrigga)
Läs av ben 2
Läs av ben 3
Gör detta under typ 0.5s ,skriv sedan in antalet pulser per ben till ett eeprom eller liknande. (tid tot med eeprom 0.5s)
Om o om igen.
Sedan är det tänkt att jag i en PC ska räkna ut varvtal, hastighet , sträcka, snitt hastighet osv.
Men funkar det med interrupt ,vet jag att man har läst i 0.5s.?
Eller varierar tiden med hur många interrupt man får?
Inte så kunnig och givetvis tacksam för alla ideer
Ska erkänna att jag inte är den skarpaste på pic, men jag ska dra grundidén så att vi snackar samma grej.
Det kanske funkar med en interrupt men jag är inte så bekant med det ännu så guida mig gärna.
Projekt "flight recorder".
Ett ben tar in antalet tändpulser på en bil.
Ett annat antal hjulvarv(kardan) ,genom givare.
Ev ett för att känna av när du kör förbi en ir sändare.
Jag har tänkt så här:
Läs av ben 1 (viss kodning kommer fixas för att inte dubbeltrigga)
Läs av ben 2
Läs av ben 3
Gör detta under typ 0.5s ,skriv sedan in antalet pulser per ben till ett eeprom eller liknande. (tid tot med eeprom 0.5s)
Om o om igen.
Sedan är det tänkt att jag i en PC ska räkna ut varvtal, hastighet , sträcka, snitt hastighet osv.
Men funkar det med interrupt ,vet jag att man har läst i 0.5s.?
Eller varierar tiden med hur många interrupt man får?
Inte så kunnig och givetvis tacksam för alla ideer