Forum: Mikrocontroller und Digitale Elektronik Rolladensteuerrung: Was muss man bei den Ports beachten?


von Christian S. (Firma: RUB) (xtain)


Lesenswert?

Hallo zusammen,

Ich bin zur Zeit etwas verzweifelt:

Mein Projekt: Rolladensteuerrung. Ein Mikrocontroller soll Rolladen 
zeitabhängig hoch und runter fahren. Ich hab dafür ein Quarz mit 
Frequenzteiler an einen externen Interrupteingang angelötet (da eine 
genaue Zeit allein mit dem uC zu belastend für CPU währe), ein LCD 
angelötet und eben ein paar Relais mit ein paar Transistoren als Ausgang 
noch dran gemacht.
Ich hab dabei immer darauf geachtet, dass der Controller nie mehr als 
20mA schieben muss. (höchstens 5mA) Die Spannung kommt noch vom 
Labornetzteil geregelt 5V! Und trozdem schieß ich mir dabei den 
Controller tot!!!!!!!

Gibts da iwas zu beachten bei den Ausgängen?
Ich denke da gerade an den 1Hz Taktgenerator der für die Uhrzeit sein 
soll... So Fouriertechnisch sind da ja extreme Freuqenzen innem 
Rechtecksignal...

Oder habt noch ne Idee, wie man sich die Dinger zerschießen kann (mal 
von über 5V Spannung und mehr als 20mA ziehen)??

von ich (Gast)


Lesenswert?

Relais -> Schutzdiode ?

von Christian S. (Firma: RUB) (xtain)


Lesenswert?

Ne irgendwie kann das nicht sein, da die Relais garnicht geschaltet 
wurden.
Außerdem werden die von Transistoren geschaltet, da müsste dann erst die 
Transistoren zerschossen werden. Oder nicht?

von 2ter Gast (Gast)


Lesenswert?

Christian Stange schrieb:
> Ich hab dafür ein Quarz mit
> Frequenzteiler an einen externen Interrupteingang angelötet (da eine
> genaue Zeit allein mit dem uC zu belastend für CPU währe)

Kannst Du das mal genauer erläutern? Das könnte aber der Hardware-Timer 
deines uC übernehmen, falls dieser einen solchen besitzt? Ich würde aber 
für die Zeit eher eine RTC nehmen, welche gepuffert wird (mit Batterie 
oder großen Gold-Cap).

von Christian S. (Firma: RUB) (xtain)


Lesenswert?

Naja um eben eine genau Uhrzeit mit nem uC zu erzeugen müsste ich einen 
1:1 Prescaller benutzen, sonst wäre ja die Uhrzeit schnell verkehrt. Und 
mit einem niedrigen Prescaller wären es mir zuuuviele ISR's da.

Also habe ich folgende Schaltung an einen Interrupt-Pin angeschlossen:
http://knollep.de/Hobbyelektronik/projekte/21/index.htm

dieser soll auf ner positiven Flanke ein ISR auslösen und dann eben die 
Sekunden zählen und so eben die Uhrzeit speichern...

von Christian S. (Firma: RUB) (xtain)


Lesenswert?

Es gäbe bestimmt auch andere Lösungen für das Problem...
Quarz am XTAL anschließen und so...
aber ich hab mich nunmal dafür entschieden gehabt....

von Hans (Gast)


Lesenswert?

Raff ich nicht...ein Uhrenquarz direkt an den uC geht nicht, aber ne 
extra externe Beschaltung ist OK?

von M. J. (manfred-64)


Lesenswert?

Christian Stange schrieb:
> Naja um eben eine genau Uhrzeit mit nem uC zu erzeugen müsste ich einen
> 1:1 Prescaller benutzen, sonst wäre ja die Uhrzeit schnell verkehrt.

Wie so sollte ein höherer Prescaller zu Ungenauigkeiten führen ?

von Christian S. (Firma: RUB) (xtain)


Lesenswert?

Naja, ohne jetzt abschweifen zuwollen, ist denn das ein Problem?

von Christian S. (Firma: RUB) (xtain)


Lesenswert?

Jedenfalls kriegt man mit dem internen Oszi keine exakte Zeitmessung 
hin.
und das wollte ich vermeiden.

von 2ter Gast (Gast)


Lesenswert?

Nun gut, du hast dich dafür entschieden... Aber zu viele ISRs?

ich hätte es am Quarz mit dem Controller gemacht: Ich kenn deinen uC 
nicht, aber  z.B. MSP und ATmega haben Timer eigenen Prescalern; mit dem 
Quarz aus deiner Schaltung würde ich vielleicht 16 Interrupts pro 
Sekunde erhalten. Der übrigen Teil deiner Taktzeit-Schaltung ist 
wegrationalisiert.

Andere Variante wäre die oben genannte RTC. Der uC schläft, bis ihn die 
RTC weckt.

von M. J. (manfred-64)


Lesenswert?

Christian Stange schrieb:
> Jedenfalls kriegt man mit dem internen Oszi keine exakte Zeitmessung

ah so

All so an Deinem externen 1Hz Generator sollte es eigentlich nicht 
liegen.
Schaltung schon min. xMahl überprüft ;)
hab mich auch erst über 30mA Stromaufnahme eines µC bewundert, bis 
schließlich meine altersschwachen Augen den 150Ohm PullupWiderstand 
bemerkt haben :/

von Christian S. (Firma: RUB) (xtain)


Lesenswert?

Wäre echt einfacher gewesen...
ich denke, ich werde das auch so machen...

aber jetzt nur mal so aus interesse,
kann denn eine zuuu steile Flanke (und damit eine hohe frequenz) ein 
microkontroller zerstören?

Wenn man nach dem datenblatt des divisors geht, hat das dingen ne 
grenzfrequenz von 10 Mhz

von Helmut L. (helmi1)


Lesenswert?

Christian Stange schrieb:
> aber jetzt nur mal so aus interesse,
> kann denn eine zuuu steile Flanke (und damit eine hohe frequenz) ein
> microkontroller zerstören?

Als TTL Signal an einem Eingang: Noe.

Aber bevor hier jetzt weiter rumgeraten wird was du fuer eine Schaltung 
da aufgebaut hast poste bitte mal den Schaltplan. Dann kann man mehr 
sehen warum dein uC den Heldentot stirbt.

von Christian S. (Firma: RUB) (xtain)


Lesenswert?

Ach iwie komm ich nicht weiter... ich denke, ich werde das ganze nochmal 
durchmessen..
Hat jemand ein tipp, worauf ich bei meinen kontrollernanschlüssen zu 
beachten habe?

Kann man eigentlich softwaretechnisch da was kaputt machen?
Ich rede jetzt nicht von den fuses..

Vielen dank im übrigen für eure hilfe...
Ist echt super nett von euch

von 2ter Gast (Gast)


Lesenswert?

Christian Stange schrieb:
> Wenn man nach dem datenblatt des divisors geht, hat das dingen ne
> grenzfrequenz von 10 Mhz

Er wird sich vermutlich nur verschlucken; d.h. Takte nicht verschlucken. 
Ansonsten sagt meine Glaskugel...
- Was heisst konkret "stirbt"?
- Überpüfe mal die Stromaufnahme
- Längswiderstände an den Portsausgängen zu allem was zuviel Strom 
ziehen könnte
- nimm deine Schaltung Stückweise in Betrieb und schau' wann dein 
Mikrocontroller stirbt.

von Christian S. (Firma: RUB) (xtain)


Lesenswert?

:D  ich hab das auf ner Lochrasterplatine draufgelötet..
ohne groß schaltpläne zumachen.

Aber das ein Controller einfach nicht mehr reagiert. das ist doch nicht 
normal, oder?  ich finde beim besten willen kein fehler...

Ich glaube, ich werde mich mal aufmachen einen schaltplan zumalen.

So komme ich echt nicht weiter

von Christian S. (Firma: RUB) (xtain)


Lesenswert?

Sterben bedeutet, dass ich keine neue SOftware mehr auf den Kontroller 
spielen kann. ich mache das als erstes von nem programmerboard. das 
funktioniert einwandfrei und nach dem einsetzen in die schaltung 
reagiert er dann nicht mehr auf dem programmerboard.
man kann ihn nicht mehr lesen/schreiben oder sonst was..

von Christian S. (Firma: RUB) (xtain)


Lesenswert?

stromaufnahme liegt bei wenigen mA (weit unter 50)

von M. J. (manfred-64)


Lesenswert?

Jo jo,
schnell mal ne kleine Schaltung auf olle Lochraster geklöpelt
und den abgeschnittenen Anschlussdraht, der unter der Platine liegt 
übersehen und schon rauchst :D

von Christian S. (Firma: RUB) (xtain)


Lesenswert?

:D:D:D  ich weiß was du meinst,
aber glaub mir, ich habe ALLES bevor ich angeschlossen habe penibel 
genau durchgemessen.

von 2ter Gast (Gast)


Lesenswert?

Hmm.
- Du kannst in deinen Programmerboard den Controller mehrfach 
hintereinander programmieren? Wenn es schon hier nur einmal ginge und es 
ein AVR wäre, würde ich auf vefused tippen.

-Erst wenn Du ihn deiner Schaltung einsetzt geht es nicht mehr?welchen 
uC  benutzt du überhaupt?

- Läuft der uC überhaupt noch in deiner Schaltung? Ich schliesse bei 
meinen uC oft eine Led an, welche von diesrm getoggelt wird (Blinken als 
Lebenszeichen.)

von Christian S. (Firma: RUB) (xtain)


Lesenswert?

also es geht um eine atmega16
1. ich programmiere den mit dem board (funktioniert)
2. setze den in die schaltung ein (programm läuft nicht)
   kann ja mal sein...
3. setze den neu ins board ein und.... es geht nichts mehr

also es muss definitiv an der schaltung liegen...
wenn ich nur wüsste was...

von MaWin (Gast)


Lesenswert?

> wenn ich nur wüsste was...

Nach dem, was du uns bisher zu deiner Schaltung erklärt hast,
kann es fast alles sein, so komplett ohne Sachverstand wie
sie aufgebaut und getestet worden ist.

Natürlich gehören zu Relais Freilaufdioden, auch wenn ein
Transistor davor ist, natürlich kann ein uC uhrengenau
arbeiten, natürlich gibt es Probleme mit geschalteten 230V
auch und insbesondere bei Rollladenmotoren, an deren freien
Anschluss nämlich 460V~ anliegen.

Ich bin sicher, wenn du einen Schaltplan und ein Photo vom
Aufbau zeigst, wird man sich nicht wundern, daß es nicht
funktioniert, man wird nur eventuell andere Folgen als
totgeschossene uC für möglich halten.

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
Noch kein Account? Hier anmelden.