Guten Tag Der adc bei meinem tiny26 spinnt. Lade ich das beiliegende Programm und verändere über ein 10K Poti (Enden an Vcc und GND ; Mitte am µC) an adc(1) langsam die Spannung gibt der µC per SoftUART nur jeden 16ten Wert aus. (Statt 10bit Auflösung also nur 6bit.) Ein Ausschnitt am Terminal sieht z.B. so aus: ADC : 94 1 350 ADC : 94 1 350 ADC : 110 1 366 ADC : 110 1 366 ADC : 110 1 366 ADC : 126 1 382 ADC : 126 1 382 ADC : 126 1 382 ADC : 142 1 398 ADC : 142 1 398 ADC : 158 1 414 ADC : 158 1 414 ADC : 158 1 414 ADC : 174 1 430 ADC : 174 1 430 ADC : 190 1 446 ADC : 190 1 446 Ich habe also 16 Digit Sprünge. (Ich lese aus Neugierde ADCL und ADCH getrennt aus und zusätzlich per = Getadc(1) das Gesamtresultat, siehe Software.) Am µC habe ich Vcc und Avcc auf +5V, beide GND auf Masse, am Aref 100nF nach GND und an Pb6 über 470R und GND eine Verbindung zum PC) Woran liegt es? Mache ich da was falsch oder ist der µC kaputt? Danke fürs Lesen. Wer kann helfen? Christoph
Christoph Stein wrote: > (Ich lese aus Neugierde ADCL und ADCH > getrennt aus und zusätzlich per = Getadc(1) das Gesamtresultat, siehe > Software.) Liest Du ADCL und ADCH auch in der richtigen Reihenfolge aus (erst Low-Byte, dann High-Byte)? Wenn nicht, dann kommt auf jeden Fall Murks raus!
Johannes M. wrote: > Liest Du ADCL und ADCH auch in der richtigen Reihenfolge aus (erst > Low-Byte, dann High-Byte)? Wenn nicht, dann kommt auf jeden Fall Murks > raus! In dieser Reihenfolge: C = Getadc(1) A = Adcl B = Adch (Siehe tiny26_adc_01.bas) Christoph
Sorry, aber ne Datei eines Formats, das ich nicht direkt öffnen kann, ignoriere ich aus Prinzip!
Johannes M. wrote: > Sorry, aber ne Datei eines Formats, das ich nicht direkt öffnen kann, > ignoriere ich aus Prinzip! Du kannst die Datei direkt öffnen. Sie wird als Text angezeigt. Aber wenn du sooooo misstrauisch bist....
1 | $regfile = "attiny26.dat" |
2 | $crystal = 1000000 |
3 | |
4 | Config Adc = Single , Prescaler = Auto , |
5 | |
6 | Dim A As Byte |
7 | Dim B As Byte |
8 | Dim C As Word |
9 | |
10 | Open "COMB.6:9600,8,N,1,Inverted" For Output As #1 |
11 | |
12 | Waitms 500 |
13 | |
14 | Print #1 , "HALLO" |
15 | |
16 | |
17 | Do |
18 | |
19 | Start Adc |
20 | |
21 | Waitms 100 |
22 | |
23 | C = Getadc(1) |
24 | |
25 | A = Adcl |
26 | B = Adch |
27 | |
28 | Stop Adc |
29 | |
30 | Waitms 100 |
31 | |
32 | Print #1 , "ADC : " ; " " ; A ; " " ; B ; " " ; C |
33 | |
34 | Waitms 500 |
35 | |
36 | Loop |
37 | |
38 | End |
Gruß, Magnetus
Magnus Müller wrote: > Johannes M. wrote: >> Sorry, aber ne Datei eines Formats, das ich nicht direkt öffnen kann, >> ignoriere ich aus Prinzip! > > Du kannst die Datei direkt öffnen. Sie wird als Text angezeigt. Aber > wenn du sooooo misstrauisch bist.... Nein, ich kann sie nicht direkt öffnen. Wenn das ginge, dann hätte ich es auch getan! Ich kann sie nur auf meiner Festplatte speichern und dann öffnen, was ich aber nicht mache...
Der ATTiny26 kann definitiv 10 Bit wandeln: Beitrag "ADC mit Multiplexanzeige" Ob nun die speziellen Funktionen und Parameter des Bascom richtig verwendet werden und den richtigen Code erzeugen, kann ich nicht erkennen (hab kein Bascom). Ich lese immer das Datenblatt und steuere dann die Peripherie direkt an ohne irgendwelche Blackboxes und Wizards. Peter
Du weißt aber, dass die erste Wandlung nach dem Einschalten des ADC i.d.R. Müll liefert? Wenn Du jedes Mal den ADC komplett neu startest (und ich vermute mal, dass "Start Adc" genau das macht, nämlich das ADEN-Bit setzt; ansonsten macht ja auch "Stop Adc" wenig Sinn), dann kannst Du die erste Wandlung getrost wegschmeißen. Ich kenn mich mit Bascom nicht sonderlich aus, aber ich vermute, dass die Funktion Getadc bereits die Wandlung startet. Den ADC jedes mal danach komplett auszuschalten und dann vor der Wandlung wieder einzuschalten, ist aus o.g. Gründen völliger Unsinn.
@ Johannes M. >> Du kannst die Datei direkt öffnen. Sie wird als Text angezeigt. Aber >> wenn du sooooo misstrauisch bist.... >Nein, ich kann sie nicht direkt öffnen. Wenn das ginge, dann hätte ich >es auch getan! Ich kann sie nur auf meiner Festplatte speichern und >dann öffnen, was ich aber nicht mache... Dann solltest Du die Datei garnicht anklicken. Was meinst Du denn was passiert, wenn Du Sie anklickst. Sie wird auch auf der Festplatte gespeichert. Gruss Oops
Oops wrote: > Dann solltest Du die Datei garnicht anklicken. Was meinst Du denn was > passiert, wenn Du Sie anklickst. Sie wird auch auf der Festplatte > gespeichert. Und wieder einer, der nicht kapiert, worum es geht! Es geht mir nicht darum, irgendwas zu speichern oder nicht, sondern darum, dass es Dateiformate gibt, die ohne großartiges Rumfuddeln durch einfaches Anklicken im Browserfenster geöffnet werden können. Das geht mit .txt-, .asm- und .c-Dateien reibungslos (wobei letztere mittlerweile auch direkt als formatierter Code verfügbar sind). .bas-Dateien gehören anscheinend nicht (oder nicht in allen Browsern) zum erlauchten Kreis...
[off topic] Mich persönlich nervt es am meisten, wenn Schaltpläne und Layouts als .sch und .brd geposted werden. [/off topic]
@ magnetus mich stört das eigentlich nicht, bei Fragen etc. kommt das eh nur äußerst selten vor. Und bei Projekten kann jeder machen, was er für richtig hält. Wobei ich dort ein zusätzliches PNG für sinnvoll halte. Gruß Jörg
>> Dann solltest Du die Datei garnicht anklicken. Was meinst Du denn was >> passiert, wenn Du Sie anklickst. Sie wird auch auf der Festplatte >> gespeichert. >Und wieder einer, der nicht kapiert, worum es geht! Es geht mir nicht >darum, irgendwas zu speichern oder nicht, sondern darum, dass es >Dateiformate gibt, die ohne großartiges Rumfuddeln durch einfaches >Anklicken im Browserfenster geöffnet werden können. Und wieder einer der nicht schreibt was er meint. Gruss Oops
ich würde mal ADIF auswerten statt 100mSek zu warten. Könnte es sein das du mittels Kondensator das Analoge Signal zu stark dämpfst und es deshalb in Verbindung mit der 100mSek Pause zu diesem Anstieg oder Abfall von 16 kommt? Probier mal folgendes 1. Ein 1k Poti statt des 10k Potis nehmen oder den Kondensator gegen ein kleineres Model austauschen z.B. Kerko 100nF 2. Das ADIF auswerten so erreichst du höhere Sempleraten als 10 Hz und hattest dadurch auch die Chance irgendetwas zw. den 16 Werten zu messen. Zusammen mit den weiteren 500mSek kommst du ja nicht mal auf 0,5 Wandlungen pro Sekunde, deshalb denke ich auch das du da nen riesen Elko zum dämpfen drinhast der fehl am Platz ist
Das Problem hat sich erledigt. Ich habe den tiny26 gegen einen mega8 getauscht, den ich noch in der Kiste zu liegen hatte, sonst aber nichts geändert und es funktioniert reibungslos. Offenbar hat der tiny26 tatsächlich einen Schuß. Danke fürs Lesen Grüsse Christoph
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.