Es sei an dieser Stelle mal was angemerkt:
Es wird hier oft geschrieben, dass die Register Einstellungen stark von der Camera abhängen und manche kurze und manche lange Belichtungszeiten einstellen müssen. Das liegt an folgendem Grund:
Der eine verwendet eine C-Control, der andere einen AVR mit Bascom, der andere einen mit C und wieder andere mit wieder anderen Tackfrequenzen, um die Camera auszulesen.
Da der Programmierer allerdings dafür verantwortlich ist, an die Camera eine Clock anzulegen - spätestens jetzt sollte es bei jedem schalten, der es noch nicht erkannt hat - ist es massiv clock-abhängig, wie stark bei einer bestimmten Registereinstellung belichtet wird. Das gilt natürlich für alle zeitabhängigen Einstellungen.
Ich habe das ganz besonders gemerkt, als ich von Bascom endlich auf C umsteigen konnte - nachdem mein Speichermodul denn endlich lief. Bascom bedient den ADC anders als ich es mit C mache, somit bin ich mit C viel schneller mit dem Auslesen. Zum anderen tickt meine "warte auf ready-Signal" Clock wesentlich schneller, als sie es unter Bascom getan hätte. Dadurch kann ich jetzt in 0.5 Sekunden ein Bild machen und verarbeiten, statt pro Bild 2-4 Sekunden warten zu müssen.
Der absolute Flaschenhals ist nach wie vor der RS232-Port, der einfach zu langsam ist um damit wirklich Bilder übertragen zu können.
Meine Idee ist daher, denn LPT1 Port zu aktivieren und eine parallele Kommunikation zwischen AVR und PC herzustellen. Damit sollte sich um einiges Schneller der Datenzatz übertragen lassen, evtl sogar eine Echtzeitdarstellung realisieren
### anderes Thema #######################
Ich versuche zur Zeit den AD-Wandler des AVR Mega 128 auf FreeRun Modus einzustellen. Der schafft dann ca. 200Khz. Damit würde es ca. 120 ms ein Bild zu schießen und zu digitalisieren. Das wäre ein erstrebenswertes Ziel, da man so schon fasst 8fps erreichen könnte.
Leider macht mein AD-Wandler das nicht. Ich setze also das FreeRun-Flag und starte die erste Wandlung mit dem "SingleConversion"-Flag.
Der AD-Wandler sampled den ersten Wert der anliegt, und erneuert anschließend das Register nie wieder.
Wenn ich vor jedem Pixel wieder das "SingleConversion"-Flag setze und warte, bis das "SingleConversion"-Flag im Register auftaucht, dann habe ich immer frische Pixel-Werte, jedoch geht das entsprechend Langsam. Ich denke an ca. 60Khz, statt 200 möglichen.
Wenn ich so vorgehe, habe ich praktisch immer an sehr ähnlichen Stellen im Bild Pixel, die 255 hell sind. Es handelt sich um einzelne ausreißer, die mir anschließend bei dem Versuch eine Belichtungsautomatik zu programmieren, bzw. laufen zu lassen, das Leben schwer machen!
Kennt soch jemand evtl. mit beidem aus, und kann mir sagen, woran das wohl liegen mag?
Gruß
Timo
Lesezeichen