-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Kompass-Modul / Atmega128 umstellung

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    06.07.2004
    Beiträge
    122

    Kompass-Modul / Atmega128 umstellung

    Anzeige

    Salü

    1. Gibt es Kompassmodule, die z.B. über I2C angesprochen werden können?

    2. Ich habe jetzt immer problemlos mit ATMEGA16er gearbeitet und brauche jetzt jedoch 2UART... OK, dachte ich, nehme einfach den 162er... Leider bemerke ich nun aber, dass er zwar 2UART's hat, jedoch fehlen ADC und I2C...
    Nun bin ich mir nicht sicher, ob ich nen 128er nehmen soll. Jedoch habe ich von Problemen mit diesem gehört oder ist die Umstellung kein Problem?
    Ich möchte einfach kein Risiko eingehen...
    Soll ich es "wagen" oder nicht?

    Merci

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    03.02.2004
    Ort
    Köln
    Alter
    35
    Beiträge
    84
    ih glaub der 64 hat auf jeden fall auch 2 UART und 1 i2c! ist vllt noch günstiger...habe übrogens grade ähnliche überlegungen und anforderungen wie du

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.08.2004
    Ort
    Großbardorf
    Alter
    30
    Beiträge
    674
    Jedoch habe ich von Problemen mit diesem gehört oder ist die Umstellung kein Problem?
    ich wüsste nicht, worin die Probleme bestehen sollten
    was du beachten solltest, ist, dass der nicht über die Pins vom SPI-Modul programmiert wird, sondern über andere, welche genau steht im Datenblatt( ich hab was mit UART0 in Erinnerung )

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941
    1. Gibt es Kompassmodule, die z.B. über I2C angesprochen werden können?


    cmps03 bei "roboter-teile.de"

    mfg pebisoft

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    06.07.2004
    Beiträge
    122
    Also... Ich habe jetzt eine Platine mit dem ATMEGA162 aufgebaut... Funktioniert (fast) alles prima!
    Ich habe nur das Problem, dass irgendwas mit der Frequenz nicht stimmt...
    Beim UART will einfach nicht das richtige Zeichen durchkommen, sprich am PC kommt irgendein char an und nicht das gewünschte!
    Den UBBR-Wert (externer 16Mhz Quarz) hab ich nachgeschaut ist 103... Das sollte stimmen... Alles andere müsste eigentlich auch stimmen, da ich mit dem UART nie wirklich Probleme hatte!
    Das einzige was mir Sorge bereitet sind die FuseBits... Ja, ich habe schon die Suchfunktion benützt, jedoch nicht viele Antworten bezüglich dem Ponyprog gesehen... Ich benutze dieses und weiss wirklich nicht so genau, wo jetzt ein Häckchen hin soll oder wo nicht. Momentan habe ich lediglich beim CK/8 und Bodlevel eines gesetzt...
    Könnte mir nicht mal vielleicht jemand einen Screenshot seiner Bits für den 162er geben? Da sieht sowieso alles ein bisschen anders aus und mit dem Datenblatt gibt es bei mir nur verwirrungen
    Wäre super!

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.11.2003
    Beiträge
    991
    Zitat Zitat von surfer
    Momentan habe ich lediglich beim CK/8 und Bodlevel eines gesetzt.
    Das würde erklären warum der UART nicht richtig funktioniert. Dein Controller läuft nämlich nur mit 2 MHz ( halt Clk / 8 )

    Wenn du also das Häckchen bei CKDIV8 wegmachst sollte alles laufen.

    EESAVE ist vielleicht noch ganz interessant wenn du mit dem Eeprom arbeitest. Damit schütz du den Inhalt des Eeproms beim neuprogrammieren des Chips.

    SUT0 programmiert sollte die längste Start-up Zeit einstellen, sinnvoll wenn du ohne Brown-Out-Detection arbeitest ( siehe Seite 37 Datenblatt ).
    Für BODLEVEL[2:0] wäre 101 oder 100 eine sinnvolle Einstellung ( wobei man aufpassen muss, eine 1 bedeutet kein Häckchen bei PonyProg ), das würde eine Brown-Out Detectionlevel von 2,7 Volt oder 4,3 Volt einstellen. ( siehe Seite 48 ).

    Den Rest brauchst du erstmal nicht.

    MfG Kjion

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    06.07.2004
    Beiträge
    122
    Aha. Danke Kjion...
    Nur dummerweise habe ich das mit dem Clk/8 schon ausprobiert und dann einfach ein noch falscheres Zeichen bekommen :-P
    Was ich auch komisch finde ist, dass es teilweise richtig durchkommt... wenn ich ein ´h´ sende, dann kommt einfach ´Chx´wobei x ein ASCII zeichen ist, welches als Musiknote dargestellt wird...
    Ich versteh das nicht... :-P
    Oje...

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.11.2003
    Beiträge
    991
    Womit programmierst du denn ?

    Es könnte sein das der ATMega162 eine leicht andere Ansteuerung des UARTs braucht ?? Müsste ich aber erst nochmal nachschauen...

    MfG Kjion

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    06.07.2004
    Beiträge
    122
    Also ich habe jetzt nochmals die FuseBits kontrolliert und sollten stimmen...
    Zudem habe ich mit CKOUT die Quarzfrequenz gemessen und sie Beträgt genau 16MHz.
    Nur leider will mein UART immer noch nicht! Jetzt kommen am PC gar keine Zeichen mehr an!
    Ich poste mal meinen Code. Ich hoffe jemand kann mir helfen...

    Code:
    #include <avr/io.h>
    #include <avr/signal.h>
    #include <avr/interrupt.h>
    #include <avr/delay.h>
    
    int main(void)
    {
    	DDRB=0xFF;
    	DDRD=0x00;
    
    	UBRR0H = (103>>8);
    	UBRR0L = 103;
    	UCSR0B = (1<<RXCIE0)|(1<<RXEN0)|(1<<TXEN0);
    	UCSR0C = (1<<URSEL0)|(1<<UCSZ10)|(1<<UCSZ00);
    
    	while(1)
    	{
    		UDR0='h';
    	}
    }
    Merci

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    06.07.2004
    Beiträge
    122
    Aha... Es funktioniert!!!! Super!

    Jetzt weiss ich nur noch nicht wie die verschiedenen Interrupts heissen für UART0-Dateneingang und dem vom UART1? Oder ist das derselbe und man muss nur das jeweilige Register auslesen?
    Also ich meine das SIGNAL(SIG_UART_RECV) für den UART1 oder UART0...

    Danke!

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •