Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: PCF 8591P read/write Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von Peter, Homepage - 13.12.2007 19:54)
 Als Antwort auf Re: PCF 8591P read/write von Jens - 12.12.2007 20:18
Peter nutzt:  CC1-M-Unit V1.1, CC1-Station V1.1, Micro, Open-Mini, Open-Midi
Hallo Jens!

Ja, ich würde mich sehr über deine Lüfterschaltung freuen. Ich habe nähmlich praktisch null
Erfahrung mit PWM Signalen.
Naja ich denke einen 2.Bus zu machen wird mir zu kompliziert für den anfang.

Nur folgende dinge habe ich nicht verstanden:
>i2c_write(17)                     ' PSC0 Subadresse + auto-increment
Ist "17" Quasi die Identifikationsadresse des PCA9531?

>i2c_write(14)                     ' Register setzen - PSC0 = LED0 / PSC1 = LED1
"14" Ist mir ein Rätsel... :-) Werden hier die PWM Register erst geladen?

Grundsätzlich ACK = 255 bedeutet ok, und mehr oder weniger einen Fehler?
Ist das Grundsätzlich bei allen I²C devices so, oder nur bei, PCA9531?

So, das waren genug Fragen...
Ich danke für die schnelle Antwort!!

Liebe Grüße Peter



> Hallo Peter!
>
> > Der müsste eigentlich ähnlich den 9531 sein oder?
>
> Jo, der ist so ähnlich und wird mehr oder weniger auch genau so angesteuert. Allerdings hat der PCA9531 auch nur an zwei PWM Register und kann daher auch nur zwei PWM Ausgänge ansteuern. Die anderen sechs Ausgänge kannst Du entwerder auf die PWM Register legen oder eben nur EIN und AUS schalten. Dass ist in meinen Augen reine Verschwendung, daher auch der PCA9530.
>
> > Weil der 9530 ja nur einen Adresspin hat. Also kann man nur 2 im Bus haben.
>
> Jo, Du kannst nur zwei Bausteine an einem Bus betreiben. Aber es hindert Dich keiner daran einen "Neuen" I2C-Bus auf zu bauen. Ansonsten bleibt ja noch der PCA9531.
>
> > Macht der eine schöne Analogspannung oder PWM?
>
> Die beiden Bausteine machen nur PWM. Wenn Du möchtest kannst Du aber auch noch den dazugehörigen Schaltplan von meiner Lüftersteuerung haben (dass jetzige Projekt mit PCA9530), da kommt zum Schluss eine "schöne Analogspannung" heraus.
>
> Im angehängten Demo werden beide Register vom PCA9530 mit der maximalen PWM Frequenz betrieben, dass heißt die PWM Frequenz liegt bei 160Hz. An der RS232 wird ein Terminalprogramm benötigt, damit lassen sich dann neue PWM Werte einstellen. Viel Spaß beim testen...
>
> LG Jens
>
> ' ---------------------------------------------------------------------------
> ' --- PCA9530 Demo - für OCBASIC --------------------------------------------
> ' ---------------------------------------------------------------------------
>
> ' Hardware:
> ' Serielle Schnittstelle an Port[1] (mit Terminal Programm)
> ' I2C-Bus SCL an Port[5] (fals nicht anders festgelegt)
> ' I2C_Bus SDA an Port[6] (fals nicht anders festgelegt)
>
> ' --- Betriebssystem konfigurieren ------------------------------------------
> include "om.def"          ' Betriebssystem Daten der Open-Micro laden
> 'include "omid.def"        ' Betriebssystem Daten der Open-Midi laden
>
> ' --- definition der Variablen ----------------------------------------------
> define adresse    byte    ' I2C-Bus Adresse
> define ACK        byte    ' I2C-Bus "ACK" vom Slave
> define PWM1       byte    ' PWM 1 an LED 0
> define PWM2       byte    ' PWM 2 an LED 1
>
> ' --- Voreinstellung und Initialisierung ------------------------------------
> End2Host=ON               ' Bei Programmende in den HOST-Modus wechseln
> i2c_init                  ' Initialisirung I2C-Bus
> ' ---------------------------------------------------------------------------
>
>
> ' ---------------------------------------------------------------------------
> ' --- Hauptprogramm ---------------------------------------------------------
> ' ---------------------------------------------------------------------------
> adresse = 192                       ' Adresse PCA9530 (A0 = Low)
> PWM1 = 128                          ' PWM 1 - Wert einstellen
> PWM2 = 128                          ' PWM 2 - Wert einstellen
> print                               ' Leerzeile
> print "Programmstart..."           ' Text Ausgabe
>
> #anfang
>
> i2c_start                           ' I2C-Bus starten
>   ACK = i2c_write(adresse)          ' Adresse senden, ACK empfangen
>   if ACK <> 255 then                ' Wenn "ACK" vom Slave nicht empfangen, dann Fehlerausgabe
>     print                           ' Leerzeile
>     print "PCA9530 antwortet nicht - Fehler - Prg. Ende..." ' Text Ausgabe
>     end                             ' Programmabbruch
>   end if
>   i2c_write(17)                     ' PSC0 Subadresse + auto-increment
>   i2c_write(0)                      ' PSC0 maximum Frequenz (160Hz)
>   i2c_write(PWM1)                   ' PSC0 PWM 1 Rate übergeben
>   i2c_write(0)                      ' PSC1 maximum Frequenz (160Hz)
>   i2c_write(PWM2)                   ' PSC1 PWM 2 Rate übergeben
>   i2c_write(14)                     ' Register setzen - PSC0 = LED0 / PSC1 = LED1
> i2c_stop                            ' I2C-Bus stoppen
>
> print                               ' Leerzeile
> print "PWM1 Daten = "; PWM1         ' Text Ausbabe
> print "neue Eingabe: ";             ' Text Ausgabe
> input PWM1                          ' Neue Eingabe PWM1
> print "PWM2 Daten = "; PWM2         ' Text Ausbabe
> print "neue Eingabe: ";             ' Text Ausgabe
> input PWM2                          ' Neue Eingabe PWM2
>
> goto anfang                         ' zurück zum Programmanfang
> end                                 ' Programmende
> ' ---------------------------------------------------------------------------
>
>
> ' ---------------------------------------------------------------------------
> ' Die I2C-Routinen einbinden
> ' ---------------------------------------------------------------------------
>
> INCLUDE "om_i2c.pro"
>
> ' ---------------------------------------------------------------------------
> ' Die Firmware-Routinen einbinden
> ' ---------------------------------------------------------------------------
>
> INCLUDE "om_fw.pro"

Meine Homepage: http://www.lanzenberg.at

 Antwort schreiben

Bisherige Antworten:

Re: PCF 8591P read/write (von Jens - 14.12.2007 0:46)
    Re: PCF 8591P read/write (von Peter - 14.12.2007 10:48)
        Re: PCF 8591P read/write (von Peter - 14.12.2007 12:00)
            Re: PCF 8591P read/write (von Jens - 14.12.2007 13:11)
                Re: PCF 8591P read/write (von Peter - 14.12.2007 23:38)
                Re: PCF 8591P read/write (von Jens - 14.12.2007 20:59)
                    Re: PCF 8591P read/write (von Peter - 14.12.2007 23:55)
                       Re: PCF 8591P read/write (von Jens - 15.12.2007 19:15)
                          Re: PCF 8591P read/write (von Peter - 16.12.2007 11:55)
                             Re: PCF 8591P read/write (von Peter - 12.10.2008 0:46)
                                Re: PCF 8591P read/write (von Gerhard - 13.10.2008 12:35)