Hallo Community, ich möchte Euch meine neue Firmware vorstellen. Demovideo: http://www.youtube.com/watch?v=-x_dNv0tyAg Die Features im Überblick: ;------------------------------- ● TWI- Interface, Auto Increment ● Watchdog Überwachung ● Insgesamt 18- Frei wählbare PWM- Kanäle 16x Kanal (8-Bit) Software PWM, Variable Auflösung 2-8 Bit @ 8MHz Internal RC and 8- Bit Resolution = 128- 250Hz PWM- Frequency @ 16 MHz Crystal Clock and 8- Bit Resolution = 250- 500Hz PWM- Frequency 2x Kanal 16- Bit Hardware PWM(Fast PWM), Variable Auflösung 2-16 ● 186 Byte SRAM für eigene Datenspeicherung ● Über TWI- Bus zugängliche und veränderbare Hardware Einstellungen ─ TWI- Slave Adresse, Standart SLA= 0x7A ─ Clock Select Bytes Timer 1, 2 (PWM- Frequency) ─ Auflösung 16- Bit PWM ─ Auflösung 8-Bit Software PWM ─ Alle Hardware Einstellungen lassen sich im EEPROM über einen einzigen Befehl abspeichern. ─ Alle PWM- Kanalwerte lassen sich im EEPROM über einen einzigen Befehl abspeichern. ─ „Preload- Funktion“ für gespeicherte PWM- Kanalwerte Mit freundlichen Grüßen Gtf
Alles schön dokumentiert vom H/W und S/W Entwickler. Doch: 1) Was macht das Ding für den Nutzer wirklich? Den ersten Satz den ich im PDF Manual lese, heißt: "In dieser Tabelle kann man sehen welche Register zu welchen Gruppen gehören. Dies ist von Bedeutung wenn die Befehle 0x3A, 0x3B ausgeführt werden." Damit kann ein Nutzer nicht viel anfangen. 2) Wo ist der Source Code? Vielleicht reichst du das noch nach, damit auch wir was damit anfangen können und wieder was dazu lernen können. Gruß Manni
Hallo Manni, eine durchaus berechtigte Frage von dir, was das Ding macht? Was du mit damit anstellst ist voll und ganz deine Entscheidung :- ) . Ich habe diese Firmware(PWM18) in einem Modellauto eingesetzt wo die ganze Beleuchtung mit PWM- Signalen gesteuert wurde. Zwei Scheinwerfer, vier Blinker, zwei Bremsleuchten, Rückwertsgang und Innenlicht. Für all das habe ich 11- PWM Kanäle gebraucht. Ein üblicher AVR µC hat nun mal keine 18- PWM Ausgänge. Die Firmware hat keine definierte Bestimmung in irgendeiner Schaltung eine und dieselbe Funktion auszuführen. Die Firmware erzeugt nun mal 18-PWM Kanäle und wird am IIC- Bus angebunden. Dementsprechend wird ein Master zur Ansteuerung benötigt. Bei der Entwicklung wollte ich nicht irgendeinen Codeschnipsel schreiben, sondern eine komplette Blackbox (IC) zu entwickeln die ohne weitere Codeanpassungen betriebsbereit ist. Was die Manual angeht da haste vollkommen recht, für mich ist diese zwar total klar und verständlich, aber für Außenstehende wahrscheinlich doch nicht so ganz :- ) Irgendwie krieg ich den Bogen nicht raus. Was könnte ich anders machen um diese noch attraktiver zu gestalten? Ein weiteres Demovideo2 Welleneffekt http://www.youtube.com/watch?v=b9uOKFne1uc
Also, ich hab die etwas ältere Version aufgebaut und war schwer begeistert von Funktion und der Dokumentation. Wirklich gut!
@ Vorname Nachname Danke für die Blumen :- ) Die ältere Version hat an sich auch gut funktioniert. Leider kam es gelegentlich vor, dass die Slaveadresse aus dem EEPROM verschwand, aus welchen Grund auch immer. Und dies ist äußerst ärgerlich, wenn der Chip in einer Schaltung steckt und keine ISP- Schnittstelle vorhanden ist.Von daher habe ich die Routine zum ändern der Slaveadesse etwas sicherer gemacht. Und zusätzlich wurde die Software PWM Interruptzeit reduziert als auch der TWI- Driver umfangreich überarbeitet. Dass währen die größten Veränderungen. Gruß gtf
Hallo Community, hab da mal was zur Firmware Vorgeschichte. Technisch bedingt darf ich nur einen Interrupt im gesamten Programm ausführen. Dieses Interrupt ist für den Timer in CTC- Modus reserviert. Der Timer erzeugt die Software PWM. Daraus entstand das Problem dass die TWI- Schnittstelle ohne Interrupt auskommen musste. Trotz der hohen Geschwindigkeit innerhalb der Main treten gelegentlich Kommunikationsfehler auf. Um einen Überblick über die Kommunikationsfehler zu verschaffen habe ich eine kleine BENCHMARK bzw. ausgeführt. Zu Testaufbau: ;--------------------- IIC- Teilnehmer: Master Controller: m168 IIC- LCD- Display (Dient zur Statusausgabe) IIC- RTC Bausteil ( hat nichts mit der Benchmark zutun) IIC- Matrix Key ( Ist für die Menüführung zuständig) IIC- PWM18 Controller @8MHz internal RC( Testgerät) Benchmark Testkonditionen: ;------------------------- IIC: BUS Frequenz: 100KHz Es werden 21Byte mit einer Wiederholfrequenz von 10Hz übertragen. Dabei Zählt der Master alle gesendeten Pakete als auch alle Fehlversuche. Die Fehlversuche geben eine Auskunft wie viele Pakete beim Slave nicht eintreffen konnten. Eine Mögliche Fehlerquelle für die Auftretenden Kommunikationsfehler könnte mein Testaufbau sein. Im Testaufbau werden sämtliche IIC- Teilnehmer über 3,5mm Kopfhörerstecker Verbunden(ist mir peinlich) ;- ) Die Ergebnisse können auch im Anhang betrachtet werden. ;------------------- Das Ergebnis: ;------------------- Gesendete Pakete: 20595 Nicht eingetroffene Pakete: 28 Prozentualer Verlust: 0,136% Felercodes: 0x20, andere Fehlercodes wurden nicht registriert. Datasheet Code 0x20: SLA+W has been transmitted; NOT ACK has been received Also ich kann mit dem Ergebnis leben :- ) Wünsche Euch noch einen schönen Abend. Gruß gtf
Hallo Alex, tolles Projekt und gute Erklärung. Klar, dass man nicht auf Anhieb alles versteht, aber beim Ausprobieren merkt man doch wie toll und easy das Teil ist. Respekt und danke für`s teilen.
Hallo Community, eine neue Version der PWM 18 Firmware Version 7 ist fertig geworden. Diese Firmwareversion ist quasi der kleine Bruder der Version 3. Die dritte Version erlaubt es sämtliche Parameter im EEPROM- Speicher zu sichern, und im Einschaltmoment wieder zu laden(preload). Diese Version(7) besitzt keine EEPROM- Speichermöglichkeiten. Somit wurden der Code und die Anleitung noch paar Kilo leichter :- ) Dadurch dass die EEPROM Speicherfunktionen weggefallen sind, ist die EEPROM Programmierung überflüssig geworden. In Anhang ist eine ZipDatei mit den Flashdateien für ATMEGA8. Die Dateien weisen auf die Firmwareversion und die IIC-Slaveadresse hin. Beispiel: PWM18_V7_SLA_0x0A.HEX Viel spaß damit. MFG gtf
Helmut Holm schrieb: > Hallo Alex, > tolles Projekt und gute Erklärung. > > Klar, dass man nicht auf Anhieb alles versteht, aber beim Ausprobieren > merkt man doch wie toll und easy das Teil ist. > > Respekt und danke für`s teilen. Danke Helmut, es freut mich, wenn jemand davon nutzen hat. Gruß Alex
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.