Toon posts:

zaaimachine puls detector

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Voor een maiszaaimachine met 6 gangen zou ik een detector willen maken om te kijken of er nog zaad passeert door de buisjes. De sensoren staan er al op, de vroegere detector is helaas stuk gegaan en verloren door de vorige eigenaar.
Op de buisjes staan lichtsluisjes die dus heel erg korte pulsjes geven iedere keer dat een maiskorrel passeert. De bedoeling zou zijn om 6 leds te hebben, die aan gaan (of uit) wanneer er langer dan twee seconden niks gedetecteerd wordt.

De vraag is nu, hoe kan je die detectie het makkelijkst doen met zo weinig mogelijk componenten. Is dit te doen met een microcontroller (PIC18F4550 heb ik liggen)? Ik vermoed dat de pulsen daarvoor te kort zijn. Zijn er componenten hiervoor geschikt in de 7400 reeks?
Zou ik de puls die van de machine per kanaal niet kunnen verlangen met een kleine condensator die via een diode oplaad? Over die condensator dan een weerstand zodat die na 1ms ofzo ontladen is als er geen pulsen meer zijn. In microcontroller dan in de main loop steeds teller resetten als er een ingang hoog is. Als de teller toch aan een bepaalde waarde komt, teller niet meer verhogen en led aan zetten.
Een FPGA, is voor mij minder haalbaar doordat die moeilijker te programmeren zijn. Ik heb ook geen materiaal liggen om de code daadwerkelijk in zo'n chip te programmeren.

Acties:
  • 0 Henk 'm!

  • Sphere-
  • Registratie: November 2003
  • Laatst online: 28-08 19:53
Je kan gewoon een ingang met interrupt gebruiken op je PIC microcontroller. De pulsduur maakt dan niet uit. Het detecteren van de puls is dan niet afhankelijk van de processor snelheid.

[ Voor 27% gewijzigd door Sphere- op 09-02-2013 19:39 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Zijn er dan zes interrupt lijnen aan die microcontroller?

De zes lijnen ORen en daarmee de interrupt aansturen zou kunnen, maar dan weet ik wel niet of die snel genoeg gaat kunnen detecteren welke van de zes daadwerkelijk een puls gegeven heeft. Kan ook problemen geven als meerder tegelijk gaan pulsen denk ik.

[ Voor 69% gewijzigd door Verwijderd op 09-02-2013 19:43 ]


Acties:
  • 0 Henk 'm!

  • Sphere-
  • Registratie: November 2003
  • Laatst online: 28-08 19:53
Er zijn drie externe interrupts.
Ik vermoed eigenlijk dat de pulsen lang genoeg zijn om te pollen.
Als een zaadje langs de lichtsluis gaat zal dat zeker een puls opleveren van langer dan 100uS (1200 instructies op je PIC op 48 MHz, een eeuwigheid dus).

Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
Atmegas kunnen bijna alle pinnen als interrupt gebruiken. Maar verder verwacht ik ook dat pulsduur meer dan lang genoeg is om te pollen. Al helemaal omdat er geen accurate telling hoeft te worden bijgehouden, enkel hoeft er gekeken te worden of hij soms onderbroken wordt. (Niet dat een telling bijhouden een probleem zou zijn).

Acties:
  • 0 Henk 'm!

  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 11-08 04:52

Sprite_tm

Semi-Chinees

Even zien: als je een redelijk rappe AVR pakt van, zeg, 20MHz, moet het te doen wezen om een poll-routine te schrijven die, zeg, 100 cycles nodig heeft om de pinnen te samplen en te processen. Waarschijnlijk kan het met minder, trouwens. Dat betekent dat je 200000 keer per seconde je sensoren kan samplen. Om een zaadje te missen, zou die met zo'n snelheid langs moeten vliegen dat 'ie minder dan 1/200000ste van een seconde de sensor onderbreekt. Even uitgaande van mais van ongeveer een halve cm lang, zou de snelheid van de zaden dan (0.005/1000)/((1/200000)/(60*60))=3600km/h moeten zijn om problemen te geven. Tenzij je maiszaadjes dus met Mach 3 geplant worden, zou een microcontroller ze prima moeten kunnen opmerken ;)

[ Voor 4% gewijzigd door Sprite_tm op 10-02-2013 22:42 ]

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


Acties:
  • 0 Henk 'm!

  • memphis
  • Registratie: Oktober 2000
  • Laatst online: 01:35

memphis

48k was toen meer dan genoeg.

Een 74123 http://proton.ucting.udg.mx/mateos/pdf/DM74123.pdf

Hertriggerbare monoflop. Geef het ding een kortstondige puls en de uitgang zal laag/hoog blijven tot de ingestelde tijd met het RC netwerkje bereikt is en zal weer terug vallen. Krijgt die een puls binnen die tijd zal de uitgang opnieuw gestart worden en dus langer aan blijven.

IR led met een IR sensor met ingebouwde Schmitt trigger en op de uitgang van de 74123 een transistor met je LED's en klaar is Kees

[ Voor 3% gewijzigd door memphis op 10-02-2013 22:45 ]

Er zijn mensen die mij een GOD vinden


Acties:
  • 0 Henk 'm!

  • 3xhaas
  • Registratie: Februari 2002
  • Laatst online: 26-09-2024
Houdt met je ontwerp rekening met afscherming en storing. Aangezien je waarschijnlijk vlakbij een motor zit kan dat behoorlijk wat rommel van afkomen die je opvangt met je lichtsluis als je die niet goed ontwerpt.
Heb je complete lichtsluizen (1 behuizing) of bestaan ze uit een losse delen (losse emitter en ontvanger)?

Acties:
  • 0 Henk 'm!

  • Bartjezz
  • Registratie: Maart 2006
  • Laatst online: 16-06-2024
Heel simpel: men neme een tijdrelais van 2 seconden, en sluiten die op de lichtsluis (en vaste spanning) aan. Zet de inschakelvertraging op 2 seconden en klaar. Op de uitgang zet je dan je LED.
Steeds als de sluis een puls geeft, krijgt je relais een reset en begint de tijd opnieuw te tellen.
Je zult misschien een relais moeten zoeken dat bij bij een negatieve puls schakelt of er een schakeling/relais tussen moeten bouwen die van de negatieve puls een positieve maakt.
Als je zeker wilt zijn dat je LED aanblijft kun je een overnamecontact maken, die je handmatig moet resetten. Als je wilt teken ik wel ff een schakelingetje voor je. Maar zo weet je zeker dat alles zo simpel mogelijk blijft en geen storing heeft van motoren/andere bronnen.

Edit: even uitgetekend, had even niets te doen.
Afbeeldingslocatie: http://img651.imageshack.us/img651/5336/schakeling.png
Uitleg:
-zaadje komt langs lichtsluis (rode schakelaar helemaal linksboven, geen aanduiding gegeven, sorrie) en schakelt het "invertor"-relais zodat het tijdrelais een positieve puls krijgt.
-stel er komt nu geen zaadje voorbij: het tijdrelais loopt nu.......1..........2.........SCHAKEL!
-het tijdrelais schakelt de uitgang, K1 krijgt spanning
-S1 (contact van K1) klapt dicht
-K2 krijgt spanning en klapt S2 dicht, tevens schakelt deze de LED in.
-in de tussentijd kan het zijn dat er wel weer een zaadje voorbij is gekomen en K1 allang is afgevallen, maar doordat K2 nog steeds spanning krijgt (omdat S2 contact maakt), blijft de led branden.

Resetten: even de spanning van de schakeling halen is genoeg. Alle tijdrelais resetten dan en het overnamecontact gaat weer open.

Die 3 schakelingen bovenin kun je net zoveel herhalen als je nodig hebt.

Als je geen overnamecontact wilt, kun je gewoon de led ipv het hele schema rechtsonder aansluiten. Nadeel is wel dat als het ledje even knippert, je het waarschijnlijk niet opvalt.

[ Voor 43% gewijzigd door Bartjezz op 11-02-2013 11:23 ]


Acties:
  • 0 Henk 'm!

  • 3xhaas
  • Registratie: Februari 2002
  • Laatst online: 26-09-2024
Op zich heeft Bartjezz wel een goed punt. Je hoeft helemaal geen microcontroller te gebruiken. Het kan prima met een peak detector worden opgelost. Hij zegt het best een relais te gebruiken, maar dat hoeft niet. Verder ik weet niet hoe de ingangsimpedantie van een tijdrelais is. Maar als die redelijk hoogimpedant is heb je wel degelijk nog steeds kan op storing veroorzaakt door de motor.
Je kunt het waarschijnlijk met een relais oplossen, maar als je dat niet wilt kun je ook een peak detector maken en op die uitgang tevens een tor aansluiten die je signalerings LED schakelt.
Dan heb je nodig een opamp, 2 condensatoren, 6 weerstanden en 1 led per detector. Ik zou een rail-to-rail opamp kiezen waarbij er meerdere in 1 behuizing zitten. Ongebruikte opamps kun je het beste als volger van de nul aansluiten voor het minste storing.
Pagina: 1