# ATMEL mikrokontrolleri >  Mans pirmais ATMELs

## australia

Sveiki!
Atļaujos uztaisīt savu topiku. ceru, ka palīdzēsiet iestartēties kontrolieru pasaulē.
Ar kontrolieriem saskarsme bijusi apaļa nulle!  :: 
Bet VAJAG un GRIBAS tīri hobija līmenī pacelt kādu no kontrolieriem.

Varbūt strebju karstu - gribēju USB un uzcēlu plati no argusa:
(ATmega :: 


Aplauzos tāpat kā  lietotājs Helis - firmwares tajā megā8 nebija :]

iepūtu pēdējo firmwari:
http://www.fischl.de/usbasp/
(nācās iedēt to olu bez vistas - iepūtu čerez žopu - pa taisno caur pretestībām no LPT, izmantojot PonyProg. WinXP pašu programmieri tagad atpazīst)


pirmajiem testiem paķēru arī pāris ATtiny45:



Pieļauju, ka jāiebrauc pirmajā (LED) projektā, lietojot assembleri.

1. Jautājums - kuri būtu tie piemērotākie softi?
(pašlaik nokačāti: AVR studio 5.0beta; WinAVR-20100110; )

2. Jautājums - kurš no softiem ērti savienojas ar šo USBasp kontrolieri? pieļauju ka šis softs tiks izmantots tikai hex failu nosūtīšanai.

P.S.
dzīvē ir nācies programmēt. strādāju arī ar MS visual studio (uz tās platformas arī tas AVR studio laikam pacelts). 
C++ lietots 'bērnībā', ASM pirmajā kursā RTU :]

----------


## australia

YESS.
man mirgo LED. 

AVR Studio izmantojas priekš kodēšanas un kompilēšanas;
AVRDUDE iekš bat faila un hex ielido mikrenē ar vienu klikšķi

----------


## habitbraker

Apsveicu! Galvenais pasham jaacensas rakt atbildes un risinaat probleemas - taa guusi visslabaakos panaakumus.
Es iesaku to pashu ASM taa kaartiigi apguut   ::

----------


## australia

mjā. ASM.
tas liekas tā kā māju būvēt no smilšu graudiem, labi zinot, ka var izmantot arī ķieģeļus.

pieļauju, ka ASM palīdzēs iedziļināties kontroliera uzbūvē

----------


## karloslv

Tieši tā, palīdzēs, taču tas būs no smilšu graudiem. Es tieši iesaku neķēpāties ar ASM, ja vien nav nenormālas intereses, kā tur viss līdz sīkumiem strādā. Ar C būs daudz pārskatāmāks un uzturamāks kods.

----------


## Delfins

Ja kodēsi C, beigās vari papētīt arī kompilēšanas starp-rezultātu ASM-ā, it īpaši visādiem cikliem un IF-iem atšķirsies instrukciju skaits kā būs uzrakstīts - mazajiem MCU tas ir ļoti svarīgi.
C/C++ jau visi pieraduši visu kodēt neoptimizēti.

----------


## karloslv

Tas tiesa, ka labāk pārbaudīt, taču - neoptimizēti kodēt ir tieši domāšanas, nevis valodas trūkums. Arī assemblerā var savīt tādas konstrukcijas un palagus, ka nemetas.

----------


## Delfins

Domāšana ir viens, bet nianses ir kas cits  :: 
Ja Tu zini, ka tā ir ātrāk (MCU tas svarīgi), tad tā arī jādara. Uz moderniem CPU ar Ghz nav vērts tur ko iedziļināties, bet ja ciklā trāpās "liekais kods", tad aizture pamatīga  ::

----------


## australia

salīdzinājumam - Flashing led programmas izmērs: 
ASM: 194bytes
C: 300bytes (ar eneiblotu optimizāciju) 

tas liek domāt, ka viņš stiepj līdzi liekās funkcijas no #include ?

----------


## karloslv

tak paskaties to kodu, ja jau 300 baiti tikai, te no galvas uzreiz nepateiks. include faili normāli nesatur nekādas funkcijas, tikai deklarācijas.

----------


## australia

kur AVR studijai var apskatīt optimizēto ASM kodu?

----------


## karloslv

no galvas arī nepateikšu, bet avr-gcc var norādīt opcijas, lai ģenerē arī ASM listingu

turklāt neaizmirsti, ka nav tādas universālās optimizācijas - gribēsi ātrāku kodu, tas visdrīzāk būs garāks, un otrādi.

----------


## Delfins

atver projecta bin kompilācijas mapi, tur visi faili sākot no .o un beidzot ar .hex (ja vien nav savādāk nokonfigurēts).
Tur arī atver visu pēc kārtas. Liekas avr-gcc bija  .lss

----------


## australia

kolēģi, kas ir UDR? (The following interrupt routine loads r16 with the current UDR data and calls the appropriate subroutine)
in r16, UDR
lsl r16
clr r17
ldi ZL, low(case_table)
ldi ZH, high(case_table)
add ZL, r16
adc ZH, r17
icall
reti

----------


## M_J

Citiem atmeļiem tā saucas seriālā porta datu reģistrs, pieļauju ka tiny45 ar to varētu būt domāts USIDR.

----------


## australia

ok. 
sorry, nepieminēju, ka tas nav tiny45 kontekstā. studēju avrbeginners.net

----------


## australia

simpels questions:
skaitlis 44`444
bināri: 10101101  10011100

kura no binārajām pusēm ir LOW(44`444) un kura HIGH(44`444) ?

(LOW ir kreisā puse no binārā?)

----------


## JDat

Manuprāt labā...

----------


## australia

jā, laikam tomēr labā. sajājos meistarībā studējot teoriju

pēc loģikas arī likās labā. kā nekā viss sākās ar 8 bitiem. tie ir tie pirmie (labā puse) un tiem ir būt LOW

----------


## australia

Par displejiem. 
Ir 4 rindu simbolu LCD. jautājums par savu simibolu izveidi:
Dokumentācijā teikts - iekš CGRAM var saglabāt 8 custom simbolus. ļoti maz. 
kāda būtu pareizā tehnika, lai attēlotu daudz vairāk sevis izveidotos simbolus?

----------


## Delfins

Nohakojot LCD RAM-u/ROM-u, kur viņš glabā tos simbolus.

----------


## australia

ja tas tiek hakots, tad tie simboli tur saglabāsies pastāvīgi, ne?

vēl bija doma - varbūt ir metode, kā 'on-the-fly' ģenerēt simbolu. piemēram - ekvalaizeris. tie būtu vienkārši klucīši, viens par otru lielāki.

----------


## Delfins

Cik var noprast, MCU ROMs ielādē iekš DDRAM "pastāvīgo daļu", un uz katru ekrāna "refresh" attēlu atjauno daļu DDRAM no CGRAM (8 simbolus).
Droši vien sākuma ielāde notiek pie LCD-Init instrukcijām, tā kā ja savā softā realizē LCD-Off/On tad visticamāk DDRAM tiks pārrakstīts. Jāhako tieši MCU ROMs, kas aizpilda to simbolu tabulu. Problēma, ka tas tik vienkārši nav.

Ekvalaizeru jau pavisam vienkārši taisa. Uzzīmē dažus stabus - ja vertikāli 8 simboli = 8 variācijas (uz katru pa vienai rindai pikseļu). un tad attiecīgi midžini pa blokiem - zemākajiem FULL simbols, pēdējam daļējs  ADDR+(0..7). Bet tas ir overkill char-lcd šitā zīmēt.

----------


## Texx

Jāmēģina kaut kā iekļauties tajā custom simbolu skaitā. Iespējams, ka ne jau vienmēr visus tos simbolus vajag uzreiz. Varbūt var dinamiski to LCD displeja atmiņu pārrakstīt darba gaitā. Sīkāk nezinu, tad jālasa konkrētā displeja datu lapa.

----------


## Delfins

darba gaitā var pārrakstīt, ja tu zini, ka konkrētā brīdī vajag to-un-to.
Bet nesanāks tā, kamēr LCD refrešojās pa starpam kaut ko ierakstīt. Tā sanāks, ja pats renderēsi pa freimiem, bet ar lielu mirgošanu. CGRAM strādā kā parastais "reģistrs".

Praktiski priekš LV mīkstinājumiem un bultām pietiek.

----------


## australia

man, izmantojot vienu un to pašu CGRAM adresi, sanāca tā:
1) izveidoju simbolu CGRAM adresē X1
2) dodu komandu uzzīmēt

3) pārrakstu simbolu CGRAM adresē X1, lai uzzīmētu ko citu - bet šajā brīdī jau displejs parāda manu jauno simbolu arī iepriekšējā simbola vietā

tas nozīmē, ka man jāiekļaujas 8 simbolos. vīri, te jau vairs nesanāk pat LV mīkstinājumi :]

----------


## Delfins

Nu internetā tādu info arī es atradu ko teicu iepriekš - DDRAM simbolu tabulu tiek atjaunots no CGRAM, konkrēti šo 8 simbolu apgabals
Ja zini, ka uz ekrāna būs ne visi LV `mīkstie`, tad inicializē tikai to ko vajag.

----------


## australia

skaidirs. paldies par info. bet nu 8 baiti ir brīnums mūsu gadsimtā  :: 

P.S.
pašlaik strādāju ar atmega8. Nebiju stādījies priekšā cik ātri tos sūda 8Kb var aizpildīt, rakstot iekš C
Jāgādā vismaz 16K

----------


## ansius

> P.S.
> pašlaik strādāju ar atmega8. Nebiju stādījies priekšā cik ātri tos sūda 8Kb var aizpildīt, rakstot iekš C
> Jāgādā vismaz 16K


 m0š esi dzirdējis ir tāds ASM  ::  nu tautā mīļā, protams ka ar C pied@#$% atmiņu uC ir pavisam vienkārši.

----------


## australia

ja būtu palasījis topiku, tad zinātu ka esmu dzirdējis par ASM

bet nu es tik daudz laika neveltīšu šim hobijam, lai rakstītu ne pārāk vienkāršas lietas iekš ASM

----------


## JDat

Kuš! Lasīja viņš un arī pieminēja par ASM. Te ir cita problēma: vai nu nevar uzrakstīt efektīvu kodu vai arī programmē MCU tikai tāpēc lai kaut ko parādītu uz LCD Neiedziļinoties MCU būtībā. Nē, es nesaku ka vajag ar pliku C vai pliku ASM rakstīt. Jādomā līdzi ko tavs kods, MCU un kompilators dara. Paanalizē ASM listingu pēc tam. Te tev ne PēCītis Beisikānis...

Vienīgais man zināmais gadījuma ka nepietika vietas uz AtMega8, bija Vikingam. šamais rakstīja tekstu un zīmēja logus uz Nokia LCD displeja, Kustināja soļu dzinēju, lasīja no ADC un vēl ar 32-bit matemātiku nodarbojās...

Tā ka, mācies afftor!

----------


## australia

Labai! mācīšos 

mans mērķis pagaidām ir nomērīt divas temperatūras (ja T datčiks ir DS18s20 (1-wire protocol) tad kādi 4Kb aizņems tā bibliotēka..), pēc tām regulēt ventilatorus. caur meņušku regulēt settingus
vēl mērķis mērīt spriegumu, saglabāt meņuškā fine-tune.
un vēl šis tas, kas saglabājas meņuškā (EEPROM)

----------


## karloslv

Tad tieši uz robežas arī būs. Taisīju termostatu ar PID regulāciju (fiksētā punkta matemātika, vietām visi 32 biti) un 2x16 zīmju LCD indikatoru, iestatījumu izvēlne un saglabāšana EEPROM, un ar C tā arī aizpildījās Atmega88 atmiņa. Nebija stipri jāsaspiežas, bet jādomā līdzi noteikti. Vienu lielu gabalu aizņēma matemātika, citu labu gabalu LCD vadības bibliotēka, un citu vēl izvēlnes kods.

----------


## Delfins

Aizpildīt pavisam vienkārši.. tiklīdz sāksi izmantot "stringus", 16bit un to pašu char LCD. Tas ir, ja izmantosi standart bibliotēkas.
Pat ja vienā vietā izmantosi kādu f-ju un bibliotēka ielinkos iekšā funkcijas kodu, būs nenormāls lēciens atmiņas izmantošanā pret mazu programmiņu.

Netā var daudz ko atrast noderīgu arī C, kas ir specifiskas lietas, ja zini ko dari.

Piemēram lai neizmantotu sprintf priekš 16bit (uint_16) cipariem:  (1,3k atmiņas ieekonomēts, priekš atmega8 tas ir iespaidīgie ~17%)


```
void u16toa(unsigned int value,char *d)
{
	char i;

	d 		+= 6; // Point at end of string
	*d--	=0; // Write terminating zero

 	// Convert each digit, starting with LSB
 	// Note reverse order the destination string is written
 	for (i=0;i<5;i++)
  	{
  		*d-- = '0' + (value % 10);
  		value /= 10;
  	}
}
```

----------


## australia

aizdomājos līdz pīkstuļiem. kāds ir 'the easy way' pieslēgt beeperi?

----------


## JDat

> aizdomājos līdz pīkstuļiem. kāds ir 'the easy way' pieslēgt beeperi?


 Vienkāršākais nenozīmē labākais. Padalīšos ar savu stulbumu par skanas dabūšanu no MCU... Tet noteikti ir mirkšķināms LED un pretestība ar kuru taisīji eksperimentus. tad lūk, pieslēdz paralēli LEDam austiņas. Uzmanību: Slēdz paralēli tieši LEDam un tā, lai skan abās ausīs, respektīvi, starp labo un kreiso kanālu. Kopējo (reizēm sauc par zemi vai ekrānu vai tml) vadu atstāj gaisā (nekur nepieslēgtu). Tas ir dumjš, bet ātrs veida kā pārbaudīt vai ir daži simti Hz vai daži kHz uz MCU kājas. Kāpēc rakstu šitādas netehniskas dumības? A vot tāpēc ka autors nemācēs pieslēgt tranzistoru pie MCU un pie tranzistora buzzeri... Mācēs? Ja mācētu, tad neprasītu. Kas attiecas uz kodu priekš buzzera: pirmkārt kāja, kas nodarbojas ar buzzera lietām, jāiekodē, lai strādā kā output.  ::  Pārējais ir individiuāli atkarībā no koda uc lietām ko dara tavs MCU...

----------


## australia

paldies par idejām. (par austiņām saprotu, ka tiek panākta max liela pretestība)
ar trani jau pamazām tiktu galā  ::  radioamatiera iemaņas man ir.
vienkārši biju tik slinks, ka pat nepagūglēju, vienkārši uzvaicāju šeit. pieļauju, ka kaut kādu sīko perdeli var maukt pa taisno pie MCU

----------


## karloslv

Ja Tev tās iemaņas ir, tad palasi arī speceni. Kāja var dot līdz 20 mA ārā. Kas notiek ar induktīvu slodzi, to strauji izslēdzot, arī varētu padomāt.

----------


## australia

un kas ir ar pjezo? nekad nav lietots

----------


## next

Piikstuli (buzzer) no veca modema, maatesplates vai mobilaa telefona var darbinaat pa tiesho no MCU pina.
Virknee jaaliek reziiklis un skanees klusu, bet ne jau vienmeer lielu skaljumu vajag.
Taadaa sleegumaa vajadziibas gadiijumaa tas varees straadaat arii kaa mikrofons.
Par pjezopiikstuljiem ir dzirdeeti shausmu staasti ka nejaushi nometot plati uz galda rodas spriegums kas nokauj mcu.

----------


## australia

::  labi, uzliksim stabilitronu

----------


## australia

:: 
atmega32 kļūdījos ar fuses. CKSEL iebliezu visas nulles... Vajadzēja 1111, lai darbinātu ar kristālu. sajuka man pozīcijas paurī.
tagad čips sanāk uz External Clock.

mēģināju iebarot no cita čipa šitam impulsus uz XTAL1. nesanāk.

šovakar vēl pamēģināšu. moš varat ieteikt kādu pieeju, ja ir tikai avrasp (vai seriālais ports caur pretestībām + ponyprog :]  )
ja nesanāks, moška kāds Rīgas centrā/tuvumā varētu palīdzēt par užavnieku...

----------


## australia

fu. viss ok.
tizli primitīvajam LPT+rezistori programmatoram vadu mudžeklī zemi aizmirsu pielikt.
viss kārtībā. iekš XTAL1 ieģenerēts signāls no cita kontroliera, izmantojot iebūvēto 1mhz oscilatoru.

   while(1)
{		 
     PORTB |=(1<<0);   
     PORTB &=~(1<<0);  		 
}
manā gadījumā nedrīkstēja būt pat _delay_us(1); starp pārslēgšanos. un "External Clock" nostrādāja ar PonyProg

----------


## australia

kā jūs raksturotu ATmega PWM darbību divos teikumos? kā tas tiek kontrolēts? (interesē 16bit taimeris ar PWM )
pašlaik vajadzīgs, piemēram, nobarot LEDu, teiksim ar pusi no sprieguma

----------


## Delfins

Atmega ir Atmega un PWM ir PWM.  Nav tādas Atmegas PWM, ir tikai datasheeta rakstīts kā palaist PWM. Ja nezini kas ir PWM, tad vispirms tas jāapgūst. Kaut vai ar 555 multivibr.
Starp citu, nevajag pat reālu CPU, iekš VMLAB to visu iepriekš var paeksperimentēt un turpat ar osciļa "pluginu" skatīties kas uz piniem darās.

----------


## karloslv

Vienā teikumā - ir dzelzisks skaitītājs, kurš visu laiku tiek palielināts vai samazināts, un ir dzelzisks komparators, kurš ģenerē PWM. Viss, kas jādara, ir jānokonfigurē skaitītājs un komparators. Pārējos teikumus un paskaidrojošās bildes atradīsi datašītā  ::

----------


## M_J

IIsi, bet ne visai korekti: iestaadam kontroles registros vajadziigos bitus, ierakstam saliidzinaasanas registros kaut kaadu skaitli un attieciigajaa izejaa ieguustam signaalu, kuram augstaa (vai zemaa) staavokla ilgums ir proporcionaals saliidzinaasanas registros ierakstiitajam skaitlim. Bet vispaar Atmegaam 16 bitu taimerieem ir daudz un dazaadas fiicas, kas vienkaarsai PWM signaala genereesanai, nafig, nav vajadziigas. Bet tas nenoziimee, ka par siim fiicaam driikst neko nezinaat. Lai pareizi sakonfigureetu kontroles registrus, taapat naaksies izlasiit datasheetaa, ko tie citi biti, kas tiesi neattiecas uz PWM, noziimee. Bet tur ir daudz burtu. Varbuut, lai nebuutu vienaa raavienaa jaapguust leerums jaunas informaacijas, ir veerts saakt ar PWM kaadaa 8 bitu registraa, kur to fiicu ir mazaak. Peec tam apguutais ir izmantojams arii 16 bitu registros.

----------


## ansius

vai tiešām esi tik slinks?

http://vnit.ac.in/ieee/wp-content/up...n-AVR-v1.0.pdf
http://extremeelectronics.co.in/avr-...ng-avr-timers/

----------


## Delfins

M_J, vai tad atmeļam tās fīčas var izmantot vienlaicīgi? Tur taču counteri ieslēdz vienā vai otrā "režīmā". Kā ieslēgt true-HW PWM aprakstīts datasheet-ā.

----------


## M_J

Bet protams, ka taimerim vienlaiciigi var izmantrot dazaadas fiicas. Nu labi, es 16 bitu taimerus PWM genereesanai neizmantoju, bet tai pasai Amega128 katram 16 bitu taimerim ir triis "output compare" moduli, vai kaa vinus tur sauc, kas katrs var straadaat neatkariigi viens no otra, kuru katru var izmantot savai vajadziibai, "input capture" utt. PWM genereesanai izmantoju 8 bitu taimerus, bet ja taimeris ir iestaadiits PWM genereesanai, tas nenoziimee, ka nevar izmantot arii taimera paarpildiisanaas paartraukumu utt. Bet nu smalki jaaizlasa datasheet, lai neuzrautos uz visaadaam nianseem. Piemeeram - kuraa briidii fiziski nomainaas veertiibas "output compare" registros, jo ieraksts sajos registros nenotiek pa taisno, bet izmantojot buferregistrus.

----------


## australia

paldies par komentāriem. slinks uz googlēšanu neesmu, bet man ir vieglāk uzklausīt citus, pirms studēt dokumentāciju  :: 

nākamais jautājums - par darbību 12V vidē. Kontrolieris darbosies automobīlī.
ja man, piemēram, jāiedarbina relejs - kāds būtu labākais scenārijs?
nu, shēma primitīvi sekojoša:


saprotu, ka ir variants likt trani ar emiteru uz zemi un piemeklēt pretestības.

varbūt ir kāds oriģinālāks/sakarīgāks variants. piemēram kāds pusvadītāju elements (trijkājis  ::  ), kurš strādā kā slēdzis un atveras, ja tam pievada pāris voltus?

----------


## Delfins

Optopāris (galvaniskai atsaistei, nav tavs gadījums) 
Vai tranis/semistors/tiristors ar attiecīgu slēgumu (tavs gadījums)

Neaizmirsti diodi paralēli relejam.

----------


## karloslv

> piemēram kāds pusvadītāju elements (trijkājis  ), kurš strādā kā slēdzis un atveras, ja tam pievada pāris voltus?


 Tu tikko aprakstīji tranzistoru (bipolārajam 'pievada' strāvu, lauktranzistoram spriegumu). Kas vainas, piemēram, Delfina shēmai? Viss saprotami un paredzami. Caur bāzi plūdīs (5V-0,6V)/4,7k ~ 1mA, caur kolektoru - cik relejam vajadzēs (līdz hfe * 1mA). Diode pasargās tranzistoru brīdī, kad relejs tiks izslēgts. Uz tranzistora kolektora vajadzētu būt <0,5V atvērtā stāvoklī.

----------


## M_J

Ja vadāmie releji ir vairāki var izmantot tieši šim nolūkam domātas mikroshēmas, piemēram ULN2003.

----------


## next

Labaa prakse - neatstaat tranim baazi nepiesietu.
Iesleegshanas briidii visi mcu porti ir ieejas.

----------


## Texx

Bet kas no tā, ka ports ir ieeja? Priekš kam tur lieku detaļu jeb es ko nesaprotu līdz galam?

----------


## Vikings

Nu kā, ieslēdzoties sanāk, ka kāja karājas gaisā. Attiecīgi, kādu traucējumu dēļ tranim nekas netraucēs vērties vaļā. Ja ir papildus rezistors, tas neļauj tranim lieki atvērties.

----------


## Texx

Nu nezinu, kādam traucējumu pīķim tur jābūt, lai caur to rezistoru bāzes rezistoru vēl varētu tranzistoru palaist.   ::   ::  Bet nu tagad ideju sapratu.

----------


## karloslv

> Nu kā, ieslēdzoties sanāk, ka kāja karājas gaisā. Attiecīgi, kādu traucējumu dēļ tranim nekas netraucēs vērties vaļā. Ja ir papildus rezistors, tas neļauj tranim lieki atvērties.


 Nav gluži tā, ka "nekas netraucēs" - kaut vai bāzes-emitera pārejas slieksnis (~0,6V), kas jāsasniedz, turklāt vēl jānodrošina kāda strāva. Nez, cik lielam jābūt traucējumam, lai tas šeit ko mainītu (vienīgais, ko varu iedomāties, ir kaut kāds lādiņš uz MC pina vai nu milzīgs EMP no kaimiņa metināmā). Bet gan jau ir situācijas, kur tas ir obligāts aizsardzības pasākums. Lauktranzistoram arī tāds rezistors būtu obligāts.

----------


## Vikings

Protams, lai bipolāro tranzistoru ieslēgtu jābūt pamatīgam traucējumam. Starp citu, šādos gadījumos labi var izmantot tranzistorus ar jau iebūvētajiem rezistoriem, atkrīt abi divi rezistori. Kā piemērs - PDTC123.

----------


## australia

> piemēram kāds pusvadītāju elements (trijkājis  ), kurš strādā kā slēdzis un atveras, ja tam pievada pāris voltus?
> 			
> 		
> 
>  Tu tikko aprakstīji tranzistoru (bipolārajam 'pievada' strāvu, lauktranzistoram spriegumu). Kas vainas, piemēram, Delfina shēmai? Viss saprotami un paredzami. Caur bāzi plūdīs (5V-0,6V)/4,7k ~ 1mA, caur kolektoru - cik relejam vajadzēs (līdz hfe * 1mA). Diode pasargās tranzistoru brīdī, kad relejs tiks izslēgts. Uz tranzistora kolektora vajadzētu būt <0,5V atvērtā stāvoklī.


 Nav jau ne vainas Delfina shēmai. Tādu arī pats biju iedomājies un visticamāk jau arī būs tā shēma ar emiteru uz zemi. tas būtu vienkāršākais, jo traņi un pretestības mājās vienmēr atradīsies.
vienkārši neesmu apritē un domāju, ka varbūt ir tādi komparatorveidīgie trijkāji, kuriem iedod mazu špani, un viņš atveras līdz galam, un man nav jādomā par mA un nav jādomā, kā viņš uzvedīsies pie -10 vai +40
Priekā

----------


## karloslv

Jā un nē - katrai detaļai ir savi darba parametri un maksimālie spriegumi un strāvas. Vēl pateicīgs "trijkājis" lielāku jaudu vadīšanai ir lauktranzistors ar loģiskā līmeņa vadību (tāds, kuru var atvērt pilnībā ar 5V loģiku) - skaties IRFL sēriju, piemēram. Taču tāpat nekas neatbrīvos no datasheet lasīšanas un domāšanas  ::  Pierodi.

----------


## australia

thank`s

----------


## Delfins

Ooo... paldies par info, nezināju ka šitādas smukas un vienkāršas lietiņas vienā korpusā.

australia, elektronikā jau nav tā nozare, kur vnk samet detaļas un strādās (modulāra). Vairāk vai mazāk shēmas tiek rēķinātas uz slodzi & co nepieciešamajiem parametriem.
Ja ir vienreizējs projekts mājai/auto tjap-ļap, tad jā - var mēģināt. Bet... būs tā kā tiem pašiem krutajiem PC licējiem, kas jaudīgu sistēmu baro ar sūdīgu vislētāko barokli, kad drīz vien viss nosvilst pie pirmā putekļu slāņa.

----------


## next

> Nu nezinu, kādam traucējumu pīķim tur jābūt, lai caur to rezistoru bāzes rezistoru vēl varētu tranzistoru palaist.    Bet nu tagad ideju sapratu.


 Ta skaidrs ka iipashas vajadziibas peec reziiklja nav, bet taa kaa treds saucas "Mans pirmais ATMELs" tad vajag pie kanoniem pietureeties.
Ja labi zina ko dara tad var atljauties visaadus trikus - industriaalaa iekaartaa shitaadu aiztures risinaajumu redzeeju.
Bet ne jau vienmeer un visur taa driikst.

----------


## australia

strādājot ar PWM jaudas draiveri - bez oscilogrāfa kā bez rokām.
varbūt kādam ir ko piedāvāt? tikai man kā radioļubiķeļam, ikdienā nesaistītam ar elektroniku, nevajag pa 400Ls.
viena no idejām:

----------


## JDat

> strādājot ar PWM jaudas draiveri - bez oscilogrāfa kā bez rokām.
> varbūt kādam ir ko piedāvāt? tikai man kā radioļubiķeļam, ikdienā nesaistītam ar elektroniku, nevajag pa 400Ls.
> viena no idejām:


 Uzprasi ddff, vai šam vēl ir. Savulaik šamais tirgoja nost: http://elfaforums.lv/viewtopic.php?f=6&t=5283

----------


## australia

tencinu
edit: šams oscils jau ir aizgājis

----------


## australia

pie oscila vēl neesmu ticis. ir saņemts komentārs, ka, piemēram, augstāk minētajam pikseļi ir tik cik ir, un tie nav daudz.

mmm, vai kāds nav manījis ko identisku? maita dārgs. 25Ls..

----------


## Vikings

Tas pogu blociņš ir tiešām foršs un to var salasīt lētāk, ja ņem pa atsevišķām daļām. Daļas meklē Farnelī, jo Elfā tās tiešām ir padārgas. Tik plate tad būtu maketplate, bet priekš sevis jau pofig.

----------


## australia

izmeklējos līks, bet pogu virsmas plastmasus ar simboliem neatrodu

----------


## chiekurs

saubos vai tās pogas var salasīt uz maketplates lai izveidotu vajadzīgo apļa formu - tur nobīde tām pogām mazāka par standarta maketplates 25,4mm

----------


## JDat

priekš kam tev tieši tādu jāpērk? Varbūt salasi atsevišķi. Salvatā pa 3 LS ir pogas ar bultiņu virsū. Es nopirktu 5 kantainas pogas un uzliktu uz vafeles. Pogas paņem tādas, kurām zem caurspīdīgā vāciņa var uzlikt papīru. Uz papīra drukā ko vēlies. Kaut kā tā sakļepīt...

----------


## Vikings

Fuuuck, tik tiešām Farnelī nav, sorry. Tās pogas ir iekš TME un digikey, paskaties tur meklējot pēc atslēgvārdiem MultiMec. Tos sagādāt bez nereālā uzcenojuma noteikti varēs firma Caro. Tiesa gan, tikai tagad atklāju, ka pogu virsiņas ar uzdrukātajiem uzrakstiem maksā stipri dārgāk par pogu virsiņām bez tiem.

----------


## australia

njā. baigā ekstra. un ja vēl 'illuminated' komplektu grib savākt, tad 70 USD tīri tā, bez pvn un šipinga detaļās  :: 
paldies par info

----------


## australia

šeku iešāvās prātā izņemto no tūnera apaļo meņušku un miers mājās  ::

----------


## Delfins

Jā, man ar doma bija ieteikt to izskrūvēt no faulty devaisa.
Gumijotas pogas jau ar no pultīm var izņemt.

----------


## australia

augstāk minētais tūners (pilnīgi ejošs, pogu likvidācijai) ir rokā, bet pagaidām projekts nav pabeigts. kad būs gatavs, došu zināt.


Jautājums elektronisks - vienai citai sīkai problēmai.
Kreisā pelēkā puse nav mana. ir zināms, ka magnētisko spoli kontrolē vai nu līdzstrāva, vai mainīgs PWM.
Tikko kā parādās PWM, man vajag, lai atmelim loģiskā ieeja saņemtu 5v. Ja ir līdzstrāva, atmelim loģiskā ieeja jābūt 0v.

help with corrections. neesmu inženieris...

----------


## Vikings

Es D3 pārceltu D2 vietā. Efekts principā tāds pats un viena detaļa ietaupās.

----------


## australia

Nesapratu. 
D2 domāts 5v stabilizācijai. To nekādi nedrīkst aizvākt. tas sabojās MCU ieeju.
Ja aizvāks D3, kur tad izlādēsies C1?

----------


## Vikings

Nu kā, C3 izlādēsies caur D2, kura būtu D3 vietā. D2 tajā pat laikā ierobežos signālu uz 5V. Vispā ja jau ieejā ir rezistors, tad MCU ieeju aizsargās MCU iebūvētās diodes. Protams, labāk ir izmantot ārējo aizsardzību, bet ja ir strāvu ierobežojošie elementi un nav stabilitrona, nekas slikts nevarētu notikt.

----------


## australia

Ā, D2 pārcelts D3 vietā.

----------


## australia

tīri tā uz aci, kādam R un C attiecībās nešķiet auzas?
tā arī pie oscila neesmu ticis. bet nu šeit jau ar testeri pietiks. kaut gan būtu mežonīgi interesanti ieraudzīt arī pwm.

----------


## next

> tīri tā uz aci, kādam R un C attiecībās nešķiet auzas?


 Attieciiba buus pie daliishanas, tev reizinaajumu vajag.
No kurienes mums zinaat kaads tau vajadziigs?

----------


## australia

ā, jā. pareizi.
terminālis augustā būs ar koka paliktni karoga vērsumā sliežu līkumā

----------


## australia

kur lai izrok caurspīdīgu aizsargu (dekoratīvu plastmasu) LCD ekrānam?
piemēram - ir 20x2 simbolu LCD, vajadzētu kastē izgriezt caurumu displejam, bet priekšā vajag dekoratīvo platsmasu.

----------


## Vikings

Ir Farnelī un Elfā jābūt pieejamiem jau gataviem stikliem. Ja gribas izvirst - ad uz Kvilleri iepirkt interesējošu uzmēru/nokrāsas orgstikla gabalu un dot kādam frēzētājam lai piegriež kā vajag. Un vispār tas pats Kvilleris var piefrēzēt pēc rasējuma.

----------


## abergs

CD/DVD ''konverts" par plānu?

----------


## australia

nu, cd vāciņu ideja nav peļama, bet nesanāks dekoratīvi. lāzergriežamais man mājās nav :]
būšu pateicīgs, ja kāds zin atrast vai ir pircis, piemēram, elfā aizsargstikliņu uz 20x2 vai 20x4 raystar displeju
EDIT:
laikam atradu - https://www.elfa.se/elfa3~lv_lv/elfa...5-577-26&toc=0

----------


## australia

========================
Paceļu savu topiku. (reizi pusgadā sanāk laika kaut ko paķimerēt. Šoreiz īstenībā tāpēc, ka norāvu ziemas vīrusu, anyway ziemas vakari garāki)

Ja es gribētu monitorēt svārstības no 0V līdz 1V, bet ir nepieciešams slēgties klāt ar ļoti augstomīgu slēgumu, lai netraucētu oriģinālo iekārtu, tad labākā izvēle būtu buferis pirms MCU ar vienu MOSFET? Cik saprotu, tiem 'gate resistance' ir ārkārtīgi augsta?

----------


## Vikings

Nē, izmanto kādu zemās barošanas rail-to-rail OPampu atkārtojošā slēgumā.

----------


## australia

Sveiks!
paldies, ceru, ka pareizi sapratu:
https://www.elfa.se/elfa3~lv_lv/elfa...oc=0&q=mcp6271

----------


## australia

Hello.
Atmega32. Programmējas ar original AvrIsp MK2. Ierasts, ka MISO, MOSI, SCK vienmēr pieslēgts programmatoram.
Kā darīties, ja gribas piejūgt LCD caur SPI? SPI runājas tieši caur tiem pašiem portiem, kur pieslēgts programmators.
Katru reizi, kad programmē, jāatvieno LCD?

----------


## karloslv

Tavs jautājums ir par LCD paneli ar SPI interfeisu? Tādus gan nezinu, taču, ja runa ir par parasto 16x2 paneli, es visos savos projektos ar LCD izmantoju tieši tos ICP pinus vienlaicīgi ar LCD, nekādu problēmu nav bijis. Kamēr LCD nemēģina novilkt kaut ko uz zemi vai uz VCC, tas neietekmē programmēšanu. Un programmēšana neietekmē LCD, ja tie MISO/MOSI/SCK ir uzsēdināti uz D5-D8 (svarīgi nesēdināt uz E, jo tas LCD panelim nozīmē 'nolasīt').

Savukārt, ja LCD panelim pašam ir SPI interfeiss, tad SPI iekārtām parasti ir 'enable' vai 'chip select' kāja, kas pieslēdz to iekārtu pie SPI maģistrāles. Ja tā ieeja būs neaktīva, tad LCD netraucēs programmēšanai.

----------


## australia

ok. Iesākumā atslēgšu SS (slave select).

----------


## australia

LCD man ir 3.0-3.3V
Atmega32 man ir uz 5V

Kā likt viņiem sadraudzēties caur SPI interfeisu?
izmantot kaut ko šādu? 
74HCT08N (Logic IC Quad 2-Input AND TP DIL-14)


Jā, pastāv variants iepirkt MCU, kas griežas uz 3.3V. Bet cik novēroju, tiem parasti nevar līdz galam izgriezt takts frekvenci.

----------


## karloslv

Nu te viss atkarīgs no niansēm. Ja tā LCD ieejas/izejas ir "5V-tolerant", tad var pat slēgt tāpat klāt, Atmel izejām pieliekot vien virknē kādu 4,7-10k rezistoru. Atmelis tīri labi var nolasīt 3,3V CMOS līmeņus. Ja LCD nav tolerants, tad Atmeļa izejās var likt rezistīvu dalītāju, 4,7k + 10k. Vislabāk jau izmēģināt iepriekš pirms gala PCB taisīšanas.

----------


## australia

paldies par idejām!
iešāvās prātā vēl variants, ka varētu ielikt zēnera diodi, kas virzienā no MCU uz LED nogrieztu 2 voltus.

----------


## JDat

> paldies par idejām!
> iešāvās prātā vēl variants, ka varētu ielikt zēnera diodi, kas virzienā no MCU uz LED nogrieztu 2 voltus.


 Pliku zender diodi nedrīkst. Zender diodi paralēli ar LDC In kāju. Virknē ar atmegu 1-10K pretestību. No otras puses. Pietiek ar divām pretestībām.
Es parasti lieku 1K un 2K pretestības dalītājā. Kaut kā tā man ir iegājies, ja nav jātaupa enerģija.

----------

