- fchao-Sinus-Wechselrichter AliExpress         
Seite 54 von 62 ErsteErste ... 4445253545556 ... LetzteLetzte
Ergebnis 531 bis 540 von 618

Thema: Mono Wheel Bot

  1. #531
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    38
    Beiträge
    4.255
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Ui, da lag ich ja tatsächlich richtig... echt klasse, dass es jetzt endlich klappt! Nun will ich das Teil aber auch bald mal fahren sehen!

  2. #532
    Erfahrener Benutzer Roboter Genie Avatar von Bammel
    Registriert seit
    11.12.2004
    Ort
    Bremen
    Alter
    37
    Beiträge
    1.400
    ja glückwunsch. dnan bin ich ja mal gespannt wies weitergeht. nun machts bestimtm auch wieder mehr spass ^^^

  3. #533
    Erfahrener Benutzer Robotik Einstein Avatar von Klingon77
    Registriert seit
    26.09.2006
    Ort
    Hunsrück
    Alter
    63
    Beiträge
    2.543
    hi Murdoc_mm,

    gibt´s was neues?

    Lass uns nicht so lange warten. Wir sind alle ungeduldig

    liebe Grüße,

    Klingon77
    Der kürzeste Weg zwischen zwei Menschen ist ein Lächeln - http://www.ad-kunst.de

  4. #534
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    @Klingon77:

    Glückwunsch zum "Einstein"
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  5. #535
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    21.07.2007
    Ort
    Greudnitz
    Alter
    37
    Beiträge
    344
    Zitat Zitat von Klingon77
    gibt´s was neues?

    Lass uns nicht so lange warten. Wir sind alle ungeduldig
    Bin dran, bin dran.

    Ich ärgere mich grad mit der Kommunikation rum, hatte am Anfang ein paar Startschwierigkeiten aber jetzt bin ich, glaube ich, auf dem richtigen Weg. Das es so lang dauert liegt an meiner Unwissenheit und dauernden Unterbrechungen (F1, EM, "gelegentlich" Arbeit, privates, geschäftliches, Weltpolitisches, unvorhergesehenes, ... ).

    Gruß
    Kollaps einer Windturbine
    (oder: Bremsen ist für Anfänger )

  6. #536
    Erfahrener Benutzer Robotik Einstein Avatar von Klingon77
    Registriert seit
    26.09.2006
    Ort
    Hunsrück
    Alter
    63
    Beiträge
    2.543
    hi radbruch,

    mal Dank für die Glückwünsche.

    Persönlich lege ich keinerlei Wert auf "Orden und Ehrenzeichen"...

    ...und ehrlich gesagt, habe ich es auch nicht verdient, da ich noch keinen funktionierenden Robby gebaut habe.

    Außerdem schreibe ich auch manchmal einiges an "Mist" zusammen, wie z.B: dieser Beitrag hier...


    Spaß beiseite:
    Wenn mich einer der MOD´s wieder runtersetzen könnte, wäre ich sicherlich nicht böse darum.

    liebe Grüße,

    Klingon77
    Der kürzeste Weg zwischen zwei Menschen ist ein Lächeln - http://www.ad-kunst.de

  7. #537
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.693
    Zitat Zitat von Klingon77
    ... Wenn mich einer der MOD´s wieder runtersetzen könnte, wäre ich sicherlich nicht böse darum ...
    Das ist eben der Fluch des Denkmal-Sockels. Manchmal drückt der wie ein Mühlstein-um-den-Hals. Aber weißt Du - manche reden blos statt viel zu sagen. Also sei froh um Deine Würde .

    Zitat Zitat von Murdoc_mm
    ... Das es so lang dauert liegt an ... dauernden Unterbrechungen ...
    Tja, da ist eben statt Interrupts Parallel-Prozessing angesagt. Wer sonst sonst sollte denn ein Fachmann dafür sein . . . .

    (Nicht zum Lesen gedacht: Was bin ich so froh, dass Dein Anfang-des-Jahres-Termin sich etwas geschoben hat. Mein Februartermin ist auch schon vorbei und ich bin noch tief im Software-Dschungel und hab keine Landkarte: Bitschiebereien die nicht funktionieren und so Zeugs - ich fürchte ICH muss durch JEDEN Fehler durch).
    Ciao sagt der JoeamBerg

  8. #538
    Erfahrener Benutzer Robotik Einstein Avatar von Klingon77
    Registriert seit
    26.09.2006
    Ort
    Hunsrück
    Alter
    63
    Beiträge
    2.543
    Zitat Zitat von oberallgeier
    ...
    ich fürchte ICH muss durch JEDEN Fehler durch).

    "Fehler sind die Stufen einer Treppe, auf denen der Kluge emporsteigt"



    Bin mal gespannt, wann ich diesen altklugen Spruch von jemandem "um die Ohren gehauen bekomme"


    Bin aber zuversichtlich, daß Du die "Hürden" meistern wirst!!!

    liebe Grüße,

    Klingon77
    Der kürzeste Weg zwischen zwei Menschen ist ein Lächeln - http://www.ad-kunst.de

  9. #539
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    21.07.2007
    Ort
    Greudnitz
    Alter
    37
    Beiträge
    344
    Hi,

    ich hab mal ne Frage und die Erklärung was ich die ganze Zeit hier mache.

    Der Plan ist das der Joystick alle 0,25 Sek. (vlt ändert sich die Zeit auch noch --> je nach dem welche Zeiten sich als günstig rausstellen) dem MW ein Telegramm sendet in dem steht wie schnell gefahren, ob und wie stark ne Kurve gefahren oder was anderes gemacht werden soll. Wenn das MW nach 0,5 Sek noch kein Tele bekommen hat soll es stehen bleiben <-- Sicherheitsmechanismus.

    Momentan möchte ich einfach PWM-Stufe und Servoposition senden und das MW soll das stur ausführen --> zum Testen.

    Also hab ich mich dran gemacht und das Sende- und Empfangsprogramm geschrieben. Da aber das MW kein LCD und mein Laptop auch keine Serielle Schnittstelle hat konnte ich das Empfangsprog nicht beim MW selbst ausprobieren (da keine Ausgabemöglichkeit). Da aber der Joystick ein LCD besitzt hab ich gedacht da programmier ich das einfach verkehrt herum und tausche die Programme dann am Ende um. Das hat auch super geklappt. Hab das Sendeprog einfach stur bestimmte Zeichenfolgen ausgeben lassen und mit dem Empfangsprog aufm Joystick bekommen.

    Dann hatte ich das erste kleine Problemchen. Wenn ich mir alle Zeichen die empfangen wurden auf dem LCD ausgeben lies hab ich festgestellt das nach jedem Zeichen eine 13 und ne 10 gesendet wurde. Nach ein bischen stöbern im RN hab ich einige Codes gefunden (ich find die aber nicht wieder ) die auch mit diesen 13 und 10 gearbeitet haben --> da hab ich mir gedacht das die 13-10-Kombi wahrscheinlich ne Art "Zeichen-Ende" oder "Zeichen-empfangen" ist. Also mein Prog auf die 13-10 angepasst und auch gleich genutzt --> wenn die 13-10 nicht richtig empfangen wurde wurde das Datenbyte als nicht gültig gekennzeichnet.

    Dann die Programme getauscht --> nix geht. Zuerst Hardware gesucht aber da ging alles. Dann die Software hin- und herkopiert. (Das hat so ewig gedauert.) Vom MW zum Joystick gings aber nicht vom Joystick zum MW.

    Heute hab ich dann festgestellt was das Problem ist. Der Joystick sendet die 13-10-Kombo nicht. Wenn ich die 13-10 aus dem Prog gelöscht habe gings auf einmal.

    Nun meine Frage: Was ist diese 13-10-Kombo? Wie kann ich die An- oder Abstellen? Und warum kommt die vom MW aber nicht vom Joystick?

    Joystick-Sende-Code:
    Code:
     $regfile = "m32def.dat"
     $framesize = 32
     $swstack = 32
     $hwstack = 32
     $crystal = 16000000
     $baud = 9600
    
     'LCD Anschluss über 20pol Stecker'
     Config Lcd = 20 * 4a , Chipset = Ks077
    
     Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portb.1 , Rs = Portb.0
     Config Lcdbus = 4
    
     'LCD Config'
     Config Portc.4 = Output
     Config Portc.5 = Output
     Config Portc.6 = Output
     Config Portc.7 = Output
    
     Config Portb.0 = Output
     Config Portb.1 = Output
    
     Do
     Wait 1
     Print 2
     Waitms 25
     Print 4
     Waitms 25
     Print 5
    
     Wait 1
     Print 2 
     Waitms 25
     Print 5
     Waitms 25
     Print 4
     Loop
    MW-Empfangsprog (ohne 13-10, aber noch mit Resten von 13-10-Auswertung):
    Code:
     $regfile = "m32def.dat"
     $framesize = 64
     $swstack = 64
     $hwstack = 64
     $crystal = 16000000
     $baud = 9600
    
     'LEDs konfigurieren:
     Config Portb.0 = Output
     Led_gruen Alias Portb.0                                    'grüne LED
     Config Portb.1 = Output
     Led_rot Alias Portb.1                                      'rote LED
    
     'Motoren-Ansteuerung konfigurieren:
     Config Portc.2 = Output
     Mo1_1 Alias Portc.2
     Config Portc.3 = Output
     Mo1_2 Alias Portc.3
     Config Portc.4 = Output
     Mo2_1 Alias Portc.4
     Config Portc.5 = Output
     Mo2_2 Alias Portc.5
    
     Config Pind.4 = Output                                     'OC1B, PWM-Ausgang
     Config Pind.5 = Output                                     'OC1A, PWM-Ausgang
    
     Config Timer1 = Pwm , Pwm = 9 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 8
    
     Pwm1a = 0
     Pwm1b = 0
    
     Mo1_1 = 0
     Mo1_2 = 0
     Mo2_1 = 0
     Mo2_2 = 0
    
     Dim Pwm_stufe As Integer
     Pwm_stufe = 0
    
     'Servos konfigurieren:
     Config Portc.6 = Output                                    'Servo1
     Config Portc.7 = Output                                    'Servo2
    
     Config Servos = 2 , Servo1 = Portc.6 , Servo2 = Portc.7 , Reload = 10       'benutzt timer0
    
     Dim Servo_pos As Byte
     Dim Servo1 As Byte
     Servo1 = 150
     Dim Servo2 As Byte
     Servo2 = 150
    
     'ADC konfigurieren
     Config Pina.0 = Input
     Config Pina.1 = Input
     Config Pina.2 = Input
     Config Pina.3 = Input
     Config Pina.4 = Input
     Config Pina.5 = Input
    
     Dim Acc_x As Integer
     Dim Acc_y As Integer
     Dim Acc_z As Integer
     Dim Gyro_x As Integer
     Dim Gyro_y As Integer
     Dim Gyro_z As Integer
    
     Config Adc = Single , Prescaler = Auto
    
     'Timer Konfigurieren
     Config Timer2 = Timer , Prescale = 8                       'alle 0,000128 Sek. wird in die ISR gesprungen
     Enable Timer2
    
     On Timer2 Zaehlstand
    
     Dim Zeit As Word                                           'zählt von 0 bis 65535, 65535 entspricht 8,38848 Sek.
    
     'Globales:
     Disable Interrupts
    
     Start Adc
    
     Dim Puffer(10) As Byte
    
     Dim Puffer_index As Byte
     Puffer_index = 1
    
     Dim Aktion As Byte
     Dim Aktion_wert_1 As Byte
     Dim Aktion_wert_2 As Byte
    
     Dim Aktion_wert As Integer
    
     'Notizen:
     'Servo: Braun-Masse, Rot-6V, Orange-Signal
     'Timer0 für Servos
     'Timer1 für Motoren
     'Timer2
    
     '###Hauptprogramm##############################################################
     Do
    
     If Ischarwaiting() <> 0 Then
       Gosub Empfangen
     End If
    
     If Puffer_index = 2 Then
       If Puffer(1) <> 0 Then                                   'And Puffer(2) <> 0 And Puffer(3) <> 0 Then
          Aktion = Puffer(1)
       Else
          If Puffer(1) <> 0 Then
             Aktion = 0
          End If
       End If
       Puffer(1) = 0
       'Puffer(2) = 0
       'Puffer(3) = 0
     End If
    
     If Puffer_index = 3 Then
       If Puffer(2) <> 0 Then                                   'And Puffer(5) <> 0 And Puffer(6) <> 0 Then
          Aktion_wert_1 = Puffer(2)
       Else
          If Puffer(2) <> 0 Then
             Aktion_wert_1 = 0
          End If
       End If
       Puffer(2) = 0
       'Puffer(5) = 0
       'Puffer(6) = 0
     End If
    
     If Puffer_index = 4 Then
       If Puffer(3) <> 0 Then                                   'And Puffer(8) <> 0 And Puffer(9) <> 0 Then
          Aktion_wert_2 = Puffer(3)
       Else
          If Puffer(3) <> 0 Then
             Aktion_wert_2 = 0
          End If
       End If
       Puffer(7) = 0
       'Puffer(8) = 0
       'Puffer(9) = 0
     End If
    
     If Puffer_index >= 4 Then
       Puffer_index = 1
     End If
    
     Select Case Aktion
       Case 49
          'Geschwindigkeit setzen, aus wert_1 und wert_2 bilden
       Case 50
          Servo_pos = Aktion_wert_1
       Case 51
          'noch nicht belegt, könnte für batteriespg genutzt werden
     End Select
    
     If Servo_pos = 52 Then 'für Test
     Led_gruen = 1
     Led_rot = 0
     End If
    
     If Servo_pos = 53 Then 'für Test
     Led_gruen = 0
     Led_rot = 1
     End If
    
     'Servo1 = Servo_pos + 59
     'Servo2 = 150 - Servo_pos
    
     'Servo(1) = Servo1
     'Servo(2) = Servo2
    
     'Pwm1b = Pwm_stufe
    
     Loop
     '###Hauptprogramm Ende#########################################################
    
     '###Sub´s######################################################################
     Zaehlstand:
    
     Incr Zeit
    
     Return
    
     Empfangen:
    
     Puffer(puffer_index) = Inkey()
     Incr Puffer_index
    
     Return
    MW-Empfangsprog (mit 13-10):
    Code:
     $regfile = "m32def.dat"
     $framesize = 64
     $swstack = 64
     $hwstack = 64
     $crystal = 16000000
     $baud = 9600
    
     'LEDs konfigurieren:
     Config Portb.0 = Output
     Led_gruen Alias Portb.0                                    'grüne LED
     Config Portb.1 = Output
     Led_rot Alias Portb.1                                      'rote LED
    
     'Motoren-Ansteuerung konfigurieren:
     Config Portc.2 = Output
     Mo1_1 Alias Portc.2
     Config Portc.3 = Output
     Mo1_2 Alias Portc.3
     Config Portc.4 = Output
     Mo2_1 Alias Portc.4
     Config Portc.5 = Output
     Mo2_2 Alias Portc.5
    
     Config Pind.4 = Output                                     'OC1B, PWM-Ausgang
     Config Pind.5 = Output                                     'OC1A, PWM-Ausgang
    
     Config Timer1 = Pwm , Pwm = 9 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 8
    
     Pwm1a = 0
     Pwm1b = 0
    
     Mo1_1 = 0
     Mo1_2 = 0
     Mo2_1 = 0
     Mo2_2 = 0
    
     Dim Pwm_stufe As Integer
     Pwm_stufe = 0
    
     'Servos konfigurieren:
     Config Portc.6 = Output                                    'Servo1
     Config Portc.7 = Output                                    'Servo2
    
     Config Servos = 2 , Servo1 = Portc.6 , Servo2 = Portc.7 , Reload = 10       'benutzt timer0
    
     Dim Servo_pos As Byte
     Dim Servo1 As Byte
     Servo1 = 150
     Dim Servo2 As Byte
     Servo2 = 150
    
     'ADC konfigurieren
     Config Pina.0 = Input
     Config Pina.1 = Input
     Config Pina.2 = Input
     Config Pina.3 = Input
     Config Pina.4 = Input
     Config Pina.5 = Input
    
     Dim Acc_x As Integer
     Dim Acc_y As Integer
     Dim Acc_z As Integer
     Dim Gyro_x As Integer
     Dim Gyro_y As Integer
     Dim Gyro_z As Integer
    
     Config Adc = Single , Prescaler = Auto
    
     'Timer Konfigurieren
     Config Timer2 = Timer , Prescale = 8                       'alle 0,000128 Sek. wird in die ISR gesprungen
     Enable Timer2
    
     On Timer2 Zaehlstand
    
     Dim Zeit As Word                                           'zählt von 0 bis 65535, 65535 entspricht 8,38848 Sek.
    
     'Globales:
     Disable Interrupts
    
     Start Adc
    
     Dim Puffer(10) As Byte
    
     Dim Puffer_index As Byte
     Puffer_index = 1
    
     Dim Aktion As Byte
     Dim Aktion_wert_1 As Byte
     Dim Aktion_wert_2 As Byte
    
     Dim Aktion_wert As Integer
    
     'Notizen:
     'Servo: Braun-Masse, Rot-6V, Orange-Signal
     'Timer0 für Servos
     'Timer1 für Motoren
     'Timer2
    
     Led_gruen = 0
     Led_rot = 1
     Wait 1
     Led_gruen = 1
     Led_rot = 0
     Wait 1
     '###Hauptprogramm##############################################################
     Do
    
     If Ischarwaiting() <> 0 Then
       Gosub Empfangen
     End If
    
     If Puffer_index = 4 Then
       If Puffer(1) <> 0 And Puffer(2) = 13 And Puffer(3) = 10 Then
          Aktion = Puffer(1)
       Else
          If Puffer(3) <> 0 Then
             Aktion = 0
          End If
       End If
       Puffer(1) = 0
       Puffer(2) = 0
       Puffer(3) = 0
     End If
    
     If Puffer_index = 7 Then
       If Puffer(4) <> 0 And Puffer(5) = 13 And Puffer(6) = 10 Then
          Aktion_wert_1 = Puffer(4)
       Else
          If Puffer(6) <> 0 Then
             Aktion_wert_1 = 0
          End If
       End If
       Puffer(2) = 0
       Puffer(5) = 0
       Puffer(6) = 0
     End If
    
     If Puffer_index = 10 Then
       If Puffer(7) <> 0 And Puffer(8) = 13 And Puffer(9) = 10 Then
          Aktion_wert_2 = Puffer(7)
       Else
          If Puffer(9) <> 0 Then
             Aktion_wert_2 = 0
          End If
       End If
       Puffer(7) = 0
       Puffer(8) = 0
       Puffer(9) = 0
     End If
    
     If Puffer_index >= 10 Then
       Puffer_index = 1
     End If
    
     Select Case Aktion
       Case 49
          'Geschwindigkeit setzen, aus wert_1 und wert_2 bilden
       Case 50
          Servo_pos = Aktion_wert_1
       Case 51
          'noch nicht belegt, könnte für batteriespg genutzt werden
     End Select
    
     If Servo_pos = 52 Then
     Led_gruen = 1
     Led_rot = 0
     End If
    
     If Servo_pos = 53 Then
     Led_gruen = 0
     Led_rot = 1
     End If
    
     'Servo1 = Servo_pos + 59
     'Servo2 = 150 - Servo_pos
    
     'Servo(1) = Servo1
     'Servo(2) = Servo2
    
     'Pwm1b = Pwm_stufe
    
     Loop
     '###Hauptprogramm Ende#########################################################
    
     '###Sub´s######################################################################
     Zaehlstand:
    
     Incr Zeit
    
     Return
    
     Empfangen:
    
     Puffer(puffer_index) = Inkey()
     Incr Puffer_index
    
     Return
    Gruß
    Kollaps einer Windturbine
    (oder: Bremsen ist für Anfänger )

  10. #540
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Oje, es outet sind ein DAU *lol* Zeichen 13 bedeutet "Wagenrücklauf" und Zeichen 10 bedeutet "Neue Zeile". Das sind die Steuerzeichen die eine Zeichenausgabe steuern. Neudeutsch auch carriage return und newline genannt legen sie die Schreibposition fest.

    Frohes Schaffen

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

Seite 54 von 62 ErsteErste ... 4445253545556 ... LetzteLetzte

Berechtigungen

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

Solar Speicher und Akkus Tests