-         

Seite 1 von 5 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 44

Thema: Bascom Simulator

  1. #1

    Bascom Simulator

    Anzeige

    Hallo!

    Ich baue gerade ein Modellboot und möchte dieses per Microcontroller steuern. Ich hab einen attiny13 mit Bascom programmiert. Leider funktioniert das Servo, das ich damit ansteuern will damit nicht.

    Das hat dazu geführt, daß ich den Simulator nutzen wollte. Ich lasse mir die Variable Servo(1) ausgeben. Diese ändere ich in einem Loop immer wieder, leider bleibt der Simulator immer im Loop stecken, was mich vermuten läßt, daß das dann auch das Problem beim Servoansteuern ist...

    hier der Code

    Code:
    $regfile = "attiny13.dat"
    $crystal = 1200000
    $hwstack = 22
    
    Config Servos = 1 , Servo1 = Portb.0 , Reload = 10
    
    Config Portb.0 = Output
    
    Disable Interrupts
    Do
    Servo(1) = 50
    Waitms 2000
    Servo(1) = 150
    Waitms 4000
    Loop
    Allzu tief konnte ich bis jetzt noch nicht in die Materie eintauchen...

    Vielleicht kann mir jemand helfen bzw. einen Tipp geben

    lg

    Wolfgang

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112

    Re: Bascom Simulator

    Zitat Zitat von s17
    Disable Interrupts
    Damit die Servos funktionieren, wirst du die Interrupts global freigeben müssen. Die Routine verwendet die ISR von Timer0.

    Mit Waitms 2000 wirst du im Simulator sehr lange (mehrere Minuten) warten müssen, bis sich da was tut. Entweder du gibst zum Testen kleinere Wartezeiten ein oder du schreibst am Anfang $sim in deinen Code. Dann werden die Wartezeiten ignoriert.

  3. #3
    aha, jetzt gehts, aber ich dachte ms bedeutet millisekunden... Danke! disable interrupts habe ich mit enable interrupts ersetzt

    Leider schaff ich es noch immer nicht den Servo alle paar Momente umzustellen... Vielleicht kannst du mir nochmal helfen?

    Ich betreibe das Netzgerät mit 5V und hänge an Pin4 den Minuspol und an Pin8 den Pluspol. Pin 5 verbinde ich mit einer Litze mit dem orangenen Kabel des Servos. Das Servo selber schließe ich an 6 Volt an.

    Habe ich da was falsch gemacht. Kann ich irgendwie überprüfen welcher Code sich im Speicher des Mikrocontroller befindet? Oder reicht es wenn keine Fehlermeldung kommt wenn ich den "Programm Chip" Button drücke?

    Danke schon mal für die Hilfe...

    Wolfgang

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    30.12.2008
    Beiträge
    1.418
    ja für den µC aber der rechner macht das nicht so schnell der brauch dafür ewig
    und dann noch der tipp stell das bei Bascom so ein das du den chip gleich danach ausliest und vergleichst wenn ein fehler aufgetaucht ist dan siehst den
    oder drückst verify flash Rom against buffer
    was gibt es noch zu sagen

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.01.2007
    Ort
    westliches Pannonien
    Beiträge
    123
    Hallo!

    Ein Tipp:

    Du mußt GND vom Servo mit GND vom µC verbinden.

    MfG
    Rone

  6. #6
    Hallo!

    Also auf dem Chip dürfte das Programm oben sein... Aber funktionieren tut das Werkl noch immer nicht.

    @Rone: Das mit dem Verbinden der beiden Grounds verstehe ich nicht ganz, wenn ich zwei Spannungen habe. Dann habe ich zwei Spannungen die auf dem Ground zusammentreffen (Netzteil mit ca. 5 Volt und Servo mit 6 Volt) oder?

    Kannst du mir vielleicht alle Verbindungen die ich machen muß aufschreiben, damit nichts kaputt mache. Ich habe davon null Ahnung...

    lg

    Wolfgang

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.556
    GND müssen verbubnden sein sonst hast Du keinen
    Sromkreis in der Ansteuerung. Du hast bei Dir 2 Sromkreise,
    einmal 6V......Motor......GND,
    einmal 5V.....Servoelecktronik....GND. Damit diese
    Kreise gesclssen sind müssen beide GND verbunden sein,
    sonst kann kein Steuerstrom ließen und es tut sich NIX.

    Du brauchst ein gemeinsames Potential.

    Gruß Richard

  8. #8
    Hallo Richard!

    Ich stell mich sicher sehr blöd an, aber ich bin ein absoluter Newbie...

    Deshalb frage ich jetzt nochmal bevor ich was kaputt mache:

    Beim Servo schließe ich einen Batteriehalter mit 6V bei Plus und Minus des Servos an (Servo macht einen Ruckler...)

    Beim Mikrocontroller schließe ich plus bei Pin8 und minus bei Pin4 vom Netzgerät mit 5V an. Dann verbinde ich das orangene Kabel des Servos mit Pin5 des Mcontroller.

    Und jetzt verbinde ich noch Pin4 (gnd Microc.) mit dem Minuspol des Servos??

    lg

    Wolfgang

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.01.2007
    Ort
    westliches Pannonien
    Beiträge
    123
    Hallo!

    Ja!

    MfG
    Rone

  10. #10
    Hm, geht noch immer nicht... Bei der Zeitsteuerung hab ich wieder 2000ms genommen... der Mikrocontroller hält sich ja an die Zeit, oder?? Hier nochmal der Code

    Code:
    $regfile = "attiny13.dat"
    $crystal = 1200000
    $hwstack = 22
    
    Config Servos = 1 , Servo1 = Portb.0 , Reload = 10
    
    Config Portb.0 = Output
    
    Enable Interrupts
    Do
    Servo(1) = 50
    Waitms 2000
    Servo(1) = 150
    Waitms 4000
    Loop

Seite 1 von 5 123 ... LetzteLetzte

Berechtigungen

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