Hallo zusammen, Ich bin kurz davor verückt zu werden. Ich kriege einfach keine Vernünftigen wait Funktionen in Bascom ans laufen.Es werden immer Falsche Intervalle ausgeführt. ZB bei "Wait 1" was eine Sekunde sein soll sind es etwa 2 usw. Also ich habe den ganzen Tag daran gefummelt und kann den Fehler eingrenzen. Es MUSS an der Platine liegen weil der gleiche Chip in einer anderen Schaltung einwandfrei Funzt,auch wenn er in der "defekten" programiert worden ist. Der Interne RC Oszilator ist definitiv ausgeschaltet, ich benutze eine Externe Taktquelle.8mhz. Nun kann sicherlich niemand Hellsehen wo der Fehler auf der Platine ist(welche ansonsten Funzt sprich programieren usw),deshalb ist meine Frage ob jemand eine Idee hat welche "Fehlbeschaltung" dazu führen kann das A) keine genauen Delay Funktionen ausgeführt werden und B) keine Servos angesteuert werden koennen.(bzw die zucken nur) Ich weiss dass es wahrscheinlich keine Loesung geben wird, probiere aber trotzdem mal...hier bleibt ja eigentlich nix ungeloest :) vielen Dank im Vorraus Achim
Hi Achim, hast du mal die Stromaufnahme der Schaltung gemessen? Was nach meiner leidvollen Erfahrung noch zu gemeinen Fehlfunktionen führen kann, ist wenn nicht alle Pins richtig verlötet sind (weil man vielleicht geträumt hat und die Sockeln nicht an der Oberseite mitgelötet wurden <eg>). Hast du die Schaltung schon mal funktionsfähig gesehen, sprich ist ein grober Designfehler ausgeschlossen? Viele Grüße
Hallo, das Netzteil kann 10 a liefern,muesste also unkritsich sein. (Die Spannung wird "geglätet,geregelt und wieder geglätet) Wie gesagt kann ich dne Chip programieren und die LED leuchtet auf bzw blinkt nur halt leider in der Falschen Frequenz. Und die Servos machen nur Unsinn,deshalb denke ich es ist ein Timing Prob. quote Was nach meiner leidvollen Erfahrung noch zu gemeinen Fehlfunktionen führen kann, ist wenn nicht alle Pins richtig verlötet sind (weil man vielleicht geträumt hat und die Sockeln nicht an der Oberseite mitgelötet wurden <eg>). quote Sorry wie meinst du das? gruss Achim
Hallo, ich habe das "$crystal = 8000000" nicht vergessen und mit mehreren Frequenzen gespielt. Leider klappte es nicht da der Chip ja etwa halb so lange ist wie er sein soll ein fach auf 4MHZ zu stellen....das ist nicht linear oder so Gruss
HI, in der Anleitung meine ich steht was davon das der Waitbefehl sich immer auf 4 Mhz bezieht. Mfg Dirk
Hi wie gesagt habe ich (fast)alle Frequenzen probiert und wenn 4MHZ eingestellt sind kann ja 2MHZ oder 8 MHZ den richtigen Delay Wert erzeugen. Ausserdem funktioniert der timer0 nicht weil die Servos nicht funzen. Also wie gesagt ich werde noch verückt!!!!! vielen Dank für die tips vieleicht hat ja einer noch nen rettenden Einfall. viele Grüsse PS nur noch mal fürs Protokoll wenn man den AVR in eine Andere Platine einsetzt geht Alles! und ich baue eigentlich alle Platinen gleich auf,was sachen angeht wie Reset,Versorgungspannung,Ablockkondensatoren usw.
HALLO, ich denke das kann nicht Schaden muesen allerdings weiss ich nicht wie das geht,ich kenne mich mit eagle oä nicht aus. Der Schaltplan ist weitsetgehend mit dem aus dem AVR Tutorial identisch. AVCC,VCC und AREF sind verbunden und mit einen 100n kerko gegen Masse gelötet. Den 47p Kerko habe ich wegelassen und es gibt einen Reset Taster. Also Die Platine hat Stromversorgung,ISP,und einen Externen Taktgeber,mehr nicht(ok eine LED). Falls das jemanden was sagt; der Waitms 500 (soll 0,5 sec warten) wartet ungefähr eine Sekunde.Also Faktor 2!?!?!??!!. Wenn man die Codezeile "$crystal = 8000000" ändert,ändert sich diese Zeitverzögerung nicht!!!. Ich weiss das alles dafür spricht das der Interne Oszi an ist aber der Chip ist 100% auf extern gestellt...er reagiert in einer Schaltung mit Quarz NICHT. gruss
Hallo, ich bins Nochmal.Ich habe das Problem Isoliert,wenn auch nicht gelöst. Wenn ich Folgende Zeilen auskomentiere: ------------------------------------------------------ Config Servos = 1 , Servo1 = Portb.0 , Reload = 10 Enable Interrupts ------------------------------------------------------ Funktionieren die Delay Funktionen Tadellos, und sogar genau doppelt so schnell wenn ich 4mhz(anstatt der vorhandene 8mhz) angebe. Nun da ich gerne Servos ansteuere hilft mir das nicht viel weiter. Aber vieleicht hat jetzt jemand durchblick. mfg Achim
...wenn man nur die Config Servos Zeile weglässt tuts auch alles... ....das verstehe wer will
setz die mal woanders im code ein. vielleicht is das ja irgendn bug.
ähm, theorie: durch den ständigen interrupt, der aufgrund der servo-sache ausgelöst wird, wird der wait-befehl ständig "unterbrochen". dadurch dauerts halt was länger, bis er abgearbeitet ist. würde allerdings nicht erklären, warum der so programmierte controller in ner anderen schaltung einwandfrei läuft...und ich weiß auch nicht, ob bei der servogeschichte überhaupt interrupts ausgelöst werden :)
...woanders einsetzen bringt nix :( ...ja also servos brauchen laut bascom hilfe Interrupts.... ...und Servos machen auch nicht was sie sollen...:(
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.