- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 3 von 5 ErsteErste 12345 LetzteLetzte
Ergebnis 21 bis 30 von 46

Thema: Tiny15 voll belegt? und neues Problem!

  1. #21
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Zitat Zitat von Bruno Pisarek
    Zitat Zitat von Ratber
    Neben den 1.1V gibts auch noch die gewohnten 2.56V
    Moin,

    wie soll man denn das verstehen? Laut Datenblatt gibts nur eine interne Referenz und die ist auf 1.1V festgelegt.

    VG,
    Bruno

    Ich glaube wir reden beide von unterschiedlichen Controllern.

    Der Tiny13 hat nur 1.1V
    Ich meinte den Tinyx5


    @astro

    Was verstehst du unter Softuart? Die dann nur in der Simulation läuft??
    Schau mal in der Hilfe unter "Open" nach da stehts erklärt.
    Die Serielle ist zwar nur Simuliert und hat einschränkungen aber zum absetzen von Daten ausreichend.

    Und wie mache ich das mit der Reference? Wenn ich doch auf external stelle muss ich doch auch einen Pin haben wo ich die Spannung anlege, oder nicht? der kann man direkt bei config auf VCC stellen.
    Ja,ich weiß jetzt nicht welchen Tiny du willst (13/x5) deswegen mal für beide.

    Beim Tiny13 kannste nur zwischen der Internen 1.1V Referenz und der Versorgungsspannung (Vcc) wählen.

    Beim Tinyx5 zwischen 1.1 und 2.56V Intern,Versorgungsspannung (Vcc) und einer frei wählbaren Spannung (Muß innerhalb der Versorgungsspannung liegen) also Vref an Pin B0


    Und nochmal zur Frage zur Verständnis des Referenzwertes. Ich lege doch hiermit nur fest in welchen Bereich ich de 10bit auflösung habe, oder? Also wenn ich die Rferenzspannung auf 5V habe entspricht 0-5V einem Wert von 0-1024, und wenn ich referenz von 1,1V habe entspricht 0-1,1V einem Wert von 0-1024. SOmit wäre die Auflösung höher. Mehr steckt da doch nicht hinter, oder??
    Korrekt.


    Und dann noch ne Frage zu dem Programm, ...........

    ..........Werde nachher mal den code posten.
    Ja,ohne Code versteh ich nicht was gemeint ist.
    Gruß
    Ratber

  2. #22
    Benutzer Stammmitglied
    Registriert seit
    15.01.2006
    Beiträge
    80
    So, ist zwar später geworden, aber jetzt kommt auch der code.

    Wie gesagt ist für den ATmega8 im moment umgeschriben.

    Code:
    $regfile = "m8def.dat "
    $crystal = 3686400
    
    
    Config Portc = &B11110100                                   'Ausgangs Eingangszuweisung
    
    Set Portc.0                                                 'Pull Up
    Set Portc.1
    
    Funkzu Alias Pinc.0                                         'Alias
    Zuendung Alias Pinc.1                                       'alias
    Led Alias Portc.2                                           'alias
    Helligkeit Alias Pinc.3                                     'alias'
    Relais Ldr Alias Portc.4                                    'Alias
    Relais Alias Portc.5                                        'Alias
    
    Dim Licht As Integer
    Dim Helfer As Byte
    
    Declare Sub Ausgang
    
    Config Adc = Single , Prescaler = Auto , Reference = Internal
    
    Start Adc
    
    
    Do
       Licht = Getadc(3)
       Print "Helligkeit: " ; Licht
       If Zuendung = 0 Then
          Print "zuendung aus!!!"                               'Abfrage ob zündung an ist
          Print
          If Funkzu = 1 Then                                    'abfrage ob das ZV signal anliegt
            Print "Zuendung aus und Funk Signal erhalten!!!"
            Print
            Wait 2
            Set Relais
           Print "Relais ohne LDR: " ; Relais
           Print "Licht: " ; Licht
           Wait 2
           If Licht < 200 Then
             Set Relais Ldr
             Print "Relais mit LDR: " ; Relais Ldr
             Print
             Wait 2
           End If
    Neustart:
           For Helfer = 0 To 60
           Wait 1
           If Funkzu = 1 Then Helfer = 0
           Print "Istzeit: " ; Helfer
           Next
           Reset Relais
           Print "Relais ohne LDR: " ; Relais
           Reset Relais Ldr
           Print "Relais mit LDR: " ; Relais Ldr
           Wait 2
       End If
       End If
    Ende:
    Loop
    End
    EDIT:
    Jetzt habe ich auch noch das problem das Relais ldr gar nicht mehr gesetzt wird, also diese If licht<200 then wird gar nicht verarbeitet.
    Ich versthes echt nicht mehr


    Und wegen dem Attiny. Ich hatte mich auch für en Attiny13 entschieden, da ich den X5 nicht gefunden habe.
    Wie schalte ich den denn auf VCC um??

    Ciao MArco

  3. #23
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Config Adc = Single , Prescaler = Auto , Reference = AVCC
    Gruß
    Ratber

  4. #24
    Benutzer Stammmitglied
    Registriert seit
    15.01.2006
    Beiträge
    80
    Schläfst du eigentlich auch mal??
    Ist ja echt detr hammer, wie schnell hier die antworten kommnen.
    Ja das hatte ich mir schon fast gedacht, aber der Tiny hat ja keinen eingang für AVCC, ist das dann die ganz normale Versorgungsspannung? Weil der Mega8 hat ja z.B. eine AVCC Eingang.

    Hast wegen meinen Problemen auch mal geguckt??

  5. #25
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Schlafen hab ich mir abgewöhnt.
    Kann ich mir nicht mehr leisten



    a das hatte ich mir schon fast gedacht, aber der Tiny hat ja keinen eingang für AVCC, ist das dann die ganz normale Versorgungsspannung?
    Ja,das ist die Versorgungsspannung.
    Es müßte korrekterweise Vcc heissen aber dafür in Bascom jetzt ne ausnahmereglung zu machen wäre dnn doch etws übertrieben.



    Hast wegen meinen Problemen auch mal geguckt??
    Nö,hab ich noch nicht.
    Hab jetzt nur nen hastigen Blick riskiert und einge Punkte mit Fragezeichen.

    1. Wie misst du "Licht" ?
    Schonmal probiert nen 10K Poti an den AD-Eingang zu hängen (Oder einfach auf Masse schalten) um auszuschließen das die Messung nicht in ordnung ist.

    2. Variablen mit Leerzeichen sind mir immer suspekt.
    Mach mal nen Unterstrich statt der Leerzeichen rein.
    Also Relais_ldr

    3.
    "Set Portc.0 'Pull Up "

    Das geht ? (Hab ich nie probiert)
    Ansonsten mal "Portc.0 = 1" nehmen.Das geht in jedem fall


    4. Nur so für die Gewohnheit.

    Config Portc = &B11110100

    C6 und 7 sind als ausgang konnfiguriert.
    Natürlich ist C6 per Fuse Fest als Eingang (Reset) und das Portbit wird ignoriert und C7 gibt es nicht aber man sollte sich angewöhnen unbenutzte Pinne immer im globalen Einschaltzustand zu lassen,Also als Eingang.
    Config Portc = &B00110100 ist da korrekter.
    Beim M8 ist das zwar egal aber wenn man sich diese kleine unbedeutende nachlässigkeit erstmal angewöhnt hat dann wird man se schwer los und man kann sich so versehentlich selbst schwierigkeiten bereiten.
    Ich sprech da aus Erfahrung.
    Is aber wie gesagt jetzt nebensächlich.


    Ansonsten sehe ich jetzt nix besonderes.
    Hak mal die Punkte ab.

    Wenn das dann immernoch nicht geht dann kann ich ja mal die Schaltung aufbauen.
    Nene M8 hab ich noch vom Servoprogramm auffem Board.
    Is schnell umgesteckt.
    Gruß
    Ratber

  6. #26
    Benutzer Stammmitglied
    Registriert seit
    15.01.2006
    Beiträge
    80
    ZU 1.)
    Ich hab ein Poti dran, er liest den Wert ja auch aus. Aber wenn er dann die ertse If bedingung weiter ist dann ist der wert auf einmal komplett anders.
    Das sieht dann so aus.

    Licht1: 1021
    zuendung aus!!!
    Licht2: 12337


    Zu 2.)
    Ja habe ich geändert mit dem Leerzeichen.

    Zu 3.)
    Habe ich auch geändert.

    Zu 4.)
    Habe ich auch geändert.

    Hier nochmal der aktuelle Code.
    Code:
                               $regfile = "m8def.dat "
    $crystal = 3686400
    
    
    Config Portc = &B00110100                                   'Ausgangs Eingangszuweisung
    
    Portc.0 = 1                                                 'Pull Up
    Portc.1 = 1
    
    Funkzu Alias Pinc.0                                         'Alias
    Zuendung Alias Pinc.1                                       'alias
    'Led Alias Portc.2                                           'alias
    'Helligkeit Alias Pinc.3                                     'alias'
    Relais_ldr Alias Portc.4                                    'Alias
    Relais Alias Portc.5                                        'Alias
    
    Dim Licht As Integer
    Dim Helfer As Integer
    
    Declare Sub Ausgang
    
    Config Adc = Single , Prescaler = Auto , Reference = Avcc
    
    Start Adc
    
    
    Do
       Licht = Getadc(3)
       Print "Licht1: " ; Licht
       Wait 1
       If Zuendung = 1 Then
          Print "zuendung aus!!!"                               'Abfrage ob zündung an ist
          Print "Licht2: " ; Licht
          Print
          Wait 1
          If Funkzu = 0 Then                                    'abfrage ob das ZV signal anliegt
            Print "Zuendung aus und Funk Signal erhalten!!!"
            Print "Licht3: " ; Licht
            Wait 1
            Ausgang
       End If
       End If
    Ende:
    Loop
    End
    
    Sub Ausgang
    
           Set Relais
           Print "Relais ohne LDR: " ; Relais
           Print "Licht4: " ; Licht
           Wait 1
           If Licht < 200 Then
            Print "Licht5: " ; Licht
             Wait 1
           End If
    Neustart:
           For Helfer = 0 To 60
           Wait 1
           If Funkzu = 1 Then Helfer = 0
           Print "Istzeit: " ; Helfer
           Print "Licht6: " ; Licht
           Next
           Reset Relais
           Print "Relais ohne LDR: " ; Relais
           Reset Relais_ldr
           Print "Relais mit LDR: " ; Relais_ldr
     Wait 1
    End Sub
    Ciao Marco

  7. #27
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Die brennende Frage ist ja wie es die Variable "Licht" schafft scheinbar ihren Wert zu ändern.

    Hab da ne Vermutung


    Ich hab die Hauptschleife mal etwas umgebaut und einen Index für die ausgaben geschaffen damit man sieht welcher Wert zu welcher Runde gehöhrt.

    Das Label "Ende" hab ich mal rausgenommen weils nirgends genutzt wurde.
    Zusätzlich hab ich noch die Wartebefehle der Hauptschleife auf Waitms umgestellt weil man damit feiner dosieren kann und in eine zusätzliche Verzögerung von 300ms eingesetzt.

    An der Sub hab ich nix gemacht.

    Probier das mal aus und schau ob es immernoch unregelmäßigkeiten gibt.

    Code:
    $regfile = "m8def.dat "
    $crystal = 3686400
    
    
    Config Portc = &B00110100                                   'Ausgangs Eingangszuweisung
    
    Portc.0 = 1                                                 'Pull Up
    Portc.1 = 1
    
    Funkzu Alias Pinc.0                                         'Alias
    Zuendung Alias Pinc.1                                       'alias
    'Led Alias Portc.2                                           'alias
    'Helligkeit Alias Pinc.3                                     'alias'
    Relais_ldr Alias Portc.4                                    'Alias
    Relais Alias Portc.5                                        'Alias
    
    Dim Licht As Integer
    Dim Helfer As Integer
    Dim Index As Word
    
    Declare Sub Ausgang
    
    Config Adc = Single , Prescaler = Auto , Reference = Avcc
    Start Adc
    index = 0
    
    Do
      Licht = Getadc(3)
      Print index ; "Licht1: " ; Licht
      Waitms 1000
      If Zuendung = 1 Then
        Print "zuendung aus!!!"                                 'Abfrage ob zündung an ist
        Print index ; "Licht2: " ; Licht
        Print
        Waitms 1000
        If Funkzu = 0 Then                                      'abfrage ob das ZV signal anliegt
          Print "Zuendung aus und Funk Signal erhalten!!!"
          Print index ; "Licht3: " ; Licht
          Waitms 1000
          Ausgang
        End If
      End If
    Waitms 300
    Incr index
    Loop
    
    End
    
    
    Sub Ausgang
    
           Set Relais
           Print "Relais ohne LDR: " ; Relais
           Print index ; "Licht4: " ; Licht
           Wait 1
           If Licht < 200 Then
            Print index ; "Licht5: " ; Licht
            Wait 1
           End If
    Neustart:
           For Helfer = 0 To 60
           Wait 1
           If Funkzu = 1 Then Helfer = 0
           Print "Istzeit: " ; Helfer
           Print index ; "Licht6: " ; Licht
           Next
           Reset Relais
           Print "Relais ohne LDR: " ; Relais
           Reset Relais_ldr
           Print "Relais mit LDR: " ; Relais_ldr
     Wait 1
    End Sub
    Gruß
    Ratber

  8. #28
    Benutzer Stammmitglied
    Registriert seit
    15.01.2006
    Beiträge
    80
    Also irgendwie klappt das immer noch nicht.
    Also der Wert ändert sich immer noch.
    Er schreibt mir das hier im Terminal(ist nur ein Ausschnitt)

    50Licht1: 12341
    zuendung aus!!!
    49Licht2: 14644

    53Licht1: 13109
    zuendung aus!!!
    57Licht2: 14133

    52Licht1: 12853
    zuendung aus!!!
    51Licht2: 12597

    56Licht1: 13877
    zuendung aus!!!
    55Licht2: 13621
    Hier habe ich den eingang c.1 betätigt
    50Licht1: 12341
    50Licht1: 12341
    50Licht1: 12341
    50Licht1: 12341



    und hier nochmal ein auszug ausm Terminal:

    7Licht1: 55
    zuendung aus!!!
    7Licht2: 55

    8Licht1: 56
    9Licht1: 57 jetzt habe ich wider den Taster c.1 gedrückt
    10Licht1: 12337
    56Licht1: 13877
    56Licht1: 13877
    56Licht1: 13877
    56Licht1: 13877
    zuendung aus!!!
    55Licht2: 13621

    50Licht1: 12341
    zuendung aus!!!
    49Licht2: 14644

  9. #29
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Achso,du meinst generell die Schwankungen ?

    Ja die lassen sich kaum vermeiden.
    Wenn die Versorgung des ADC's und die zu messende Größe nicht stabil sind.

    Aber wo wir schonmal dabei sind.

    Warum Integer für die Variablen ?
    Rechnest du mit negativen Werten ?
    Gruß
    Ratber

  10. #30
    Benutzer Stammmitglied
    Registriert seit
    15.01.2006
    Beiträge
    80
    Also eigentlich nicht,
    Nur bei dem anderen, also dem Mega habe ich teilweise auch negative Werte.
    Ja stimmt hätte dann auch ein Word nehmen können.

    Das mit den schwankungen ist schon klar.

    Aber das eigentliche Problem ist, Bei den Ausschitten oben, warum springt er auf einmal auf 12337. Obwohl er eigentlich nur 57 hat. Das verstehe ich nicht. Und warum springt er auf einmal bei Index auf 56. Er müsste das doch normalerweise nacheinander hochzählen.

Seite 3 von 5 ErsteErste 12345 LetzteLetzte

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress