Natürlich, der Anwendungsradius ist riesig. Bei Baggern würden ja theoretisch nur zwei Servo-Signale für die beiden Motorregler bzw. ein Regler und ein Servo, ausreichen, da die Steuerung im Oberwagen sitzt. Beim Mobilkran sitzt diese höchst wahrscheinlich im Unterwagen. Also müssen hier deutlich mehr Servo- und auch Licht-Signale übertragen werden. Das wird schon ganz kniffelig.
Aber sicherlich gibt es noch eine Möglichkeit, die Servo-Signale sauber auszulesen. Wenn das klappt, stehen der Übertragung größerer Datenmengen keine Hindernisse im Weg.
Was ich noch vergessen habe: Eine weitere Herausforderung wird nun auch die Speicheranpassung sein. Wie schon zuvor geschrieben wurde, werden ja prinzipiell nur 10 Bit benötigt, momentan aber pro Kanal 16 Bit übertragen. Hierfür muss ich noch etwas Bitschieberei betreiben, da ich gerne das Senden in universale Unterfunktionen stecken möchte.
Ich habe in der Zwischenzeit auch mal angefangen, mich dem Thema Industrielle Fertigung anzunehmen. Da ich bis jetzt noch null Erfahrung im Design von Kleinstplatinen habe, seht mir bitte nach, wenn die Platinen noch nicht 100%-ig fertigungstauglich sind. Es wäre toll, wenn ihr mir eure Erfahrungen erklären könntet. Ich arbeite wie viele von euch wahrscheinlich auch, mit EAGLE. Hier interessieren mich vor allem Rastereinstellungen, Via-Maße und Anschlusspad-Größen.
Die linke Platine verwendet den ATmega88/168/328 im TQFP32-Package. Sie hat außerdem die Möglichkeit, mit einem externen Quarz die CPU-Frequenz zu erhöhen.
Die rechte Platine verwendet entsprechend ein MLF32-Package. Bei deutlich mehr Pins im Vergleich zum ATtiny84 bietet sie auch Platzersparnis. Der Widerstand auf dem Bottom-Layer ist eigentlich nicht nötig, er zieht den Reset-Pin auf Vcc. Im Prinzip kann man diesen Pin auch unbeschaltet lassen (über die Fuses), dadurch ist er aber auch nicht mehr als IO-Pin verfügbar.
Zitat von SteffKe im Beitrag #62...dadurch ist er aber auch nicht mehr als IO-Pin verfügbar.
Hallo Steffen,
genau das Gegenteil ist der Fall. Wenn Du den Reset-Pin über die Fuses abschaltest, hast Du einen I/O-Pin mehr. Der Prozessor lässt sich dann allerdings nur noch über den High-Voltage mode programmieren.
Zitat von SteffKe im Beitrag #64... Natürlich wird der Reset-Pin dann zu einem IO...
Gruß Steffen
Das wollen wir aber nicht, da wir uns die Möglichkeit der Updates nicht vorenthalten wollen. Der Widerstand für den Reset-Pin muss aber auch nicht auf der Platine sein. Der kann auch auf einem externen Programmieradapter platziert werden. Den braucht man dann sowieso, da eine optionale Schnittstelle am Fahrzeug sicher nicht dem üblichen 6poligen Standard für die ISP entspricht.
Die linke Platine verwendet den ATmega88/168/328 im TQFP32-Package.
Ohne mich jetzt mit der Erstellung von Platinenlayouts auszukennen, aber wäre auf der linken Platine in den Ecken auf der Seite, auf welcher der ATmega aufgelötet wird, nicht noch Paltz für den Widerstand (sofern man ihn dort braucht /möchte) und den Quarz?
Somit könntest Du eine einseitig bestückbare Platine erstellen.
Bei der rechten Platine müsste das auch klappen, wenn Du die drei unteren Anschlusspads am rechten sowie die zwei rechten am unteren Rand weiter zu den restlichen verschiebst.
ich würde da noch Endstörkondensatoren von 100nF zwischen die VCC und GND Anschlüsse setzen. Zudem müssen an das Quarz noch zwei 22pF Pufferkondensatoren und, wie oben schon erwähnt, ein 10k Ohm Widerstand an den Reset-Pin gegen VCC, damit der Mikrocontroller nicht in einem Dauerreset landet. Der AREF-Pin des Mega328 sollte zudem auch noch mit einem 100nF Kondensator nach GND ausgestattet werden.
wow, das klingt doch super. Ich hatte vormals das für mich komische Problem bei meiner Lichtplatine für mein HLF: ein 100nF-Kondensator hat die Platine irgendwie immer abgeschossen. Kondensator weg und es hat funktioniert...
@Sebastian Ich habe das deswegen 45° gedreht, da die Pads des Controllers ja kleiner sind als die der Anschlüsse. Ich probiere es aber mal, auf die 90°-Variante umzusteigen.
@Sven Wenn dann alles auf der Oberfläche landet, wäre es ja optimal mit Ätzen :) Habe bis jetzt noch keine so feine Platine selbstgeätzt gesehen, wie kommen da die feinen Lötbahnen raus?
@Hendrik Werde ich einfügen. Hat zwar bis jetzt bei den anderen Platinen keinen Unterschied gemacht, aber es schadet sicherlich nicht.
Zusammenfassend bleibt also:
- Reset-Pin mit 10k auf Vcc - 100nF zwischen Vcc und Gnd - Wenn Quarz, dann mit den 22pF; Nebenbei: Gibt es nicht die Quarze mit drei Anschlüssen, bei denen schon interne Kondensatoren verbaut sind? Wenn ja: Layout in Eagle/Bezugsquelle Reichelt? - AREF-Pin 100nF mit 100nF Gnd
also die Entstörkondensatoren können schon hilfreich für den Mikrocontroller sein. Sie schützen ihn vor schnellen Spannungsspitzen der Versorgungsspannung.
Zum Thema Quarze:
Ich habe schon öfters dieses hier von Reichelt verwendet:
Für das TQFP-Gehäuse sind Leiterbahnen der Größe 0,4064mm (16mil) ausreichend. Als Raster bei Eagle wähle ich immer ein Vielfaches von 2,54mm (100mil), da die meisten Pinabstände der Bauteile darauf angepasst sind. So beispielsweise Stiftleisten. So wäre zum Beispiel ein Raster von 0,15875mm (6,25mil) schon sehr fein. Da musst du aber selbst schauen, wie speziell du die Bauteile auf deinem Board anordnen möchtest. Sobald ich persönlich ein Bauteil optimal anordnen möchte und jeden noch so kleinen Millimeter herausquetschen will, wähle ich ein möglichst kleines Raster, damit die Bauteile optimal platziert werden können.