Forum: Mikrocontroller und Digitale Elektronik Projekt: MC (ATtiny26) als Messinstrument zur Steuerung


von Flaix X. (flaix_x)


Angehängte Dateien:

Lesenswert?

Hallo@all,
ich habe mich hier frisch in dem Forum angemeldet und hoffe auf
Unterstützung von euch für mein Projekt.

Ich habe so gut wie keine Erfahrung mit Mikrokontrollern aber finde es
faszinierend was man mit Ihnen so alles machen kann. Hier im Forum habe
ich einige Projekte von anderen gesehen (welche sogar dem ähneln was ich
gerne machen würde) und hoffe das Ihr mir mit euren Erfahrungen Sachen
erklären könntet, wo es bei mir an Wissen fehlt.

Zu meinem Projekt. Ich habe mir einen ATtiny26 von Amtell zugelegt
(8bit) diesen würde ich gerne als Messgerät+Steuerung verwenden. Ich
habe eine kleine Solarplatte die mir im Leerlauf 16,2V bei 20mA bringt
und unter Last 5,3V.

(Datenblatt des MC ersichtlich unter:
http://www.atmel.com/Images/doc1477.pdf)

Es soll nur Spannung gemessen werden.  Soweit ich es gesehen habe kann
auf den Eingängen des ATtiny26 nur Eingangssignale von bis zu 5V
angelegt werden. Ansonsten denke ich mir geht der MC kaputt gehen. Das
heisst ich muss eine Art Transistor zuvor schalten der mir aus den 16V
(Leerlauf) eine Spannung liefert mit der der MC arbeiten kann.
Des weiteren brauche ich einen AD-Wandler der mit aus meinem analogen
Signal ein digitales liefert, sodass der MC die Messwerte
„einlesen/verarbeiten“ kann. Nun weis ich nicht ob ich vorher eine
AD-Wandler dazuschalten muss oder soweit ich das richtig gelesen habe
der ATtiny einen AD-Eingang besitzt.

Die Spannungsversorgung des ATtiny26 soll extern erfolgen über ein
Netzteil, lediglich die Spannungsmessung soll durch Ihn erfolgen.  Was
ich genau vorhabe soll an der Zeichnung (vorerst mal ein grober
Schaltplan) verdeutlicht werden:

(siehe Bild im Anhang)

-  Links ist das PV Modul als Erzeuger gekennzeichnet. Dieser liefert
eine Strom zum betreiben einer Last. (Die Last ist noch unklar aber ich
habe an eine kleine LED-Kette gedacht -> Spannungsversorgung DC 5V)
-  Zur Kompensierung wird ein kleiner Superkondensator parallel
geschaltet.
-  Die Spannungsmessung soll an der Verbindung Erzeuger – Last
abgegriffen werden. Bevor diese an die Eingänge des MC gelegt wird soll
aufgrund der evtl. zu hohen Last für den MC ein AD-Wandler und eine
Transformatorschaltung dazwischen geschaltet werden.
-  Im Datenblatt steht das der Port Pin PA7 einen AD Konverter Funktion
besitzt. D.h. ich bräuchte gar keine AD-Wandler Schaltung und könnte
nach der Transformatorschaltung das Signal auf den Port PIN PA7 direkt
anlegen?!?!


Mein erstes Ziel ist es einen genauen Schaltungsplan zu erstellen.
Nachdem dies gemacht worden ist würde ich gerne den MC dazu benutzen die
Spannung einzulesen und je nachdem welcher Wert anliegt einen Port PIN
freigeben/schalten lassen.
Die Grundidee die ich habe ist die. Wenn mein PV-Zelle 5V erbringt, soll
Port Pin z.B. 16 geschaltet werden und eine LED (grün) zum Leuchten
bringen. Wenn hingegen weniger wie 5V, sagen wir mal 0-3V nur von der
PV-Zelle erzeugt werden soll Port Pin 17 geschaltet werden und eine LED
(gelb) zum leuchten bringen. Sollte mehr wie 5V erzeigt werden, soll
Port Pin 18 geschaltet werden und eine LED (rot) zum leuchten bringen.

Wie gesagt das ist mal die Grundidee und mit den Werten wann welche LED
(grün, rot, gelb) geschaltet wird muss ich nochmal genau schauen mit den
Werten welches mir die PV-Zelle hergibt und evtl. lasse ich die LED in
einer bestimmten Frequenz blinken.


Wie gesagt der erste Schritt wäre erst einmal einen schönen Schaltplan
zu erstellen, den ich benutzen kann um mir das Board zu bauen. Ich weiss
meine Zeichnung oben ist nicht sehr Professionell aber evtl. könnte mir
jemand von euch sagen was ich genau einbringen muss um diese
Funktionsweise zu verwirklichen. Wenn mir jemand ein Programm empfehlen
könnte das ich verwenden kann um meinen Schaltplan zu erstellen bzw.
evtl. auch zu Simulieren wäre ich euch sehr dankbar ☺

Danke schon einmal im voraus!!

Christopher

von Hubert G. (hubertg)


Lesenswert?

Flaix X. schrieb:
> Es soll nur Spannung gemessen werden.  Soweit ich es gesehen habe kann
> auf den Eingängen des ATtiny26 nur Eingangssignale von bis zu 5V
> angelegt werden. Ansonsten denke ich mir geht der MC kaputt gehen. Das
> heisst ich muss eine Art Transistor zuvor schalten der mir aus den 16V
> (Leerlauf) eine Spannung liefert mit der der MC arbeiten kann.

Stichwort Spannungsteiler

Flaix X. schrieb:
> Im Datenblatt steht das der Port Pin PA7 einen AD Konverter Funktion
> besitzt.

Nicht nur Pin PA7 sonder alle die mit ADC bezeichnet sind.

Flaix X. schrieb:
> Wenn mir jemand ein Programm empfehlen
> könnte das ich verwenden kann um meinen Schaltplan zu erstellen bzw.
> evtl. auch zu Simulieren wäre ich euch sehr dankbar ☺

Eagle ist ein sehr gebräuchliches Programm, gibt aber noch etliche 
andere wie Altium, Kicad usw.

Simulieren geht z.B. mit LtSpice.

Ich würde dir aber mal raten auf einem Steckbrett deine Led zum leuchten 
zu bringen.

von Flaix X. (flaix_x)


Angehängte Dateien:

Lesenswert?

Hallo,

danke für die schnelle Antwort. Ich habe leider noch kein Board sodass 
ich den MC Programmieren und LED ansteuern kann. Dachte ich Mache als 
erstes den Schaltplan und dann Programmiere ich den MC und schaue ob es 
funktioniert.

Mit dem PV-Modul selbst habe ich meine kleine LED-Kette zum leuchten 
gebracht (so habe ich mir auch die Lastdaten geholt).

Also ich habe mit Egal ein bisschen rumexperimentiert und einen 
Schaltplan versucht zu entwerfen. Im Anhang ist dieser Abgebildet.

Ich habe den Rat angenommen und einen Spannungsteiler integriert und 
habe auch die Wiederstände dementsprechend angepasst.

Gegeben war ja das U2=5V sein muss für den ADC Eingang am MC
Strom I=20mA und U_eingang_max_leerlauf=16,7V

So habe ich folgende Werte errechnet: R2=250Ω und R1=1085Ω

Also ich habe mit Hilfe eines Tutorial aus dem Internet versucht den 
Schaltplan so gut wie ich es kann und weiss zu erstellen. Habe aber 
keine Ahnung ob das kompletter Müll ist oder ob es richtig ist.

- Ich habe einen ISP Anschluss gesetzt um den MC nach dem Einbau noch 
programmieren bzw. umprogrammieren zu können. Die Anschlussbelegung habe 
ich mir aus dem Datenblatt den ATtiny26.
- Dann habe ich wie schon oben angesprochen eine Spannungsteiler 
Schaltung mit den entsprechenden Parameter gebaut. Hier soll die Messung 
der Spannung erfolgen, wobei die Signale auf die ADC Eingänge gelegt 
werden. Was ich aber nicht weiss ob das so richtig ist, denn ich will ja 
die Werte Messen die das PV-Modul gibt aber nachdem sie durch den 
Spannungsteiler gelaufen sind habe ich ja nicht mehr die "Originalen 
Werte", heisst das ich muss doch noch vor dem Spannungsteiler einen 
AD-Wandler setzten oder?!?!
- Links im Schaltplan ist der Netzanschluss sichtbar gemacht. Spannung 
soll auf 5V geregelt werden und zur Versorgung des MC dienen.
- Auf der rechten Seite sind 3 LED angebracht worden die ich zum 
Leuchten/Blinken bringen will. (Bzw. das soll nur vorerst so bleiben, 
denn ich würde gerne 3 verschiedene externe LED Ketten steuern, wobei 
die Spannungsversorgung von 5V vom MC kommen soll. Aber das habe ich ja 
schon am Anfang im ersten Post beschrieben).

Könnte mir jemand Feedback zu meinen bisherigen Schritten liefern und 
sagen was falsch ist bzw. was ich nicht beachtet habe. Ich wäre sehr 
dankbar für eure Unterstützung.

:-)

von Karl H. (kbuchegg)


Lesenswert?

Flaix X. schrieb:

> Also ich habe mit Egal ein bisschen rumexperimentiert und einen
> Schaltplan versucht zu entwerfen. Im Anhang ist dieser Abgebildet.

Mit all den Fehlern, die wir 2 mal die Woche bei jedem "bitte 
kontrolliert meinen Schaltplan" anmäkeln.

Wir machen das nicht zum Spass, das wir fehlende Abblockkondensatoren 
anmerken und auch ein zusätzlicher 10k Widerstand (das schreibt sich 
übrigens nicht mit langem ie) an Reset hat noch nie geschadet.


>
> Gegeben war ja das U2=5V sein muss für den ADC Eingang am MC
> Strom I=20mA und U_eingang_max_leerlauf=16,7V
>
> So habe ich folgende Werte errechnet: R2=250Ω und R1=1085Ω

Viel Spass, wenn du versuchst einen 1085 Ohm Widerstand zu kaufen.

Ein Rechenergebnis ist eine Sache. Aber man muss die Bauteile auch 
kaufen können. Und 1085 Widerstände gibt es nicht.

> werden. Was ich aber nicht weiss ob das so richtig ist, denn ich will ja
> die Werte Messen die das PV-Modul gibt aber nachdem sie durch den
> Spannungsteiler gelaufen sind habe ich ja nicht mehr die "Originalen
> Werte", heisst das ich muss doch noch vor dem Spannungsteiler einen
> AD-Wandler setzten oder?!?!

Ein SPannungsteiler heisst deswegen so, weil er seine 'Eingangsspannung' 
um einen bestimmten konstanten Faktor teilt.

Teilt dein Spannungsteiler also beispielsweise die Eingangsspannung um 
den Faktor 3 und misst du 2.67 Volt, dann muss die 'originale Spannung' 
das dreifache davon gewesen sein. Also 8.01V. Man kann durchaus etwas 
messen und dann die davor geschaltete Schaltung insofern 
berücksichtigen, dass man zurück rechnet. Oft allerdings braucht man 
nicht zurück rechnen, sondern man seine Grenz- bzw. Schwellwerte 
ebenfalls entsprechend behandeln. Habe ich obigen Spannungsteiler mit 
einem Teilerfaktor von 3 und will ich wissen ob meine zu messende 
Spannung kleiner als 6 Volt ist, kann kann ich die gemessene Spannung 
zurück rechnen, ich kann aber auch ganz einfach die gemessene Spannung 
mit 2 vergleichen, denn 6 durch diese ominösen 3 ergibt nun mal 2.


> - Auf der rechten Seite sind 3 LED angebracht worden die ich zum
> Leuchten/Blinken bringen will.

Ohne Vorwiderstand. ts, ts.


Wenn du anderer Leute Schaltpläne studierst, dann ist das gut! Aber du 
musst dich dann auch fragen, warum da manche Bauteile drinn sind. Die 
verbauten Kondensatoren und Widerstände sind da nicht per Lust und Laune 
verteilt worden, sondern haben einen Sinn.
AVR-Tutorial

: Bearbeitet durch User
von chris (Gast)


Lesenswert?

Karl Heinz schrieb:
> Ohne Vorwiderstand. ts, ts.

und sinnloserweise gegen AVCC statt gegen GND geschaltet.

AVCC gehört mit Vcc verbunden.
Beide GND-Pins müssen angeschlossen werden.
Dein Elko ist verpolt.
Und der Spannungsteiler bzw. deine Messspannung hat so noch keinen 
GND-Bezug.

von Thomas (kosmos)


Lesenswert?

Die Musterbeschaltung für AVCC beim ATTiny26 sieht sogar noch ne kleine 
Drosselspule (glaube 10 µH) vor also nicht direkt auf VCC schalten 
sonder eine Drosselspule dazwischen. Und zum externen 10 kOhm 
Resetpullup gerne noch 100nF Kerko.

Der µC hat einen ADC mit einem vorgeschalteten Multiplexer durch deine 
Programmierung kannst du aus mehreren möglichen Pins das Signal auf den 
ADC leiten der es dann umwandelt.

Der Spannungsteiler wurde dir ja schon erklärt. Dazu aber nochmal eine 
Erklärung die du vielleicht besser verstehst. Der Einfachheit halber 
solltest du nur 8 Bit Ergebnisse des ADC verwenden.
5V wären dann 255 und 0V eben 0. Als Spannungsteilter würde ich ein 10 
kOhm Poti reinmachen was den Stromverbrauch gering hält und du zur Not 
nachkorrigieren kannst ohne immer neue Widerstande kaufen und 
austauschen zu müssen. Du stellst das Poti dann eben so ein das bei 
deinen max. 16,5V hinten 5V rauskommen. 16,5 / 5 = 3,3 als Faktor. Wenn 
du also eine Schaltschwelle von z.B. 14,2V hast muss der µC eben erst 
bei einem ADC-Wert von 220 etwas tun. Kleiner Dreisatz
16,5=255
     1=255/16,5=14,4545...
14,2=14,4545 x 14,2 = 219,x aufgerundet 220

von Flaix X. (flaix_x)


Angehängte Dateien:

Lesenswert?

Hallo,
na längerer Zwangspause habe ich mich noch einmal an die Arbeit gemacht 
und meinen Schaltplan aktualisiert. Ich bräuchte aber weiter eure Hilfe 
um herauszufinden ob das so passt was ich da gemacht habe oder nicht.

Ich habe auch nicht wirklich ne Ahnung wie man das LCD mit dem MC 
verbindet. Bin für jede Hilfe dankbar.

von Joachim B. (jar)


Lesenswert?

Flaix X. schrieb:
> und meinen Schaltplan aktualisiert.

und der Elko ist immer noch verpolt
die LEDs sind sicher (wie Blüms Rente) denn nur einpolig fliesst nie 
zuviel Strom
Der Spannungsteiler teilt, aber der µC bekommt davon nix mit

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
Noch kein Account? Hier anmelden.