-
Thread
[AVR] ADC oversampling, nutzbarer Wertebereich
Größenordnung von ein LSB liegt. Der Witz ist aber, dass das letzte "echte" Hardware-LSB eben schon mit +-1/2 LSB spezifiziert ist. Im Idealfall sieht es also so aus: [pre] HW ADC 0 1 2 3 4 Oversampling 0 1 2 3 4 5 6 7 8 9
Evtl. den internen ADC vergessen und z.B. einen ADS1115 über I2C anbinden. So habe ich das gerade mit einem ESP32 auf Lochraster gemacht und das funktioniert ziemlich stabil, obwohl direkt daneben ein einphasiger StepUp-Wandler mit über 500W (~22V->40V) läuft.
-
Thread
ESP32 im PKW an Spannungsteiler Relais schalten
zum ESP, der hoffentlich open-Collector > ist. So geht das nicht. Die Ausgänge des ESP32 sind keine Open-Collector Typen und vetragen auch keine 12V (sondern maximal 3,6V). Bei diesem Entwurf würden alle
und Spannungsspitzen von einigen 100V in beide Richtungen. Die garantierten Schaltschwellen des ESP32 sind 0.8V und 2.5V. Mit dieser Eingangsschaltung ergibt das etwa unter ca. 4V wird garantiert als Low-Pegel erkannt, und ab ca. 9V wird als High-Pegel erkannt.
-
Thread
clangd als lsp-server für esp32-code: unknown target triple
wie folgt aufgerufen: ``` /usr/bin/clangd-19 --query-driver=/home/xxx/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc --log=verbose --pretty ```
nicht jedoch mit clangd-16: [code] clangd-15 --query-driver=/home/xxx/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc --check=main/xxx.h --log=verbose [/code] Ich verstehe aber nicht, ob das neue Verhalten korrekt ist oder ein Bug, und wie ich damit
-
Thread
Überwachung Akkuspannung führt zu "Neustart" des Schaltreglers
Hallo Forum, ich nutze einen ESP32-WROVER-E + RFID-Reader + Neopixelring + ClassD-Amp (MAX98357a) + SD-Reader als MP3-Player für Kinder. Versorgt wird das Ganze per USB und/oder LiPo/LiFePO4-Akku (inkl. integrierter Ladeelektronik
kurz danach wieder neu zu starten. Den Eingang des SGM809 habe ich mit einem RC-Glied (100 Ohm und 2,2 uF) gedämpft und den TPS63000 eingangsseitig mit 10 + 22 uF stabilisiert (ausgangsseitig mit 3x10 + 22 uF); den ESP32 mit 100 + 10 uF. Im Bypass-Modus läuft auch alles wie gewünscht. Wie löst man
-
Thread
ESP32 BLE OTA Arduino
Ich möchte auf dem ESP32 OTA nutzen. Nun gibt es verschiedene Möglichkeiten. https://github.com/ayushsharma82/ElegantOTA https://github.com/fbiego/ESP32_BLE_OTA_Arduino https://github.com/michael-angerer/esp32_ble_ota
/h2zero/NimBLE-Arduino/tree/a79941c dann unter File -> Examples -> BLEOTA -> nimble -> bleota_secure -> die bleota_secure.ino zu öffnen. Es kompiliert aber läuft nicht richtig auf dem ESP32 (Handyladegerät
-
Thread
KFZ Sicherung defekt
Thomas S. schrieb im Beitrag #7889538: >> Stückchen Kupferleitung aus >> einem 2,5qmm Kabel neben der Beschriftung auflöten, vorher die Mutter >> lösen und Blech etwas anheben. > > Bin mir da nicht sicher
auf eigene Verantwortugn ja belibig rumbasteln mit externe Sicherungen -- oder (sinnvoll) eine neues/2nd vom Verwerter Steuergerät einbauen. > War kurz stutzig weil auf der originale Sicherung 32 Volt stand. Zum > Glück aber auch zufällig auf denen die ich kaufte. 32V: Ist standard bei Sicherungen
-
Thread
Wie baut man in C Strings zusammen?
. Das Komma stört > beim Trennen der Werte in einer Zeile. Ja, es gibt Fälle, wo byte1 und byte2 nie kleiner als 32 werden können. Aber selbst dann geht's dank ',' immer noch schief. Solange man den möglichen Wertebereich nicht kennt, kann man Strings vergessen. Ich würde je 2 Zeichen spendieren
Buchstaben A, B und C verwendet. */ values[0] = 65; // A values[1] = 66; // B values[2] = 67; // C ret = insert_values(string, values, 3); printf("%d values / new string: [%s]\n", ret, string); return 0; } [/c]
-
Thread
Alter EPROM M27C512 Lese- und Programmiergerät mit ESP32
Hallo zusammen, ich möchte einen alten UV EPROM M27C512 mit einem ESP32 auslesen und neu programmieren. Hintergrund: der auszulesende EPROM war in einem AVM A2 eingebaut als Programmspeicher verbaut und weil dessen Fenster nicht abgeklebt war, vermute ich über >20
Daniel S. schrieb im Beitrag #7889341: > ich möchte einen alten UV EPROM M27C512 mit einem ESP32 auslesen und neu > programmieren. Warum zwanghaft mit so rinem ungeeigneten uC ? Zu wenig I/O, falsche
-
Thread
Tipps zu: 600+ Schrittmotoren ansteuern
Bei Servos reicht ein PWM Pin, der ESP32 hat bis zu 28 PWM Ausgänge.
Methode ist, jedem Motor (oder einer Motorgruppe) einen eigenen Mikrocontroller (wie Arduino oder ESP32) oder ein dediziertes Motorsteuer-Board zuzuweisen, das vom Raspberry Pi über ein Bussystem (z. B. I2C, SPI, UART, CAN) gesteuert wird. - So übernimmt jeder Mikrocontroller die exakte Ansteuerung
-
Thread
ADA lernen JA/NEIN? Einstieg in Embedded Systems.
ADA von hier geht auch auf dem Arduino DUE und einem ESP32: https://github.com/reznikmm/esp32-gnat-rts
Guido L. schrieb im Beitrag #7892038: > ADA von hier geht auch auf dem > Arduino DUE und einem ESP32: > > https://github.com/reznikmm/esp32-gnat-rts Gnat (GNU Ada) geht auf so gut wie allem, wo's gcc für gibt (u.U. muß man eben selber compilieren und vielleicht die Adalib ein wenig anpassen
-
Thread
AVR - Taktfrequenz für Seriell ohne Handshake
1 ldi ireg2, 225 ; 1 ;must increment system tick counter here ;and handle it's dependencies (callbacks) ;ignored here because out-of-scope isr_noovr: sts TICKTMP,ireg2 ; 2 2
subi ireg2, -36 ; 1 sts TICKTMP, ireg2 ; 2 rjmp isr_exit ; 2 isr_noovr: sts TICKTMP, ireg2 ; 2 ;must increment system tick counter here ;and handle it's dependencies (callbacks
-
Thread
Rohm liefert AI-MCU, ST zeigt in Kooperation mit QualComm entwickelte Funkmodule uvam
paralelle Ausführung zweier Betriebssysteme ist im Design explizit vorgesehen. ### Wireless-Tag: ESP32-P4 mit ESP32-C5 ESP32-P4-basierte Boards benötigen zur Interaktion mit Drahtlosnetzwerken einen Koprozessor: bisher kam hierfür durch die Bank ein auf einem ESP32-C6 basierendes Modul zum Einsatz. Wireless-tag – das Unternehmen bot unter Anderem die ersten frei verfügbaren ESP32-C5-Module an (siehe https://www.youtube.com/watch?v=Vjc5aMzY2P8) – lanciert nun ein Evaluationsboard, bei dem ein C5 als Funk-Koprozessor dient.  Bildquelle: https
-
Thread
Tasterentprellen für Dummies
(tHeld >= tGap && !s.reportedLong) { s.reportedLong = true; return 2; // long press } } // Reset after release if (!*key && s.active) { s.active = false; } return 0; } // usage
elegant sein, aber die Sprache ist mir zu low. Ich brauch was fertiges für Arduino. Es läuft auf einem ESP32 Ressourcen sind zweitrangig.
-
Thread
Garagentor Funkfernbedienung Tastschalter über ESP32 durchschalten
Hallo, ich habe eine Hörmann Garagentor Funkfernbedienung HSE4-868-BS, diesen möchte ich über ESP32 und über mein Smartphone fernsteuern, ESP32 ist soweit eingerichtet, das Signal kann ich über einen Webbrowser von meinem Smartphone an das ESP32 Senden ( Server/Client )... Meine Frage bezieht
Welchen Antrieb von Hörmann hast Du? Für die neueren Modelle (z.B. Supramatic 3/4, Promatic) gibt es ein ESP32 Modul zum anstecken an den Bus im Antrieb. Dafür muss man keine Fernbedienung opfern. Alternativ kann man das auch selbst bauen (RS485 Adapter + ESP32-S3). Die Software ist OpenSource und enthält
-
Thread
Taupunktsteuerung - Geeignete Funklösung
Rolling Codes. Etwas weniger Bastelarbeit und immer noch "funkarm" wäre eine ZigBee Lösung mit einem ESP32-C5, theoretisch könnte das hier funktionieren: https://github.com/espressif/arduino-esp32/blob/master/libraries/Zigbee/examples/Zigbee_Window_Covering/Zigbee_Window_Covering.ino Dort habe ich allerdings
früher bei manchen Mercedessen. Profis nehmen heutzutage die entsprechenden Bereiche bei 868MHz oder 2.4GHz.
-
Thread
ESP32 externer Watchdog Reset stört Flashvorgang
DMM ist etwas träge. Also der Reset Pin liefert 3,3V als HIGH und 0V als Reset. Der EN Pin des ESP32 hat 4V als Floating. Verdrahte ich die Pins direkt miteinander sind es 4V. Reset wird korrekt ausgelöst. Funktioniert wie es soll. Setze ich den NPN dazwischen (wie im Schaltplan s.o.) und beschalte
externes, nichts was vom Status des ESP32 abhängt.
-
Thread
PiPico-VsCode-GDB file not found
-defined-only -S -l -C -p c:/Rudis/Rubelroller/Electronik/Schweisstrafo/Sps2/build/Sps2.elf Launching GDB: "C:\\Users\\RS\\.pico-sdk\\toolchain\\14_2_Rel1\\bin\\arm-none-eabi-gdb" -q --interpreter=mi2 1-gdb-version
: 1: ftdi 2: usb_blaster 3: esp_usb_jtag 4: ft232r 5: usbprog 6: vsllink 7: rlink 8: ulink 9: angie 10: arm-jtag-ew 11: hla 12: osbdm 13: opendous 14: cmsis-dap 15: kitprog 16: xds110 17: st-link
-
Thread
NXP KW47 mit Channel Sounding, neuer PSoC, ESP32-C3-basierte AI-Kamera uvam
folgendem Schema über die avisierten Verfügbarkeiten der Produkte informiert: [c] The OrangeBox 2.0 automotive development platform is expected to be available in 2H 2025. For more information, please visit NXP.com/OrangeBox or contact NXP Sales worldwide. It will also be demonstrated as part of
- ESP32 C3-basierte intelligente Kamera. Im Hause Espressif arbeitet man seit einiger Zeit (siehe beispielsweise https://www.youtube.com/watch?v=leHdHLKpDNM) an Produkten, die die Wireless-SOCs mit Kameras
-
Thread
ESP32 + I2S - Immer nur Brummen zu hören
, the simplex rx & tx channels can't be registered on the same controllers on ESP32 and ESP32-S2, * and ESP32-S2 has only one I2S controller, so it can't allocate two simplex channels */ #define EXAMPLE_I2S_DUPLEX_MODE CONFIG_USE_DUPLEX #define EXAMPLE_STD_BCLK_IO1
The tx and rx channels here are registered on different I2S controller, * Except ESP32 and ESP32-S2, others allow to register two separate tx & rx channels on a same controller */ i2s_chan_config_t tx_chan_cfg = I2S_CHANNEL_DEFAULT_CONFIG(I2S_NUM_AUTO
-
Thread
Arduino-Module, preiswerter FPGA, vibrationsrobuste IMU, quantensicheres TPM uvam
während Limor Frieds Team eine neue Version von CircuitPython mit Stabilitätsverbesserungen für den ESP32 ausliefert. Was es im Embedded-Bereich sonst Neues gibt, verraten wir hier. ### MicroChip: PolarFire Core als preisreduzierte pinkompatible Variante Im FPGA-Bereich geht der Trend im Allgemeinen
similar functions. • Add MixerVoice.end(). • Change partition layout for Adafruit Feather ESP32-S3 4MB Flash 2MB PSRAM board, allowing BLE and other features to be enabled. [/c] Zu beachten ist, dass die neue Version von CircuitPython in vorhandenem Code einige kleine Änderungen voraussetzt
-
Thread
"Arduino kompatibler" MC für 2025
Warum nicht einen Arduino Nano? Oder einen ESP32? Da braucht es kein FTDI-Kabel. Es reicht ein USB-Kabel.
vorhanden? Ein Board muss so oder so ausgewählt werden. Ob man da einen Arduino auswählt oder einen ESP32-C3 ist dann auch egal.
-
Thread
Suche Ersatz für HM203 Oszi ?
hab jetzt Jahre nichts gemacht, würde es verwenden um mir aber mal irgendwo Impulse / toggelnde I/O's anschauen wollen - also Atmel / ESP Umfeld, vielleicht mal auf nen I2C draufschauen .. Also wäre schon schön, wenn es I2C oder Seriell "lesen" könnte aber sonst muss es nicht schnell sein. Was
sein soll: Wieviele Kanäle, welche Bandbreite, welche Abtastrate, welche Speichertiefe, ... Stefan S. schrieb im Beitrag #7881124: > würde es verwenden um mir aber mal irgendwo Impulse / toggelnde I/O's > anschauen wollen - also Atmel / ESP Umfeld, vielleicht mal auf nen I2C > draufschauen ..
-
Thread
Kleine WiFi-Kamera mit Tablet konfigurieren
kennt sich hier jemand mit dem Thema aus und kann die folgenden Fragen beantworten?! 1. Welche App(s) kann man für diese Kamera verwenden? 2. Welchen Namen trägt so eine Kamera im Netzwerk und benötigt sie ein eigenes Passwort? 3. Kann die Kamera direkt vom Tablet und einer entsprechenden App
oder eine leichte Veränderung der Lichtverhältnisse ... Aber, was Rechenleistung angeht, mit dem ESP32 lässt sich schon einiges an Bildverarbeitung anstellen, und der ist, wenn man ihn nicht in Modul-, sondern in Chipform verwendet, sehr kompakt unterzubringen, neben etwas Hühnerfutter ist das nur
-
Thread
Welchen SmartMeter für DC (PV und Speicher)
die PV ebenfalls mit Shunt und Spannungsteiler arbeiten, mein "Lieblings-IC" dazu ist INA226. Einen ESP32 dran, der im WLAN hängt, versorgt über einen 5V/5V DcDc- Wandler (gibt's fertig in Würfelzuckergröße). Oder, etwas Stromsparender, statt des ESP32 einen Arduino der den INA226 ausliest und seriell
dann nimm halt einen 2. ESP32? kostet 5€?
-
Thread
WLAN Datenlogger mit APP gesucht
sein) auf dem Homeassistent läuft. Fertig ist dein Logger (und mehr falls du es nutzen willst). ESP(3€)+Sensor(Ds18B20 2€)+Raspberry, ich schätze so um die 30-50€ Gesamtkosten. Alternativ, wie bereits gesagt, einen Sensor mit Zigbee. Dann brauchst du aber auf der Raspi Seite wieder einen Zigbee
Lithium Knopfzelle locker 1 Jahr+ und hat keinen (China) App Zwang. Empfänger/Gateways kann jeder ESP32 oder Raspi mit BT sein. Das Ding an sich kann wohl auch 20.000 Datenpunkte im Flash speichern ( bei 10min ca ~4-5 Monate) und man kann es sehr simpel über BT mit dem Browser am Handy auslesen
-
Thread
Stromsparender Impulsgeber
kein Relais, Transistor zum schalten würde reichen. Auch kein Transformator. Schnecke hat 1-2 kOhm und zieht sich ab ca 8V DC zusammen bzw. fällt runter. Im Prinzip würde Akku an der Leitung reichen. Miene Idee war, wenn ich nur 1/10s pro Sekunde pulse, sinkt der Stromverbrauch auf ~1/10 bei
Schaltungsidee. Ich versorge die Schaltung mit 12V und hänge da auch einen StepDown auf 3V3 und einen ESP32 dran. Dieser versorgt den Transistior regelmäßig mit einem Puls. R1 sowie R2 und der Schneckenzaun bilden einen Spannungsteiler, RSchnecke geh in den ESP32 in Analog in. Dort liegen je nach Widerstand
-
Thread
Aus Platinen-Layout Schaltplan mit Fritzing erstellen
Ich hab mir dieses Fritzding mal installiert. Finde kein ESP32 DevKitC darin.
Alexander schrieb im Beitrag #7880368: > Ich hab mir dieses Fritzding mal installiert. Finde kein ESP32 DevKitC > darin. Was hat das mit dem Problem des TO zu tun?
-
Thread
Kapazitiver Taster einer Ampelsteuerung
" wird durch Berührung? Mein Ziel ist, diesen Taster mittels ESP32 und ESPHome umzurüsten, aber ich habe aktuell noch keine Idee, wie ich diese Funktionsweise übernehmen könnte ohne meinen eigenen Touch-Sensor unterzubringen. Die Kupferfläche des Sensors via ESP32
einmal richtig gedeutet. Das bedeutet, ich könnte einen der Relaiskontakte dann verwenden, um vom ESP32 aus zu lesen, ob der Sensor betätigt wurde. Die Frage die ich mir stelle ist: wäre das auch mit einem Transistor realisierbar? Optimal wäre natürlich, wenn der ESP32 inklusive was sonst noch notwendig
-
Thread
Synchronous StepDown: Regler-IC oder gutes Design gesucht
den LT1339 natürlich nicht, Mouser hat ihn, aber dort kostet er 'ne Niere und das Erstgeborene. 2. Die Lösung, die ich eigentlich nicht will: PWM in Software mit dem ESP32 und die FET-Halbbrücke über einen IR2104 oder so ansteuern. Den hätte Reichelt sogar. Ein echter PWM-Regler mit Synchrongleichrichtung
Ohne "Spezial-ICs" versuche ich es nur, wenn es nicht anders geht. PWM in Software mit dem ESP32 wäre auf jeden Fall besser als gar kein Wandler. Ich könnte auch die Verluste durch die Diode in Kauf nehmen und einen asynchronen StepDown bauen. Das sind dann aber ca. 20..30W (etwa 2,7% bei
-
Thread
ARM-Umbenennungen, Erweiterungen des Raspberry Pi-Ökosystems uvam
sind, ist eine Aktualisierung auf jeden Fall anzuraten. ### M5Stack Tab5 - Tablet auf Basis von ESP32-P4 Die vergleichsweise hohe Grafik- und Rechen-Leistung des ESP32-P4 animiert Espressif seit jeher zum Anbieten von Evaluationsboards mit großen Displays. Der seit einiger Zeit zu Espressif gehörende
development of RISC-V vector software. The Xara device will be available to select customers in late Q2 of this year. At the core of the HiFiveTM Xara X280 enablement board is Kinara's Ara-2, which incorporates two SiFive X280 64-bit RISC-V cores. These cores handle pre- and post-processing tasks, tensor
-
Thread
Spannungsreduzierung
wir die Spannung anhand eines Spannungsteilers reduzieren und an einem ADC Pin vom Microkontroller ESP 32 S3 einlesen. Anschließend wird der Wert wieder im Programm hochskalliert. Je nach Akkufüllstand kommt eine variierende Spannung an, die wir im Programm auswerten, sodass tiefenendladen vermieden
da falsch liegen kann, die ganzen ESP32-Varianten mit dem Alphabet hinten dran sind ja alle grundverschieden.
-
Thread
YDLidar X4 Pro an Arduino
Arduino Arduino ist ja Allround.. man kann meist den selben Code für einen mini Atmega oder für einen ESP32 kompilieren. Es bleibt Arduino.
> Arduino ist ja Allround.. man kann meist den selben Code für einen mini > Atmega oder für einen ESP32 kompilieren. Blödsinn, man kann *manchmal* den selben Code ...
-
Thread
EMV /RED-Albtraum bei NFC-Reader (ESP32) – Maschinenbauer brauchen dringend E-Technik/EMV-Rat!
nachgelagertes Problem, da unser Budget sehr begrenzt ist. Kurz zum Aufbau unserer Platine: Herzstück: ESP32-C6-WROOM-1 Modul Anschlüsse: USB-C Buchse (für Stromversorgung und Daten bei initialer Programmierung), I2C-Pinheader für ein Display Spannungsversorgung: 3,3V LDO Peripherie: 2 IC-gesteuerte
Displaytypen (OLED hatte z.B probleme gemacht bei der Anzeige von QR-Codes) und welche Anbindungsart (I2C, SPI?) sind hier empfehlenswert, um die EMV-Anforderungen (z.B. Funkrichtlinie) möglichst einfach einzuhalten? Gibt es da "Standardlösungen" für den ESP32, die sich EMV-technisch als robust erwiesen
-
Thread
ESP32 und ADS1115/MCP4725: 5Vcc für ADC und DAC möglich?
Genau für diese Anwendung wurden doch I2C-Levelshifter gebaut. Damit funktioniert das problemlos. Der ESP32 hat auf seiner Seite die 3,3V und die andere Seite seine 5Volt.
Dieter S. schrieb im Beitrag #7873413: > Genau für diese Anwendung wurden doch I2C-Levelshifter gebaut. > Damit funktioniert das problemlos. Der ESP32 hat auf seiner Seite die > 3,3V und die andere Seite
-
Thread
ESP32-WROOM-32 Flash-Größe
Da ich noch nicht besonders fit mit dem ESP32 und Arduino bin, mal die erste Frage von möglicherweise noch vielen... Ich beschäftige mich gerade mit einem NodeMCU-32S, welches ein ESP32-WROOM-32 Modul besitzt. Dieses hat einen 4Mbyte Flash
externen CP2102 über HTerm auslesen. Ich tippe auf Brownout. https://docs.espressif.com/projects/esp-idf/en/v4.2/esp32s2/api-guides/fatal-errors.html#brownout
-
Thread
Leiterplatte auf Leiterplatte löten ?
Das stimmt so nicht, zumindest für die 2 BAT Anschlüsse. Dort kann man nämlich einen Akku anschließen. Diese XIAO Boards haben einen Batteriecontroller integriert!
unten unter Documents gibts auch die KiCad Dateien. https://www.seeedstudio.com/Seeed-Studio-XIAO-ESP32S3-Plus-p-6361.html
-
Thread
Suche programmierbare Lüftersteuerung
Lars L. schrieb im Beitrag #7871568: > Kennt jemand was anderes? ESP32 - Tasmota drauf - MOSFETS an Ausgang - fertig
wasauchimmer gerade als Temperatursensor in und billig ist), Lüfter per PWM regeln. Oder gleich nen Esp32, dann kannst du den sogar per Wlan steuern. Die "Schaltung" is absolut trivial (1-Pin (+GND) vom Lüfter an den Arduino Löten). Programmiert wird das dann in Arduino C, oder mit dem ESP32 auch
-
Thread
PV Anlage auf Insektenhotel
Thomas S. schrieb im Beitrag #7871736: > So eine kleine Kamera wäre da schon eine interessante Idee, ESP32-CAM plus https://www.pollin.de/p/pollin-polycarbonat-gehaeuse-82-x-80-x-55-mm-ip66-lichtgrau-glasklarer-deckel
Stephan S. schrieb im Beitrag #7871758: > Thomas S. schrieb im Beitrag #7871736: >> So eine kleine Kamera wäre da schon eine interessante Idee, > > ESP32-CAM plus > https://www.pollin.de/p/pollin-polycarbonat-gehaeuse
-
Thread
Neue Bauteile: ESP32-C5 in Produktion, spulenloses Relais und neue Mikrocontroller
/ESP32-C5_Mass_Production? findet sich die folgende Ankündigung: [c] Espressif Systems (SSE: 688018.SH) announced ESP32-C5, the industry’s first RISC-V SoC that supports 2.4 GHz and 5 GHz dual-band Wi-Fi
[](/attachment/668094/2.png) Bildquelle: https://shop.m5stack.com/products/esp32-h2-thread-zigbee-gateway-module? Sinn des um 6,5 US-Dollar plus Versand erhältlichen Moduls ist dabei, den hauseigenen Core-Modulen die Interaktion