Přejít na obsah


Fotka

Elektrická schémata


  • Pokud chcete vložit odpověď, přihlašte se
59 odpovědí na toto téma

#21 panzerstepan

panzerstepan

    Advanced Member

  • Members
  • PipPipPip
  • 1 562 příspěvků(y)

Publikováno 18 leden 2018 - 21:03

Chápu výtku směrem ke zbytečnému použití MCU, ale vezmu-li v potaz nízké pořizovací náklady (cca 30 Kč) a vysokou variabilitu, tak nevidím důvod, proč se drbat s 555. No a pokud by někdo hledal opravdu miniaturní řešení, tak bych volil toto: https://www.aliexpre...2837195109.html

 

 a cim to v terenu napajet??


  • 0

#22 VasaM

VasaM

    VasaM

  • Members
  • PipPipPip
  • 855 příspěvků(y)

Publikováno 18 leden 2018 - 21:36

Tyto MCU umí běžet i na nižším napětí než 5V (konkrétně ATtiny fungují od 1.8 V do 5.5 V ) a při nižším napětí je i nižší spotřeba.

Dále pak stabilizátor tvoří další zbytečný odběr a v případě provozu na baterie by mělo být možné ho vynechat. Bohužel s tím většinou prodávané desky nepočítají a tak je nutná jejich úprava, jako odpájení stabilizátoru a jeho přemostění (doporučuji provést až po řádném otestování, jelikož pak už zpravidla nebude možné MCU připojit k PC a přeprogramovat ho).

No a pak by to mohlo běžet třeba na dvě tužkové baterie (pozor na samovybíjecí efekt u NiMH akumulátorů). Šel by použít i Li-Ion akumulátor (např. z vyhozeného mobilu, notebooku nebo koupit) a ten jednou za čas dobýt. Každopádně v obou případech bude problém zima.


  • 0
Mapy pro přístroje Garmin: http://www.garmin.vasam.cz (GitHub)

#23 mpik

mpik

    Advanced Member

  • Members
  • PipPipPip
  • 8 816 příspěvků(y)

Publikováno 19 leden 2018 - 7:16

Ještě jeden nápad, který jsem kdysi využil. Čítače běží z předděličky, která má několik možností, tuším že jedna byla 1024 a další 65536. Je pochopitelné používat tu největší, ale je vhodné programově (např. uzemněním nějakého pinu) přepínat na tu nižší. Je to 1:64, takže minuty se změní na sekundy. A je příjemnější při testování čekat půl minuty, než půl hodiny.

A co se týká 555. Na dlouhé časy vycházejí obrovské kondenzátory, které díky samovybíjení (které se mění i s teplotou) budou nepřesné, někdy i tak, že se to vůbec nepřeklopí. Existují jiné obvody (např. 4541), které mají vnitřní děličky a tedy se dají použít menší kondenzátory, např. svitkové nebo keramické (pozor na teplotní závislost, u některých je strašná), ale právě ty se mi chovaly nějak divně, spouštělo se to samo při zapnutí, apod. Ale pokud chceš experimentovat, 4541 stojí asi 6-16 korun a odbastlíš to i na nepájivém poli, nebo na kousku univerzální desky. A myslím, že je určen právě na podobné věci, třeba časové spínače osvětlení. Katalogový list si googlem najdeš. Je to CMOS, vlastní spotřeba malá a napájecí napětí není kritické. A jsou i jiné obvody s podobným zapojením. Já už v tomto oboru 10 let nedělám a ztrácím přehled.


  • 0

#24 phrkt

phrkt

    věčný rejpálek

  • Members
  • PipPipPip
  • 2 747 příspěvků(y)

Publikováno 19 leden 2018 - 7:38

Já už v tomto oboru 10 let nedělám a ztrácím přehled.

No právě, u mě je ta prodleva ještě delší.


  • 0

#25 panzerstepan

panzerstepan

    Advanced Member

  • Members
  • PipPipPip
  • 1 562 příspěvků(y)

Publikováno 19 leden 2018 - 8:32

O presny cas urcite nepujde. Proste  pokud se nebude ta prodleva s casem neumerne natahovat, tak to neni problem.

V listingu by mohlo byt jednou za 20-40 minut :D


  • 0

#26 panzerstepan

panzerstepan

    Advanced Member

  • Members
  • PipPipPip
  • 1 562 příspěvků(y)

Publikováno 19 leden 2018 - 8:34

Jinak se jeste zeptam jako uplny Arduino laik. Programuji se vsechny arduina stejnym jazykem??

je to vesmes stejne?


  • 0

#27 mpik

mpik

    Advanced Member

  • Members
  • PipPipPip
  • 8 816 příspěvků(y)

Publikováno 19 leden 2018 - 9:09

Prakticky je to céčko. Jen při práci s jednočipy je HODNĚ DOBRÉ znát hardware. Aby ses pak nedivil, že něco nejde, protože třeba chceš používat určité druhy komunikace, které jsou na stejných pinech, nebo že chceš používat víc čítačů, než jich tam máš. A datasheet jen k tomu Atmega8 má 160 stran v angličtině, u jiných to bude podobné. Lepší bude přečíst si o tom nějakou knížku. Na druhou stranu, knížka se musí koupit, nebo půjčit, datasheety jsou ke stažení zadarmo.


Tento příspěvek byl upraven od mpik: 19 leden 2018 - 9:13

  • 0

#28 tarmara

tarmara

    Air-cooled

  • Members
  • PipPipPip
  • 975 příspěvků(y)

Publikováno 19 leden 2018 - 9:22

V listingu by mohlo byt jednou za 20-40 minut :D

Už se těšim jak budu se svejma vočima dřepět hodinu v lese...

 

Jinak se jeste zeptam jako uplny Arduino laik. Programuji se vsechny arduina stejnym jazykem??

je to vesmes stejne?

Zeptej se Standy, on s Arduinem už něco dělal...


  • 0

#29 HaLuMa

HaLuMa

    Autor Geogetu

  • Members
  • PipPipPip
  • 14 534 příspěvků(y)

Publikováno 19 leden 2018 - 9:36

Ať tak či onak, jestli to má být na navigaci na kešku, tak mi to přijde jako hodně blbý nápad.


  • 1

#30 Parkis

Parkis

    Parkis

  • Members
  • PipPipPip
  • 1 912 příspěvků(y)

Publikováno 19 leden 2018 - 9:48

Každopádně v obou případech bude problém zima.

Nebude. Při takhle malém odběru lionka spolehlivě funguje i v -20. Totéž obyčejné tužkovky. 


  • 0

#31 Fukar

Fukar

    Advanced Member

  • Members
  • PipPipPip
  • 343 příspěvků(y)

Publikováno 19 leden 2018 - 10:04

Jestli se o Arduinu chceš něco dozvědět, stačí to napsat do vyhledávače. Hromada stránek od oficiálních Arduino až po stánky s tutoriály v češtině. Programy už jsou ve většině případů napsané a volně k dispozici, takže stačí se trochu zorientovat a ze začátku jen bastlit na univerzální propojovací desce, lehce upravovat software a zírat, co ta destička umí. Programovací nástroj je zadarmo a univerzální na prvním odkazu, takže s ním můžeš programovat všechny typy arduin. 

Hardware je sehnatelný za pár šušňů na Aliexpresu.

Pro většinu periferií už jsou dávno napsané knihovny, takže programování je fakt sranda i pro úplné laiky.

 

Napájení: Lithiovky jsou v pohodě i v zimě, dají se paralelně spojovat, takže kapacita není problém. Zvlášť, když si je vybereš z nefunkční baterie od noťasu. Většinou jsou KO jenom 2 ze 6, takže pořizovací cena =0.

S dobíjením solárním panelem (5V/1A, rozměry 160x160mm) jsem trochu experimentoval v létě a funguje to celkem slušně. Ale je k tomu potřeba pár dalších věcí, nejen baterka a panel.


  • 2

Člen týmu URNA - Útvar Rychlého NAlezení.
Lovem postižen na 100%.


#32 panzerstepan

panzerstepan

    Advanced Member

  • Members
  • PipPipPip
  • 1 562 příspěvků(y)

Publikováno 19 leden 2018 - 10:08

Jestli se o Arduinu chceš něco dozvědět, stačí to napsat do vyhledávače. Hromada stránek od oficiálních Arduino až po stánky s tutoriály v češtině. Programy už jsou ve většině případů napsané a volně k dispozici, takže stačí se trochu zorientovat a ze začátku jen bastlit na univerzální propojovací desce, lehce upravovat software a zírat, co ta destička umí. Programovací nástroj je zadarmo a univerzální na prvním odkazu, takže s ním můžeš programovat všechny typy arduin. 

Hardware je sehnatelný za pár šušňů na Aliexpresu.

Pro většinu periferií už jsou dávno napsané knihovny, takže programování je fakt sranda i pro úplné laiky.

 

Napájení: Lithiovky jsou v pohodě i v zimě, dají se paralelně spojovat, takže kapacita není problém. Zvlášť, když si je vybereš z nefunkční baterie od noťasu. Většinou jsou KO jenom 2 ze 6, takže pořizovací cena =0.

S dobíjením solárním panelem (5V/1A, rozměry 160x160mm) jsem trochu experimentoval v létě a funguje to celkem slušně. Ale je k tomu potřeba pár dalších věcí, nejen baterka a panel.

 

JJ s baterkama z baterie z notasu pocitam. Tech tu mame spousty :)


  • 0

#33 panzerstepan

panzerstepan

    Advanced Member

  • Members
  • PipPipPip
  • 1 562 příspěvků(y)

Publikováno 19 leden 2018 - 10:13

Už se těšim jak budu se svejma vočima dřepět hodinu v lese...

 

Zeptej se Standy, on s Arduinem už něco dělal...

Neboj, ja uz netvorim :) nebudes.

 

Se Standou to resim. Uz to pripravuje :) Timto mu velke diky.


  • 0

#34 dr.vota

dr.vota

    Advanced Member

  • Members
  • PipPipPip
  • 5 460 příspěvků(y)

Publikováno 19 leden 2018 - 10:42

Už se těšim jak budu se svejma vočima dřepět hodinu v lese...

 

...

Přesně to mne napadlo:

"postav se na stage a sleduj - během 20 až 40 minut ti v okruhu 360 stupňů 3D ve vzdálenosti půl až jeden kilometr na sekundu blikne světýlko, tak tam je další stage...pokud výhled nezaroste listím a nebude mlha..."

Za tohle ownera pověsit na UTP kabel kolem krku na nejbližší strom


  • 0

#35 phrkt

phrkt

    věčný rejpálek

  • Members
  • PipPipPip
  • 2 747 příspěvků(y)

Publikováno 19 leden 2018 - 10:57

Už se těšim jak budu se svejma vočima dřepět hodinu v lese...

 

A když zrovna mrkneš, tak další hodinu <_< .


  • 0

#36 VasaM

VasaM

    VasaM

  • Members
  • PipPipPip
  • 855 příspěvků(y)

Publikováno 19 leden 2018 - 11:01

Koukám, že než jsem sesmolil odpověď, tak mě pár lidí předběhlo...

 

Takže:

Program můžeš psát v jakémkoli jazyce, ale musí pro něj existovat překladač. Arduino IDE používá jazyk wiring, což je rozšířené Cčko a doporučuji neexperimentovat a používat ten.

Jak už zmínil mpik, znalost toho, jak MCU funguje je výhoda, ale tvůj jednoduchý projekt by měl být zvládnutelný i bez toho.

Li-Ionky z NB jsou super, mají dostatečnou kapacitu, vhodné napětí a ani se sami moc nevybíjí. Na aliexpresu lze levně sehnat nabíjecí moduly (https://www.aliexpre...2243680214.html). Mám je otestované a fungují. Baterky by ještě měli být vybaveny ochranou proti nadměrnému vybití (https://www.aliexpre...2824790937.html).

 

Zkusil jsem i malý náčrt toho, jak by program mohl vypadat a otestoal ho a funguje:

// Podle http://arduino8.webnode.cz/news/lekce-27-adruino-a-napajeni-z-baterie-aneb-jak-uspat-arduino/
#include <avr/sleep.h>
#include <avr/power.h>
#include <avr/wdt.h>






//////////////////// ZDE JE MOZNE UPRAVIT PROGRAM ///////////////////////////////////

// Cislo pinu na kterem je dioda
#define LED_PIN 13

// Pocet impulsu, po kterych dojde k bliknuti led
// Delka jednoho ipulsu je cca 8 s
// Vysledny pocet je treba snizit o jedna
// Pro 30 minut to tak bude 224
// Nevhodne na presne casy
#define NUMBER_OF_IMPULSES 224


// Doby sviceni led v ms
// Tato doba se zapocte do zminenych 8 s
// Lze to osetrit, ale je to asi zbytecne...
#define LIGHT_TIME 3000

////////////////////////////////////////////////////////////////////////////////////// 





// Informace, zda prisel impuls z WDT = watchdog timer
volatile bool wdt_impuls = true;	// true zajisti bliknuti hned po spusteni
// Citac impulsu
volatile int  impuls_counter = NUMBER_OF_IMPULSES;	// Opet kvuli bliknuti hned po spusteni, jinak nula


// Impuls z WDT
ISR( WDT_vect ) {
	// Prisel impuls z WDT -> ulozim si ho do promenne
	if( ! wdt_impuls ) {
		wdt_impuls = true;
	}
}


// Uspani MCU 
void enterSleep( void ) {
	// Nastaveni nejuspornejsiho modu
	set_sleep_mode( SLEEP_MODE_PWR_DOWN );
	// Spankovy rezim je povoleny
	sleep_enable();  
	// Spusteni rezimu spanku
	sleep_mode();

	// Tady bude program pokracovat kdyz se probudi

	// Ukonceni spanku
	sleep_disable();  
	// Obnoveni vsech funkci MCU
	// Zde je mozna dalsi uspora, pokud by se probudili jen potrebne komponenty
	power_all_enable();
}


// Prvotni inicializace, tento kod se spusti jenom jednou
void setup() {
	// Nastavi LED_PIN jako vystup
	pinMode( LED_PIN,OUTPUT );

	// Nastaveni WDT
	MCUSR  &= ~( 1 << WDRF );
	WDTCSR |=  ( 1 << WDCE ) | ( 1 << WDE );

	// Nastaveni casu impulsu
	WDTCSR  = 1 << WDP0 | 1 << WDP3;
	WDTCSR |= _BV( WDIE );
}


// Tato cast kod bezi v neustale smycce
void loop() {
	// Prisel impuls z WDT a zaroven uz probehl potrebny pocet impulsu
	if ( wdt_impuls && ( impuls_counter == NUMBER_OF_IMPULSES ) ) {
		// Privedu logickou 1 (napeti) na LED_PIN
		digitalWrite( LED_PIN, HIGH );
		// Pockam LIGHT_TIME milisekund
		delay( LIGHT_TIME );
		// Privedu logickou 0 (zem) na LED_PIN
		digitalWrite( LED_PIN, LOW );
		
		// Vynuluji pomocne promenne
		impuls_counter = 0;
		wdt_impuls = false;
		// Uspim MCU na 8 s
		enterSleep();
	}
	// Jeste neprobehl dostatecny pocet probuzeni
	else {
		// Zaznamenam si impuls
		++impuls_counter;
		wdt_impuls = false;
		// Znovu na 8s uspim MCU
		enterSleep();
	}
}

A na závěr, opravdu to chce provést rozumně, páč půlhodiny je dost dlouhá doba a vezmu-li v potaz, že 1 záblesk nemusí stačit, tak to už je hodina, co sedím ve tmě a v zimě v lese a asi bych se na keš vyprdnul...


  • 0
Mapy pro přístroje Garmin: http://www.garmin.vasam.cz (GitHub)

#37 panzerstepan

panzerstepan

    Advanced Member

  • Members
  • PipPipPip
  • 1 562 příspěvků(y)

Publikováno 19 leden 2018 - 11:18

20-40 minut bylo pocitane jako prvopocatek.

Mozna to snizim na 2-5 minut. To uz se da. Kdyz z vlakna vypadlo, ze to na ty baterky vydrzi  dost dlouho nebude v tom problem.


Koukám, že než jsem sesmolil odpověď, tak mě pár lidí předběhlo...

 

Takže:

Program můžeš psát v jakémkoli jazyce, ale musí pro něj existovat překladač. Arduino IDE používá jazyk wiring, což je rozšířené Cčko a doporučuji neexperimentovat a používat ten.

Jak už zmínil mpik, znalost toho, jak MCU funguje je výhoda, ale tvůj jednoduchý projekt by měl být zvládnutelný i bez toho.

Li-Ionky z NB jsou super, mají dostatečnou kapacitu, vhodné napětí a ani se sami moc nevybíjí. Na aliexpresu lze levně sehnat nabíjecí moduly (https://www.aliexpre...2243680214.html). Mám je otestované a fungují. Baterky by ještě měli být vybaveny ochranou proti nadměrnému vybití (https://www.aliexpre...2824790937.html).

 

Zkusil jsem i malý náčrt toho, jak by program mohl vypadat a otestoal ho a funguje:

// Podle http://arduino8.webnode.cz/news/lekce-27-adruino-a-napajeni-z-baterie-aneb-jak-uspat-arduino/
#include <avr/sleep.h>
#include <avr/power.h>
#include <avr/wdt.h>






//////////////////// ZDE JE MOZNE UPRAVIT PROGRAM ///////////////////////////////////

// Cislo pinu na kterem je dioda
#define LED_PIN 13

// Pocet impulsu, po kterych dojde k bliknuti led
// Delka jednoho ipulsu je cca 8 s
// Vysledny pocet je treba snizit o jedna
// Pro 30 minut to tak bude 224
// Nevhodne na presne casy
#define NUMBER_OF_IMPULSES 224


// Doby sviceni led v ms
// Tato doba se zapocte do zminenych 8 s
// Lze to osetrit, ale je to asi zbytecne...
#define LIGHT_TIME 3000

////////////////////////////////////////////////////////////////////////////////////// 





// Informace, zda prisel impuls z WDT = watchdog timer
volatile bool wdt_impuls = true;	// true zajisti bliknuti hned po spusteni
// Citac impulsu
volatile int  impuls_counter = NUMBER_OF_IMPULSES;	// Opet kvuli bliknuti hned po spusteni, jinak nula


// Impuls z WDT
ISR( WDT_vect ) {
	// Prisel impuls z WDT -> ulozim si ho do promenne
	if( ! wdt_impuls ) {
		wdt_impuls = true;
	}
}


// Uspani MCU 
void enterSleep( void ) {
	// Nastaveni nejuspornejsiho modu
	set_sleep_mode( SLEEP_MODE_PWR_DOWN );
	// Spankovy rezim je povoleny
	sleep_enable();  
	// Spusteni rezimu spanku
	sleep_mode();

	// Tady bude program pokracovat kdyz se probudi

	// Ukonceni spanku
	sleep_disable();  
	// Obnoveni vsech funkci MCU
	// Zde je mozna dalsi uspora, pokud by se probudili jen potrebne komponenty
	power_all_enable();
}


// Prvotni inicializace, tento kod se spusti jenom jednou
void setup() {
	// Nastavi LED_PIN jako vystup
	pinMode( LED_PIN,OUTPUT );

	// Nastaveni WDT
	MCUSR  &= ~( 1 << WDRF );
	WDTCSR |=  ( 1 << WDCE ) | ( 1 << WDE );

	// Nastaveni casu impulsu
	WDTCSR  = 1 << WDP0 | 1 << WDP3;
	WDTCSR |= _BV( WDIE );
}


// Tato cast kod bezi v neustale smycce
void loop() {
	// Prisel impuls z WDT a zaroven uz probehl potrebny pocet impulsu
	if ( wdt_impuls && ( impuls_counter == NUMBER_OF_IMPULSES ) ) {
		// Privedu logickou 1 (napeti) na LED_PIN
		digitalWrite( LED_PIN, HIGH );
		// Pockam LIGHT_TIME milisekund
		delay( LIGHT_TIME );
		// Privedu logickou 0 (zem) na LED_PIN
		digitalWrite( LED_PIN, LOW );
		
		// Vynuluji pomocne promenne
		impuls_counter = 0;
		wdt_impuls = false;
		// Uspim MCU na 8 s
		enterSleep();
	}
	// Jeste neprobehl dostatecny pocet probuzeni
	else {
		// Zaznamenam si impuls
		++impuls_counter;
		wdt_impuls = false;
		// Znovu na 8s uspim MCU
		enterSleep();
	}
}

A na závěr, opravdu to chce provést rozumně, páč půlhodiny je dost dlouhá doba a vezmu-li v potaz, že 1 záblesk nemusí stačit, tak to už je hodina, co sedím ve tmě a v zimě v lese a asi bych se na keš vyprdnul...

 

Moc diky. To je super.


  • 0

#38 Fukar

Fukar

    Advanced Member

  • Members
  • PipPipPip
  • 343 příspěvků(y)

Publikováno 19 leden 2018 - 11:22

Já pro bastlíře připojím odkazy na funkční řešení nepřerušovaného napájení (UPS), které řeší jak ochranu baterie, tak i nabíjení a vybíjení. Funguje to právě i se solárním panelem. Třeba se to někomu hodí.

UPS

Ochrana


  • 0

Člen týmu URNA - Útvar Rychlého NAlezení.
Lovem postižen na 100%.


#39 v&f family

v&f family

    Advanced Member

  • Members
  • PipPipPip
  • 507 příspěvků(y)

Publikováno 19 leden 2018 - 11:23

Stepane, mas to hotovy.

Koukam, ze ti mezitim pomohli kodem. 

Je to na tobe


  • 0

#40 v&f family

v&f family

    Advanced Member

  • Members
  • PipPipPip
  • 507 příspěvků(y)

Publikováno 19 leden 2018 - 11:35

VasaM to dotahl do konce. Parada, muzes pouzit jeho kod. Ja vychazel ze stejneho zdroje. 

Pri usnuti se odber dostane  na 0.007 mA. To spi tvrdejc jak duchodce po obede. Vubec bych neresil soumrakovy spinac. Baterie driv shnijou,, nez se vybijou

Postavil jse to na Arduinu ProMini. Ten je prost USB prevodniku, ktery bys zbytecne krmil. Jeste vyhodim Power LED, taky je tam zbytecna


  • 0




1 uživatel(ů) prochází toto téma

0 uživatelů, 1 návštěvníků 0 anonymních uživatelů

Reklama