Abschaltung des CC1101 über Mosfet bei AskSinPP-Geräten

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

TomMajor
Beiträge: 1793
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 175 Mal
Danksagung erhalten: 399 Mal
Kontaktdaten:

Abschaltung des CC1101 über Mosfet bei AskSinPP-Geräten

Beitrag von TomMajor » 21.03.2021, 14:25

Ich hatte mich im Januar mit dem Thema beschäftigt und möchte das hier kurz dokumentieren damit es nicht vergessen wird. :)

Hintergrund war das papa in seinem neuen HB-SEC-RHS-3 Design die Abschaltung des CC1101 über einen Mosfet vorgesehen hatte, bei jedem Zuschalten des CC1101 war jedoch leider ein AVR Reset zu beobachten.
Ich habe darauf hin ein paar Messungen und Experimente für papa durchgeführt.

Und Stefan designt gerade die STM32L151-RF Platine, bei der auch der CC1101 abschaltbar gemacht werden soll.

-----

In den Oszi Messungen im Anhang:
Ch1 Blau: D6
Ch2 Rot: VDC
Ch3 Grün: VCC

Bild "Bad" war meine erste Messung in dem Moment wenn der CC1101 eingeschaltet werden sollte. Irgendwie glaubte ich zunächst der Mosfet verursacht einen hohen Strom weil er ein Defekt am Gate hat o.ä. und habe den darauf gegen einen Si2365 von mir getauscht. Das brachte aber gar nichts.

Dann nochmal die Schaltung und Platine studiert und dann habe ich es gesehen. Der Puffer-Elko an der Batterie, C14 war nicht bestückt, dafür wird aber C15 durch Q1 geschaltet. Man sieht gut im grünen Graph wie das VCC für ein paar us runterzieht was zu einem Reset führt.

Dann habe ich für C14 testweise 47uF eingeführt und C15 sowie C3 entfernt, dabei ist C15 natürlich der Haupttäter wegen seinem Wert.
Das ergibt dann das Bild "Good" und der Code im Sketch läuft durch. Man sieht auch da noch einen kleinen Spike auf VCC, aber der tut nichts mehr.

Empfehlung: Für ein Konzept mit CC1101 Abschaltung sollte man keine großen C in der An/Abschaltung drin haben, wie zu sehen ist, weiterhin kostet das jedes mal extra Energie. Der 4,7u an sich ist schon ok, aber macht ihn an Source von Q1, nicht an Drain. Ein paar 100n am CC1101 sind ok.
Um es noch mal deutlich zu sagen, wenn man z.B. 5x100nF hinter dem Mosfet-Schalter hat würde ich z.B. das 10fache direkt vor dem Schalter machen, also an Source, so nahe wie möglich.

Außerdem, wenn der CC1101 abgeschaltet wird und der AVR in den Deep sleep geht sollte in der SW dafür gesorgt werden dass alle SPI Pins inkl. /CS sowie GDO0 entweder hochohmig oder low sind, sonst ist das a) ein unerlaubter Zustand für den CC1101 und b) wird vermutlich extra Ruhestrom kosten.

-----

Fazit:

Prinzipiell finde ich das Abschalten ein nettes Feature um flexibler zu sein, auch wenn die Strom-Einsparung nicht groß ist.
Nur wegen dem Ruhestrom wird es nicht viel ausmachen, laut Datenblatt 0,2 oder 0,5uA, je nach CC1101 Sleep Mode den man verwendet.

Ich sehe aber das Potential, einen Babbling Idiot (BI) damit zu verhindern, wenn man hier den Abschnitt über Jeromes BI Simulation ließt:
https://github.com/TomMajor/SmartHome/t ... april-2020
würde genau dieser BI verhindert werden da der AVR im Reset den D6 Pin nicht mehr auf Low halten kann und der CC1101 abgeschaltet wird.
Gerade bei Batterien mit kleiner Kapazität wie der CR2032 könnte das interessant sein.

Der "große" Kondensator auf fertigen CC1101 Modulen hat nach meinen Messungen ca. 3,3uF.
Wahrscheinlich reichen dann z.B. auch 10..20uF am Mosfet, wichtig ist das der Einschaltstrom genau aus diesem C genommen wird und nicht woanders her, deswegen muss der direkt am Source Pin sitzen, im Pfad, also Vcc -> C -> Source-Pin.
Dateianhänge
HB-SEC-RHS-3.png
Bad.png
Good.png
IMG_5096.jpg
Viele Grüße,
Tom

papa
Beiträge: 705
Registriert: 22.05.2018, 10:23
Hat sich bedankt: 24 Mal
Danksagung erhalten: 120 Mal

Re: Abschaltung des CC1101 über Mosfet bei AskSinPP-Geräten

Beitrag von papa » 21.03.2021, 15:56

Ach ja - das liegt ja auch noch rum und will mal fertig gemacht werden :-)
Nochmal ein fettes Danke für Deine Analyse.
Anfragen zur AskSin++ werden nur im Forum beantwortet

TomMajor
Beiträge: 1793
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 175 Mal
Danksagung erhalten: 399 Mal
Kontaktdaten:

Re: Abschaltung des CC1101 über Mosfet bei AskSinPP-Geräten

Beitrag von TomMajor » 21.03.2021, 17:09

papa hat geschrieben:
21.03.2021, 15:56
Ach ja - das liegt ja auch noch rum und will mal fertig gemacht werden :-)
Nochmal ein fettes Danke für Deine Analyse.
Sehr gern, papa.
Ich trage Eulen nach Athen wenn ich dir das fette Danke zurückgebe für deine Arbeiten. :)
Viele Grüße,
Tom

Asselhead
Beiträge: 308
Registriert: 07.02.2019, 17:04
System: CCU
Wohnort: Niederrhein
Hat sich bedankt: 56 Mal
Danksagung erhalten: 147 Mal

Re: Abschaltung des CC1101 über Mosfet bei AskSinPP-Geräten

Beitrag von Asselhead » 21.03.2021, 18:22

Hi Tom,

auch auf diesem Wege noch einmal vielen Dank für Deine Analyse!

Habe für den STM32-RF jetzt mal 10µF vor dem FET vorgesehen....
Viele Grüße

Stefan

TomMajor
Beiträge: 1793
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 175 Mal
Danksagung erhalten: 399 Mal
Kontaktdaten:

Re: Abschaltung des CC1101 über Mosfet bei AskSinPP-Geräten

Beitrag von TomMajor » 22.03.2021, 16:54

Asselhead hat geschrieben:
21.03.2021, 18:22
Hi Tom,

auch auf diesem Wege noch einmal vielen Dank für Deine Analyse!

Habe für den STM32-RF jetzt mal 10µF vor dem FET vorgesehen....
Ja gerne.
Bin schon gespannt auf das STM32-RF Design. Ich denke 10u sollten reichen wenn hinter dem Schalter "nur" die 7x 100n sind.
Viele Grüße,
Tom

TomMajor
Beiträge: 1793
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 175 Mal
Danksagung erhalten: 399 Mal
Kontaktdaten:

Re: Abschaltung des CC1101 über Mosfet bei AskSinPP-Geräten

Beitrag von TomMajor » 27.03.2021, 13:57

Im Bild ist als Ausschnitt Stefans aktuelles Design für die kommende STM32L151-RF Platine zu sehen, und zwar der relevante Teil für die CC1101 Abschaltung.
Genau so soll das sein. Bin zuversichtlich das es damit funktionieren wird. Ich habe Vcc und 10uF markiert.

Und ich habe die Infos jetzt auch noch mal bei mir auf github abgelegt:
https://github.com/TomMajor/SmartHome/t ... ung_CC1101
Dateianhänge
top1.png
Viele Grüße,
Tom

HMSteve
Beiträge: 539
Registriert: 20.08.2019, 06:23
Hat sich bedankt: 13 Mal
Danksagung erhalten: 95 Mal

Re: Abschaltung des CC1101 über Mosfet bei AskSinPP-Geräten

Beitrag von HMSteve » 14.05.2021, 07:27

Vielen Dank fuer Deine Analyse, Tom!

Hab sie natuerlich erst gesehen, als mein Layout schon vergeigt war :roll: Hatte versucht, die auch von mir beobachteten Spikes mit groesseren Cs am vorgeschalteten LDO in den Griff zu bekommen, das linderte das Problem, war aber nicht ausreichend. 10uF direkt am Fet scheinen bis jetzt jedoch zu helfen.

Falls andere mein sehr unschoenes Fehlerbild auch beobachten: Die Spikes waren bei mir so kurz, dass ein MCP111 nicht triggert, und der AVR bei ausgeschalteter BOD nicht in eine Reset- Schleife geraet, sondern einfach haengen bleibt, und zwar nicht immer, sondern sporadisch.

Viele Gruesse,
Stephan

TomMajor
Beiträge: 1793
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 175 Mal
Danksagung erhalten: 399 Mal
Kontaktdaten:

Re: Abschaltung des CC1101 über Mosfet bei AskSinPP-Geräten

Beitrag von TomMajor » 14.05.2021, 16:45

HMSteve hat geschrieben:
14.05.2021, 07:27
Vielen Dank fuer Deine Analyse, Tom!

Hab sie natuerlich erst gesehen, als mein Layout schon vergeigt war :roll: Hatte versucht, die auch von mir beobachteten Spikes mit groesseren Cs am vorgeschalteten LDO in den Griff zu bekommen, das linderte das Problem, war aber nicht ausreichend. 10uF direkt am Fet scheinen bis jetzt jedoch zu helfen.

Falls andere mein sehr unschoenes Fehlerbild auch beobachten: Die Spikes waren bei mir so kurz, dass ein MCP111 nicht triggert, und der AVR bei ausgeschalteter BOD nicht in eine Reset- Schleife geraet, sondern einfach haengen bleibt, und zwar nicht immer, sondern sporadisch.

Viele Gruesse,
Stephan
Gerne.
Als ich die HB-SEC-RHS-3 "Problemplatine" von papa da hatte war ich die ersten 10min auch etwas verwundert, was da abgeht, dass dieser Miniverbraucher CC1101 beim Zuschalten einen so großen funktionalen Einfluss ausübt, damit hatte ich überhaupt nicht gerechnet.
Viele Grüße,
Tom

HMSteve
Beiträge: 539
Registriert: 20.08.2019, 06:23
Hat sich bedankt: 13 Mal
Danksagung erhalten: 95 Mal

Re: Abschaltung des CC1101 über Mosfet bei AskSinPP-Geräten

Beitrag von HMSteve » 14.03.2022, 12:22

Hallo zusammen,

ich habe gerade einen Fall, bei dem 10u direkt am Source des Abschalt-FET sowie weitere 30u in geringer Leiterbahnentfernung die Reset-Schleife wegen Spannungseinbruechen beim Einschalten nicht verhindern koennen. Ich nutze einen Si2365, und geschaltet wird neben dem CC1101 auch noch ein SCD41, also etwas mehr Last, aber keine grossen Cs hinter dem FET.
Das ganze haengt hinter einem MCP1640 Step-Up Regler. Erst dachte ich, der MCP1640 bricht beim Umschalten von PFM zu PWM ein und habe fuer eine Grundlast vor Einschalten des FET gesorgt, damit er schon im PWM Modus laeuft, half aber nichts.

Ein C bis zu 10n zwischen Gate und Drain reduzierte den Spike etwas, genuegte aber bei weitem nicht.

Die Brutalo-Methode mit Gate-Vorwiderstand von 100k und 10nF zwischen Gate und Drain loesen das Problem, es entsteht eine saubere Einschaltflanke von 1.5ms (rot) und kein Ueberschwingen vor dem FET (blau).
FetSwitchDelayed.jpg
Der Ripple ist der PFM Mode des MCP1640, man sieht nebenbei schoen, wie er den Einschaltstrom der Peripherie im PWM Mode liefert und dann zurueckfaellt.
Wie schnell ich die Flanke problemlos machen koennte, habe ich nicht getestet, i.R.d. hier auftretenden Verlustleistungen sollte das m.E. auch so gut sein.

Ich schreibe diese Erfahrung mal auf, falls noch jemand ueber das Problem stolpert. Im Idealfall beruecksichtigt man das, bevor man die Platinen machen laesst :roll:

Viele Gruesse,
Stephan

TomMajor
Beiträge: 1793
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 175 Mal
Danksagung erhalten: 399 Mal
Kontaktdaten:

Re: Abschaltung des CC1101 über Mosfet bei AskSinPP-Geräten

Beitrag von TomMajor » 15.03.2022, 01:08

HMSteve hat geschrieben:
14.03.2022, 12:22
Die Brutalo-Methode mit Gate-Vorwiderstand von 100k und 10nF zwischen Gate und Drain loesen das Problem, es entsteht eine saubere Einschaltflanke von 1.5ms (rot) und kein Ueberschwingen vor dem FET (blau).
Wieso eigentlich Brutalo-Methode :wink: Ist da nicht so eine Art Soft-On was du da gebaut hast?

Also wenn 40uF am Source nicht reichen muss schon etwas ziemlich Strom ziehen beim Einschalten, ich würde schätzen mindestens 5uF dahinter, eher mehr, aber ich kenne den SCD41 auch nicht.
Viele Grüße,
Tom

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“