Welcher Attiny brauch ich?

Gast #2799906
Lesenswert?

Hallo miteinander

Ich bin noch Anfänger auf dem Programmierweg mit Bascom, hab allerdings 
bereits mit LCDs und Taster Projekte erstellt.

Meine Frage ist, wie wählt Ihr einen Attiny oder Atmega aus?

Mein neues Projekt soll einen ADC Wert von 15 Konstanten mit dem 
Temperaturwert von einem DS18b20 vergleichen und entsprechend 2 Leds und 
ein Ausgang schalten.

In der Übersicht:

AttinyXX im 8poligen Gehäuse
interner Quarz
2 Betriebs/ Störungs Led
1 einfach Ausgang
1 ADC der anhand 15 vorgegebenen Werten entsprechend handelt
1 DS18b20 Temperatursensor
ISP wenn möglich
AVR Bascom als Programmiersprache

Ich würde am liebsten den Attiny13 nehmen, reicht hier aber der Flash 
und der Ram für solche Anwendungen?

Ansonsten den Attiny25 wenns nicht anders gehen würde.

Wie wählt Ihr den Chip aus?

Gruss
Gast #2799910
Lesenswert?

ich nehme attinys nur wenn ich kaum platz habe sonst immer den atmega8

wenn ich weiss das projekt könnte größer werden den atmega 16 damit hat 
man genug pins und sollte der flash nicht reichen kann man ihn ohne 
umbau einfach durch ein atmega32, 64 oder 128 tauschen
#2800021
Lesenswert?

Genau das meinte ich mit Hardware. Lange Leitungen z.B. an einem 
Widerstandsarray und ein Handy oder anderes Störsignal in der Nähe und 
schon passt es nicht mehr.

Allerdings kann man eine Toleranz mittels Shift right oder AND einbauen, 
so dass die 63 Zwischenwerte auch noch gelten.
#2800022
Lesenswert?

Hallo

Danke erstmal für die Antworten.

Ich möchte mittels 15 Schalterpositionen 15 verschiedene Widerstande vor 
den ADC Eingang schalten.

Bzw. 2 Schalterpositionen direkt mit GND oder VCC belegen.

Der ADC soll dann die Spannung messen und diese mit 15 vorprogrammierten 
Werten vergleichen. Der der am nächsten ist, wird gewählt und als 
momentane Schaltgrenze gebraucht.

Sobald die Temperatur am DS18b20 tiefer ist als diese Schaltgrenze, 
schaltet der eine Ausgang ein. (ohne PWm oder sonst was)

Ich brauche zwingend einen kleinen Attiny vom Gehäuse her, 
wahrscheinlich wird es ein SMD Projekt.

Hättet Ihr auch gleich noch einen besseren Vorschlag zu meinem jetztigen 
Stand?

Gruss Philippe

Edit:
Ich werde Metallschicht Widerstände verwenden. Kennt jemand ein guter 
Händler für verschiedene Werte? Nicht nur die E12 Reihe.
Gast #2800039
Lesenswert?

Hm,
also baust Du mit Widerständen einen Poti, der Deine Temperaturvorgaben 
darstellt und wenn's zu heiß oder kalt wird geht die Heizung an.
Habe ich das soweit richtig verstanden ?
Warum nicht gleich ein Poti ?
Kannst Du mal einen Schaltplan reinstellen ?
Gast #2800066
Lesenswert?

Ich denke mal, dass  Philippe B.  ein Poti mit genau
reproduzierbaren Widerstandswerten haben möchte.

Das setzt natürlich einen 15-stufigen Schalter mit
hochwertigen Kontakten voraus. Der wird nicht billig sein
und einiges an Platz benötigen!
#2800105
Lesenswert?

dumdidum schrieb:
> Hm,
> also baust Du mit Widerständen einen Poti, der Deine Temperaturvorgaben
> darstellt und wenn's zu heiß oder kalt wird geht die Heizung an.
> Habe ich das soweit richtig verstanden ?
> Warum nicht gleich ein Poti ?
> Kannst Du mal einen Schaltplan reinstellen ?

Ja genau so meine ich es.

Ein Poti kann ich nicht brauchen, denn ich kann optisch nicht Wissen was 
für ein Wert momentan eingestellt ist. Daher mit festen Widerständen.

Ein Schaltplan hab ich noch nicht, bin erst an der Planung.

@Bernie
Wenn ich die Referenzspannung des ADC auf VCC setzte. (Ich verwende 5V)
Hab ich gerundet folgende Linearespannungen zur Verfügung.
0  0.357   0.714  1.071  1.428  1.785  2.142  2.499  2.856  3.213  3.57 
3.927  4.284  4.641  5

Ich werde die Widerstände (mit 1% Toleranz) nach diesen ungefähren 
Spannungen berechnen und dann gerechneten Wert gleich als Konstante ins 
Programm schreiben.

Ein normaler Drehschalter wie dieser hier hat einen Überganswiderstand 
von 0,001Ohm und das kann mit Toleranzen vernachlässigt werden. Oder?
http://www.reichelt.de/Drehschalter/DS-1PC/3/index.html?;ACTION=3;LA=2;ARTICLE=7211;GROUPID=3283;artnr=DS+1PC;SID=11UC9knX8AAAIAABLy2Pgfdd38af412fb887fb127ee6ee3f6ed7f

Gruss Philippe
Gast #2800149
Lesenswert?

Philippe B. schrieb:
> Ein Poti kann ich nicht brauchen, denn ich kann optisch nicht Wissen was
> für ein Wert momentan eingestellt ist. Daher mit festen Widerständen.

Also es gibt auch Rastpotis, die dann genau definierte Werte haben.
Außerdem verstehe ich da Dein Problem nicht, Du definierst einfach von 
den 256 Werten die Dein ADC liefert Teilbereiche, also von 0-16 ist 0, 
von 17-33 ist 1 usw. usf.
Wieso kannst Du nicht wissen was eingestellt ist ?
Eine übliche Beschaltung wäre z.B. sowas:


+----------+
| Tiny13   +[ADC0]------------[Poti]
|          +------------------[LED]
|          +------------------[LED]          [Last]
|          |                                 |
|          +-----------------------[1k]----|< NPN
+----------+                                 |
                                            GND


Dann fragst Du in Deinem Programm in einer Endlosschleife den ADC0 ab 
und vergleichst ob der Wert in einem Deiner definierten 15 Wertebereiche 
liegt.
Oder habe ich da jetzt was übersehen ?
#2800151
Lesenswert?

Das mit dem Drehschalter klappt schon.


Anfänger schrieb:
> interner Quarz

Hat er nicht. Quarze sind nie intern. (Ausnahme: spezielle 
Uhrenbausteine)
Der RC-Oszillator wird für Deine Zwecke jedoch ausreichen.


Der ATtiny13(A) sollte reichen.
Ich weiß allerdings nicht, was Bascom erzeugt. In ASM würde das gehen.

ISP wird gewisse Probleme bereiten, da der Programmer im Zweifel gegen 
den 'Poti-Schalter', den DS1820 arbeiten oder eine LED treiben muß.


Gruß

Jobst
#2800170
Lesenswert?

Anfänger schrieb:
> Mein neues Projekt soll einen ADC Wert von 15 Konstanten mit dem
> Temperaturwert von einem DS18b20 vergleichen und entsprechend 2 Leds und
> ein Ausgang schalten.

die Ursprungs-Aufgabenstellung klingt wei eine normale 
Temerpatur-Regelung, welche "Anfänger" da erfunden hat.

> Mein neues Projekt soll einen ADC Wert von 15 Konstanten
> mit dem Temperaturwert von einem DS18b20 vergleichen
> und entsprechend 2 Leds und ein Ausgang schalten.

Sollwerterfassung: 15 Widerstände über A/D Wandler(warum so 
kompliziert?)
Istwerterfassung: mittels DS18b20
Ausgang: 2 LED (vielleicht zur Grenzwert-Darstellung?)
         1 "Ausgang" (digital)

Insbesondere braucht man für die Sollwert-Vorgabe kaum E24 oder E48 
Metallfilm-Widerstände
#2800171
Lesenswert?

dumdidum schrieb:
> Also es gibt auch Rastpotis, die dann genau definierte Werte haben.
> Außerdem verstehe ich da Dein Problem nicht, Du definierst einfach von
> den 256 Werten die Dein ADC liefert Teilbereiche, also von 0-16 ist 0,
> von 17-33 ist 1 usw. usf.

Etwa so wollte ich das Programm so oder so machen. Die Widerstände sind 
ja auch nicht auf lange Sicht hin immer gleich.

Dennoch hab ich keine feste und sichere Positionierung des Potis. Bin 
ich jetzt mit dem Poti genau an der Grenze eines ADC Bereichs wird es 
einige Zeit funktionieren und durch Alterung oder Temperaturschwankungen 
plötzlich in einen neuen Bereich gehen.

Da bau ich lieber feste vorgegebene Positionen ein.

Jobst M. schrieb:
> Hat er nicht. Quarze sind nie intern. (Ausnahme: spezielle
> Uhrenbausteine)
> Der RC-Oszillator wird für Deine Zwecke jedoch ausreichen.

Sorry natürlich RC Oszillator:-)

Jobst M. schrieb:
> ISP wird gewisse Probleme bereiten, da der Programmer im Zweifel gegen
> den 'Poti-Schalter', den DS1820 arbeiten oder eine LED treiben muß.

Ich könnte den ISP auch weg lassen. Einmal programmiert muss ja nichts 
mehr geändert werden. Nur bei Testobjekt wäre es ohne schlecht, ich kann 
allerdings auch einfach die Angeschlossenen Bauteile mittels Jumper kurz 
abklemmen.


Wegstaben Verbuchsler schrieb:
> Sollwerterfassung: 15 Widerstände über A/D Wandler(warum so
> kompliziert?)
> Istwerterfassung: mittels DS18b20
> Ausgang: 2 LED (vielleicht zur Grenzwert-Darstellung?)
>          1 "Ausgang" (digital)
>
> Insbesondere braucht man für die Sollwert-Vorgabe kaum E24 oder E48
> Metallfilm-Widerstände

Und wie soll die Temperatur eingestellt werden?
Auch darüber schon gedacht?

Gruss Philippe
Gast #2800179
Lesenswert?

Philippe B. schrieb:
> Dennoch hab ich keine feste und sichere Positionierung des Potis. Bin
> ich jetzt mit dem Poti genau an der Grenze eines ADC Bereichs wird es
> einige Zeit funktionieren und durch Alterung oder Temperaturschwankungen
> plötzlich in einen neuen Bereich gehen.

Nein eben nicht !
Ob Du nun einen 1k-Poti anschließt oder einen 100M-Poti, der ADC liefert 
immer Werte von 0 bis 255 bei 8bit.
Außerdem könntest Du einfach mit einer einzigen Taste die 
einzustellenden Werte durchgehen, zehnmal gedrückt Sollwert 10, 
sechszehnmal gedrückt Sollwert 1, Stichwort modulo ...
Gast #2800208
Lesenswert?

Jobst M. schrieb:
> Dafür hat er keinen Port mehr frei ...

Also wenn er kein Poti nehmen will aber die 15 Werte sowieso fix sind, 
kann er den entsprechenden Wert in der Software halten und statt via ADC 
einfach mittels Taster sequentiell durchgehen.
Einen Pin hat er noch frei und wenn eine mehrfarbige LED verwendet wird 
sogar zwei:
1x Taster/Poti
1x OneWire
1x RGB-LED
1x Schaltausgang

Ich sehe da keine großen Probleme ...
Gast #2800276
Lesenswert?

dumdidum schrieb:
> Sorry meinte Duo-LED mit zwei Anschlüssen, z.B. wie hier erwähnt
> http://www.dieelektronikerseite.de/Lections/Duo-LE...

Wieso RGB oder Duo LEDs?
Das geht mit 2 einzelnen LEDs meiner Meinung nach noch viel einfacher 
und vielseitiger.
1
                                  +
2
                                  |
3
                                  |
4
                                 .-.
5
                                 | |
6
                                 | |
7
                                 '-'
8
                                  |
9
                                  |
10
                                  V ->
11
                                  -
12
                                  |
13
                    Attiny o------o
14
                                  |
15
                                  V ->
16
                                  -
17
                                  |
18
                                  |
19
                                 .-.
20
                                 | |
21
                                 | |
22
                                 '-'
23
                                  |
24
                                  |
25
                                 ===
26
                                 GND
27
(created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren