-         

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

Thema: Bascom Funktionen Servo & I2cslave

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    28.12.2008
    Ort
    königslutter
    Alter
    27
    Beiträge
    42

    Bascom Funktionen Servo & I2cslave

    Anzeige

    Hi,


    ich baue einen Hexapod und möchte 18 Servos ansteuern! Bascom kann aber nur 12! Jetzt wollte ich für jede Seite einen Atmega8 benutzen der je 9 Servos steuert! Dann können die IC´s saubere PWN Signale erzeugen und die Positionen sollen über I2C gesetzt werden.


    Im Atmega habe ich als 1. aus dem Bascom Beispiel die I2cslave getestet! geht

    Dann den Servo Befehlt von Bascom! geht!

    Aber beide Funktionen in einen Programm geht !nicht

    Meine Frage!

    Wie kann ich z.B. in "i2cslave.LBX" den Timer0 auf Timer1 ädern?


    Vielleicht kennt ja jemand eine andere Lösung?



    Zusatz:

    Habe grad in der history.txt einen Eintrag gefunden!

    1.11.7.8 NOTE : 30 - 6 - 2005

    - CONFIG SERVO enhanced with selectable TIMER0 or TIMER1.


    Dann habe ich getestet! geht aber nicht!

    I2C geht aber ich bekomme kein Servo PWM

    Code:
    Config I2cslave = &H40 , Int = Int0 , Timer = Timer0
    Config Servos = 1 , Servo1 = Portb.1 , Reload = 10 , Timer = Timer1
    Gruß,
    Sascha

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Ich studiere grad, wofür die Slave-Funktionen wohl überhaupt irgendeinen Timer brauchen ?
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.556

    Re: Bascom Funktionen Servo & I2cslave

    Zitat Zitat von !*sascha*!
    Hi,


    ich baue einen Hexapod und möchte 18 Servos ansteuern! Bascom kann aber nur 12! Jetzt wollte ich für jede Seite einen Atmega8 benutzen der je 9 Servos steuert! Dann können die IC´s saubere PWN Signale erzeugen und die Positionen sollen über I2C gesetzt werden.


    Im Atmega habe ich als 1. aus dem Bascom Beispiel die I2cslave getestet! geht

    Dann den Servo Befehlt von Bascom! geht!

    Aber beide Funktionen in einen Programm geht !nicht

    Meine Frage!

    Wie kann ich z.B. in "i2cslave.LBX" den Timer0 auf Timer1 ädern?


    Vielleicht kennt ja jemand eine andere Lösung?



    Zusatz:

    Habe grad in der history.txt einen Eintrag gefunden!

    1.11.7.8 NOTE : 30 - 6 - 2005

    - CONFIG SERVO enhanced with selectable TIMER0 or TIMER1.


    Dann habe ich getestet! geht aber nicht!

    I2C geht aber ich bekomme kein Servo PWM

    Code:
    Config I2cslave = &H40 , Int = Int0 , Timer = Timer0
    Config Servos = 1 , Servo1 = Portb.1 , Reload = 10 , Timer = Timer1
    Gruß,
    Sascha
    Schaust Du hier....
    http://www.shop.robotikhardware.de/s...roducts_id=198

    Gruß Richard

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    28.12.2008
    Ort
    königslutter
    Alter
    27
    Beiträge
    42
    Hi,

    Ja danke den habe ich auch gefunden! Wenn es einfach nicht klappt, werde ich in den sauren Apfel beissen!

    Ich habe eben noch den Ehrgeiz alles selber zu machen! Dann kann ich die Platinen selber erstellen und passen genau in den Hexapod!


    Meine 2. Überlegung ist einfach die Module via UART an meinen Hauptcontroller zu verbinden!

    Bin dankbar für alle Vorschläge

    Danke....


    Gruß,
    Sascha

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    18.05.2007
    Beiträge
    329
    Hallo PicNick,

    es wird daran liegen, daß Config i2cslave anscheinend nicht die Hardware-TWI nutzt. Da viele Chips die Hardware-TWI haben frage ich mich auch, was das soll. Dafür ein Drittel aller Timer und die Hälfte der Hardwareinterrupts zu verheizen ist unschön. Ich kapiere auch nicht warum Bascom um die I2C-Slaves so einen Spektakel macht und dafür extra Geld verlangt. Für einen Hardware-TWI Slave müssen doch nur ein paar Register gesetzt werden.

    Gruß Günter

  6. #6
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    18.05.2007
    Beiträge
    329
    Hallo Sascha,

    fündig wirst du im Atmel Datasheet des ATMega8 ab Seite 184.
    Wenn du das Register TWCR als Slave Receiver setzt und im Register TWAR eine Adresse hinterlegst, kann der ATMega8 ganz unbehelligt arbeiten und wird erst per Interruptflag gestört, wenn auf dem I2C-Bus die eigene Adresse aufgerufen wird.

    Günter

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    28.12.2008
    Ort
    königslutter
    Alter
    27
    Beiträge
    42
    Hallo guenter,

    danke für deinen Tipp!

    Mein Ziel wird es 100% sein, die Module via I2C zu verbinden!

    Als 1. Lösung habe ich einen Buss mit dem UART gebaut!

    ( 4 Byte pro Servo )
    1. Byte Servo-Nr.
    2. Byte Geschwindigkeit
    3. Byte Servo Winkel(Position
    4. CRC8 Check

    Das protokoll will ich dann auch auf dem I2C machen.



    Werde dann beide Schnittstellen einbauen.

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    28.12.2008
    Ort
    königslutter
    Alter
    27
    Beiträge
    42
    Hi *,


    Hardware TWI funktioniert

    Code gibt es wenn er fertig ist

    Mfg
    Sascha

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.02.2010
    Beiträge
    167
    brauchen wir nicht, es gibt dafür code wie sand am meer.....

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    28.12.2008
    Ort
    königslutter
    Alter
    27
    Beiträge
    42
    Hallo *,

    ich habe mal wieder ein kleines Problem!

    Ich habe jetzt 2 controller (Atmega und 18 Servos angeschlossen.
    Die Controller werden via USB 5V betrieben und die Servos über ein Labornetzteil!

    Wenn ich jetzt die spannungsquellen einschalte egal in welcher Reihenfolge oder auch beides aus der Gleichen Quelle.

    Laufen meine Servos alle Amok.

    Der Atmega ist nicht im dauer reset! PWM liegt am PIN an!
    Habe ich mit dem Scope geprüft...

    Habe an jeden Controller 2x 1000µF

    Wenn ich alle Servos abklemme und nach und nach anklemme geht alles nur alle gleich anschalten knallt!

    Denke das Problem liegt im Bereich Stromversorgung...

    Kann mir jemand helfen? Bin ja für alle Tipps offen!

    @funkheld

    Kennst du mehr als ich=? Ich habe kein Projekt gefunden, welches den Aufbau eines Servo-controller´s beschreibt und code + pc programm zum download anbietet!

    Die Hardware wird dann in SMD aufgebaut, wenn ich weiß dass alles funktioniert....


    Video:

    http://www.youtube.com/watch?v=A8ek9rJrOpI


    Bilder:

    http://picasaweb.google.com/sascha.markward/MyHexapod#







Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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