hi
mensch mensch, das hätte ich selbst (noch) nicht hinbekommen.
probiere ich gleich morgen früh aus!!!!
vielen vielen dank schon mal
hütti
Druckbare Version
hi
mensch mensch, das hätte ich selbst (noch) nicht hinbekommen.
probiere ich gleich morgen früh aus!!!!
vielen vielen dank schon mal
hütti
hallöle
also, das modifizieren des files hat nix gebracht.
auch dieser code funktioniert nicht :
Code:'======================================================
'System-Einstellungen
'======================================================
'Definition für ATtiny 25
$regfile "attiny25.dat"
$crystal = 8000000
'======================================================
'Konfigurationen
'======================================================
Dim X As Word
Config Pinb.3 = Output
'CONFIG Adc = Single , Prescaler = Auto ( 64 )
LDI r24,0x06
!Out Adcsr , R24
'START ADC
SBI ADCSR,ADEN
Wait 2
Do
' ADC-Kanal-Nummer & Ref.1,1V nach Register 24
LDI r24,0x81
' in den ADC-Multiplexer
!Out Admux , R24
' Aufruf der getadc-funktion
!Call L_0x00f6
'Ergebnis in X
STS {X} , r24
STS {X+1} , r25
'LED an oder aus
If X < 500 Then Portb.3 = 1 Else Portb.3 = 0
Loop
End
'******************************************************
' Subroutine ADC
L_0x00f6:
SBI ADCSR,ADSC ' Starten der 1. Konversion
L_0x00f8:
SBIC ADCSR,ADSC ' Fertig ?
RJMP L_0x00F8 ' nein, Loop1
SBI ADCSR,ADSC ' Starten der 2. Konversion
L_0x00fe:
SBIC ADCSR,ADSC ' Fertig ?
RJMP L_0x00FE ' nein, Loop2
IN r24,ADCL ' Ergebnis auslesen r24:r25
IN r25,ADCH
RET ' fertig
kann das so schwer sein einen ad-wandler zum laufen zu bringen ?
bin schon fast geneigt wieder einen mega8 zu nehmen, doch leider
ist das layout zu klein.
noch irgend eine idee ? soll ich dir einen tiny schicken ? =P~
ha, habe was aus zufall rausgefunden :
der AD-wandler geht, wenn man ihn ganz normal per bascom anspricht.
halt x = getadc(1)
wenn man dann das ergebnis auswertet, kommt der fehler!
das ansprechen eines ports funktioniert, z.b.
if x > 100 then portb.3 = 1 else Portb.3 = 0
ein sprung geht aber nicht !
egal ob goto,gosub oder call, z.b.
if x > 100 then goto akku_fail
das haut nicht hin, egal wie ich es anstelle, es wird immer stumpf
der sprung gemacht, egal was man für spannungen dem wandler gibt.
auch
if x > 100 then z = 100
if z = 100 then goto akku
führt immer einen sprung aus.
jetzt bin ich echt durcheinander ...............
boahhhh, ich habe die lösung !!!!! =D> =D> =D> =D> =D>
ist ganz simpel:
die erste messung nach anlegen der betriebsspannung ist müll !!!!
also, getadc, moment warten, nochmal getadc und ein korrekter
wert wird gemessen. alle folgenden messungen sind dann auch ok.
und es muss heissen:
Config Adc = Single , Prescaler = Auto , Reference = 6
also ref. = 2,56V
eine ref von 1,1V ( sprich reference = 2 ) geht nicht !!!!!
man(n) lernt ja nie aus ...............
liebe grüsse
hütti
nachtrag!
deine modifizierte mcs.lbx muss auch sein, die originale geht nicht.
Also, die Zeit verging, Bascom 9.1 ist auf der Platte und ich habe immer
noch Probleme mit dem AD des Tiny 25.
Ich kann ihn komplett unter Bascom ansprechen. Referenz ist 2,56V.
Jedoch kommen Werte aus dem Wandler, die nicht der Eingangsspannung
entsprechen? Z.b. statt 480 werden 520 ausgegeben.
Wenn ich das Programm auf verschiedene Tinys flashe,
werden bei gleicher Eingangsspannung je nach Tiny andere Werte
ausgegeben.
Ist das ein Bug in Bascom oder schwankt die 2,56V Referenz?
( Die müsste dann aber stark schwanken )
Wie genau ist diese Referenz? Erfahrungen?
Danke für eure Hilfe
Hütti
ohhps, kleines Update:
das Gesagte galt für Bascom 9.0
habe gerade auf 9.1 umgestellt, laut File sind dort Bugs beim AD behoben.
habe nuneingestellt.Code:Config Adc = Single , Prescaler = Auto , Reference = Internal_2.56_nocap '2,56V ref
Start Adc
Nun spinnt der AD völlig, kommen viel zu kleine Werte raus ????
Hi,
inzwischen ist bekannt, das die .9.1 wieder mehr Probleme macht als sie wohl behoben hat :-k
Gibt schon diverse Threads hier.
Wenn ich für Tiny24 und Co compiliere kommt immer ein Fehler, compiliert wurde aber doch.
Hab noch nicht alle möglichen AVR durchprobiert was Bascom so zusammenbaut.
Aja,
wegen Referenz, die schwankt schon von AVR zu AVR, steht im DB wieviel das ist, nicht allzuwenig !
Kann man evtl. messen am REF-Pin aussen, wenn man das nach aussen legt.