mein Vorschlag, wir ändern das Thema und bauen auch so einen Vogel. :-)
Druckbare Version
mein Vorschlag, wir ändern das Thema und bauen auch so einen Vogel. :-)
Danke!Zitat:
Hallo Hans, willkommen im Forum! :-)
Bei der Genauigkeit und Temperaturstabilität der CPU-Taktfrequenz möchte ich einfach sicher sein, dass es passt.
Ein Kopter soll bei -10°C genauso zuverlässig fliegen wie bei 30°C. Das kann m.E. ein interner Taktgenerator gar nicht leisten, da hilft auch DFLL wenig, wenn man keine externe Referenz vorsieht.
Vorher sollte man die Errata zwei Mal lesen, ob es überhaupt funktionieren kann. Hier gibt es einen Hinweis zur Genauigkeit.
Wäre halt schön, wenn für einen Quarz Platz wäre, es darf natürlich auch SMD sein.
Hans
Ok, überzeugt.
Bernd, du liest mit, nehme ich an? :-)
ja, ich lese mit.
Ich bin gerade am Layout. Ich habe auch noch zwei 1k Widerstände für I²C eingebaut. Wichtig finde ich zu klären:
wollen wir möglichst klein bleiben oder möglichst viele Anschlüsse ermöglichen?
Welche Anschlüsse liegen eigendlich fest und wo kann man Ports noch tauschen, z.B. weil sie sich dann besser verdrahten lassen.
Also meine Wunschliste sieht folgender Maßen aus:
- So klein wie es geht, ohne dass es einem beim Entflechten die Tränen in die Augen treibt
- Mindestens 6 PWM-Ausgänge mit je einem 1,27 mm pitch Stecker für die ESCs
- Der 6polige Stecker für die sNQ-Empfänger
- Stecker für Satellite-Empfänger für Willa
- Stecker für GUI-Comm
- I²C-Anschluss (Stecker) für Leute mit Konverter und keiner Lust, die für den ersten Test rauszuschmeißen ;)
Dieser Anschluss auf einem eigenen I²C-Port. Den MPU-60x0 wollen wir nicht stören- 5 LED-Ausgänge (3 für Statusanzeigen wie bei Willas Original-GUIDE, 2 für Positionslichter
- jetzt gerade gelernt: externer Quarz (SMD, Formfaktor wie bei sNQ, gibt´s bei Reichelt)
- auch neu gelernt: Externe Analogreferenz für Akkuüberwachung
- Akkuanschluss wahlweise 2-, 3- oder 4-polig
- Resettaster
- wenn möglich einseitig entflochten
Ich hoffe, ich habe nichts vergessen.
Festgelegt sind eigentlich nur die beiden Hardware-I²C- und die beiden Seriell-Ports, der Rest kann wahlfrei vertauscht werden, wenn das ein günstigeres Layout ergibt. So war jedenfall mein Plan.
Ah, die PWM-Ausgänge liegen ebenfalls auf dedizierten Pins, diese aber wieder wahlfrei den einzelnen Motoren zuzuordnen.
... und das Programmier-Interface (PDI, also Reset und Pin 34) ist fest vorgegeben.
Dann noch die Analog-Referenz auf AREF (Pin 40).
Bei Größe fällt mir noch ein, dass Willa 32 x 42 mm in den Ring geworfen hat (das ist die größere Dimension in meinem "Layout"), damit die Platine in seinen Bolt passt. Das gehört als Punkt oben dazu.
Falls differentiell gemessen werden soll, es könnte ja passieren, dass die Erkenntnis, das zu tun, erst später einsetzt - dann muss GND an PIN1 vom PORTA. Dass sollte dann durch eine Lötbrücke oder Jumper möglich sein. Aber besser nichts anderes wie LEDs oder so, an dieser Stelle vorsehen.Zitat:
Dann noch die Analog-Referenz auf AREF (Pin 40)
Zweimal I2C bedeutet, dass die Motoren dann an PORTD kommen, 6x HW-PWM heißt, dass 2 Timer draufgehen. Der A4 ist schon ein wenig eng an dieser Stelle.
Hans
Hallo Hans,
hast du vielleicht schon die Eagle-Bibliothek für dem LM4040 erstellt oder "gefunden"?
Falls nicht, muss ich den Chip halt selbst erstellen, aber das muss ja nicht unbedingt sein... :cool: :)
[edit]
Bernd war so nett seine Lib zu schicken, keine Aktivität mehr notwendig. Danke Bernd!
Hi,
da bin ich wieder, war snowboarden. Schön, hier geht es ja richtig voran. Ich würde Haralds Anforderungsliste erweitern um:
* Teile sollten beschaffbar und verfügbar sein.
* So klein und einfach (Anzahl Bauteile) wie möglich, notfalls doppelseitiges Layout...?
Die Platinengröße 32x42mm wäre das absolute Maximum was in den Bolt passen würde. Eine gute Größe wäre 26x36mm wenn irgendwie machbar.
I²C-Konverter können gerne wegfallen wenn eine mindestens 90%ige Chance besteht, dass die Hardwaretimer 6 PWMs mit ca. 500 Hz erzeugen können. Das kann ich mangels Erfahrung aber selber nicht Einschätzen. Für einen Spektrum-Satelliten bräuchte man eigentlich auch noch einen eigenen Timer, um die Datenpakete des Empfängers sicher zu synchronisieren.
Ich bin mir relativ sicher, dass die ESCs mit 3.3V Signalen versorgt werden können. Das sind doch auch nur atmels, und 3.3V sind glaube ich weit genug weg von der Schwelle die als High erkannt wird.
Warum man die externe Spannungsreferenz braucht habe ich noch nicht ganz verstanden... Kann man nicht einfach die interne 1V Referenz nehmen...? Die Spannungsmessung des Akkus erfordert ja nun nicht unbedingt eine sonderlich hohe Präzision. Die Notwendigkeit eines Quarzes verstehe ich ebenfalls noch nicht. Wegen der Temperaturstabilität? Nur mal kurz vorschnell in den Raum geworfen: Angenommen, alle anderen Komponenten (Spektrum Empfänger, ESCs etc.) hätten selber auch keinen Quarz, wäre es dann nicht besser wenn die Taktfrequenz aller Teile ansatzweise gleich schwankt?
Auf jeden Fall bin ich auch an Platinen, µCs und IMUs interessiert falls noch Mitbesteller gesucht werden!
Hi,
mit einem ATXMega64A3 kannst du 20(!!!) Hardware PWMs mit 500Hz gleichzeitig ausgeben ;) ich denke, das genügt für die meisten Anwendungen :D
Wenn man einen PWM-Channel weglässt (also 4 PWMs weniger), hat man einen Timer frei, mit dem man den Spektrum-Satelliten synchronisieren kann.
Für die ADC Referenz könnte man auch einfach eine 10µH Ferritspule (0805) benutzen, so mache ich das. Wenn man diese an AREFA anschließt, kann man die Referenz auch für ADCB verwenden. Noch einen 100n Kerko dazu und fertig ist eine akzeptable Referenzsspannung, welche so auch von ATMEL vorgeschlagen wird. Somit kann man sich den extra Spannungsregler sparen.
bzgl. Quarz: Ich denke nicht, dass die Schwankungen des internen Quarzes soooo groß sind, zumindest hatte ich bis jetzt damit noch keine Probleme. Selbst bei einem Temp. Unterschied von 25°C funktionierte die serielle UART Übertragung bei mir noch fehlerfrei (115200 Baud).
Gruß
Chris