PWM - Ausgänge

Hallo,

ich habe mir eine mehr Kanal Dimmersteuerung gebaut. Etwas anders als in den Üblichen tutorials da ich das Zerocrossing via Netzteil und NE555 erkenne und demnach den entkoppelten Triac feuere. Für jeden Kanal habe ich den Opto, Triac, und Wiederstand nebst einer Termosicherung im Gehäuse eines Finder Relays berührungssicher verbaut. Als zusätlicher Kühlkörper wirkt die Halterund der ehemaliegen Spule. Kleine Löcher sorgen für eine Belüftung. Somit gliedert sich das perfekt auf der Hutschine ein. Belaste wird der BT136 mit max 100 Wat so das nicht wirklich was heiß wird. Wenn doch (kurzschluss oder Murphys law) kappt die 97 C Thermosicherung die Versorgung.

Die Heligkeit reguliere ich mit 0-5 Volt über ein Poti klappt hervorragend soweit.

Meine Idee ist nur die Regelspannung über den Arduino zu steuern und die Phasenerkennung hardwareseitig zu belassen.

Nun habe ich versucht das ganze über einen PWM Ausgang zu steuern. Dazu hab ich aus dem PWM versucht ein "halbwegs" normales 0-5 Volt zu machen. (Wiederstand+Kondensator). Na ja, es funktioniert flackerfrei so lange ich den Kondensator nur gross genug (1500 uF....) und denn Wiederstand so bei 0,6-1K einpendele. Nachteil ist die extreme resonse Zeit von 4-8 Sekunden bis fast die vollen 5 Volt anliegen bzw wieder ab fallen.

Klar ich könnte die Timer im AT Mega ändern (und die Frequenz herauf setzen) was ich aber nicht möchte.

  1. Hat jemand eine Idee wie ich das sonst machen kann auf hardwarebasis ??? (am liebsten noch über einen Opto)

  2. Kann mir jemand sagen ob ich eine solche "Stromregelung" auch auf den I2C Bus verlagern kann um z.B. eine Regelung mit 8, 16 oder mehr Kanälen zu bauen ? Für meine 64 Relays verwende ich z.B. einen MCP23017. Gibt es so etwas auch mit der Möglichkeit einen "Wert" in das Register zu schreiben der nicht nur 0 oder 1 ist, also eine I2C basierte Regelung daraus zu bauen ?

Tom

Der einfachste Weg ist sicher die Phasenverschiebung zur Ansteuerung der Triac mittels Arduino zu berechen und nicht alles über digital-analog-digital Zwischenwandlen.

Ansonsten Du kannst einen A/D Wandler nehmen zb einen MCP4902/12/22 DAC mit 8/10/12 Bit Auflösung SPI interface und 2 Kanälen.

Grüße Uwe

Digital/Analog-Wandler gibt es mit I2C oder SPI. Die meisten haben aber nur ein oder zwei Kanäle.

Der hier hat zwei Kanäle und einen Enable Eingang: http://www.reichelt.de/LTC-1661-CMS8/3/index.html?&ACTION=3&LA=446&ARTICLE=81583&artnr=LTC+1661+CMS8&SEARCH=D%2FA-Wandler Für 16 D/A Känale bräuchte man also 8 D/A-Wandler und 8 I/Os für die Adressierung

Oder mit nur einem Kanal: http://www.reichelt.de/MCP-4911-E-P/3/index.html?&ACTION=3&LA=446&ARTICLE=109777&artnr=MCP+4911-E%2FP&SEARCH=MCP+4911

4-fach gibt es auch, aber da wird es komplizierter und teurer. Da gibt es z.B. bei Farnell welche, aber in TSSOP16 für >5 Euro das Stück

Ähhhh danke,

Stehe gerade etwas auf dem Schlauch...... Und hab nicht wirklich eine Idee wie ich den Chip verwerten kann. Ich habe weiter gesucht und den MCP 41xxx bzw mcp42xxx aufgetan als digitale potentiometer. Zumindest kann ich mir dazu theoretisch schon mal mehr vorstellen. Sprich wenn ich einen entsprechenden Wert ins Register schreibe ändere ich den Wiederstand. Ergo +5v und GND anschließen , wert schreiben z.b. 127 und ich erhalte am Ausgang 2,5 v. Ist mein Denkansatz da richtig ?

Wenn ich nun z.b. 8 der mcp42xxx in den spi Bus hänge muss ich die nur noch entsprechend adressieren/ also jedem eine Adresse zuweisen. Funktioniert das so wie bei dem i2c Bus ?

Danke für die Hilfe

Ein Digital/Analog-Wandler macht genau was der Name sagt. Digital-Wert rein, analoge Spannung raus. Das ist von der Ansteuerung her auch nicht viel anders als bei einem digitalen Poti, aber besser, da man nicht den Umweg über einen Widerstand hat.

Wenn ich nun z.b. 8 der mcp42xxx in den spi Bus hänge muss ich die nur noch entsprechend adressieren/ also jedem eine Adresse zuweisen. Funktioniert das so wie bei dem i2c Bus ?

Device Adressen gibt es bei SPI nicht. Bei SPI wird jeder Slave über einen Chip Select Eingang aktivert. Was in diesem Fall auch nicht anders als bei vielen I2C DACs ist, da man bei denen oft keine Adressen einstellen kann und die statt dessen auch oft Chip Select Eingänge haben was ich so sehe.

Anschluss von mehreren Slaves an einen Master http://de.wikipedia.org/wiki/Datei:SPI_three_slaves.svg

Das mit dem CS ist bei dir bei so vielen Kanälen wieder etwas problematisch, da die I/Os fressen. Aber wie gesagt wird das mit I2C auch nicht besser. Die I2C DACs haben oft auch nur einen CS Eingang. Oder vielleicht mal 2 Pins um Adressen einzustellen, womit man dann nur 4 mögliche Adressen hat.