PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Stückzähler für Eierverpackungsmaschine



JtH
20.08.2006, 19:41
Hallo,
Bitte das Programm auf Fehler überprüfen. Es läuft auf dem Simulator, aber nicht stabil in der Praxis. Das Programm bleibt nach einigen Hundert Impulsen stehen (Zwischen 300 und 1200 Stück). Die Impulse strahlen mit der Netzfrequenz über das lange Kabel auf den Interrupteingang ein. Bei Anschluß an der Lichtschranke der Verpackungsmaschine kommt der Zähler aber wesentlich weiter (Etwa 5 Impulse je Sekunde). Auch mit dem Resettaster kann man dann nichts mehr machen. Ich habe den Wert Stueck auch schon mit „MOD“ aufbereitet, dann bleibt der Atmega16 bei 7100 Stück stehen. Wenn ich die laufende LCD-Ausgabe unterbinde und per Taster aufrufe, wenn keine Eier Impulse auslösen, zählt der Chip richtig.
Der Versuchsaufbau ist provisorisch mit längeren ca. 60 cm Kabel ohne Gehäuse aufgebaut. Es ist mein erster Gehversuch mit dem Atmega. Ich bin Laie (Schlosser) und habe vorher mit der C-Control unter anderem eine Heizungsteuerung erstellt. Ich möchte damit einen defekten mechanischen Stückzähler an einer Eierverpackungsmaschine ersetzen. Es sollte doch möglich sein 22.000 Eier in ca. 2 Std. zu zählen.
Oder ist mein Lösungsansatz falsch?
Mit freundlichem Gruß
Johann ter Horst

Stromi
20.08.2006, 22:00
Naja, du sagst ja selbst, es sind Störungen drauf. Ein Watchdog hilft hier nicht, weil dann die Stückzahl vérloren ist, aber ein Optokoppler und ein Kondensator an der richtigen Stelle wird wohl helfen.
Mach mal ein 100nF an den Zähleingang. Teste mal ob es hilft.
Schlosser sind doch inovativ !!!

Vitis
21.08.2006, 21:04
also das mit dem Label Ausgabe und goto möcht mir nicht recht schmecken.
versuchs mal mit Do Loop für die mainloop, also das Hauptprogramm.
Dann füg mal noch nach den Return ein End ein, manche Bascomversionen mögen das.
anstatt: Stueck = Stueck + 1
verwend ich lieber: Incr Stueck
Ist kürzerer Code, wird auch kürzer kompiliert und läuft daher dann auch
flotter (wen iger Zählefehler evtl.)

Config Int2 = Falling
Enable Interrupts
Enable Int2
On Int2 Zaehler

kommt mir etwas wirr vor, würd ich mal mit umsortieren problieren:

Config Int2 = Falling
On Int2 Zaehler
Enable Int2
Enable Interrupts

weiß nicht, gefällt mir besser ... das wars dann mal an Ideeen von mir, evtl. hilft ja was davon

PicNick
22.08.2006, 07:28
HWSTack = 32 ist mit Interrupt etwas wenig. Da kann es schon mal krachen.

JtH
23.08.2006, 23:12
Hallo,
Danke für die Antworten, ich werde sie berücksichtigen. Die Ursache war aber meine provisorische Verkabelung, mit zu langen Leitungen.
Danke an Alle
JtH