Forum: Mikrocontroller und Digitale Elektronik Solarlicht Steuerung


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Aldo R. (aldorain)


Angehängte Dateien:

Lesenswert?

Hallo,

Ich bin letzten auf das Projekt vom Stefan für ein Solarlicht mit einem 
MSP430 gestoßen. Die Idee finde ich top, da ich einige von den 
Solarleuchten zuHause habe und diese selber reparieren möchte.

Beitrag "Solarlicht Steuerung"

Hierzu hätte ich da aber ein Frage, wo ich so keine zusätzliche 
Informationen gefunden habe. Säre toll wenn mir da wer weiterhelfen 
könnte ;)

*) Das PCB erstellen ist kein Problem
*) Programmierung mit CodeComposer Studion bin ich mir gerade am 
anlernen.
*) Die Seeed-Studio 0,5 W Solarzelle muss ich noch testen ob sie 
genügend Strom liefert

Aber wie flashe ich nun das Programm, dass ich nun mit CCS erstellt habe 
auf den Mikrocontroller.
Benötige ich hierzu den MSP430-JTAG-TINY-V2 von Olimex. Der 
Mikrocontroller MSP430F1232 wird jedenfalls unter den supported 
Microkontrollern gelistet.
Warum steht auch auf der Homepage dass: Not compatible with newest 
versions of Code Composer Studio (6.1.3 and after)???
Benötige ich noch zusätzliche Software?


Danke schon einmal im voraus ;)

Denn  meine Erfahrung mit Microkontrollern fängt und hört mit Arduinos 
auf

: Verschoben durch Moderator
von Gerald K. (geku)


Angehängte Dateien:

Lesenswert?

Aldo R. schrieb:
> Aber wie flashe ich nun das Programm,

Ich würde anstelle des MSP 430F1232 den MSP430G2553 verwenden. Dieser 
kann in der Schaltung über ein Zweidrahtinterface programmiert werden. 
Siehe Anhang.

Das MSP430G2553 Launchpad kostet unter 10€ :

https://www.digikey.at/product-detail/de/texas-instruments/MSP-EXP430G2ET/296-50264-ND/9608004?gclid=CjwKCAjw7diEBhB-EiwAskVi138W5sc296o1F-7WUToYexWN2nySYoa-8ZkhgbhRkz2nFTuaObcRxhoCkzkQAvD_BwE

und wird über das CodeComposer Studio gesteuert. Auch Debugging ist über 
das Zweidrahtinterface möglich.

Eines noch, statt dem Transistor würde ich eine NMOS FET, z.B. 
ZXM61N02F, verwenden. Das steigert den Wirkungsgrad erheblich.

: Bearbeitet durch User
von Aldo R. (aldorain)


Lesenswert?

Danke schon mal,

Ich werde mir einmal so ein Launchpad zulegen, und anfangen zu 
programmieren.

Verstehe ich das dann richtig, dass ich zum Programmiern und Debuggen 
dann einfach Spy-bi-wire, verwenden soll wie in dem Bild dargestellt?
Un der Code wird dann auf den microkontroller geflasht.

Benötige ich für SPW noch irgendwelche Pullup oder Pulldown so wie beim 
JTAG interface (RST zu Vcc)??

Danke für den Tip mit dem FET

von Gerald K. (geku)


Angehängte Dateien:

Lesenswert?

Aldo R. schrieb:
> Benötige ich für SPW noch irgendwelche Pullup oder Pulldown so wie beim
> JTAG interface (RST zu Vcc)??

Ich habe zusätzlich zur Empfehlung von TI einen 4,7k Widerstand zwischen 
dem RC-Resetglied und dem MC Eingang RST geschaltet.

GRUND : ohne diesen Widerstand wird das SPY-BI-WIRE Signal vom 
Launch-PAD verzerrt.

Wird die eigene Schaltung selbst versorgt, dann sollte auf die 
Verbindung  Vcc (3,3V) verzichtet werden. Siehe 
https://www.mikrocontroller.net/attachment/516102/AL2G4-D_mit_LaunchPad.jpg

Die Versorgungsspannung sollten aber möglichst gleich sein.

: Bearbeitet durch User
von Aldo R. (aldorain)


Angehängte Dateien:

Lesenswert?

Dankeschön,

Zum verständniss:
Du redest von dieser empfehlung ?? [Page 22]
https://www.ti.com/lit/ug/slau278ah/slau278ah.pdf?ts=1620575622657&ref_url=https%253A%252F%252Fwww.google.com%252F

Mit ähnlich verstehe ich auch, wenn der uC mit zwei vollen NiMh-Akkus 
versogt wird sprich ~2,8V. Genügt das?


Vielen Dank
Dann mache ich mich bald daran um loszulegen.

von Gerald K. (geku)


Angehängte Dateien:

Lesenswert?

Aldo R. schrieb:
> Du redest von dieser empfehlung ?? [Page 22]

Haar genau.

Aldo R. schrieb:
> Mit ähnlich verstehe ich auch, wenn der uC mit zwei vollen NiMh-Akkus
> versogt wird sprich ~2,8V. Genügt das?

Mit "ÄHNLICH" verstehe ich, dass keine Ausgleichströme >=2mA über die 
MC-PINs fließen und die Logikpegel (siehe Datenblatt) eingehalten 
werden.

Zur Sicherheit würde ich in die RST und TEST Leitungen Schutzwiderstände 
schalten, die den Ausgleichstrom unter 1mA halten.

Kritischer wird es bei entladene Akkus, da wird der Spannungsabstand 
größer.

Auf der sicheren Seite liegt man, wenn man das Launchpad nur zum Flashen 
nimmt. Dann kann man den Schalter S1 zu d Akkus offen lassen und den MC 
über die vierte Leitung 3v3 vom Launchpad versorgen. Vor dem Schließen 
des Schalters S1 zieht man alle Leitungen zu Launchpad.

Welche Akkus werden verwendet? Wie sieht der Spannungsbereich zwischen 
voll geladen und leer aus?

Ich verwende entweder eine Li-Primärzelle LS14500 mit 3,6V oder zwei in 
Serie geschaltete Alkali Primärzellen mit 2x1,5V.
Mit einem 20F LIC (Lithium Ionen Kondensator) stabilisiere ich die 
Spannung durch Reduzierung des Innenwiderstandes der Versorgung.
Mit zwei parallelen LS14500 kann ich den Melder ca. 3/4 Jahr betreiben.

PS: der MSP430G2553 hat auch einen internen Oszillator, da kann man auf 
den Quarz verzichten.

: Bearbeitet durch User
von Aldo R. (aldorain)


Lesenswert?

Gerald K. schrieb:
> Mit "ÄHNLICH" verstehe ich, dass keine Ausgleichströme >=2mA über die
> MC-PINs fließen und die Logikpegel (siehe Datenblatt) eingehalten
> werden.
>
> Zur Sicherheit würde ich in die RST und TEST Leitungen Schutzwiderstände
> schalten, die den Ausgleichstrom unter 1mA halten.
> Rs=3,3V−2,8V1mA=500Ohm
> Rs = \frac{3,3V - 2,8V}{1mA} = 500 Ohm
>
> Kritischer wird es bei entladene Akkus, da wird der Spannungsabstand
> größer.
>
> Auf der sicheren Seite liegt man, wenn man das Launchpad nur zum Flashen
> nimmt. Dann kann man den Schalter S1 zu d Akkus offen lassen und den MC
> über die vierte Leitung 3v3 vom Launchpad versorgen. Vor dem Schließen
> des Schalters S1 zieht man alle Leitungen zu Launchpad.

Ah verstehe.
Ich dachte auch schon das ich den Weg so gehe, dass der Schalter beim 
programmieren offen bleibt und ich ihn dann wieder schließe beim 
normalen Betrieb.

Gerald K. schrieb:
> Welche Akkus werden verwendet? Wie sieht der Spannungsbereich zwischen
> voll geladen und leer aus?

Ich wollte eigentlich 2 Mignon NiMH Akkus in Serie verwenden. Wobei 
Maximal 2,8 Volt erreichbar sein wird und Minimal möchte ich nicht mehr 
als 2,2V entladen möchte.
So etwas in der Richtung
https://www.conrad.at/de/p/ansmann-maxe-hr06-mignon-aa-akku-nimh-2100-mah-1-2-v-8-st-250944.html

Denn die LiIon 18650 Zellen sind mir zu teuer für die Lampen.
Denn der Umbau ist schon sehr fragwürdig ob das Preislich irgendwo 
akzeptabel ist :D

Danke für die großartige Hilfe

von Aldo R. (aldorain)


Angehängte Dateien:

Lesenswert?

Jetzt habe ich auch einmal ein Schematic erstellt:

Bin hier auf den richtigen Dampfer unterwegs, oder übersehe ich hier was 
Grundlegendes?

Bzw:
1) Kann man die Schottkeydiode (D2) weglassen?
2) Den Widerstand (R8) weglassen? (Weil der ADC ist ja hochohmig)
3) Widerstand (R9) viel kleiner auslegen, ich dachte so gegen 1 Ohm.

von Gerald K. (geku)


Lesenswert?

Aldo R. schrieb:
> Kann man die Schottkeydiode (D2) weglassen?

Hängt davon ab welche Sperrspannung die Fotozelle aushält. Sie muss die 
Spannung der Akkus  wiederstehen, dann kann man auf  D2 verzichten.

Aldo R. schrieb:
> Den Widerstand (R8) weglassen? (Weil der ADC ist ja hochohmig)

Ja

Aldo R. schrieb:
> Widerstand (R9) viel kleiner auslegen, ich dachte so gegen 1 Ohm.

Ja

1 Digit = 3mV an 1 Ohm sind 3mA Ledstrom (Maximalwert: 3A) ,

1 Digit = 3mV an 10 Ohm sind 0,3mA Ledstrom (Maximalwert: 300mA), ......

wie groß ist der Strom durch die LEDs?

: Bearbeitet durch User
von Aldo R. (aldorain)


Lesenswert?

Gerald K. schrieb:
> 1 Digit = 3mV an 1 Ohm sind 3mA Ledstrom (Maximalwert: 3A) ,
>
> 1 Digit = 3mV an 10 Ohm sind 0,3mA Ledstrom (Maximalwert: 300mA), ......
>
> wie groß ist der Strom durch die LEDs?

Das verstehe ich jetzt nicht ganz so?
Wie kommst du darauf, dass 1 Digit = 3mV ist??

Bzw dachte ich, das der Strom durch die 2 LEDs rund 9mA betragen soll.

von Gerald K. (geku)


Lesenswert?

Aldo R. schrieb:
> Das verstehe ich jetzt nicht ganz so?
> Wie kommst du darauf, dass 1 Digit = 3mV ist??

Wenn die Referenzspannung des MSP ADCs auf 1,5V eingestellt ist, dann 
wird bei 1,5V Eingangsspannung (100%) der Messwert 1023 erzeugt. Die 
kleinste Spannung, die den Messwert 1 erzeugt ist 1500mV/1023= 1,5mV 
(und nicht 3mV, sorry habe mich verrechnet)

Aldo R. schrieb:
> Bzw dachte ich, das der Strom durch die 2 LEDs rund 9mA betragen soll.

Wenn der Strom 9mA betragen soll, dann fallen am 1 Ohm Shunt 9mV ab. Bei 
1,5mV Auflösung würde der ADC den Wert 6  ausgeben. Man liegt am Anfang 
des Messbereiches (0..1023) des ADCs.

von Aldo R. (aldorain)


Lesenswert?

Ah ok, das mit der Referenzspannung wusste ich nicht.

Das heißt nach Adam rieße sollte der Widerstand R9 hochohmiger sein.
sprich ~120Ohm. ADC gibt dann den Wert 720 aus.

Kann man für jeden ADC eingang unabhängig die Referenzspannung 
auswählen. zwischen 1,5V und 2,5V?
Denn bei der Spannungsmessung von der Solarzelle wäre eine 
Referenzspannung von 2,5V ideal.

Und bei der Spannungsmessung für die Akkus brauche ich noch einen 
Spannungsteiler mit 2x 100 KOhm. und demzufolge eine Referenzspannung 
von 1,5V.


Quelle:
https://www.ti.com/lit/ug/slau144j/slau144j.pdf?ts=1620647522132&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FMSP430G2553
"Softwareselectableon-chipreferencevoltagegeneration(1.5V or2.5V)"

von Gerald K. (geku)


Lesenswert?

Aldo R. schrieb:
> Das heißt nach Adam rieße sollte der Widerstand R9 hochohmiger sein.
> sprich ~120Ohm. ADC gibt dann den Wert 720 aus.

120 Ohm werden zu hoch sein, dann fliest zu wenig Strom durch die LEDs, 
der Wirkungsgrad ist zu dem sehr schlecht . 10 Ohm sind ein guter 
Kompromiss. Der Strom muss schließlich nicht genau sein, es steht mehr 
der Wirkungsgrad im Vordergrund.

Aldo R. schrieb:
> Kann man für jeden ADC eingang unabhängig die Referenzspannung
> auswählen. zwischen 1,5V und 2,5V?
> Denn bei der Spannungsmessung von der Solarzelle wäre eine
> Referenzspannung von 2,5V ideal.

Der MSP430 hat nur einen ADC und eine Referenzspannungsquelle. Die 
Analogeingänge werden mit einem Analogmuliplexer auf diesen ADC 
umgeschaltet. Es kann nur eine Messung nach der anderen durchgeführt 
werden. Natürlich kann die Referenzspannungsquelle für jedem Messung 
umkonfiguriert werden.

Entscheidend, ob die Referenzspannungsquelle mit 2,5V verwendet werden 
kann, ist die Höhe der Versorgungspannung. Die Referenzspannungsquelle 
kann man sich grob als Zenerdiode mit Vorwiderstand an der 
Spannungsquelle vorstellen. Die Stabilisierung funktioniert um so besser 
je größer der Abstand zwischen Versorungsspannung und Referenzspannung 
ist. Wenn die Versorgungspannung gleich der Referenzspannung ist, dann 
funktioniert Referenzspannungsquelle nicht! Außer die interne 
Referenzspannungsquelle wird über eine Ladungspumpe 
(Spannungsverdoppler) versorgt, was nicht der Fall sein dürfte.

Die minimale Spannung der Akkus liegt sogar unter 2,5V, oder?

Aldo R. schrieb:
> Und bei der Spannungsmessung für die Akkus brauche ich noch einen
> Spannungsteiler mit 2x 100 KOhm. und demzufolge eine Referenzspannung
> von 1,5V.

Ja.

Mit dem 1:1 Eingangsteiler erhöht sich der Meßbereich auf die doppelte 
Referenzspannung, als auf 3V. Das passt.

von Aldo R. (aldorain)


Lesenswert?

Gerald K. schrieb:
> ntscheidend, ob die Referenzspannungsquelle mit 2,5V verwendet werden
> kann, ist die Höhe der Versorgungspannung. Die Referenzspannungsquelle
> kann man sich grob als Zenerdiode mit Vorwiderstand an der
> Spannungsquelle vorstellen. Die Stabilisierung funktioniert um so besser
> je größer der Abstand zwischen Versorungsspannung und Referenzspannung
> ist. Wenn die Versorgungspannung gleich der Referenzspannung ist, dann
> funktioniert Referenzspannungsquelle nicht! Außer die interne
> Referenzspannungsquelle wird über eine Ladungspumpe
> (Spannungsverdoppler) versorgt, was nicht der Fall sein dürfte.
>
> Die minimale Spannung der Akkus liegt sogar unter 2,5V, oder?

Vielen Dank das habe ich hier auch bereits nachgelesen.
https://www.ti.com/lit/ug/slau144j/slau144j.pdf?ts=1620647522132&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FMSP430G2553

Das ist mir klar, weil die Versorgungspannung auch minimal ca ~2,1V 
betragen wird.

Gerald K. schrieb:
> Ja.
>
> Mit dem 1:1 Eingangsteiler erhöht sich der Meßbereich auf die doppelte
> Referenzspannung, als auf 3V. Das passt.

Ich glaube ich habe alles so weit verstanden, damit ich nun auf einen 
Steckbrett alles probieren kann.

von Aldo R. (aldorain)


Lesenswert?

Vielen dank noch einmal für deine ausführlichen und hilfreichen 
Antworten.
Gerald K.

Jetzt warte ich nur noch das das Launchpad ankommt und dann werde ich 
alles durchprobieren.

von Gerald K. (geku)


Lesenswert?

Wird sicher klappen.

Ein Tipp noch : man kann fur die ersten Gehversuche den MSP430 im 
Launchpad einbauen und die restliche Schaltung über die zweireihige 
Stiftleiste des Launcbpads anschließen. Der MSP430 wird über das 
Launchpad versorgt. Also keine Verbindung zwischen der 
Launchpadversorgung und den Akkus. (Vorteil: Störer liegen außen, 
einfacher zu debuggen) Und wenns läuft im nächsten Schritt den MSP nach 
außen verlagern und von den Akkus versorgen. Kommunikation mit dem, 
Launchpad über Spy-bi-wire.

Gutes Gelingen und viel Erfolg.

von Aldo R. (aldorain)


Angehängte Dateien:

Lesenswert?

So nach langen hin und her, wollt ich noch einmal ein kurzes update über 
den Stand zeigen.

Es war ja schon vom Stefan, von Anfang an frei zugänglich deshalb sollte 
es jetzt auch so sein:
"Alle Dateien sind im Anhang, KiCAD Project und CodeComposerStudio 
Project"

Die Version V1 habe ich nicht mehr weiter verfolgt, da meine Fähigkeiten 
zum Microkontroller-programmieren nicht gerade rosig sind ;)
Beitrag: Beitrag "Aufwärtswandler auslegen"

Dann habe ich schnell umgeschwenkt und einen fertigen LED Booster 
verwendet (Version V2), dass lässt sich alles leichter programmieren.
Der größte unterschied ist dabei auch das ich die 3 LED parallel 
geschaltet habe.
Die Bestelllinks zu den Bauteilen, sind auch im KiCAD Projekt (Farnell)

Über die Effizienz kann ich nicht viel sagen, da man sicher vom Code des 
MSP430 mehr herausholen lässt, bzw will ich lieber nicht nachmessen :D
Nur weiß ich nicht wie man das besser machen kann, da bräuchte ich 
jemanden der mich da durchführt.

Vielleicht kann jemand die Projekt dateien gebrauchen, bzw weitermachen.

Der erste Test am PCB steht aber auch noch aus.

von Gerald K. (geku)


Lesenswert?

Gut gemacht!

Was macht der LED Booster, wenn der MPC im Resetzustand gehalten wird?
(Spannung an P1.2)

von Aldo R. (aldorain)


Angehängte Dateien:

Lesenswert?

Danke noch einmal für deine Hilfe ;)

In letzter Zeit komme ich nicht gerade zu viel, aber ich bin noch am 
durchtesten, bzw werde ich mir das hoffentlich bald auch einmal ansehen 
was beim Resetzustand ist.

Wirkungsgrad beläuft sich auch bei 2,67V Eingangspannung von den Akkus:

120mW / ( 2,67V * 56mA) ~= 80%

: Bearbeitet durch User
von Aldo R. (aldorain)


Angehängte Dateien:

Lesenswert?

Update

von Gerald K. (geku)


Lesenswert?

Gut gemacht!

Die Stromregelung erfolgt über eigenes IC zxcs310e5ta. (Schnelligkeit)

Die Steuerung dieses ICs über den MC. (Komplexität)

**Gute Arbeitsteilung** im embedded System.

Wichtig ist, dass die halbe Referenzspannung (1,5V) verwendet wird.

Gut ist, dass die Spannungsmessungen bei Belastung durch geführt werden.

Bei größerer Stückzahl gibt es pin-kompatible MSP430G2553 Varianten mit 
wenige RAM und FLASH und daher geringerem Preis. Downsizing auf 
MSP430G2153.

Wie groß ist der Ruhestromverbrauch?

Wie lange dauert es bis bei anhaltender Dunkelheit der MC ausfällt?

Warum wurde kein NMOS-Fet anstelle des Transistors genommen? (besser 
Wirkungsgrad)

Bin gespannt auf Langzeiterfahrungen. Haltbarkeit der Akkus, 
Dauerbetrieb (Thema Watchdog), Anlauf bei Unterspannung ...

: Bearbeitet durch User
von Aldo R. (aldorain)


Angehängte Dateien:

Lesenswert?

Gerald K. schrieb:
> Wie groß ist der Ruhestromverbrauch?

Im "Leuchtbetrieb"  --> 41,25mA
Im "Ruhebetrieb"   -->  0,2mA

Gerald K. schrieb:
> Wie lange dauert es bis bei anhaltender Dunkelheit der MC ausfällt?

Genaueres weiß ich noch nicht: Aber bei vollgeladenen Akkus habe ich bis 
jezt die Lampe 12h ohne Problem betrieben können.
Langzeittests folgen.

Gerald K. schrieb:
> Warum wurde kein NMOS-Fet anstelle des Transistors genommen? (besser
> Wirkungsgrad)

Über das habe ich mir ehrlich gesagt gar keine Gedanken gemacht. Habe 
hierzu einfach stur die Empfehlung des Datenblattes befolgt.
https://4donline.ihs.com/images/VipMasterIC/IC/DIOD/DIODS12124/DIODS12124-1.pdf?hkey=6D3A4C79FDBF58556ACFDE234799DDF0

Gerald K. schrieb:
> Bin gespannt auf Langzeiterfahrungen. Haltbarkeit der Akkus,
> Dauerbetrieb (Thema Watchdog), Anlauf bei Unterspannung ...

Das wird sich am besten über den Winter zeigen

Beitrag #6771164 wurde vom Autor gelöscht.
von Aldo R. (aldorain)


Lesenswert?

Aldo R. schrieb:
> Gerald K. schrieb:
>> Wie lange dauert es bis bei anhaltender Dunkelheit der MC ausfällt?
>
> Genaueres weiß ich noch nicht: Aber bei vollgeladenen Akkus habe ich bis
> jezt die Lampe 12h ohne Problem betrieben können.
> Langzeittests folgen.

Also 48 Stunden sind kein Problem

von Gerald K. (geku)


Lesenswert?

Sollt die Überbrückungszeit der Dunkelphase zu kurz sein, dann läßt sich 
der Ruhestrom leicht von 200uA auf 20uA senken, indem

_delay_cycles(500000);

 durch

_BIS_SR(LPM3_bits + GIE); //Go to LPM3 mode

ersetzt wird und durch einen Timerinterrupt über

_BIC_SR(LPM3_EXIT); // LPM3 WAKE UP

wieder aufgeweckt wird.

: Bearbeitet durch User

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.