Sekunden mittels Mega16 zählen

  • Für Softwar-PWM bin ich gerade für das SEDU ein wenig am Basteln. Ich habe die Software-PWM-Routinen von "the-powl" genutzt und zumindest die 1-Port-Version in eine Lib für C gepackt.


    Das bedeutet, man bindet im Projekt nur die Lib und die Header-Datei ein, trägt im Header die benötigten Werte ein und hat damit bis zu 8 PWM-Kanäle. Beispiel-Quellcode folgt unten. Ich stelle es auch nochmal offiziell vor. Ich denke, es sollte auch möglich sein, weniger Ausgabeports zu verwenden, so dass der Rest frei für andere Dinge ist. Getestet ist es allerdings bisher nur auf ATmega16 und 168. Bin mir gerade nicht sicher, ob da Hardware-abhängiger Code in der Lib drin ist. Das wäre ja schlecht.


    SEDUaddon-SoftPWMlib.zip


  • dann kannst du auch ein DCF77 Modul dranbasteln
    das in der Nacht einmal syncronisiert.

    Wozu...? - das ist doch wohl deutlich mehr Aufwand, als einmal in der Früh kurz Strom weg und Strom wieder an, zum synchronisieren... hat er doch eh' schon gesagt, dass er das nun so macht...

    Wundert mich, das da noch keine hinverwiesen hat.

    Wurde doch schon - das ist eigentlich nix weiter als die nächste Seite mit Timerberechnungen, dazu wurden ja schon 2 gepostet... aber auch hier muss ein Quarz ran, und auch hier wird drauf hin gewiesen, dass der nicht so genau ist (Baudratenquarz, kein Uhrenquarz), also muss man auch wieder CTC-Spielchen machen, und kann den Timer dann nicht mehr für HW-PWM benutzen...

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • Wozu...? - das ist doch wohl deutlich mehr Aufwand, als einmal in der Früh kurz Strom weg und Strom wieder an, zum synchronisieren... hat er doch eh' schon gesagt, dass er das nun so macht...


    Wahrscheinlich ist das weniger Aufwand, mit der config DCF77 Anweisung wird gleich ne Softclock initialisiert.
    Dann sind das grad mal 2 Codezeilen.
    Und extra Zeitschaltuhr brauchts dann auch nicht.


    War ja nur ein Vorschlag, lieber mehr Optionen als weniger ^^

  • Störanfällig ist nicht das Problem, die braucht halt Empfang
    Dazu muss sie Ausgerichtet sein, geht aber nicht auf 10° genau
    Sollte in AT kein Problem darstellen.


    Ich bin hier grad am Basteln und mit meinem zusammengesteckten Versuchsaufbau wird fast Jede Minute syncronisiert
    Und syncronisiert wird nur wenn ein komplettes Telegramm empfangen ist und die Checksumme passt.
    (habe hier das ELV Modul)

  • Mahlzeit!


    So hab jetzt doch noch mal den Controller überarbeitet - mit an Board jetzt Anschluss für DFC, externer Quarz (vorsichtshalber) und noch 4 Reserve Pins rausgeführt.
    Bevor ich das jetzt aber wieder umsonst ätze bitte um kurze Durchsicht.


    Hier mal der Schaltplan (ich weiß, schön ist was anderes, aber nach 12 maligem Bearbeiten hatte ich keine Lust mehr alles neu zu machen).
    [Blockierte Grafik: http://i399.photobucket.com/albums/pp80/DjTommyB_1985/schaltung.png]


    Und hier der "Ätzplan":
    [Blockierte Grafik: http://i399.photobucket.com/albums/pp80/DjTommyB_1985/board-1.png]


    Bitte um Tipps/Hinweise. Danke ;)


    lg
    Tommy

  • wäre mir jetzt nix negatives aufgefallen... ob die Belegung am ISP nun stimmt, habe ich allerdings nicht überprüft...


    hast Du das mal in Originalgröße ausgedruckt...? - Die Taster sind schon verdammt eng zusammen, oder hast Du so kleine Finger...? ;)


    da würde ich persönlich mehr Abstand rein machen - wenn Du den µC um 90° drehst, hast Du da auch noch Platz


    und, ja, externer Quarz schadet nie, evtl. willst Du ja doch noch mal über die serielle Schnittstelle mit dem PC kommunizieren o.ä. - dazu würde ich dann Rx und Tx auch noch auf ne Stiftleiste rausführen


    und Du hast ja noch nen kompletten Port frei! - Idee wäre da, den für ein LCD zu benutzen, also am Besten gleich ne 16-polige Stiftleiste da dran, und da auch nen Trimmer (für die Kontrastspannung) und eben so beschaltet, dass Du später ggfs. ein LCD direkt da anstecken kannst. Sind auch nur 2 Bauteile mehr, aber wenn Du dann mal was mit LCD machen willst, ist das schon dran, und Du musst nicht wieder ne neue Platine machen...

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • ob die Belegung am ISP nun stimmt, habe ich allerdings nicht überprüft...


    "wird schon stimmen" fg


    hast Du das mal in Originalgröße ausgedruckt...?


    Ja hab ich, Platz ist ausreichend - sollte das mal irgendwo "unten rein gebaut" werden werden die Taster eh raus ans Gehäuse geführt.


    Idee wäre da, den für ein LCD zu benutzen,


    Wäre ne Idee, da hast du allerdings recht =) Brauch ich zwar eigentlich nicht, werds mir aber durch den Kopf gehen lassen. Danke

  • Sieht soweit ok aus, ein paar Anregungen hab ich aber trotzdem:

    • der linke Kerko am AVR ist ein bissl weit vom Pin weg
    • die LED würde ich vom AVR aus ansteuern, nicht statisch als Power-LED, denn 'ne Status-LED kann man immer mal brauchen, und wenns nur zum Debuggen ist
    • LCD wurde ja schon angesprochen
    • den VCC-Pin für den DCF77-Empfänger würde ich pers. über 'nen Transistor vom AVR aus toggeln, dann muss der nicht immer an sein, sondern nur wenn man synchronisiert
  • was mir noch aufgefallen ist:


    -ich würde den 7805 liegend einbauen, dann ist er nicht immer so im weg und platz ist ja genug
    -den Quarz würde ich symetrisch machen
    -das DCF77 Modu dass ich hier habe saugt lt. Datenblatt bei 5V 3mA lässt sich also auch direkt über nen AVRpin versorgen
    wie aber oben schon erwähnt, die DCF77 lib belegt den Timer1.