Wie stellst du dir das denn vor? Der RP6 kann mithilfe der Kamera doch nur 2D Bilder erkennen. Das heißt du müsstest ihn um dieSäule drumfahren lassen. Ich würde erstmal mit was einfacheren anfangen.
Druckbare Version
Wie stellst du dir das denn vor? Der RP6 kann mithilfe der Kamera doch nur 2D Bilder erkennen. Das heißt du müsstest ihn um dieSäule drumfahren lassen. Ich würde erstmal mit was einfacheren anfangen.
nein er soll nur ein bestimmtes objekt erkennen und mit leds anzeigen
Hi,
Kann ich Phase 2 also die Verstärkung auch irgendwie Testen ? bevor ich weiter mache will ich schon wissen ob ich bis dahin alles richtig gemacht habe. Was muß ich also tun? Wo Messe ich was?
Trainmen
mal eine andere frage und zwar zu phase 3 sollte es nicht auch möglich sein ohne den lm1881? den aufbau aus zwei schwingkreisen einer schwingt auf den 50hz der andere auf den 15khz.
maritinius11 das objekt erkennen solltest du sleber hinbekommen denk ich jedenfals einen balken der sich von dem hintergund abhebt sollte erkennbar sein
edit glaub hier war der rechtschreibfehler des tages hoffe das hat keiner vor dem edit gelesen
@Thomas$:
Mir ist der LM 1881N aufgefallen, weil er schön einfach einsetzbar ist.
Man kann einen Sync-Separator auch diskret aufbauen, aber das sind dann einige Transistoren und mehrere passive Bauteile mit mehr Platzbedarf auf der Rasterplatine.
Kannst du 'mal einen Schaltplan posten, der das so umsetzt?Zitat:
... sollte es nicht auch möglich sein ohne den lm1881? den aufbau aus zwei schwingkreisen einer schwingt auf den 50hz der andere auf den 15khz.
Vorteile des LM 1881N:
Er gibt 4 Signale aus:
- VSync: Bildsynchronisation
- CSync: Alle Zeilensynchronimpulse und auch die Impulse der vertikalen Austastlücke
- Burst: Die Stelle der Farbinfos
- Odd/Even: Gerades oder ungerades Halbbild
Wollte man das selbst aufbauen, wäre das schon sehr aufwändig.
Gruß Dirk
So habe jetzt radbruchs fotoprogramm erfolgreich getestet und bin erstaunt wie gut es funktioniert
\:D/
aber komischer weise funktioniert es nicht von der 2. phase nur über die erste
also nicht von pg5 zu pg4
sondern nur von pg3 zu pg4
weiß jemand eine antwort darauf
lg
martin
Hey,
so wie ich das verstanden habe müsste man das Ausgangssignal entsprechend anklemmen, damit der Nullvoltpegel (Blacklevel Schwarzbereich) für den RP6 sichtbar wird dazu muss man zwei Jumper stecken. Auf JP3 + JP4!
Sonst sieht dein RP6 nix!!!
Wieder einmal das Thema komplett verfehlt!Zitat:
Zitat von Martinius11
Zitat:
Grundsätzlich wird diese BMP-Funktion später nicht mehr benötigt. Sie dient eigentlich nur zum Testen der Kamera.
Dem stimme ich zu!Zitat:
Bevor wir aber ein echtes Projekt angehen sollte sich jeder nochmal klarmachen, wie der Mega32 das Signal einliest und woran man die einzelnen Bereiche eines Bildes (Syncronsignal, Bildanfang, Zeilenanfang) anhand der eingelesenen Signalwerte erkennt.
Es geht bei diesem Projekt nicht darum irgendwelche Bilder auf dem PC zu erkennen! der Mega32 kann diese Bilder gar nicht komplett speichern und auswerten! Das was Martinius11 da will, ist eine reine PC Sache und gdi+ überhaupt kein Problem. Sind vlt. 40 Zeilen C++ Code.
Aber es verfehlt den Sinn der Übung!
Wie Radbruch schon sagte, es geht um den Mega32 und dessen Fähigkeiten ein Bild zu - sagen wir mal - erkennen.
@ mc delta
auch mit den beiden jumpern startet das programm nichtma,l richtig also keine leds leuchten dies lässt mich vermuten das von der kamera kein signal am mega32 pin ankommt ich überprüfe die schaltung nochmal vielleicht ist ja ein löt fehler drinne
lg
martin
er soll die die bilder ja nicht speichern und auch nicht ein ganzes Bild auswerten er soll einfach nur ein zusammen hängendes objekt erkennen das kann auch der mega32 vorallem wenn schon beschlossen wurde das 3 halbbilder gemacht werden
@RobbyMartin:
Die ADC-Videosignale an PG5 und PG6 sehen völlig anders aus als das Video-Signal von der Kamera (PG3).
Daher kann radbruchs Programm so nicht funktionieren. Man muss da einiges anpassen.
Mit der Diode (JP4: Aufgesteckt) funktioniert radbruchs Programm gar nicht an PG6, weil die horizontalen Sync-Signale weggeklemmt sind.
Wenn du das Programm von radbruch anpassen willst:
Nimm den Anschluß PG5 (oder weiter PG3 bis die 3. Phase fertig ist).
Als Abschlußwiderstand 5 kOhm (JP3: Aufgesteckt) für alle ADCs außer ADC4 der Base (die braucht den 10 kOhm, JP5: Aufgesteckt).
An PG5 gibt es einen hohen Gleichspannungsanteil, darüber sitzt der Sync-Impuls und darüber die Bildinfos. Man muss also insb. die Werte für den Sync-Impuls heraufsetzen.
Gruß Dirk
Du musst dich von der Vorstellung eines "Bildes" im Sinne, wie wir es jeden Tag auf dem PC etc. ansehen, verabschieden.Zitat:
Zitat von Martinius11
Es sollen ja nur durch ein paar Punkte, Auswertungen und Relationen zu dem Bild hergestellt werden.
Dein Projekt klang mir nach:
Wir schnappen uns das Proggi und lassen die Daten auf den PC reinkommen und werten diese dann aus.
Grüße
Ich hab nichts davon gesagt das ein Photo oder ähnliches gemacht wird
sondern nur das das Bild in drei Abständen ausgewrtet wird. ADC also weiß
hellgrau grau schwarz
Hi,
also nochmal. Dieses Projekt ist in Phasen unterteilt, also müßte man einzelne Phasen Testen können. Phase1 war klar. Jetzt Phase 2. Wie erkenne ich, wie Prüfe ich das Phase 2 richtig gemacht wurde ?
Trainmen
und nochmal @ radbruch du hast vorher schon beschrieben, das die kammera nur am rp6 funktioniert wenn ein 75R oder ein monitor angeschlossen ist doch bei mir funktionierts auch ohne widerstand und ohne kontrollmonitor
und als ich die phase 2 aufgebaut habe und das videosignal zu it1 weiterhin von der chinch buchse genommen habe funktioniert es nicht mehr woran kann es liegen da in der 2. phase schon der 75 ohm widerstand verbaut ist glaube ich nicht das es daran liegt
oder funktioniert dein testprogramm nicht mehr wenn phase 2 aufgebaut ist
wie schon gesagt ich benutze nicht pg5 zu pg4 sondern pg3 zu pg4
lg
martin
Hallo
Wenn das Signal der Kamera nicht belastet wird, also kein Widerstand oder Monitor vorhanden ist, ist die Spannung etwas höher. Das ist aber nur wichtig, wenn man beim Entwickeln des Programms einen Kontrollmonitor verwendet und diesen dann abstöpselt. Dann sollte man einen Widerstand reinstecken damit die Signalwerte wieder auf dem Level wie mit Monitor liegen.
Zu den einzelnen Phasen und deren Test: Ich habe bisher nur die Kamera mit Cinch-Buchse direkt am PA4. Das ist quasi Phase1. Mehr kann ich deshalb im Moment auch nicht testen. Für die Grundlagenforschung und einfache Anwendungen reicht das eigentlich. Ich warte mal ab ob die weiteren Phasen wirkliche Verbesserungen bringen.
Ab Phase1 kann man auf die Daten der Kamera zugreifen und damit etwas anstellen. Bevor ihr euch in weitere Unkosten stürzt, solltet ihr mal ausprobieren, wie man das macht. In Phase1 ist die Schaltung noch sehr überschaubar, Fehler findet man hier noch leichter als in den späteren Ausbaustufen.
Gruß
mic
@RobbyMartin und andere Tester:
Das Testprogramm von radbruch kann nur mit bestimmten Spannungspegeln des Videosignals funktionieren, die mit einem richtigen Abschlußwiderstand von 75 Ohm ODER einem Monitor mit ähnlichem Innenwiderstand erreicht werden.Zitat:
... und als ich die phase 2 aufgebaut habe und das videosignal zu it1 weiterhin von der chinch buchse genommen habe funktioniert es nicht mehr woran kann es liegen da in der 2. phase schon der 75 ohm widerstand verbaut ist glaube ich nicht das es daran liegt
oder funktioniert dein testprogramm nicht mehr wenn phase 2 aufgebaut ist
Bestimmend sind die Tests auf Bildinhalt und den HSync-Impuls:
while (ADCH > 20); // Bilddaten
while (ADCH < 30); // Sync
Diese Grenzen (>20, <30) bestimmen, in welchem Spannungsbereich der HSync und das Bild erkannt wird.
Dieser Bereich zur Erkennung funktioniert NICHT:
- An PG3: Bei fehlendem oder falschem Abschlußwiderstand von 75 Ohm
- An PG5 generell!
Die Lösung ist einfach: Die Grenzen zur HSync- und Bildinhalts-Erkennung müssen angepaßt werden!
Z.B.: Mit 75 Ohm-Widerstand der Phase 2 + Monitor an PG3 -> Probiert mal 15/25 oder 10/20 ....
PG5: Der Sync-Impuls liegt ÜBER 2V! Damit müssen die Werte stark erhöht werden!! Wegen der Verstärkung x2 sollte auch der Abstand der beiden Grenzwerte auf 20 erhöht werden.
PG6: Funktioniert NICHT mit radbruchs Programm!
Wenn ihr die Phase 2 schon testen wollt, geht das mit radbruchs Programmen NUR an PG3 und PG5. Aber es braucht an PG3 abhängig vom Abschlusswiderstand/Monitor und an PG5 in jedem Fall Software-Anpassungen!
Gruß Dirk
vielen dank dirk
für die verständliche erklärung werde wenn ich zeit habe mal ausprobieren
bis jetzt finde ich das kamera projekt sehr spannend und interessant
lg
martin
@TrainMen:
Ich gebe dir 'mal ein paar Meßwerte (Kamera und Monitor nicht angeschlossen, mit Digitalmultimeter gegen GND gemessen), mit denen du deinen Aufbau testen kannst:Zitat:
Jetzt Phase 2. Wie erkenne ich, wie Prüfe ich das Phase 2 richtig gemacht wurde?
Basis BC 547C: 1,6 V
Emitter BC 547C: 1,0 V
Collector BC 547C (= Basis BC 556B): 4,0 V
Emitter BC 556B: 4,8 V
Collector BC 556B: 1,7 V
Alle Meßwerte sind am Verstärker gemessen, nachdem er mit dem Trimmer auf eine 2-fache Verstärkung (Trimmer ca. 140 Ohm) abgeglichen wurde.
Wenn deine Werte in etwa (+- 0,2 V) so aussehen, ist dein Aufbau ok.
Gruß Dirk
P.S.: Ich habe eh keine Zweifel, dass bei dir alles ok gelötet ist! O:)
nach dem das so ausführlich beschrieben ist werd ich mich auch an den bau wagen jedoch werd ich mich hier bascoms bedienen und einen atmega644 20mhz.
ich hab halt keine andere lösung außer dem lm1881 gefunden oder mit röhren was aber irgendwie dann doch nicht mehr zeit gemäs ist.
ein phasen verschiebung kommt nicht zu stande oder? weil ich auch an schrift einblenden dachte.
@radbruch und dirk ist echt super was ihr hier für zeit investiert und euch gedanken macht.
Hi,
@Dirk
also meine BC547: B 1,6V E 0,9V C 4,0V soweit OK
BC556: E 4,6 V C 1,6 V
wie gesagt bei 140 Ohm, ich muß bis auf 64 Ohm runter um auf 2,2 V an C zu kommen. ja und nun ??
Trainmen
P.S. Sind schon andere soweit ? Messergebnisse ?
hey trainmen
wenn ich den trimmer auf 140r einstelle kommen bei mir überall die richtigen werte (ganz kleine abweichungen) doch wie bei dir sind vom BC556 E und C nicht korrekt E:4,73 C:1,651
ich weiß nicht woran es liegt da poti habe ich im ausgebauten zustand gemessen (ohne fremdbeschaltung)
die schaltung habe ich auch mehrmals berprüft keine lötfehler
wäre ja auch ein großer zufall wenn wir beide den gleichen fehler gemacht hätten
lg
martin
@RobbyMartin
Dein Emitter liegt ja noch in Toleranz von +- 0,2 V nur eben C nicht.
Na jedenfalls sind wir auf den richtigen weg, mal sehen was Dirk dazu schreibt. Hast Du den Trimmer mal verändert um auf die 2,3 V zu kommen ?
Trainmen
ne den trimmer habe ich erstmal auf 140r gelassen bleiben den die anderen werte bei dir gleich wenn du am trimmer drehst oder ist dann der collector korrekt und der rest nicht??
lg
martin
dirk hattest du irentwelche jumper drauf?
ich habe c vom 556 auch nur 1.7V
@RobbyMartin
wenn ich den Trimmer verstelle, ändern sich auch die anderen Werte ein wenig, bleiben aber in Dirks angegebene Toleranz, wie schon oben erwähnt muß ich bis auf 64R runter um auf 2,2V zu kommen.
@Martinius11
die Jumper haben darauf keinen Einfluss
Trainmen
@TrainMen
habe den Trimmer jetzt nachjustiert und jetzt liegen alle Spannungen im Toleranzbereich den Trimmer habe ich jetzt nicht nachgemessen aber er liegt deutlich unter 140R
ich kann mir das zwar nicht erklären warum das so ist weil an Bauteiltoleranzen kann es eigentlich nicht liegen da Metallschichtwiderstände verwendet worden sind und bei drei Leuten das gleiche Problem vorliegt aber Hauptsache alle werte sind Korrekt
lg
martin
vieleicht liegt das problem ja auch bei Dirk
hallo im wiki steht ja schon der bestückungsplan für die dritte phase wie siehts damit aus mitten im bild ist ein grauer kasten was soll dieser heißen??
lg
martin
@Martinius11:
Möglich ... :-#Zitat:
vieleicht liegt das problem ja auch bei Dirk
Ich hab noch mal nachgemessen: 1,6 .. 2,3 V sind ok je nach Trimmerstellung.
Gruß Dirk
ich hab mir jetzt auch alle teile da.
werd die woche mal bauen
der kleine lm1881 so teuer ....
bei conrad steht nur solange der vorat reicht. was ist wenn die alle sind gibt es da schon eine idee?
@Thomas$:
Ja, es gäbe noch den EL4581, der ist pinkompatibel.Zitat:
... bei conrad steht nur solange der vorat reicht. was ist wenn die alle sind gibt es da schon eine idee?
Gruß Dirk
der scheint sogar günstiger zu sein
mir ist gerade aufgefallen der 75R widerstand ist ja nicht mit einem jumper deaktivierbar deshalb wenn man einen kontrollmonitor anschließt und mit den beiden widerständen das programm schreibt kann es doch zu fehlern kommen , da die beiden widerstände parallelgeschaltet sind.
(75*75)/(75+75)=37,5R
lg
martin
Hallo
Ich habe die Schaltung von Dirk nicht überprüft, aber dass der Widerstand schaltbar sein sollte war eigentlich von Anfang an klar:
https://www.roboternetz.de/phpBB2/vi...=493709#493709
Was ich bisher immer noch vermisse sind eure eigenen ersten Anwendungsversuche. Die Hardware aus Phase 1 reicht dazu schon aus. Die weiteren Ausbauphasen bringen nur beim Erfassen der Kameradaten Verbesserungen, auf die Auswertung und Interpertation der Daten haben sie aber keinen positiven Einfluß.
btw: Die einfachere Formel für zwei gleichgroße parallel geschaltete Widerstände lautet:
http://de.wikipedia.org/wiki/Paralle...derst.C3.A4nde
Gruß
mic
ja das mit dem jumperbaren widerstand habe ich gelesen doch im schaltplan ist er leider nicht so deswegen werde ich es wahrscheinlich so umbauen
lg
martin
@RobbyMartin:
Das mit dem Jumper für den 75 Ohm-Widerstand habe ich nicht umgesetzt, weil sich in jedem Fall, also ohne und mit 75 Ohm, ohne und mit Monitor und mit den Kombinationen aus den Möglichkeiten eine jeweils andere Video-Spannung einstellt.Zitat:
ja das mit dem jumperbaren widerstand habe ich gelesen doch im schaltplan ist er leider nicht so deswegen werde ich es wahrscheinlich so umbauen
Auf einen konstanten Video-Pegel ist man nur dann angewiesen, wenn man die Sync-Signale (wie im Programm von radbruch) direkt aus dem Video-Signal entnehmen muss. Insofern macht es wirklich Sinn, den Jumper für den 75 Ohm-Widerstand einzubauen,- das geht auch gut, wenn man ihn z.B. stehend einsetzt. Ich habe das in die Beschreibung der Phase 2 als Option aufgenommen!
Wirklich sinnvoll ist dieser Jumper aber vor allem für die von euch, die ab der 1. oder 2. Phase nicht mehr weiter mitmachen wollen.
Ziel dieses Projekts ist es ab Phase 3, die Sync-Signale vom Sync-Separator zu beziehen und das Video-Signal (d.h. nur den Zeileninhalt!) selbst vom 2-fach Verstärker mit Klemme zu nehmen. Dann ist der Eingangs-Videopegel egal, weil die Auswertung davon kaum abhängt.
@radbruch:
Beim Erfassen des Video-Signals gibt es sicher Verbesserungen gegenüber dem direkten Anschluß einer Kamera. Die Auswertung dürfte mit den separaten Sync-Signalen anders, d.h. z.B. interruptgesteuert, und zuverlässiger möglich sein. Das würde ich als positiv sehen.Zitat:
Die weiteren Ausbauphasen bringen nur beim Erfassen der Kameradaten Verbesserungen, auf die Auswertung und Interpertation der Daten haben sie aber keinen positiven Einfluß.
Die Interpretation der Daten, z.B. zur Navigation, ist natürlich nicht von einem Hardware-Aufbau direkt abhängig (allerdings erleichtern zuverlässigere Daten auch die Interpretation ...). Im Wesentlichen geht es mir aber um den Spaß bei der Sache!
Gruß Dirk
@ Dirk
du hat im Wiki diese Fragestellung gestellt
"Wie kann ein "Graukeil" auf dem Terminal aussehen?"
Wenn man ein Bild mit z.B. 16 Graustufen mit dem vorhandenen Zeichensatz darstellen will, muss man 16 Zeichen definieren, die die "Graustufen" wiedergeben. Was klar ist: Das Leerzeichen ist Schwarz. Ein sehr dunkler Bildpunkt ist z.B. der Punkt selbst ... und welches Zeichen ist das hellste?
Wer schreibt ein Programm, das einen "Graukeil" auf dem Terminal ausgibt? "
was stellst du dir darunter den vor das man im terminal das bild erkennt oder anhand von zahlen die graustufen auslesen kann??
lg
martin
Hallo
Zeichen mit unterschiedlicher Helligkeit habe ich schon mal gesucht.
Hier ein Bild mit sechs "Graustufen":
Bild hier
(Aus https://www.roboternetz.de/phpBB2/ze...=421130#421130)
Diese Zeichen hatte ich gewählt:
uint8_t graustufen[6]={32, 184, 216, 120, 165, 35}; // " ·×x¤#"
Gruß
mic