Prenos signalu cez indukcnu vazbu

Chcete pomocť v oblasti VF techniky?

Moderátori: mirosne, Moderátori

miso156
Pokročilý člen
Pokročilý člen
Príspevky: 648
Dátum registrácie: 06 Dec 2020, 11:46
Bydlisko: Banska Stiavnica
Vek: 38

Prenos signalu cez indukcnu vazbu

Príspevok od používateľa miso156 » 11 Máj 2023, 17:42

Ahoj,

snazim sa vytvorit jednoduchu klavesnicu s velmi vela tlacitkami ovladanu pomocou indukcnej vazby.
"Spinanie" sa realizuje vyslanim signalu z jednotranzistoroveho oscilatoru do prislusnej prijimacej cievky/jadra.

Teraz problem:
Signal bude snimat ATmega napajana z 5V, takze pre log.1 potrebujem, aby sa mi v prijimacej cievke naindukovalo aspon 4V amplituda.
Momentalne mam prijimacie cievky s cca 30zavitmi, som schopny tam natlacit asi 60zavitov, ale pre 4V je to stale malo.

Co mozem spravit:
Oscilator sinusu chcem napajat len z jednej 1.2V NiMH takze uroven vysielacieho signalu vyssie nez 1V tahat nemozem.
Viac drotu na prijimacie cievky sa mi nezmesti. Tensi drot uz je nerealny.
Prierezy jadrier prijimacich cievok uz zvysit nemozem - nezmesti sa.
Frekvencia je 200kHz vyssie ju uz asi nastavit nemozem aby ju ATmega (16MHz) stihala spracovavat.

Otazka?
Pomoze zvysit prierez jadra vysielacej cievky? Na obr. pod oscilatorom je polozeny zabruseny ferit ktrory tam planujem dat.
Pomoze zvysit frekvenciu oscilatora?
Kondik rezonancneho obvodu vysielaca som sa snazil dat co najvacsi a cievku co najmensiu (najmensi pocet zavit.) Spravne?
Zmenit typ feritov s inou Bsat?


Na lavo oscilator, na pravo prijimacie cievky (multiplexovane):
20230511_172245.jpg


Naindukovana cca 1.5V amplituda na prijimacej cievke:
20230511_172354.jpg
0
"No pain, no gain." (KC238)

Používateľov profilový obrázok
OHAJ
Pokročilý člen
Pokročilý člen
Príspevky: 859
Dátum registrácie: 01 Máj 2010, 00:00
Bydlisko: OHAJ
Vek: 44

Re: Prenos signalu cez indukcnu vazbu

Príspevok od používateľa OHAJ » 11 Máj 2023, 19:44

Mišo, i z 1,2V batérie vieš predsa vyrobiť raztoľkú amplitúdu, keď to rozvieti LED, tak prečo by Ti to nezvýšilo výstup: Obrázok
0

Používateľov profilový obrázok
misocko
Ultimate člen
Ultimate člen
Príspevky: 4319
Dátum registrácie: 14 Jún 2009, 00:00
Vek: 47

Re: Prenos signalu cez indukcnu vazbu

Príspevok od používateľa misocko » 11 Máj 2023, 20:37

mal by si odfotiť v akej polohe budu prijimac a vysielac ked bude prebiehať prenos
prečo je kazda cievka trojuholniková? - uplne Ti to pokasle prenos.
0

miso156
Pokročilý člen
Pokročilý člen
Príspevky: 648
Dátum registrácie: 06 Dec 2020, 11:46
Bydlisko: Banska Stiavnica
Vek: 38

Re: Prenos signalu cez indukcnu vazbu

Príspevok od používateľa miso156 » 11 Máj 2023, 21:08

OHAJ:

Ten oscilator co si post-ol dava na vystupe napatove ihly. Sice vysokeho napatia, co je dobre, ale aby ten pulz mal aku-taku sirku musis tu cievku vybit do nizkej impedancie. A prave tam je problem, ze vybijanie do odporu je sakra stratove.
Sinusovy oscilator, ten len vymiena energiu medzi L a C, a straty su tak minimalne.
Ten moj oscilator ma spotrebu okolo 2mA.


Misocko:

Jadra pri prenose budu oproti sebe so vzduchovou mendzerou cca 1mm. Vzduchovu medzeru bude tvorit Gorilla glass.
Jedna cievka obopina tri jadra aby som usetril piny na procesore (multiplex).
20230511_210716.jpg
0
"No pain, no gain." (KC238)

Používateľov profilový obrázok
misocko
Ultimate člen
Ultimate člen
Príspevky: 4319
Dátum registrácie: 14 Jún 2009, 00:00
Vek: 47

Re: Prenos signalu cez indukcnu vazbu

Príspevok od používateľa misocko » 11 Máj 2023, 21:16

tak v prvom rade skus koľko sa Ti naindukuje v jednom koliku, omotanom cievkou. Obavam sa ze stracas najviac prave na troch kolikoch, a biednom magnetickom prenose iba do rohu cievok
0

Amaterr
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1380
Dátum registrácie: 08 Jún 2014, 09:17
Bydlisko: Bratislava

Re: Prenos signalu cez indukcnu vazbu

Príspevok od používateľa Amaterr » 12 Máj 2023, 04:49

nieco podobne... davno pradavno ale bez ATmega :) , mal som vykuchanu elektricku zubnu kefku , meral som vzdialenost kedy este ako tak nabijala , teda bol prenos.
0

miso156
Pokročilý člen
Pokročilý člen
Príspevky: 648
Dátum registrácie: 06 Dec 2020, 11:46
Bydlisko: Banska Stiavnica
Vek: 38

Re: Prenos signalu cez indukcnu vazbu

Príspevok od používateľa miso156 » 12 Máj 2023, 14:07

@Misocko:

S jednym jadrom v cievke a drotom navinutym natesno okolo jadra to naindukuje viac.
Ale ako som spominal, nemozem si to dovolit, lebo tych spinacov potrebujem vela.
Dokonca mozno budem nuteny multiplexovat este silnejsie (do matici).

Posunul som frevenciu oscilatoru na 1Mhz a voilà, razom mam naindukovanu 2.5V ampitudu, takze so 60zavitmi to bude asi okolo 5V.
S tym uz mozem aj signal z cievok usmernovat rychlymi diodami do kondiku a cca 0.5V drop na diode je v pohode.
To uz su ale suciastky naviac, radsej by som chcel vsetko riesit softwarovo a spracovavat priamo striedavy signal.
Taktiez sa da pouzit kondikovy doubler a som na 8V. (dve diody, dva kondiky).


Este musim pocitat, ze cast vyslanej energie pohlti krabicka (okolite kovove materialy).
Dokonca aj prilahla med robi sarapatu., hehe.
0
"No pain, no gain." (KC238)

Používateľov profilový obrázok
misocko
Ultimate člen
Ultimate člen
Príspevky: 4319
Dátum registrácie: 14 Jún 2009, 00:00
Vek: 47

Re: Prenos signalu cez indukcnu vazbu

Príspevok od používateľa misocko » 12 Máj 2023, 16:42

Nebola by pre Teba lepšia voľba dotykova plocha? Hoci lriehľadná, podložena nakreslenou klavesnicou.
0

maskrtnik01
Ultimate člen
Ultimate člen
Príspevky: 2574
Dátum registrácie: 20 Júl 2010, 00:00
Bydlisko: okolie KE
Vek: 27

Re: Prenos signalu cez indukcnu vazbu

Príspevok od používateľa maskrtnik01 » 12 Máj 2023, 17:30

Ja už som si zvykol, že miso156 špekuluje nad všeličím. Ale dobre, aj experiment s nulovou praktickou hodnotou môže mať akademickú hodnotu. Hlavne si pri tom neublížiť.
0

miso156
Pokročilý člen
Pokročilý člen
Príspevky: 648
Dátum registrácie: 06 Dec 2020, 11:46
Bydlisko: Banska Stiavnica
Vek: 38

Re: Prenos signalu cez indukcnu vazbu

Príspevok od používateľa miso156 » 12 Máj 2023, 18:16

misocko napísal:
12 Máj 2023, 16:42
Nebola by pre Teba lepšia voľba dotykova plocha? Hoci lriehľadná, podložena nakreslenou klavesnicou.
Tie koliky su momentalne v 5mm rastry. V reale budu asi 4mm.
Miniaturne tlacitka v takom "formate" existuju, ale pre moje prsty nerealne.
Naviac takto to bude pod sklom, kdezto tlacitka musis vyviest cez otvor v krabicke.
Kapacitne snimanie by sa dalo, ale pre 4mm raster musis mat taktiez stylus.
To uz mi je jedno ci mam v ruke ten alebo trubku s oscilatorom a mini baterkou.

Aby toho nebolo malo, tie tlacitka nebudu rozmiestnene v jednej velkej matici ale v suboroch mensich matic a taktiez riadkov. :D
A teda trochu atypicka klavesnica.

Zatial minimalny pocet tlacitko ako na obr. dole.
Pravdepodobne tlacitok bude este viac.
Modre su tlacitka, cervene Ledky pre zobrazenie/prepnutie 2hej a 3tej funkcie tlacitka (podla popisku vedla ).
image.png
0
"No pain, no gain." (KC238)

Atlan
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1148
Dátum registrácie: 01 Feb 2008, 00:00
Bydlisko: Kosice okolie

Re: Prenos signalu cez indukcnu vazbu

Príspevok od používateľa Atlan » 13 Máj 2023, 07:03

:pain: :rolleyes:
0

miso156
Pokročilý člen
Pokročilý člen
Príspevky: 648
Dátum registrácie: 06 Dec 2020, 11:46
Bydlisko: Banska Stiavnica
Vek: 38

Re: Prenos signalu cez indukcnu vazbu

Príspevok od používateľa miso156 » 13 Máj 2023, 22:46

Na teraz som zvysil napatie oscilatoru, nechce sa mi previjat ten "proto-netvor".
Vo finale dam viac zavitov.
Frekvenciu oscilatoru som nastavil na 500KHz.
Na Megu som pripojil 20MHz krystal nech mam margin na clocku a teda jednoduchsiu robotu s debouncovanim 8)
Vdaka tomu idem len na interruptoch, ziadne pollovanie bitov a precesavanie v sluckach. Len chytam "hrany".


Zatial to ide na 100% (link video dole), ziadny miss alebo multiple. Iba togglujem ledku. Nemam este rozchodeny displej :)
https://streamable.com/cvli53

Kod:

Celou podstatou je jedna 3-stavova "state machine" riadena z dvoch interruptov. Jeden interrupt je Pin_Change a druhy Timer.
Princip: Zachytit prvu nabeznu hranu v PCINT (FIRST_CATCH), pockat povedzme 50ms az bude jadro oscilatoru uplne priblizene cievke, opat spustit PCINT, najst nabeznu hranu (SECOND_CATCH), vycitat vstupne piny a v 50ms intervaloch hladat uvolnenie/bezsignalovy stav pinu (FIND_FREE).
Pri hladani nabeznej hrany (SECOND_CATCH) je pridany povedzme 50us timeout ak by sa hranu nepodario najst a program tak neostal vysiet.
Spolieham sa, ze skocenie do PCINT zoberie asi 4 clocky (mozno viac), takze vycitanie port_state = PIND; hned na zaciatku PCINT odvzorkuje bajoko stred kopceka sinusu.
V main() je iba togglovanie ledky.

Kód: Vybrať všetko

#include<avr/io.h>
#include<avr/interrupt.h>

#define PIN_CH_INT_OFF   PCICR &= ~(1 << PCIE3) //pin change int. OFF
#define PIN_CH_INT_ON   PCICR |= (1 << PCIE3) //pin change int. ON

#define TIM_OFF   TIMSK1 &= ~(1 << TOIE1) //timer off
#define TIM_ON   TIMSK1 |= (1 << TOIE1)

enum debouncing_states {

	FIRST_CATCH,
	SECOND_CATCH,
	FIND_FREE
};
	
volatile enum debouncing_states debouncing_state = FIRST_CATCH;
volatile unsigned char buttons = 0;
volatile unsigned char button_catched = 0;
volatile unsigned char button_int_occured = 0;

ISR(PCINT3_vect) {

	unsigned char port_state = PIND;

	
	switch(debouncing_state) {
	
		case FIRST_CATCH:
			if(port_state > 0) {
				PIN_CH_INT_OFF;
				TCNT1 = 50000;  //50ms
				TIM_ON;
			}

			break;
			
		case SECOND_CATCH:   //moze skocit viac krat
		
			if(port_state > 0) { 	//button catched
				buttons = port_state;  //mozno doplnit kontrolu ci je port nenulovy
				PIN_CH_INT_OFF;
				button_catched = 1;
			}

			break;
						
		case FIND_FREE:
			PIN_CH_INT_OFF;
			button_int_occured = 1;
			break;	
		default:
			break;
	
	}

}


ISR(TIMER1_OVF_vect) {

	switch(debouncing_state) {
	
		case FIRST_CATCH:
			debouncing_state = SECOND_CATCH;
			button_catched = 0;
			TCNT1 = 65520;   //timeout 50us if second_catch not occur
			PIN_CH_INT_ON;
			
			break;
			
		case SECOND_CATCH:
			if(button_catched == 0) { //timeout , ak nenastal interrupt pri SECOND_CATCH
				debouncing_state = FIRST_CATCH; //naspat na prve chytanie
				TIM_OFF;
			} else {
				debouncing_state = FIND_FREE;
				button_int_occured = 0;	
				TCNT1 = 50000; //50ms	
			}
			
			PIN_CH_INT_ON;

			break;
			
		case FIND_FREE:
		
			if(button_int_occured == 0) { //ak nenastal interrupt pri FIND FREE
				debouncing_state = FIRST_CATCH;
				TIM_OFF;

			} else {
				button_int_occured = 0; //vyskusaj znova
				TCNT1 = 50000; //50ms	
			}
			
			PIN_CH_INT_ON;   //zapni tak ci onak

			break;
				
		default:
			break;
	}
}




int main (void) {

	DDRB |= (1 << 0);  //Led - output
	PORTB &= ~(1 << 0);

	DDRD = 0; //tlacitka - input
	PORTD = 0;  //tlacitka - no pull-up

	///SET PIN CHANGE INTERRUPT
	PCICR |= (1 << PCIE3);
	PCMSK3 |= (1 << PCINT24);

	///SET DEBOUNCING TIMER clk/64
	TCCR1B |= (1 << CS10);
	TCCR1B |= (1 << CS11);  

	sei();

	while(1) {
		
		if(buttons > 0) {
			buttons = 0;
			PORTB ^= (1 << 0);
		}	
	}
}

0
"No pain, no gain." (KC238)

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok