Autor | Thema |
---|---|
CharlyMai
Foren-Prediger
Registriert seit: Mär 2005 Wohnort: Fuhrberg Verein: SOLARIS-RMB e.V. (P2;T2) / AGM / TRA#21598 Beiträge: 1977 Status: Offline |
Beitrag 128443
[07. September 2007 um 20:57]
Ähm ... Compiler Error, oder wie geht nicht ???
ICQ ?? Yahoo ?? PM ME !! Charly Geändert von CharlyMai am 07. September 2007 um 20:57 •"Der Glaube an eine bestimmte Idee gibt dem Forscher den Rückhalt für seine Arbeit. Ohne diesen Glauben wäre er verloren in einem Meer von Zweifeln und halbgültigen Beweisen." Konrad Zuse •Konstruiere ein System, das selbst ein Irrer anwenden kann, und so wird es auch nur ein Irrer anwenden wollen. SOLARIS-RMB e.V. AGM |
CharlyMai
Foren-Prediger
Registriert seit: Mär 2005 Wohnort: Fuhrberg Verein: SOLARIS-RMB e.V. (P2;T2) / AGM / TRA#21598 Beiträge: 1977 Status: Offline |
Beitrag 128446
[07. September 2007 um 21:13]
Also, das compiliert er bei mir einwandfrei :
'******************************************** '** Timer Test für Tiny45 ** '** Testversion ** '** ** '** (C) Pierre Mai 2007 ** '** ** '******************************************** '-------------------------------------------------------------------------------------- 'Allgemeine Compiler Konfiguration $regfile = "attiny45.dat" 'Prozessor Tiny45 $crystal = 8000000 '8 MHz '$baud = 250000 '$eeprom '-------------------------------------------------------------------------------------- 'Hardware Konfiguration Portb = &B11111111 Ddrb = &B11111111 '-------------------------------------------------------------------------------------- 'Timer Konfiguration Config Servos = 2 , Servo1 = Portb.0 , Servo2 = Portb.1 , Reload = 5 , Timer = Timer0 Config Timer1 = Timer , Prescale = 1024 Enable Timer1 '-------------------------------------------------------------------------------------- 'Variablen Konfiguration '-------------------------------------------------------------------------------------- 'Interrupts einstellen und Starten On Timer1 Readrctime: Enable Interrupts '-------------------------------------------------------------------------------------- 'Hauptprogramm Do Loop '###################################################################################### 'Subroutinen '-------------------------------------------------------------------------------------- 'Timer 1 ISR Readrctime: Toggle Pinb.3 Return '-------------------------------------------------------------------------------------- 'Timer 2 ISR '-------------------------------------------------------------------------------------- 'EEPROM Daten '-------------------------------------------------------------------------------------- 'Ende Programm End 'end program Geändert von CharlyMai am 07. September 2007 um 21:13 •"Der Glaube an eine bestimmte Idee gibt dem Forscher den Rückhalt für seine Arbeit. Ohne diesen Glauben wäre er verloren in einem Meer von Zweifeln und halbgültigen Beweisen." Konrad Zuse •Konstruiere ein System, das selbst ein Irrer anwenden kann, und so wird es auch nur ein Irrer anwenden wollen. SOLARIS-RMB e.V. AGM |
MarkusJ
Gardena Master of Rocketry
Registriert seit: Apr 2005 Wohnort: Kandel Verein: Beiträge: 2148 Status: Offline |
Beitrag 128452
[07. September 2007 um 21:58]
*Glaskugelauspack*
So wie sich das anhört, funktioniert der Code auf dem Atmel nicht ... aber ich hab keine Ahnung von nichts mfG Markus PS: Pierre, wann kommt denn dein Ultra-Einsteigerfreundliches-Atmel-Lehrgang-Buch raus *g* *duck&run* WARNUNG: Dieser Beitrag kann Spuren von Ironie beinhalten Ich bin weder eine Suchmaschine, noch ein Nachschlagewerk - PNs zu Themen die im Forum stehen oder dorthin gehören, werde ich nicht beantworten. Bilder bitte NICHT über Imageshack oder andere Imagehoster einbinden! |
Scorpion_XIII
Poseidon Registriert seit: Jun 2005 Wohnort: Verein: Beiträge: 1154 Status: Offline |
Beitrag 128454
[07. September 2007 um 22:24]
Zitat: Die Glaskugel stimmt Compilieren tut er ohne Probleme aber die Hardware macht nix Edit: Ich sehe gerade zufällig in der Bascom-Hilfe, dass der Timer1 als 16bit deklariert ist. Der ATTiny hat aber nur 2 8bit Timer. Man müsste auf den Timer2 ausweichen, der wiederum ein 8bit ist aber da streikt der Compiler. Wenn ich das richtig verstehe muss man das "zu Fuss" machen also die Register selber schreiben. Und das mit den Registern ist noch etwas Gruß Scorpion_XIII Geändert von Scorpion_XIII am 08. September 2007 um 00:20 t(h)rust in GARDENA |
CharlyMai
Foren-Prediger
Registriert seit: Mär 2005 Wohnort: Fuhrberg Verein: SOLARIS-RMB e.V. (P2;T2) / AGM / TRA#21598 Beiträge: 1977 Status: Offline |
Beitrag 128483
[08. September 2007 um 15:20]
Nein, es bleibt bei Timer 0 und 1 ...
Die Frage ist noch, welchen Takt Du nimmst und damit welchen Prescaler Du auswählst. Nicht dass Du myriaden Jahre auf den INT warten must ... Da bleibt ein Rechnen nicht aus .... Welche BASCOM Version nutzt Du ?? Ich habe die 1.11.8.9 m.W. nach hatten die Vorgänger Probleme mit den Timern bei den Tiny-Prozzies. Als Anlage habe ich mal die History.txt hier in den Post gepackt, vielleicht da mal nachschauen. Zeit meines Buches ... Ohgottohgott... das ist derzeit wie mit dem Interrupt hier ... :-) Es kommt nicht .... aber das würde den Beitrag hier sprengen und auch nicht hierhergehören !! Glaskugeln gehören in den Zauberladen ... aber nicht in einen Ernsten Beitrag der auf Lösungen wartet !! viele Grüße Pierre Anhang: history.txt Geändert von CharlyMai am 08. September 2007 um 15:20 •"Der Glaube an eine bestimmte Idee gibt dem Forscher den Rückhalt für seine Arbeit. Ohne diesen Glauben wäre er verloren in einem Meer von Zweifeln und halbgültigen Beweisen." Konrad Zuse •Konstruiere ein System, das selbst ein Irrer anwenden kann, und so wird es auch nur ein Irrer anwenden wollen. SOLARIS-RMB e.V. AGM |
Scorpion_XIII
Poseidon Registriert seit: Jun 2005 Wohnort: Verein: Beiträge: 1154 Status: Offline |
Beitrag 128621
[10. September 2007 um 20:46]
Es scheint so, als ob der Timer1 bei Bascom und dem ATTiny45 ein Problem ist
Aber es gibt auch Erfreuliches, es gibt eine runde Version der Platine Mit ca. 6cm Durchmesser passt sie wunderbar in eine 0,5er Rakete. Ansteuerung von 2 Servos, Triggerung über Abreißkontakt, LED zur Anzeige, Mode- und Resettaster, Zeiteinstellung und -speicherung Notfallprogramm bei Stromverlust in Startphase... Sollten sich noch Fehler in Schaltplan oder Layout geschlichen haben, bitte melden. Anhang: runde version1.zip (Wenn ich das Problem mit dem Timer1 gelöst habe, stell ich auch den SourceCode hoch) Gruß Scorpion_XIII Geändert von Scorpion_XIII am 10. September 2007 um 20:46 t(h)rust in GARDENA |
Reinhard
Überflieger Registriert seit: Sep 2003 Wohnort: Österreich Verein: TRA #10691, AGM Beiträge: 1187 Status: Offline |
Beitrag 128630
[11. September 2007 um 00:00]
Hi,
die HW sieht ziemlich gut aus. Teste aber am Besten vorher noch ob die Spannung nicht zu sehr einbricht wenn beide Servos gleichzeitig losfahren und dabei auch noch belastet werden. Wenn die Schaltung das nicht ohne Reset wegsteckt musst du die Versorgungsspannung für Servo und AVR entkoppeln. Ist der Resettaster im normalen Betrieb notwendig? Wenn nicht, dann würde ich darauf verzichten ihn zu bestücken. In dieser Einbaulage könnte er bei stark beschleunigenden Raketen ausgelöst werden, was vermutlich zum Versagen der Schaltung führt. Je nach SW kann das auch für S2 gelten, aber dass kann man ja ohne Probleme umgehen. Gruß Reinhard |
Scorpion_XIII
Poseidon Registriert seit: Jun 2005 Wohnort: Verein: Beiträge: 1154 Status: Offline |
Beitrag 128638
[11. September 2007 um 11:39]
Hi,
Danke, das mit dem Reset stimmt der ist nicht so wichtig (Strom unterbrechen ist ja der gleiche Effekt) Der Modeschalter S2, im jetzigen Layout S1, wird nur zum Einstellen der Zeit benötigt. Ist der Timer einmal scharf, wird der Zustand von ihm nicht mehr beachtet. Mit Netzteil funtioniert die Schaltung ohne Einbrechen der Spannung oder Reset. Der Strombedarf liegt bei Servobetrieb am 9V Netzteil bei durchschnittlich 150-200mA und kurzzeitigem Spitzenwert von 250mA. (Die billig Servos von Conrad) Batterien habe ich leider gerade keine im Haus teste ich dann aber auch noch mal. Der Ruhestrom ist bei aktiver LED bei max. 15-20mA Gruß Scorpion_XIII Edit: Die Software habe ich jetzt mal mit wait-Befehlen ausgestattet und teste einfach wie lange der jeweilige wait-Befehl wirklich ist. Das Programm passt sogar noch auf den ATTiny13 (96% des Speichers belegt ) Geändert von Scorpion_XIII am 11. September 2007 um 13:25 t(h)rust in GARDENA |
Lightning_Man
Raketenbauer Registriert seit: Jul 2007 Wohnort: ----- Verein: ----- Beiträge: 176 Status: Offline |
Beitrag 128796
[14. September 2007 um 18:16]
Hi Scorpion_XIII,
>Der Ruhestrom ist bei aktiver LED bei max. 15-20mA Wenn Du low current LEDs nimmst (2-5mA) und den Tiny nach getaner Arbeit mit dem BASCOM Befehl "sleep" schlafen legst, kannst Du den Stromverbrauch nochmal drastisch reduzieren. Nachdem die Servos betätigt wurden, brauch der Atmel ja nix mehr machen. viele internette Grüße, Reinhard if nothing else helps, just add a couple of kilovolts ) L1 TRA #: 11857 |
Scorpion_XIII
Poseidon Registriert seit: Jun 2005 Wohnort: Verein: Beiträge: 1154 Status: Offline |
Beitrag 131930
[07. November 2007 um 15:14]
Auf http://www.mikrocontroller.net konnte mir jemand die entscheidenen Zeilen sagen. Timer1 wird über seine Register angespochen und Timer0 ist für die beiden Servos. $regfile = "ATTiny45.dat" $crystal = 1000000 '1MHz $hwstack = 32 $swstack = 16 $framesize = 40 '''TCCR1=&H07 'This will replace Config Timer1 = Timer , Prescale = 64 TCCR1=&H0D 'This will replace Config Timer1 = Timer , Prescale = 4096 '''TCCR1=&H0F 'This will replace Config Timer1 = Timer , Prescale = 16384 ''' See datasheet for more prescaler values On Timer1 Readrctime Enable Timer1 Config PINb.3 = Output 'LED Led1 Alias Portb.3 Enable Interrupts Do !NOP Loop End 'ISR Readrctime: Toggle Led1 Return Wenn dieses Codefragment noch im eigentlichen ServoTimerMini-Programm funktioniert bin ich glücklich. Grüße Scorpion_XIII t(h)rust in GARDENA |