Durch Messen.Wie kann man das Problem Lösen?
Messen bis zu wecher Frequenz die Schaltung funktioniert und dann wenn kein Oszilloskop zur Verfügung steht, zum Vergeich einen Frequenzteiler (z.B. CD4040) vor den Controller schalten.
Manfred
Hi!
Ich habe einen CNY70 Reflexkoppler vor das Loch an einem Getriebemotor gebaut und möchte damit die Drehzahl überwachen.
Im Moment ist das ganze über ein Poti einstellbar und über einen Schmitt-Trigger mit dem ATMega64L verbunden, und funktioniert auch, aber nur bei geringen Motorgeschwindigkeiten.
Nun ist die Frage, was das langsamme Element ist, der CNY70, Trigger oder sogar der Controller, der die (bei 6000upm) 100 Impulse pro Sekunde nicht Auswerten kann?
Wie kann man das Problem Lösen? Optotransistor direkt an den AD-Eingang hängen?
Gruß; MK
Durch Messen.Wie kann man das Problem Lösen?
Messen bis zu wecher Frequenz die Schaltung funktioniert und dann wenn kein Oszilloskop zur Verfügung steht, zum Vergeich einen Frequenzteiler (z.B. CD4040) vor den Controller schalten.
Manfred
OK, war vielleicht etwas blöd von mir formuliert; es geht nicht darum herauszufinden, an was es liegt, sondern darum, das es funktioniert, sprich was gibt es für Alternativen?
gn8, MK
Induktionsaufnehmer
Spass beseite, wie breit sind die reflektierenden / nichtreflektierenden Zohnen ? Da koennte man die Signalbreite bestimmen und den Rest dahingehend betrachten.
Heinz
personal.telefonica.terra.es/ web/x-robotics/downloads/datasheets/cny70.pdf
Der CNY70 ist grundsätzlich sicher schnell genug für die 100Hz, nur er fokussiert nicht. Im Bild 11 des Datenblatts steht, dass eine reflektierende Fläche im Abstand von 1mm um ganze mm verschoben werden muß, um eine Signal zu erbingen.
Am besten erkennt man die Bedeutung des Bildes in der Mitte, bei der größten Steigung. Das Muster sollte eine Streifenbreite von 3-4mm haben.
Manfred
Also die Reflektierende Fläche ist ca. 3mm breit und der Rest bei ca. 6mm Durchmesser 16mm. Macht also eine Signalbreite von etwa 1,5ms, wenn ich das richtig verstanden habe. Habe mal ein Foto zur Verdeutlichung gemacht, was der Sensor sieht.
Bild hier
Gruß, MK
PS: Auch wenn's vielleicht grade nicht passt: Was für ein Datentyp bringt getadc() im AVRco e-Lab und wie bekommt man den auf interger?
Ok, das Software-Problem habe ich gelöst, indem ich den Word Wert (getadc) in einen String umgewandelt habe und diesen dann zurück in Byte zur Ausgabe am Port.
Habe jetzt den CNY70 direkt am Analogeingang angeschlossen, funktioniert auch soweit nur halt vieeel zu langsam...mir kommt es so vor, als ob der nicht mal 2 Abfragen pro Sekunde hinbekommt.
Habt ihr ne Idee, wie man das Lösen kann?
Gruß, MK
Der Atmega hat bei den analogen Eingaengen einen Komperator, der einen IRQ generieren kann. Mit einen Eingang auf VCC/2 und den anderen als "Messeingang" sollte das ganze schnell genug werden.
Ansonsten kannst Du versuchen, ein normales Portpin zu nehmen - die Systemlast ist aber durch den Pollingbetrieb entsprechend hoch.
Heinz
Kannst du mir erklären was Polling-Betrieb ist? Hab nämlich auch nicht wirklich was darüber gefunden, außer, dass es wie Offline-Betrieb sein soll, was mir aber genauso wenig sagt.
Danke.
Gruß, MK
Polling: Abfrage des Sensors per Software in einer Schleife - also ohne Interrupt!
Lesezeichen