Hi ich habe ein ganz doofes Problem: eine Platine mit einem NXP uC hat ein festes Programm (an das ich nicht heran komme) und ich müßte in der Steuerung der Platine (über LCD) einen bestimmten Wert höher setzen können, als die Software es erlaubt (festes cut off in der Firmware). Für die Funktion der Platine wäre es wohl unerheblich, wenn ich diesen Wert höher setzen würde (sie würde das mitmachen). Ich muss den Wert nur ca. 1% höher setzen können, als die geflashte Firmware es erlaubt. Die Steuerplatine "steigt aus", sobald ein Messwert über der Maximalschwelle liegt. Bei dem Wert handelt es sich um eine Frequenzmessung. Jetzt ist mir folgende Idee gekommen: Das Ding hat einen 12 Mhz Quartz. Würde ich den durch z.b. 12.27 Mhz ersetzen, würde das Programm um ca. 2% schneller ablaufen. Alle Frequenz-Messwerte, welche die Platine nun misst, müßten so um etwa 2% tiefer liegen. Ich möchte mit anderen Worten durch Beschleunigung des Takts, die Platine falsch messen lassen und sie doch noch zur Mitarbeit bewegen oberhalb der fest einprogrammierten Schwelle. Da es sich ja um nur 2% handelt, dürfte es elektrisch keine Probleme geben. Hat jemand schon so etwas mal versucht? Wird der Quarz anschwingen, wenn die Schaltung ursprünglich für 12 Mhz gedacht war und ich direkt einen 12.27 einsetze? Oder müßten auch die C ersetzt werden (Pierce Schaltung).
Normalerweise sollte sowas funktioniere, einfach mal ausprobieren.
Erinnert mich an meinen Diesel der bei der Abgasmessung immer nur 4699 rpm schaffte, statt der vorgesehenen 4700 rpm. Da war dann immer eine händische Messung fällig!
Wie werden die Messwerte übermittelt, über UART? Dann wären 2% vielleicht schon ein Problem.
Beitrag #5643104 wurde von einem Moderator gelöscht.
Piter K. schrieb: > Jetzt ist mir folgende Idee gekommen: Das Ding hat einen 12 Mhz Quartz. > Würde ich den durch z.b. 12.27 Mhz ersetzen, würde das Programm um ca. > 2% schneller ablaufen. Alle Frequenz-Messwerte, welche die Platine nun > misst, müßten so um etwa 2% tiefer liegen. Könnte funzen, aber wenn z.B der Watchdog an einem 2 Taktgeber hängt was dann? Kannst du nicht einfach den Eingangstakt runterteilen?
Piter K. schrieb: > ich habe ein ganz doofes Problem: eine Platine mit einem NXP uC hat ein > festes Programm (an das ich nicht heran komme) ... Heißt das, dass dir der Quellcode bzw. der Adapter zum Auslesen fehlt oder ist der µC mit einem Leseschutz versehen?
HyperMario schrieb: > Könnte funzen, aber wenn z.B der Watchdog an einem 2 Taktgeber hängt was > dann? Wenn der Watchdog wegen 2% Abweichung zubeißt, dann hat der Programmierer einen wirklich üblen Fehler reinprogrammiert.
Schnittstellen wie UART und ggf. USB dürften Probleme machen, wenn man am Takt dreht.
Probier es aus. Ein UART könnte weiter funktionieren, USB sicher nicht. Alternativ: Eingangssignal selbst mit einem MCU messen, runter rechnen und ein entsprechend langsameres erzeugen und weiterleiten.
Malte _. schrieb: > Ein UART könnte weiter funktionieren Sicher nicht. Außer wenn der Computer am anderen Ende der Leitung ebenfalls übertaktet wird.
Stefanus F. schrieb: > Sicher nicht. Außer wenn der Computer am anderen Ende der Leitung > ebenfalls übertaktet wird. Dann rechne mal nach, um welchen Bruchteil einer Bitzeit die Flanken des letzten Bits verschoben sind, wenn der Takt 2% abweicht und die Signale sauber sind. Warum sollte das schon schief gehen?
Bei 12MHz Systemtakt läuft die Schnittstelle bereits sehr wahrscheinlich nicht mit exakt der richtigen Bitrate. Lege da nochmal 2% drauf und du provozierst Probleme. Ich muss allerdings zugeben, dass ich 10% Übertaktung im Sinn hatte. Das war falsch.
Das Problem ist komplexer als ich es hier darstellen kann. Die Platine ist eine Platine eines Wechselrichters, der bei 60.5 Hz (in den US) "aussteigt". Da wir eine schwebende Frequenz haben (Schwankungen zwischen 59.5 und 60.5Hz im 1-2 Sekundentakt), läuft der Wechselrichter nicht (overfrequency). Normalerweise bestimmt das eine UL Norm, daß die Wechselrichter ab 60.5 Hz abzuschalten haben. Der Hersteller stellt sich quer und schiebt die Norm vor (dabei dient die Norm dme Schutz des Netzes bei Overload = Overfrequency). Doch bei uns liegen Netzstörungen vor, so daß eine Schwebung im Stromnetz die Frequenz zwischen den beiden Werten "scheinbar" pendeln läßt. Der Hersteller läßt keine Einstellung über 60.5 Hz zu (fest eingebrannt in die Firmware). Da ist mir eben als "Hack" diese Idee gekommen: der uC etwas schneller laufen lassen, dann sind seine Frequenzmessungen etwas verschoben und der Wechselrichter tolleriert nicht nur 60.49 Hz sondern bis 61 Hz... (die Frage ist ob er dann immer läuft und andere Funktionen erhalten bleiben).
Piter K. schrieb: > (die Frage ist ob er dann immer läuft und andere Funktionen erhalten > bleiben). Alle anderen zeitkritischen Routinen (sofern überhaupt vorhanden) wie die genannten Datenübertragungsprotokolle UART und USB geraten dann aus dem Takt. Alles andere sollte weiter funktionieren (mit entsprechend definierten Abweichungen). Etwas anderes wäre es, wenn du den uC ÜBERTAKTEST. Dann müsstest du wahrscheinlich einen externen Oszillator verwenden (den uC also "zwangsbetakten"), die Betriebsspannung wahrscheinlich etwas über der max. zulässigen Spezifikation betreiben und den uC dann am besten mit einem Kühlkörper versehen. Kann aber sein, dass dann einzelne Segmente nicht mehr zuverlässig arbeiten, obwohl der Controller ansich seine Arbeit tut. Das aber nur als theoretische Betrachtung.
tim schrieb: > Das aber nur als theoretische Betrachtung. Seeehr theoretisch. Bei gerade mal 2% Taktsteigerung kann man den Ball erstmal ganz flach halten, da nicht mal klar ist, welche maximale Taktfrequenz überhaupt für der µC spezifiziert ist.
Schau mal was der intern so treibt. Wenn der mit anderen Modulen kommuniziert wirst du die auch frisieren müssen, damit das läuft. Könnte aber klappen. Falls nicht, hast du wohl einen Haufen Elektroschrott und brauchst ne neue Unterhose wenn deren Netz auch so bissig ist wie unsers hier.
Piter K. schrieb: > Der Hersteller läßt keine Einstellung über 60.5 Hz zu (fest eingebrannt > in die Firmware). Was passiert, wenn du ihm mit Geld drohst? Für eure kundenspezifische Firmware?
Es ist ein KACO... den Support kannst vergessen. Die haben es verkauft und leisten im Endeffekt keinen Support. Fast alle anderen Hersteller lassen ein Passwort beantragen, wo man dann in Notfällen über die Spezifikation gehen kann (die lassen sich das eben unterschreiben um dann aus dem Schneider zu sein). Elektrisch ist ein erweiterter Betriebsbereich überhaupt kein Problem. Nicht bei +- 1%. Es sitzt eben im Flash irgendwo fest gebrannt 60.5Hz => AUS und der Wert läßt sich nicht weiter nach oben setzen, da UL Norm.... Wenn ich bloß den Flash lesen und überschreiben könnte... habe mit dem uC aber keine Erfahrung. Es wird nicht mal ein Firmware Update angeboten (wo man es zumindest versuchen könnte die binary zu hacken...). Da bliebe mir als dirty work around den uC etwas schneller laufen zu lassen, dann würden ja 60.5 Hz aussehen wie 60 Hz (vergehen mehr zyklen zwischen Messungen des Nulldurchgangs). ich nehme mal an daß es so funktioniert. Möglich wäre es auch, daß die Spannungsmessung taktabhängig ist, dann hat man eventuell ein Problem (imho ein Sigma-Delta Wandler misst nicht falsch, wenn der Takt eiert, nur die Messung dauert länger). Daß was abraucht glaube ich nicht... bei 1% Taktabweichung kann sich die Schaltung nicht in Rauch auflösen.
Hier ein Video, wie bei uns das Netz eiert: https://ufile.io/u7td0 es ist eine Schwebung drauf durch überlagerung mehrerer Frequenzen. Es ist KEINE Unterlast des Netzes, die als Annahme in die UL Normen und die Firmware einfließen.
Du siehst immer nur nach oben. Was ist denn bei 59,5 Hz, die ja dann als Fehler interpretiert werden können?
Eben nicht.... der UL-Norm Bereich für die Frequenz ist 57 Hz bis 60.5 Hz, der Wechselrichter läßt sich an der unteren Grenze problemlos "tiefer legen" LOL
Nehmen wir mal an die Software misst zwischen vergangener Flanke und aktueller Flanke des Wechselrichterausgangs den Zeitunterschied (z.B. mittels Captureregister), dann müsste man doch den Systemtakt reduzieren und nicht anheben damit dein Ziel erreicht wird, oder liege ich da falsch?
Wenn die Anzahl der Takte zwischen Nulldurchgängen gemessen wird, dann musst Du den Takt hochsetzen => Zähler zählt mehr takte, uC denkt er ist auf 12 MHz kalibriert, somit ist die Frequenz tiefer.
Piter K. schrieb: > Hier ein Video, wie bei uns das Netz eiert: > > https://ufile.io/u7td0 Oje, das ist ja schon ein ziemliches Gezappel. Wo ist das denn? Venezuela? Philippinen? Schlag dem Netzbetreiber doch mal vor UL-konformen Strom zu liefern ;) Das mit dem erhöhen des Taktes sollte meiner Meinung nach gehen. Es werden zwar indirekt auch Reglerparameter beeinflusst aber bei 2% sollte das nicht viel ausmachen.
Ich weiß jetzt nicht um welche Leistungsklasse es geht, man könnte einen inverter dazwischen schalten: AC-Netz -> 48V -> Wechselrichter Damit wäre man in jedem Falls raus aus dem instabilen Netz. Optional könnte man die 48V sogar mit Akkus auch noch stabilisieren, bzw. für kurze Unterbrechungen puffern, denn bei diesem Netz sind sicher 1-2 Kurzzeit Ausfälle in der Woche drin. Von dem µC die Taktfrequenz bei so einem komplexen Gerät wie einem FU hoch zu setzen halte ich nicht wirklich für machbar. Da geht (abgesehen von der Garantie) sicher irgend was anderes dann nicht mehr. Und dann kommen doch mal 61,5Hz 1x im Monat dann steigt der auch wieder aus. Falls das kein Hobby-Projekt ist, sondern Du sitzt bei einem Kunde auf einer Baustelle und musst das zum Laufen bekommen, dann müssen Lösungen her die so gut sind dass man von diesem Problem nie wieder was hört. Sollte es Hobby sein, dann, ja löte am µC Quarz rum und versuche dein Glück ;-)
:
Bearbeitet durch User
Christopher J. schrieb: > Piter K. schrieb: >> Hier ein Video, wie bei uns das Netz eiert: >> >> https://ufile.io/u7td0 > > Oje, das ist ja schon ein ziemliches Gezappel. Wo ist das denn? > Venezuela? Philippinen? Schlag dem Netzbetreiber doch mal vor > UL-konformen Strom zu liefern ;) > > Das mit dem erhöhen des Taktes sollte meiner Meinung nach gehen. Es > werden zwar indirekt auch Reglerparameter beeinflusst aber bei 2% sollte > das nicht viel ausmachen. Am besten wäre ein firmware-hack... ist halt schwierig, wenn keine firmware zur Verfügung gestellt wird. Man kann es auch durch eine Inselanlage lösen, ist dann eben sehr teuer...
Markus M. schrieb: > Von dem µC die Taktfrequenz bei so einem komplexen Gerät wie einem FU > hoch zu setzen halte ich nicht wirklich für machbar. Bei 1-2%? Das ist doch schnuppe.
machbar schon, ich frage mich nur, ob Spannungsmessungen (ADC?) auch vom Takt abhängen - ich meine nein, bei seriösen ADC.
Beitrag #5644476 wurde von einem Moderator gelöscht.
Beitrag #5644594 wurde von einem Moderator gelöscht.
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.