-
        

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

Thema: Ansteuerung mit einem At90S2313

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    25.02.2005
    Beiträge
    6

    Ansteuerung mit einem At90S2313

    Anzeige

    Hi Leute.

    Will hier ein ziemlich komplexes Projekt planen und bauen. Den Microcontroller At90S2313 und entsprechenden teile für den bau hab ich schon (siehe schaltung).
    Ich hab eine kurze Zeichnung gemacht über den Aufbau des Microcontrollers und die zu schaltenden Kabel. Ich hab noch dazu kleine Relais mitbestellt die ich direkt an den Microcontroller anschließen kann und somit alle Kabel schalten kann (nicht auf Zeichnung zu sehen). Abgesehen vom Zusammenbau hab ich noch das Problem mit der Programmierung des Controllers. Bin grade drüber mir noch eine Schnittstelle zu bauen. Programme hab ich auch(ponyprogV206c und BASCOM-AVR Demo).
    Ich habe mir gedacht alles Über Basic zu programmieren. Leider habe ich nicht so viel Ahnung. Habe früher lediglich einen Grafikfähigen Taschenrechner zu schulzeiten programmiert (mit Basic).
    Ich hatte gehofft das mir jemanden vielleicht dabei helfen könnte. Vielleicht auch wie ich am besten die „kleinen“ Relais für die Ansteuerung am Controller anschließen sollte. Ich hab mir mal aufgeschrieben wie der Controller programmiert werden müsste:

    (Link des Schaltbildes)
    http://home.arcor.de/hasimausi65/schaltung.jpg

    Funktion der Schaltung (erklärung)

    - Wenn 6-Kabel einen 2 fachen Masse Impuls von 0,8 sek. innerhalb 3 sek. gibt soll der
    Microkontroller anfangen zu arbeiten. (Aktivierung)

    Microcontroller soll folgende Schritte durchführen:

    -5Kabel auf plus schalten
    -1Kabel auf plus schlaten (Zündung) und 3 sek. warten
    -nach 3 sek. 2Kabel für 2sek. auf plus schalten (Anlasser), 5sek. warten
    -Prüfen ob Kabel3 Strom führt (also ob der Motor angesprugen ist),
    wenn nicht, soll er den Anlasser noch mal für 2 sek. auf plus schlaten und 5sek. warten
    wenn jetzt kabel 3 Strom führt weiter zum nächsten Schritt,
    wenn nicht,alles abschlaten und auf 2 faches Impuls von Fernsteuerung warten (Anfang)
    -nächster Schritt: 4Kabel auf Plus schalten (Geräte im Auto) und 20 min. warten
    -nach 20 min. alles abschlaten (Anfang-warten auf 2 fachen Impuls....)

    Ich möchte den Vorgang im Microcontroller immer per Fernbedingen durch einmaliges Drücken (0,8 sek. Impuls am Kabel6) stoppen können. So damit sich der microcontroller alles auschaltet und wieder auf den 2 fachen Impuls wartet. Desweitern soll Kabel7 genauso den Microcontroller stoppen können (dauer masse)

    So, ich hoffe ihr versteht meine Logik *G* ich danke schon mal im vorraus für euer Hilfe.

    Mit freundlichen Grüßen Marcus

  2. #2
    Gast
    Hallo,
    hab deine Logig zwar nicht verstanden aber du sagtses, du hast schon GETRs programmiert, dann sagen dir wohl die Befehle etwas:
    Do
    Loop
    Goto
    for a=? to ?
    next a
    die Neuen Befehle zum ansteuern von Ports und die Warteschleife ist eigentlich relativ einfach
    Code:
    $regfile = "2313def.dat"
    $crystal = 10000000
    Das ist die Floskel die dem Compiler den Chip und die Quarzfrequenz angibt
    Hoffe das bringt dich dem Ziel etwas näher:
    grüßle
    Um einen Port anzusteuern musst du einen Port oder Pin als ein-bzw Ausgang definieren:
    Config portx = input/output
    Config pinx.y = input/output
    wenn der port definiert ist kanste in so ansteuern:
    Portx = ?
    portx.y = 0/1
    eine Warteschlaufe wird der Compiler selbst erzeugen wenn:
    wait ? (warte sekunden)
    waitms ? (warte milisekunden)
    waitus ? (warte mikrosekunden)

    Alle angaben gelten für den Compiler Bascom ( Demo gibts zum Downloaden)

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    25.02.2005
    Beiträge
    6
    Hallo.

    Danke für die Antwort, hab schon gedacht das mir niemand helfen kann.

    Aber einwas hab ich noch nicht verstanden. Wie kann ich realiesieren wenn der Controller gerade 5 minuten wartet (wait 300) um danach ein bestimmte sache anzusteueren, wie ich dann den Vorgang durch einen masseimpuls bzw. "dauermasse" an einem bestimmten port unterbrechen kann und damit der controller auf ausgangsposition zurück springt???


    Gruß Marcus

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    19.02.2005
    Alter
    29
    Beiträge
    470
    Tja, bin zwar in Bascom recht gut bewandert,
    muss da aber au mal drüber nachdenken!!

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    19.02.2005
    Alter
    29
    Beiträge
    470

    Die Lösung!!!!!!!!!!!!!!!!!!!!

    [glow=red:699c387101]Das ist die Lösung deines problems:[/glow:699c387101]
    Code:
    Dim A As Integer
    
    Do
    Waitms 1
    A = A + 1
    Loop Until A = 500000 Or Portd.0 = 1
    Entweder portd.0 = 1 oder die 3 Min sind vorbei wird dei schlaufe unterbrochen!

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    19.02.2005
    Alter
    29
    Beiträge
    470
    Unterschätzt nie die Macht eines Anfängers

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    25.02.2005
    Beiträge
    6
    Hey Leute.

    Danke für die Antworten

    also ich hab mir das jetzt mal theoretisch (dareienach) so gedacht:

    Ein zweifacher masseimpuls von jeweils 0,8sek (innerhalb von ca. 3-7 sek) startet einen beliebigen Vorgang



    Config Portb = Output
    Config PortD = Input
    Lbl A
    If Pind.6 = 0 (erster impuls von 0,8 sek)
    Then Goto A
    Else Goto B
    Lbl B
    1=W
    Lbl C
    W+1=W
    If W=8
    Then Goto A
    Else Goto D
    Lbl D
    If Pind.6 = 0 (zweiter impuls von 0,8 sek)
    Then Goto C
    Else Goto E
    Lbl E
    jetzt wird irgendetwas geschalten....

    Mein Controller funktioniert mit einen 4 Mhz Quarz... wie gesagt, das ist nur erstmal theorie vielleicht
    muss ich den zähler noch erhöhen oder verringern, aber das werde ich sehen (durch probieren)

    Was sagt ihr zu diesen anfangsprogramm?? ist ein fehler in meinen Überlegungen? Wäre für jeden Radschlag
    Dankbar..


    MFG Marcus

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    19.02.2005
    Alter
    29
    Beiträge
    470
    Frage haste das schon mal Simuliert????
    Goto geht in Bascom nämlich so:

    start:

    BlaBlaBlaBla

    goto start

  9. #9
    Gast
    Hallo @ teslanikola

    wie kann ich denn ein programm simulieren was ich über basic geschrieben habe??? gibs da programm wo ich auch direkt meinen typ von microcontroller anwählen kann??? (in meinem fall Atmal AT90S2313)???

    MFG Marcus Bocksch

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    25.02.2005
    Beiträge
    6
    Also der "Gast" grade eben war ich...

    hab nur noch was vergessen zu fragen bezüglich den "goto" befehl....
    also muss ich schreiben:

    A
    blabalbal
    If....
    Then Goto B
    Else Goto A
    B
    blabalbal


    Stimmt das so??

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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