- Akku Tests und Balkonkraftwerk Speicher         
Seite 14 von 18 ErsteErste ... 41213141516 ... LetzteLetzte
Ergebnis 131 bis 140 von 177

Thema: Funktionierendes CAN Bus Projekt entwickeln unter Bascom

  1. #131
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    19.08.2004
    Beiträge
    197
    Anzeige

    E-Bike
    Zitat Zitat von Skragan
    Kann ich machen, das ist ja nur ein Testboard und somit nicht schlimm. Ich poste dann Schaltplan etc.

    Ich muss halt nur noch die "Adressierung" bzw. Nachrichtenselektion richtig hinbekommen und den Code verschönern...
    Nun, lass dir doch helfen.
    Wenn der Code da ist, wird der eine oder andere es sehen können, wo man was selektieren kann.
    Verschönern kann man ihn wenn er fertig ist.
    Guß nach Oldenburg, BFE-Stadt, Niedersachsen ?

  2. #132
    Benutzer Stammmitglied
    Registriert seit
    25.09.2007
    Ort
    Oldenburg
    Alter
    50
    Beiträge
    80
    Aber klar - dann halt schon "unfertig"

    Ja, Oldenburg - eher Rastede
    Angehängte Dateien Angehängte Dateien
    Alles wird gut... Gruß Alex

  3. #133
    Benutzer Stammmitglied
    Registriert seit
    04.06.2006
    Beiträge
    51
    Hallo
    Ja feitzi liest immer wiedermal mit
    Die Sende und empfangsrutiene hab ich optimiert (schon vor längerer Zeit)
    Ein Tip für die Identiferzuortnung:
    Ich vergebe jeder Platiene eine "Knotennummer" zum Beispiel gibt es bei mir Knoten 1, 2, 3, 4, und 40. und dann noch genau deffinierte Identifer für Digitale bzw Analoge Informationen.
    Siehe Anhang (die ID´s sind in HEX). Sobald ich Zeit habe, werde ich mein derzeitiges CAN Programm dokumentieren, und hier in´s Forum stellen.

    Gruß feitzi
    Angehängte Dateien Angehängte Dateien

  4. #134
    Benutzer Stammmitglied
    Registriert seit
    25.09.2007
    Ort
    Oldenburg
    Alter
    50
    Beiträge
    80
    Hi feitzi,

    es wäre super, wenn Du das nochmal etwas ausführlicher erklären könntest - das verstehe ich noch absolut nicht.

    Gruß Alex
    Alles wird gut... Gruß Alex

  5. #135
    Benutzer Stammmitglied
    Registriert seit
    04.06.2006
    Beiträge
    51
    Hallo

    Ich hab mein derzeitiges Programm angehängt.
    Das Programm "MegaCAN-V76" ist ein Standardprogramm, ich verwende dieses Modul zur Erweiterung eines Industiellen Heizungsreglers.
    Im Programm "CAN Mega16" hab ich auf das wichtigste Abgespekt. Da ist auch eine Erklärung zu der ID Verteilung.

    hoffe ich konnte helfen

    Gruß feitzi
    Angehängte Dateien Angehängte Dateien

  6. #136
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.01.2006
    Ort
    Nidda
    Alter
    52
    Beiträge
    180
    Hallo,

    jetzt wo die CAN Programme über Bascom so langsam zum laufen kommen möchte ich mal eine Frage zu den verschiedenen Konfigurationsmöglichkeiten stellen.

    Wie muss die Konfig aussehen wenn der Sender auf eine Bestätigung des Empfängers bekommen soll?

  7. #137
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.10.2007
    Alter
    51
    Beiträge
    128
    Hallo,

    ich habe ein Problem mit meinem CAN-Bus-Experiment.

    Ich habe drei Knoten an meinem Bus.
    Sendet einer der Knoten, so kommt die Nachricht richtig bei beiden Empfängern an.
    Sendet ein weiterer Knoten, so kommt dessen Nachricht nur noch bei dem an, der bisher noch nichts gesendet hat.
    Hat jeder einmal eine Nachricht versendet, so bemerken jeweils die beiden verbleibenden Empfänger dass was auf dem Bus ist, sie geben aber nur noch ihren eigen Speicher aus.

    Offensichtlich wirde der eigene Speicher nach dem Senden nicht gelöscht.

    Kann mir jemand sagen was ich falsch gemacht habe?


    Hier mal die wichtigsten Ausschnitte meines Codes:

    Code:
    ********MCP2515 Initialisieren****************************************
    
     Mcp2515_init:
    
     'MCP2515 per Software Reset zurücksetzen
     Mcphilf = Spi_reset
     Reset Css
       Waitus 10
       Spdr = Mcphilf
       Do
       Loop Until Spsr.spif = 1
       Waitus 10
     Set Css
    
     'einstellen des Bit Timings
     'CNF1 &H07==>125 kbit/s    &H13==>50 kbit/s
     Mcp2515_write_register Cnf1 , &H13
     Mcp2515_write_register Cnf2 , &H90
     Mcp2515_write_register Cnf3 , &H02
    
    
    'Interrupt einstellen
     Mcp2515_write_register Caninte , &B00000011
    
     Mcp2515_write_register Rxb0ctrl , &B01100000
    
     Mcp2515_write_register Rxb1ctrl , &B01100000
    
    
    
    '****************************************************************************
    '******************       Filter  und Maske einstellen   ********************
    '****************************************************************************
    
    'Maske setzen       - alle Bits auf "1" führen zu einem eindeutigen Filtern einer ID
     Mcp2515_write_register Rxm0sidh , &B00111111               '
     Mcp2515_write_register Rxm0sidl , &B11100000               '
     Mcp2515_write_register Rxm1sidh , &B00111111               '
     Mcp2515_write_register Rxm1sidl , &B11100000               '
    
    'Filter setzen         "25"
     Mcp2515_write_register Rxf0sidh , &B00000011
     Mcp2515_write_register Rxf0sidl , &B00100000
     Mcp2515_write_register Rxf1sidh , &B00000011
     Mcp2515_write_register Rxf1sidl , &B00100000
    
    '****************************************************************************
    '****************************************************************************
    '****************************************************************************
    
    
    
    'Einstellen der Pin Funktionen
    'Deaktivieren der Pins RXnBF Pins (High Impedance State)
     Mcp2515_write_register Bfpctrl , 0
    
    'TXnRTS Bits als Input schalten
     Mcp2515_write_register Txrtsctrl , 0
    
    
    'Device zurück in den normalen Modus versetzen
     Mcp2515_bitmodify Canctrl , &B11100000 , &B00000000
    
    
     Return
    
    
    
    '*************************************************
    
    Send_buffer0:
    
    'Priorität einstellen
      Mcp2515_bitmodify Txb0ctrl , &B00000011 , &B00000011
    
    '  Bit 7 Unimplemented: Lesen als'0 '
    '  Bit 6 ABTF: Nachricht Aborted Flag Bit -
    '              1 = Nachricht wurde abgebrochen
    '              0 = Nachricht erfolgreich abgeschlossene Übertragung
    '  Bit 5 MLOA: Nachricht Lost Arbitration Bit -
    '              1 = Nachricht verloren, Schiedsverfahren gleichzeitig gesendet
    '              0 = Nachricht nicht verloren, während Schiedsverfahren gesendet
    '  Bit 4 TXERR: Übermittlung Bit-Fehler erkannt
    '              1 = Ein Bus-Fehler ist aufgetreten, während die Nachricht übermittelt wurde,
    '              0 = es ist keine Bus-Fehler aufgetreten, während die Nachricht übermittelt wurde,
    '  Bit 3 TXREQ: Nachricht Transmit Request-Bit -
    '              1 = Buffer ist derzeit zur Übertragung anhängig
    '              (MCU setzt dieses Bit auf Anfrage Nachricht übertragen werden - Bit wird automatisch gelöscht, wenn
    '               Wird die Nachricht gesendet)
    '              0 = Buffer ist derzeit nicht zur Übertragung anhängig
    '              (MCU kann dieses Bit klar um eine Nachricht abbrechen)
    '               Unimplemented
    '  Bit 2:      Lesen als'0 '
    '  Bit 1-0 TXP: Sendepuffer Priority
    '               11 = Höchste Priorität
    '               10 = High Intermediate Priority
    '               11 = Low Intermediate Priority
    '               00 = Tiefste Message Priority
    
      'Standard ID einstellen
      Mcp2515_write_register Txb0sidh , Idh                     ' Absenderadresse setzen
      Mcp2515_write_register Txb0sidl , Idl                     ' Absenderadresse setzen
      'Nachrichtenlänge einstellen (DFL)
      Mcp2515_write_register Txb0dlc , Dfl
       'Daten
      Mcp2515_write_register Txb0d0 , Db0(1)
      Mcp2515_write_register Txb0d1 , Db0(2)
      Mcp2515_write_register Txb0d2 , Db0(3)
      Mcp2515_write_register Txb0d3 , Db0(4)
      Mcp2515_write_register Txb0d4 , Db0(5)
      Mcp2515_write_register Txb0d5 , Db0(6)
      Mcp2515_write_register Txb0d6 , Db0(7)
      Mcp2515_write_register Txb0d7 , Db0(8)
      'nachricht versenden
      Reset Css
       Waitus 10
       Mcphilf = Spi_rts0
       Spdr = Mcphilf
       Do
       Loop Until Spsr.spif = 1
       Waitus 10
     Set Css
    ' Print "gesendet Buffer-0"
     Waitms 50
      Return
    Wäre klasse wenn mir jemand was sagen kann. Vielleicht hilft es ja auch anderen

  8. #138
    Benutzer Stammmitglied
    Registriert seit
    22.11.2005
    Ort
    Coburg
    Alter
    47
    Beiträge
    84
    Zitat Zitat von nikolaus10
    Ist auch daran gedacht/erweitert werden den CAN Bus im Automobil abzufragen?
    Ja, das würde mich auch interessieren!
    Danke

    Gruß
    Christian

    [Meine Projekte]

  9. #139
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.03.2006
    Ort
    WOB
    Beiträge
    630
    In den bisherigen sachen kann ich kein Fehler finden. Wo ist die routine des Empfangens?

    Den CAN im KFZ abzufragen habe ich auch irgendwann mal vor. Ist ja soweit kein Problem nur man kennt die IDs und die Nachrichtendefinitionen nicht
    Gruß Thomas \/

    Alles über AVR, PIC und CAN
    blog.cc-robotics.de

  10. #140
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    03.01.2005
    Ort
    hessen
    Alter
    36
    Beiträge
    1.101
    Die Protokolle müsste man finden da diese genormt sind. Wenn du es testen willst mach die aber an ältern Can Fahrzeugen da die neuen Quasi Abschalten wenn jemand den Bus abhört.

Seite 14 von 18 ErsteErste ... 41213141516 ... LetzteLetzte

Berechtigungen

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

Solar Speicher und Akkus Tests