PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Asuro mit anderem Quarz bestücken



xXHibujaXx
17.06.2014, 15:42
Hallo,
ich habe mit vor kurzen auch mal einen Asuro zugelegt. Ich habe schon ein bisschen damit rumgespielt und bin dabei manchmal auf ein Problem gestoßen. Teilweise ist der Asuro für die Dinge die ich ausführen möchte schlicht zu langsam mit 8 MHz. Meine Frage ist nun ob ich ohne größere Umstellungen den 8 MHz Quarz gegen einen 16 oder 20 MHz Quarz tauschen kann. Der ATMega8 kann ja prinzipiell bis 20 MHz verkraften, aber ich bin mir nicht sicher welchen Einfluss das auf Komponenten des Asuro wie Motor PWM, Odometrie Sensoren und vor allem die IR Schnittstelle hätte. Würde sich bei 16 MHz dann z.B. die Übertragungsgeschwindigkeit von 2400 auf 4800 verdoppeln oder hätte das keinen Einfluss? Und würde es dann überhaupt noch gehen oder nicht?
MfG
Hibuja

Hubert.G
17.06.2014, 17:38
Du wirst im Quellcode Timer und UART an die erhöhte Taktfrequenz anpassen müssen.
Wenn es Probleme gibt, dann als erstes mit dem EEPROM.

radbruch
17.06.2014, 18:26
Hallo


Würde sich bei 16 MHz dann z.B. die Übertragungsgeschwindigkeit von 2400 auf 4800 verdoppeln oder hätte das keinen Einfluss?Ja, die Übertragungsgeschwindigkeit würde sich verdoppeln. Das hört sich toll an, führt aber sehr sicher zu Problemen beim Flashen! Der verwendete IR-Empfänger benötigt einen Burst (kurze Folge mehrerer Trägersignalwellen) von mindestens 6 um die Trägerfrequenz sicher zu erkennen.
(Datenblatt Seite 3 unten (http://www.w-r-e.de/robotik/data/sfh5110.pdf))

Bei 2400 Baud (beim asuro sind das 2400 mögliche Bitwechsel pro Sekunde) dauert ein Bit mit 36kHz-Trägerfrequenz 36000/2400=15 Trägersignalperioden. Das kann der TSOP sicher erkennen. Bei 4800 Baud wären es aber nur 7,5, das wird sehr knapp bis unmöglich. Eine Lösung wäre die IR-Kommunikation durch BT oder Funk zu ersetzen. Möglich wäre aber auch eine direkte Verbindung.

Gruß

mic

Valen
26.06.2014, 18:46
Jeder Zeile im Asuro.c wo sich ein Anruf von delay befindet wurde ich auch als mögliches Problem kennzeichnen. Nicht jeder Zeitverzögerung ist Prozessortakt abhängig.

markusj
27.06.2014, 11:20
Jeder Zeile im Asuro.c wo sich ein Anruf von delay befindet wurde ich auch als mögliches Problem kennzeichnen. Nicht jeder Zeitverzögerung ist Prozessortakt abhängig.

Naja, eigentlich fast alles was zeitabhängig ist: sleep, PollSwitch (der ADC läuft zu schnell und arbeitet damit ungenauer), die serielle Schnittstelle. Und bei den erweiterten ASURO-Bibliotheken kommt noch alles andere dazu was zeitabhängig/periodisch arbeitet. Nur die Motorsteuerung bekommt sicher keine Probleme.

Hinweis am Rande: Der Mega8 geht nur bis 16MHz - Und das auch nur bei stabilen 5V Versorgungsspannung. Und der Bootloader lässt einen Betrieb des ASURO bis ~4V zu, das kann dann Stabilitätsprobleme verursachen.

mfG
Markus

Spacy Bar
30.06.2014, 15:36
Ich hätte da noch eine Frage an dich, xXHibujaXx :
Was stellst du mit deinem Robby an, das 8 MHz nicht ausreichen?!?
Ich berechne Fakultäten von Zahlen über 900 und er ist fertig, bevor ich zum Taschenrechner greifen kann!!
Oder übersehe ich da was?

LG