Hallo, zusammen mit meinem Bruder entwickeln wir derzeit einen Schachcomputer aus Holz. Ursprünglich als "kleines" Projekt ist daraus ein "Riesen"-Projekt geworden, denn es sah am Anfang alles recht einfach aus. Ich für meinen Teil bin für die Planung, Elektronik und Programmierung zuständig, mein Bruder für das Gehäuse in Sachen Holz. Die Entwicklung läuft seit ca. 6 Monaten. Auch wenn das Projekt einen kommerziellen Gedanken verfolgt, stellen wir das ganze Projekt open source, sprich die Baupläne als auch der Quelltext der Software wird als open source zur Verfügung gestellt: https://github.com/Arakis/TamaniChess Jede Menge Fotos gibt es hier: https://drive.google.com/folderview?id=0B_A2gK_LY7NyR0ttTGtDRTJfcDA&usp=sharing Auch zu erwähen ist, dass ich in Sachen Elektronik praktisch bei Null angefangen bin, ebenso Ausrüstungsmäßig. Bei vielen Fragen hat mir dieses Forum sehr geholfen, das meiste konnte per Suchfunktion gelöst werden. Das ganze befindet sich natürlich noch im Prototypen-Stadium. Dennoch, es scheint das Projekt könnte bald fertig sein. Da ich die PCB-Platinen (unbestückt) anfertigen lassen werde, und ein "Fehler" ziemlich teuer werden kann, fänd ich es prima, wenn jemand mal "drüber schauen" könnte. Das ist natürlich leichter gesagt als getan, aber ich versuche das ganze so gut wie möglich zu erklären. Die Figuren werden per Magnet und Reed-Schalter erkannt (natürlich nur, ob dort eine Figur steht oder nicht). Das "Sensorbrett" enthält 64 Reed-Schalter und 81 LED's, wovon die 4 in den äußersten Ecken "blinken" während des "Boot-Vorgangs" von Linux. Der Blink-Mechanismus ist ein einfacher Blinkerschalter, welcher per NAND-IC deaktiviert wird, sobald die Schachsoftware gestartet ist. Das Sensorbrett (welches im Prinzip an ICs nur Parallel-to-Serial und Serial-to-Parallel-Ic's enthält), ist an einem Raspberry-Pi angeschlossen, ein 700 Mhz schneller Mini-Computer mit 512 MB RAM. Dazwischen befindet sich die "Support"-Platine, an der auch das OLED-Display angeschlossen ist. Letzteres wird per Software-SPI angesteuert. Die Display-Platine ist so aufgebaut, sollte das OLED-Display nicht mehr lieferbar sein und ein anderes Display verwendet werden muss, so muss einfach nur diese "kleine" Platine angepasst werden. Aufgaben der Display-Platine: 3.3V zu 2.8V Level-Shifter, 12V Stromversorgung, Ein- und Ausschalten des Displays. Die Support-Platine enthält "verschiedenen" Krams, wie Spannungsversorung, Kurzschluss- Überspannungs- und Verpolungsschutz, Blinker-Schaltung und Extra-IOs. Dinge, die mir so aufgefallen sind und wo ich denke, dass man sie erwähnt / drüber diskutiert: - Ich habs absolut nicht hinbekommen auf der Display-Platine 3.3V zu 2.8V per Spannungsteiler zu reduzieren. Habe es stundenlang ausprobiert. Was aber auf Anieb funktionierte und sich als absolut funktionierend herausgestellt hat: Einfach einen 3.9 Ohm Wiederstand in Reihe schalten. Ich denke mal das klappt auch nur deshalb, weil die das Display ständig den gleichen Strom verbraucht. (2.8V --> IC-Logik-Pegel, die OLEDs werden per 12V angesteuert). Der IC ist sehr empfindlich: Es sind zwar 3.3V max. erlaubt, doch dann wird er arg heiß. 2.8V sind empfolen. Bei 2.6V und niedriger streikt er. - Routen sind (derzeit) per Autorouting gemacht. Optik ist mir egal, aber ich denke mal die Masseführung dadurch recht "unschön". - Die Platinen werden hinterher beidseitig mit Masseflächen überzogen. Oder sollte man sie nur einseitig machen? - 3.3V, 5V und GND vom Mini-Computer sind mit dem 3.3V, 5V und GND-Netz der Support-Platine verbunden. Ich darf nicht alles vom Computer nehmen, da dieser max. 300 mA liefern kann/darf, die Sensorplatine aber mal locker 1A fressen (könnte, wenn "alles" leuchtet). Also habe ich mein eigenen 3.3V Linearspannungsregler. - Müssen diese Netzte zusammen sein? Müssen sie getrennt sein oder sollten sie getrennt sein? Wie ist es, wenn ein 3.3V Output-Pin mit dem GND der Sensorplatine verbunden ist (wenn alles getrennt wäre), dann würden diese erst am "Stecker" der Stromverbindung "zusammenfinden". Reicht das oder führt dies zu Problemen? Vom IC-Design wäre es denke ich mal kaum möglich, die GND's komplett zu trennen. - Ursprünglich war der Plan so: Hauptstromversorgung (5V) an die Support-Platine, und der Raspberry ist dann an der Support-Platine angeschlossen. Leider flimmert dabei der Bildschirm, wenn ich die Sensorplatine abfrage. (Es kommt aber interessanterweise zu keinen Übertragungsfelern beim Bildschirm, könnte aber daran liegen, dass ich sie Datenkanäle(Sensorplatine/Display) niemals gleichzeitig anspreche). Schließe ich jedoch die 5V-Versorgung an einem "Steckbrett" an und verbinde beides "separat" mit jeweils der Support-Platine und dem Mini-Computer, so gibt es keine Störungen. Das Display hat also ein Problem damit, wenn der Mini-Computer sein Saft von der support-Platine bezieht. Die Strom-Eingang und Ausgang liegen sich überigens fast gegenüber, ist das schon der Grund? - Die Kondensatoren sind im Datenblatt denke ich mal korrekt angebracht, aber ich denke mal, man darf diese nicht "irgendwo" auf der Platine platzieren. Der Autorouter wird schätzungsweise die Leitungen "irgendwie" verlegen (auch wenn die Bauteile am optimalen Ort positioniert wurden), so dass die Kondensatoren kaum noch einen nutzten haben. Kurz gefragt: Sind die Kondensatoren, wie sie angebracht sind, eigentlich derzeit "nutzlos"? - Die Leitung SCR-LIGHT-ON ist eine heikle Leitung, aktiviert die 12V Stromversorung. Das Display hat eine spezielle Power-Up und Power-Down Sequenz, ansonsten könnte es schnell kaputt gehen (laut Datenblatt). Startet meine Software, weiß sie jedoch nicht mit 100%er Wahrscheinlichkeit, ob beim 4021-IC SCR-LIGHT-ON nun aktiv ist oder nicht. Deshalb leite ich sicherhaltshalter immer erst die Power-Down-Sequence ein, um danach die Power-Up-Sequence einzuleiten. Um mir das (gerade beim vielen Debugging) zu sparen, würde ich gerne SCR-LIGHT-ON zusätzlich mit dem 595'er verbinden, um den Zustand einzulesen. Ist a) dann noch genug Saft für den Transistor auf der Display-Platne da (davon gehe ich aus), und b) ist garantiert, dass der 595'er nicht versehentlich irgendwie einen Reverse-Strom an der Basis verursacht bzw. es zu einem komischen Verhalten kommt? Im Prinzip muss ich halt nur feststellen, ob SCR-LIGHT-ON auf "High" ist, ohne jedoch den eigentlich Client (Der Q2-Transistor auf der Display-Platine) "komische Sachen" macht. Im angehangen PCB-Design des Sensorbretts verwende ich ausschließlich TPIC6C596 (anstatt der 595'er), doch in der Praxis nutze ich gerade ein Sensorbrett mit 595'ern, weil ich die Platine noch nicht neu anfertigen lassen habe. (Leider nicht PIN-Kompatibel) Deshalb kommt auf die Support-Platine hinterher noch ein 3.3V zu 5V Level-Shifter drauf. (Der Mini-Computer liefern seine IO's in 3.3V, der TPIC6C596 möchte aber 5V). Den TPIC6C596 muss ich nutzen, weil der 595 zu wenig Strom liefert, um mind. 4 LEDS stark genug zum leuchten zu bringen (20 mA je LED). PS: Ich weiß, das Schematic ist "gewöhnungsbedürftig" gezeichnet :) Lieben Gruß, Sebastian
Hallo, super Projekt!!! Man sieht förmlich die Arbeit, die darin steckt! Kannst Du noch etwas zum verwendeten Schachprogramm/-engine schreiben?
Daniel C. schrieb: > Kannst Du noch etwas zum verwendeten Schachprogramm/-engine schreiben? Ich nutze die Engine "Stockfish", das ist die stärkste open soruce engine der Welt. Zwar kann man den Schwierigkeitsgrad stark reduzieren, sie ist dann aber immer noch recht gut. Ich muss mal ausklügeln, wie man die noch schwächer bekommt. Ggf. muss ich noch eine andere (schwächere) Engine "initial" ausliefern. Weitere Engine sind nämlich geplant, aber werden per Software update nachgereicht. Die Steuersoftware selbst ist in C# geschrieben: https://github.com/Arakis/TamaniChess/tree/master/src/chess.application Man muss auch gewinnen können, sonst macht es keinen Spaß. Daniel C. schrieb: > super Projekt!!! Man sieht förmlich die Arbeit, die darin steckt! Danke! Lieben Gruß, Sebastian
Schönes Projekt. Wollt ihr das wirklich irgendwann mal in Stückzahlen verkaufen? Das wird schwierig, weil es von der Fertigung her ziemlich aufwendig aussieht und ich kann mir nicht vorstellen, das es so viele Leute gibt, die entsprechend viel Geld dafür bezahlen würden. Aber als Hobbyprojekt ist das wirklich sehr schön.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.