PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hauptplatine für Robocup Roboter



robo junior
01.01.2007, 23:30
Guten Abend

Ich bin momentan dabei einen Roboter für den Robocup Wettbewerb (Kategorie Junior 1vs1) zu bauen.
Fahrwerk (Omnidirektional mit 3 Motoren) ist auch soweit fertig. Bei der Elektronik hab ich jetzt allerdings ein paar Fragen.
Ich möchte gerne das RN-Mega2560 Modul zur Steuerung einsetzen und dafür eine Hauptplatine herstellen, die die Verbindung zwischen dem Controller und den Sensoren/Motoren herstellt.
Ich habe jetzt mal in Eagle einen Schaltplan erstellt. Dabei habe ich folgende Probleme:

1. Für die Stromversorgung habe ich zwei Spannungswandler (78xx) eingesetzt (5V für Controller und Sensoren und 12V für die Motoren). Welche Kondensatoren sollte ich hierbei verwenden? (ich habe jetzt bei dem 5V Wandler die Kondensatoren wie auf dem RN-Testboard übernommen, aber sind 1000uF nicht ein bisschen viel?)

2. Motorenansteuerung. Ich habe 2 L293D für die 3 benötigten Motoren angeschlossen. (so wie es im Wikiartikel Getriebemotoren ansteuern beschrieben ist). Muss ich hier noch irgendetwas an der Ansteuerung ändern? (Schutzdioden, etc?)

3. I²C Verbindung: Ich möchte insgesamt 3 Sensoren (2xUltraschall und 1xKompass) anschließen. Kann man die 3 Anschlüsse einfach "parallel" schalten wie ich es gemacht habe oder muss man das anders anschließen?

4. Ich habe rund um den Roboter 10 Infrarotsensoren angeordnet (SFH313FA) Diese möchte ich am ADC "auslesen" können. Wie soll ich sie am besten anschließen? Die momentane Beschaltung stammt aus dem Anschlussbeispiel eines CNY70 Sensors an den Controller aus dem Wissensbereich. Ich weiß allerdings nicht ob das mit den Fototransistoren auch so geht.

pu, ich glaub das war's. Ich bin für jeden Tip und Hinweis dankbar. Ich möchte mir die Platine nämlich ätzen lassen (Conrad oder so) und dann sollte sie schon lauffähig sein.

Im Anhang ist dann mal noch der Schaltplan.
schon mal Danke

robo junior

Jon
02.01.2007, 08:10
1. Für die Stromversorgung habe ich zwei Spannungswandler (78xx) eingesetzt (5V für Controller und Sensoren und 12V für die Motoren). Welche Kondensatoren sollte ich hierbei verwenden? (ich habe jetzt bei dem 5V Wandler die Kondensatoren wie auf dem RN-Testboard übernommen, aber sind 1000uF nicht ein bisschen viel?)
1000µF sind OK. Vorallem, wenn du etwas mehr Strom ziehst.


2. Motorenansteuerung. Ich habe 2 L293D für die 3 benötigten Motoren angeschlossen. (so wie es im Wikiartikel Getriebemotoren ansteuern beschrieben ist). Muss ich hier noch irgendetwas an der Ansteuerung ändern? (Schutzdioden, etc?)
Eventuell noch zw. +5V und GND einen 100nF Kondensator.


3. I²C Verbindung: Ich möchte insgesamt 3 Sensoren (2xUltraschall und 1xKompass) anschließen. Kann man die 3 Anschlüsse einfach "parallel" schalten wie ich es gemacht habe oder muss man das anders anschließen?
SDL kommt an eine Leitung und SDA an eine. Mehr musst du nicht beachten. Sie Pull-Up Widerstände sind, soweit ich weiß, schon auf dem Board.


So hier ist dann mal noch der Schaltplan.
Wo??? Ich sehe da keinen Schaltplan.

jon

robo junior
02.01.2007, 10:09
Hallo

wo soll ich denn bei den L293D Reglern zwischen Ground und 5V einen Kondensator schalten? Oder meinst du zwischen Ground und 12V?

Soll ich bei dem 2. Spannungsregler (12V) dann auch dieselben Kondensatoren benutzen wie beim ersten (5V)? Vor allem, weil an 12V ja erheblich mehr Strom gezogen wird (Motoren) als an dem 5V Regler (Microcontroller)

Jon
02.01.2007, 10:24
wo soll ich denn bei den L293D Reglern zwischen Ground und 5V einen Kondensator schalten? Oder meinst du zwischen Ground und 12V?
zw. 5Volt und GND.


Soll ich bei dem 2. Spannungsregler (12V) dann auch dieselben Kondensatoren benutzen wie beim ersten (5V)? Vor allem, weil an 12V ja erheblich mehr Strom gezogen wird (Motoren) als an dem 5V Regler (Microcontroller)
Da kannst du auch die Selben Kondensatoren nehmen, nur müssen die Kondensatoren 12Volt aushalten können.

jon

Jon
02.01.2007, 10:32
Ich habe noch einen Fehler im Schaltplan gefunden :)
Du schließt an VCC der beiden L293Ds 12Volt an. Das müssen 5Volt sein. Sonst würden die ICs schnell den Geist aufgeben.

jon

robo junior
02.01.2007, 10:47
Ok stimmt.
Ich hab mir jetzt mal grad das Datenblatt nochmal genau angeschaut. An Pin10 ist beim L293D "Supply Voltage" (max. 36V) an Pin20 ist allerdings "Logic Supply Voltage" (zwar auch bis max. 36V aber ich schätze mal, dass ich das dann auch auf die 5V vom Controller legen muss).

Den Kondensator hab ich jetzt mal eingebaut. So sieht dann der Schaltplan aus: (Anhang)

Jon
02.01.2007, 10:51
Wie viel Volt habe neigentlich deine Akkus?
Ich frage, weil du einen 7812T verwendest und da brauchst du mindestens eine Akkuspannung von, sagen wir mal, 14Volt.

jon

robo junior
02.01.2007, 11:01
Also ich werd 10 NiCd Zellen benutzen. Den Spannungsregler (12V) wollte ich eigentlich benutzen um die Akkuspannung immer (so lang das möglich ist) auf konstant 12V zu halten, damit die Motoren am Anfang nicht schneller laufen als am Ende (Spannungs der NiCd Zellen ist ja am Anfang deutlich höher als 12 V). Wenn der 7812 allerdings erst ab 14V richtig regelt bringt das natürlich nichts, dann kann ich ihn eigentlich weglassen.

So sieht dann der Schaltplan aus: (Anhang)

Jon
02.01.2007, 12:46
Ich würde noch vor die LEDs je einen 1KOhm Widerstand setzten. Sonst wird der µC doch sehr warm oder raucht ab. Wäre unpraktisch ;)

kom

linux_80
02.01.2007, 13:03
Vorwiderstand ist immer gut,
damit der µC nicht rauchen tut ;-)

Die grösse hängt aber von der LED ab,
das wurde hier mal vorgerechnet:
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=235471#235471

robo junior
02.01.2007, 13:16
ups, stimmt Vorwiederstände an den LEDs hab ich total vergessen. Ich hab jetzt 150Ohm davor gemacht (LED Spannung: 2,25V Strom: 20mA R=2,75/0,02 stimmt so oder?)

Hat jemand noch eine Idee wie ich die Fototransistoren richtig anschließen muss? (10 Stück, die an der Steckerleiste "Infrarotsensoren" angeschlossen werden)

Jon
02.01.2007, 13:24
Ich würde die Anode (abgerundete Seite) an +5Volt schließen und die Kathode an den ADC.
AREF über einen 100nF Kondensator an GND und AVCC an 5Volt.

jon

linux_80
02.01.2007, 14:05
Meine Vorschläge/Gedanken: ;-)

An die I2C-Leitungen noch jeweils einen Pullup (5k - 10k),
Die Belegung der I2C-Buchse nach einem Standard machen, denn wenn Du mal etwas fremdes anstecken willst, musst immer umlöten,
ich mach das immer nach dem RN-Standard (wird nicht nur bei RN verwendet), im Wiki:
https://www.roboternetz.de/wissen/index.php/RN-Definitionen
Die Spannungen per Jumper zum deaktivieren.

Die Pullups bei den ADC-Eingängen sind auch nicht Grundsätzlich von Vorteil, denn nicht alle Sensoren brauchen das, zur Not kann man noch den internen per Software aktivieren.

Hab mir mal den Plan vom RN-Mega2560 angeschaut, da ist an AREF schon ein Kondensator dran, auch die Spule zum AVCC, dann braucht man hier nix mehr extern zu machen.
Auch an jedem Vcc ist schon ein Kondensator dran.
Bei Reset nur ein Schalter, passt auch.

Da Du noch ADC-Eingänge frei hast, kannst Du per Spannungsteiler die Batteriespannung auf einen legen, um diese zu kontrollieren.

Aja, zu den LEDs, wenn eine 20mA hat, sind das bei den 4 schon 80mA, must mal den Gesamtverbrauch anschauen, evtl. doch andere LEDs verwenden mit 2mA !

Bei Deiner Beschriftung steht "Mega2660Modul", da hat sich wohl schon der Frank verschrieben :-k

robo junior
02.01.2007, 14:48
ok schon mal danke für deine Vorschläge. Hab jetzt mal versucht sie umzusetzen.
Also Pullup an den I2C Leitungen hab ich.
Meine I2C Buchsen sind doch nach dem RN-Standard (um 180° gedreht) oder nicht? Spannung kann jetzt per Jumper deaktiviert werden.
Pullups bei den Sensoren sind jetzt alle weg.
Spannungsteiler für die Batteriespannung zu überwachen ist drin (Verhältnis 2:5) Kann ich das so machen, wie es auf dem Schaltplan eingezeichnet ist?

anstelle der normalen LEDs nehme ich dann LOW-Current (2mA, 1,8V Wiederstände hab ich angepasst)

Die Beschriftung war schon in der Lib so gewesen gemeint ist natürlich das 2560Modul

linux_80
02.01.2007, 17:07
Das mit der I2C-Buchse hab ich nicht so 100%ig verglichen, da ist auch alles so eng beieinander ;-)
aber passt dann schon so.

Mit dem Spannungsteiler haut das vom Prinzip auch so hin, mit den Werten evtl. mal nachrechnen, dass mit der max. möglichen Spannung sicher unter 5V (oder was Du als Referenz nimmst) erreicht wird, und nicht zuviel Strom verbraten wird (hier bis zu 2mA bei 14V), evtl. grössere Werte nehmen.

Hier gibts ein Tool um diese Werte auszurechnen:
https://www.roboternetz.de/phpBB2/dload.php?action=file&file_id=169

robo junior
02.01.2007, 17:46
So ich hab jetzt als Wiederstände 10k und 4,7k gewählt. Damit bin ich auf jeden Fall unter 5V.
Muss ich die Referenzspannung (5V) für den ADC noch extern anschließen (AREF?) oder nimmt der automatisch die Versorgungsspannung (5V) ?

Dann hab ich mal noch eine Frage zu Eagle. Ich wollte das ganze jetzt als Board herstellen. Wenn ich aber auf "zum Board wechseln" gehe wird angezeigt, dass Board und Schaltplan nicht konsistent sind. Ich kann aber auch nichts an meinem Board ändern (es kommt immer eine Fehlermeldung, dass der Vorgang in der Light Edition nicht möglich wäre.) Ist das Board einfach nur zu groß um es mit der Light Edition weiter zu bearbeiten?
Wenn das der Fall sein sollte, könnte mir jemand den Schaltplan in ein Board "umsetzen"? Oder ist das sehr viel Arbeit? (ich kenn mich mit Eagle auch nicht so gut aus, und weiß nicht ob es da eine Art Autofunktion zum anordnen der Bauteile und Leiterbahnen gibt, bei mir werden nämlich gar keine richtigen Leiterbahnen dargestellt sondern nur Verbindungslinien wie im Schaltplan.
Ich wär echt ziemlich dankbar wenn mir das jemand machen könnte. Der aktuelle Schaltplan ist im Anhang. Oder gibt es sonst eine Möglichkeit (Freeware Programm?) aus dem Schaltplan File ein Board zu machen, dass man an Conrad (o.ä.) schicken kann, damit diese das Board ätzen?

linux_80
02.01.2007, 18:13
Der ADC nimmt nicht automatisch den AVCC her, aber so wie das jetzt schon auf dem Modul angeschlossen ist, scheint mir das praktischer AVCC bei Referenz anzugeben. Sonst musst Du da auch noch anschliessen, und der ADC wird nur so genau, wie AREF genau ist, also gleich AVCC hernehmen da ist die Spule schon dabei.

Wenn Eagle schimpft, hab ich einfach die .brd-Datei gelöscht, und nochmal umgeschaltet, dann gibts nichts mehr zu schimpfen ;-)
Die grösse vom Board ist ja schon vorgegeben, wenn Du Bauteile verschiebst dürfen die nur innerhalb des Rahmens zum liegen kommen.

robo junior
02.01.2007, 21:11
Hallo

so ich hab jetzt Eagle soweit, dass ich die Bauteile anordnen kann. Allerdings sind die 10cmx8cm aus der Demoversion glaub ich ein bisschen zu klein für meine Schaltung. Jedenfalls hab ich die Teile nicht richtig angeordnet bekommen. Gibt's eine Möglichkeit, dass das Programm die Teile automatisch anordnet, sodass alle Verbindungen passen?