Hab gerade mal den Schaltplan überflogen und äh... haha, oh wow! Extra ein OPV für positive Spannungen und ein weiterer OPV für negative Spannungen - das hab ich noch nicht gesehen. Ist als würde man ein Auto mit zwei Motoren entwerfen: einen zum Vorwärts- und einen zum Rückwärts- fahren, weil man keinen Bock hat sich mit dem Getriebe zu befassen. Kann man so machen, ist aber kein guter Stil.
Der Spannungsteiler mit dem er den Batteriestand überwacht ist auch völlige Grütze: die Widerstände sind viel zu klein, mit dieser Parametrisierung verpulvert der da ständig 8 mA... nee warte, er schaltet BATGND offenbar über den µC, okay wenn der Eingang 5 V abkann und da noch keine Freilaufdioden im µC kommen, kann man das so machen. Okay, habe das gerade im Datenblatt vom ATmega328PB nachgeschaut und nein, maximale Eingangsspannung ist VCC+0,5 V also 3,8 V. Diese 18650 Zellen haben eine Ladeschlussspannung von 4,2 V, würde der Akku also mit 0,4 V in die Freilaufdiode des Mikrocontrollerports reindrücken. Gut, könnte man argumentieren, vorne ist ja irgendwo noch D1 wo nochmal ca 0,4 V abfallen und dann passt es gerade so. Aber es ist wirklich sehr knapp und kein guter Stil.
Also die Schaltung bekommen wir auf jeden Fall besser hin...
Da du einen anderen µC genommen hast, gehe ich davon aus, dass du in eingebetteter Programmierung fit bist? Gerade von diesem ganzen Funkgedöns hab ich keinen Plan, da kann ich dir nicht helfen (bzw. würde das in Arbeit ausarten). Aber dir restliche Hardware, da kenn ich mich aus.
Also zum kapazitiven Spannungsteiler: das ist ganz billig. Wenn du einen Spannungsteiler aus zwei Kapazitäten hast, fällt die Spannung im umgekehrten Verhältnis der Kapazitäten über die zwei Kondensatoren ab. Wenn du 10 V an zwei gleichgroße Kondensatoren in Reihe anlegst, etwa 2x 5 nF fallen über beide Kondensatoren 5 V ab. Ganz einfach. Wenn du nun 9 nF und 1 nF in Reihe schaltest, hast du 9 V über 1 nF und 1 V über 9 nF (also einfach nur genau umgekehrt wie bei einem ohmschen Spannungsteiler, weil die Impedanz von Kondensatoren irgendwas mit hoch minus 1 ist). Der Haken an der Geschichte ist, dass es nur mit Wechselspannung gut funktioniert - bei Gleichspannung läuft die Spannung am unteren Kondensator weg, weil du den ja mit der Messung belastest woraus sich eine Asymmetrie ergibt. Aber wir haben ja Wechselspannung und einen OPV, also sehr hoher Eingangswiderstand. Vorteil ist, dass der untere Kondensator keine so hohe Spannungsfestigkeit haben braucht wie der obere und die meiste Spannung über den oberen, kleinen Kondensator abfällt - was den dann schön billig macht. Super genau wird die Messung wohl nicht, weil Kondensatoren generell höhere Toleranzen haben als Widerstände. Aber ich schätze mal, 10% sind locker drin, 5% sollten zu schaffen sein, eventuell sogar 1%. Glaube das reicht aber für die Anwendung. Zumal du ja keine absoluten Werte brauchst, sondern relative Werte ausreichen: wenn du siehst, dass die Spannung plötzlich um 30% einbricht ist ja Wumpe, ob du in absoluten Zahlen einen Einbruch von 10 kV auf 7 kV misst oder von 11 kV auf 7,7 kV - du siehst auf jeden Fall, dass irgendwas ist.
Noch was: ich glaube nicht, dass die Hochspannungsimpulse auf dem Weidezaun ein Sinus sind. Da die Dinger mit einem Sperrwandler arbeiten, würde ich da eher ein Rechtecksignal mit 1498,5 ms Low und 1,5 ms High erwarten. Halt ein ziemlich perverses Rechtecksignal, wegen der irrsinnig hohen Amplitude. Hast du eine Möglichkeit, das mal mit einem Oszi zu messen, wie das genau aussieht? Oder lieber nicht, weil ist eine ziemlich gefährliche Messung mit der man sich schnell mal das Oszi zerschießen kann...
Apropos teure Geräte zerschießen: besorge dir zum Debugging schon mal einen
USB-Isolator. Muss nicht der sein, gibt auch etwas günstigere bei ebay vom Chinamann... Den hängst du dann zwischen deinen Rechner und das Programmiergerät, damit falls beim Debugging was schief geht nicht gleich dein ganzes Labor abfackelt.
Beziehungsweise, du schreibst ja, dass du schon mal eine Messung hattes die recht zuverlässig funktionierte: wie sahen denn da die Signalverläufe aus? Ach, ich seh gerade: der macht da mit den OPVs sowieso nur eine Spitzenwertgleichrichtung: mit der Doppeldiode und dem RC-Glied da, das erklärt dann auch, warum du Firmwareseitig einen Sinus oder irgendwas in der Richtung gesehen hast.
Ich setz mich die Tage mal hin und mach dir einen Vorschlag für die HV-Eingangsstufe und wie du die Batteriespannung recht elegant überwachen kannst. Muss mich da mal in Ruhe hinsetzen und will das dann auch gleich mal in LTspice simulieren, damit ich dir da keine Grütze erzähle. Denke mal, spätestens Ende der Woche bin ich so weit...