Atmo-Board als Quadro-Version

  • Hi,


    ...habs jetzt erst entdeckt :)


    Das .brd kann ich nicht verwenden, hättest du den Schaltplan als höher aufgelöstes jpg für mich nochmal bitte ?


    Was meinst du eigentlich mit der Bemerkung zum IRF9530? Der wär doch für common cathode gewesen und muss ja, im Vergleich zum IRF530, D und S vertauscht haben...oder hab ich dich da jetzt falsch verstanden?


    Vielen Dank,
    Simon

  • Zitat

    Original von samc
    Hi,


    ...habs jetzt erst entdeckt :)


    Das .brd kann ich nicht verwenden, hättest du den Schaltplan als höher aufgelöstes jpg für mich nochmal bitte ?


    Ich wollte den Schaltplan sowohl als eagle als auch als jpg in bessere Auflösung hochladen. Die Größenbegrenzung hat es aber verhindert.


    Zitat


    Was meinst du eigentlich mit der Bemerkung zum IRF9530? Der wär doch für common cathode gewesen und muss ja, im Vergleich zum IRF530, D und S vertauscht haben...oder hab ich dich da jetzt falsch verstanden?


    Die Bemerkung zum IRF9530 versteht man nur mit Schaltplan. Der ATmega wird über die 5V vom USB versorgt. Im Stand-By wird die Versorgung durch den FT323RL (USB/seriell Wandler) abgeschaltet. Als Schalter dient der IRF9530. Cadsoft hatte da Drain und Source vertauscht und ich habe es nicht gemerkt. Die Freilaufdiode im FET hat dan den ATmega weiter versorgt.


    Gruß
    e9hack

  • Halle e9hack,


    kannst Du bitte den kompletten Schaltplan zur Verfügung stellen?


    Mit dem Board allein komm ich nicht klar. Wie soll die Versorgung des Atmega aus den 12/24 V erfolgen (ich möchte ungern alle Leiterbahnen verfolgen)?
    Leider fehlen auch bei ein paar Bauteilen die Werte.


    bye
    tr

    VDR: ASRock H67M mit Intel G620, ASUS ENGT520 SILENT, Mystique SaTiX-S2 V3 Dual, yavdr 0.6.2, System: SSD, Video: WD20EARS

  • Zitat

    Original von trall
    kannst Du bitte den kompletten Schaltplan zur Verfügung stellen?


    Schicke mir Deine Mail-Adresse per PN, dann kann ich Dir den Stromlaufplan zukommen lassen.


    Vielleicht hat ja jemand ein klein wenig Web-Space übrig. Dann kann man auch einen direkten Link dahin in den Thread einbauen.


    Zitat


    Mit dem Board allein komm ich nicht klar. Wie soll die Versorgung des Atmega aus den 12/24 V erfolgen (ich möchte ungern alle Leiterbahnen verfolgen)?
    Leider fehlen auch bei ein paar Bauteilen die Werte.


    Ich habe drei Varianten für die Stromversorgung des ATMega vorgesehen:


    1.) Direkt aus der 5V vom USB (wiederspricht der USB-Spec, da Strom im Stand-By zu groß).


    2.) Aus der USB-Versorgung, abschaltbar über den FT323RL und einen P-Kanal FET. Den FT232RL muß man dann entsprechend programmieren (Pull-Up's im Stand-By auf off). Dann greift aber auch der BUG um den IRF9530 (s. vorherige Beiträge).


    3.) Über einen Schaltregler (MC34063) aus der 24V-Versorgung.


    Im Stromlaufplan sind alle Bauteile für 1 und 3 als n.b. markiert. Einige Widerstände für Variante 3 sind ohne Werte.


    Gruß
    e9hack

  • Trall hat mir wegen der Mail-Address eine PN geschickt und gleich noch ein paar Ideen angehängt. Da die aber auch für andere interessant sein könnten, verschiebe ich die Diskussion in den öffentlichen Thread:


    Zitat


    Auf jeden Fall neu aufbauen würde ich es, wenn wir uns an folgendes wagen, vorausgesetzt Du hast daran auch Interesse:


    Meine Harware läuft wunderbar. So schnell werde ich daher kein neues Atmo-Board aufbauen.


    Zitat


    Es gab ja mal die Idee die Atmohelligkeit nach der Raumhelligkeit zu ändern.


    Darüber habe ich dummerweise erst nachgedacht, als alles fertig war. Mittlerweile denke ich aber, daß es bei meinem Aufbau nicht viel bringt. Solange Tageslicht vorhanden ist, sind die LEDs viel zu schwach. Man sieht vom Atmo-Light nichts. Abends sind die Lichtverhältnisse eigentlich so konstant, daß ich die Helligkeit nicht anpassen muß.


    Zitat


    Ich hab hier nen Mega32 als Wetterstation u.a. mit nem LDR über einen I2C-ADC in Betrieb. Dafür braucht man nur 2 Pins am Mega. Leider hab ich von der Programmierung mit Timern absolut keine Ahnung (und die meiste Programmierung der Wetterstation hat eh ein Freund gemacht).
    Das erste Problem wäre aber, ob die I2C-Lib noch in den Flash des Atmega passt.


    Das Programm ist 2,7kByte groß (4,2kByte mit Debug-Ausgaben über den UART). Da paßt noch eine ganze Menge in den ATMega8. Wenn der zu klein wird, kann man auch den pinkompatiblen ATMega168 nehmen. Es gibt aber ein paar andere Anforderungen an die Software, die auch berücksichtigt werden müssen:


    1.) Es darf keine zusätzlichen Interrupts geben.


    2.) Alle zusätzlichen Funktionen müssen innerhalb der Übertragung zweier Bytes abgearbeitet werden (<0,29ms).


    Um ein einzelnes Byte über den I2C-Bus zu lesen, benötigt man bei 400kHz Bitrate ca. 0,1ms. Man muß die I2C-Kommunikation möglicherweise aufteilen. Dann kann man zwar nicht mehr die fertige I2C-Lib benutzen, aber eine eigne sollte kein Problem sein.


    Zitat


    Falls ja wäre die Hardware dafür recht simpel: 2 Pins am Mega, 5V und Gnd kriegt man von dem fertigen Board bestimmt auch noch


    Dummerweise habe ich Port C für die Ausgabe benutzt. Dort liegen die Pins für den Hardware-I2C-Bus und die ADC-Eingänge. Für das Einlesen des LDR würde ich direkt den ATMega nehmen und auf einen I2C-Wandler verzichten. Die Ansteuerung der FETs kann man von Port C nach B verschieben. Das ist dann aber ein neues Layout. Wenn Du das nicht ändern willst, kannst Du auch zwei Pins vom Port B für den I2C-Bus nehmen. Auf dem Programmierstecker liegen 3 davon, sowie GND und 5V. Die I2C-Kommunikation muß dann komplett in Software erledigt und byteweise mit dem UART synchronisiert werden.


    Zitat


    und evtl. sollte man sogar mehre ADCs/MerfachADC nehmen, um die Helligkeit via Drehpotis zu justieren.


    Den Abgleich sollte man einmalig machen und die entsprechenden Werte ins EEPROM vom ATMega legen. Ich mache das für den Weißabgleich so.


    Wenn Du irgendwas in Richtung Helligkeitsabgleich machen willst, ich unterstütze Dich dabei.


    Gruß
    e9hack

  • Hi,


    schön so eine öffentliche Diskussion :)


    Ich möchte dazu anmerken:


    auch in der ursprünglichen Version der atmo-Platine gibt es die theroretische Möglichkeit noch einen Helligkeitssensor anzuschließen:


    am ISP Stecker ist der unbelegte Pin mit einem Ausgang des uP verbunden. Dadurch ist der ISP auch als SPI interface nutzbar; der zusätzliche Pin fungiert als CS.


    Wenn jemand von euch Lust hat da was zu entwickeln, wärs vielleicht nicht gundverkehrt das dazu passen zu machen (kleine Platine mit A/D Wandler, Sensor, Opamp und Anschlusskabel an ISP) dann bringt das evtl. Anderen auch was. :)


    Grüße,
    Simon

  • Hi,


    also ich hab da noch einige Verständnisfragen.


    Wozu ist eigentlich die Gammakorrektur gut, wenn man doch die Helligkeit und den Weißabgleich einstellen kann?
    Im Wiki steht dazu folgendes: "die Ansteuerplatine führt schon intern eine (Gamma-)Korrektur durch". Wie kann das gehen?


    e9hack: Kann ich einfach den Pin24 (PC1/ADC1) auf Pin16 (PB2) und und Pin23 (PC0/ADC0) auf Pin15 (PB1) verlegen oder gibt's Gründe, wieso die PWM-Ausgänge an einem gemeinsamen Port hängen?


    samc: SPI geht in HW und der CS kann ja frei gewählt werden und passt dann auch irgendwie an e9hacks Platine, doch besteht das 0,29ms-Problem nicht auch bei der originalen Ansteuerplatinen?
    Das zweite Problem wäre dann die Beschaffung eines SPI-ADC, gibt's zwar von Analog und Microchip, aber woher nehmen, wenn nicht samplen?
    Nächstes Problem: Wenn man die Helligkeit justieren kann (s. weiter u.), sollte man das bei einer doppelten Stereoversion nicht 2 mal machen? Wie bekommt die 2. Paltine die Infos der ersten? Oder soll die erste Platine die Helligkeit ans Plugin zurücksenden?


    Sollte das geklärt sein, kann's an die Hardware gehen. LDRs sollen so einige KiloOhm bei Helliigkeit bis zu einigen MegaOhm bei Dunkelheit liefern. Ich hab keine Ahnung mehr, wie das bei meiner Wetterstation ist (ich hab da ein paar Bereiche von (sehr)hell bis (sehr)dunkel definiert). Außerdem ist der Widerstand bestimmt nicht proportional zum Helligkeitsempfinden, also müsste man die Kennlinie, die exponentiell ist, anpassen (Särke und Änderungsgeschwindigkeit). Evtl. mit einem Drehpoti, so wie in der Schaltung und/oder einem Drehpoti zusätzlich in Reihe zum LDR ...?

    Da könnten ja vielleicht die Entwickler was dazu sagen, ich versteh ja nicht mal die Gammakorrektur. ;)


    Noch was allgemeines. Ich hab so das Gefühl, dass Papsi wegen den vielen programmierten Atmegas, die Entwicklung nicht für sinnvoll betrachtete, doch wer den LDR selber aufbauen will (das sollte auch auf Lochraster gehen, dafür braucht's keine Sammelbestllung und Platinen), der kann auch schnell den Atmega neu programmieren.
    Wenn die SPI-ADC nur schwer oder teuer beschafft werden können, ginge es nicht auch, einen anderen AVR als SPI-Slave zu programmieren, so wie es bei I2C auch geht?
    Oder wäre die Lösung mit einem in die serielle Kommunikation zwischengesetzten AVR, die ich irgendwo mal gesehen hab, nicht am einfachsten? Also Anschluss könnte man dann den Sockel des MAX232 nehmen und RxD/TxD zu einem weiteren AVR umleiten und von da wieder zum MAX232-Sockel zurück .


    Wenn ich das hier so schreibe, wird mir immer klarer, dass ich das gar nicht hinbekommen.
    Also schonmal vielen Dank an e9hack, dass Du mir der SW helfen willst.


    Geht die Hilfe soweit, dass Du mir ne Funktion "helligkeitsanpassung" einbaust, die als input den Helligkeitswert vom Plugin liefert und als return den (von mir) berechneten Helligkeitswert ausgibt und den return-Wert anstatt des input-Weres für die PWM nutzt?


    Aber klären wir erstmal, wie es gelöste werden soll.


    Grüße
    tr

    VDR: ASRock H67M mit Intel G620, ASUS ENGT520 SILENT, Mystique SaTiX-S2 V3 Dual, yavdr 0.6.2, System: SSD, Video: WD20EARS

  • Hi,


    Gammakorrektur im Plugin muss man normalerweise nicht einstellen, weil das im Controller passiert. Dort werden die empfangen Helligkeitswerte eben umgerechnet.
    Der Weissabgleich erfolgt im Plugin.


    Den CS zum SPI kann man ohne weiteres an e9hacks Platine einfach an irgendeinen Pin am uP anschließen, stimmt.


    Den passenden AD gibts beim Reichelt, hab mal einen gekauft aber leider vergessen wo er ist und wie er heisst... :) mal suchen... einen AVR nehmen geht sicher auch!


    Von der Geschwindigkeit her muss es klappen, hab e9hacks Firmware mittlerweile auch DMX beigebracht, und das ist auch recht zeitkritisch...


    Wenn man sowas als Option zur bestehenden Atmo-Platine bauen will, muss eben ein entsprechend programmierter AVR dabei sein ~ 1,60€


    Grüße,
    Simon

  • Zitat

    Original von trall
    Kann ich einfach den Pin24 (PC1/ADC1) auf Pin16 (PB2) und und Pin23 (PC0/ADC0) auf Pin15 (PB1) verlegen oder gibt's Gründe, wieso die PWM-Ausgänge an einem gemeinsamen Port hängen?


    Der Timer-Interrupt und die zugehörige Struktur ist auf Geschwindigkeit optimiert. Du solltest den gesammten Port umlegen. Ich habe den Port B nicht für die Ausgabe benutzt, damit beim Programmieren die LEDs nicht angesteuert werden.


    Zitat


    SPI geht in HW und der CS kann ja frei gewählt werden und passt dann auch irgendwie an e9hacks Platine, doch besteht das 0,29ms-Problem nicht auch bei der originalen Ansteuerplatinen?


    Die Zeit für die Auswertung der Daten ist nicht das Problem.


    Zitat


    Das zweite Problem wäre dann die Beschaffung eines SPI-ADC, gibt's zwar von Analog und Microchip, aber woher nehmen, wenn nicht samplen?


    Ich würde den I2C-Bus bevorzugen. Der PFC8591 ist einfacher zu beschaffen.


    Zitat


    Geht die Hilfe soweit, dass Du mir ne Funktion "helligkeitsanpassung" einbaust, die als input den Helligkeitswert vom Plugin liefert und als return den (von mir) berechneten Helligkeitswert ausgibt und den return-Wert anstatt des input-Weres für die PWM nutzt?


    So in etwa würde ich das in die SW für den ATMega einbauen.


    Gruß
    e9hack

  • Hier findet die Diskussion wohl niemand, deshab hab ich mal einen neuen Thread gestartet und die Probleme zusammgefasst.

    VDR: ASRock H67M mit Intel G620, ASUS ENGT520 SILENT, Mystique SaTiX-S2 V3 Dual, yavdr 0.6.2, System: SSD, Video: WD20EARS

    Einmal editiert, zuletzt von trall ()

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!