Dvouintervalový blikač

Problémy s návrhem, konstrukcí, zapojením, realizací elektronických zařízení

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
elektrom
Příspěvky: 4
Registrován: 14 črc 2012, 02:00

Dvouintervalový blikač

#1 Příspěvek od elektrom »

Zdravím, potřeboval bych radu, jak na obvod pro LEDku, která byl po připojení napětí 4x zablikala, pak 2s zůstala svítit a následně se celý cyklus opakoval, dokud by se nepřerušilo napájení.

Vím, že nejjednodušší bude řešit to přes nějaký μP (pokud možno Pascal nebo C)
Máte proto nějaké doporučení, jaký μP zvolit, případně schéma zapojení?

Obvod bude pro napájení 12 V.

Předem děkuji za rady.

Uživatelský avatar
Atlan
Příspěvky: 4499
Registrován: 10 kvě 2004, 02:00
Bydliště: Košice

#2 Příspěvek od Atlan »

2* 4017+555

hakamusai
Příspěvky: 943
Registrován: 17 dub 2007, 02:00

#3 Příspěvek od hakamusai »

Třeba PIC 12F629,překladač Mikropascal nebo MikroC.Jsou u toho příklady,lze to napsat s minimálníma znalostma programování.

Uživatelský avatar
elektrom
Příspěvky: 4
Registrován: 14 črc 2012, 02:00

#4 Příspěvek od elektrom »

Díky za rady...

Atlan: Nemáš nějaký příklad zapojení (schéma)?

hakamusai: Programování by právě nebyl problém, horší je to se sestavením programátoru..
Nějaké odkazy na funkční levný programátor (schéma)?
Bude stačit, když si sestavím tento?
Naposledy upravil(a) elektrom dne 14 črc 2012, 20:59, celkem upraveno 1 x.

hakamusai
Příspěvky: 943
Registrován: 17 dub 2007, 02:00

#5 Příspěvek od hakamusai »

Můžeš to zkusit.Já používám programátor presto,dneska už je forte http://www.asix.cz/prg_presto.htm

V mikropascalu jsou v helpu i schémata zapojení.
Schema třeba tohle:
Obrázek

Uživatelský avatar
procesor
Příspěvky: 5284
Registrován: 02 říj 2009, 02:00
Bydliště: PO

#6 Příspěvek od procesor »


Uživatelský avatar
elektrom
Příspěvky: 4
Registrován: 14 črc 2012, 02:00

#7 Příspěvek od elektrom »

Tak jsem po delší odmlce zpět.

Mám následující problém po vložení PIC12F675 do patice se nic neděje, přitom chci, aby dioda blikala s 1 sekundovým intervalem.

Použivám kompilátor mikroPascal PRO.
(Frekvence oscilátoru v mP PRO nastavena na 40 Hz namísto 4 MHz z DataSheetu, tam je zjevně překlep)

Zde je schéma (použil jsem doporučené):
  • Obrázek
Pascal kód:
program PIC12F675_LEDBLINK;

begin
TRISIO := 0;
{
CMCON := 7;
ANSEL := 0;
VRCON := 0;
ADCON0 := 0;
}

while 1 do
begin
GPIO.GP2 := 1;
Delay_ms(1000);

GPIO.GP2 := 0;
Delay_ms(1000);
end;

end.
Zjištění:
  • když přes (další) rezistor měřím napětí na GPIO5 (cca 2.22 V) a "sáhnu" si na onen rezistor, tak začně dioda blikat, jinak nic.
  • zřejmě je třeba pozměnit prvotní nastavení před cyklem, protože ať nastavím TRISIO jakkoliv (:=%00010 (0) nebo %00011 (3)...) dělá to pořád to stejný - viz "zjištění výše"... Když to nenastavím vůbec, nedělá to nic
Jsem si jist, že je to v kódu, protože jsem zkoušel zkompilovaný .hex soubor z této stránky a se zapojením funguje (LED bliká)

Na netu jsou pro tento konkrétní typ čipu příklady, ale jsou většinou v Assembleru, což není něco, čemu bych rozuměl.

Datasheet zde nebo zde (CZ).



Budu rád za jakékoliv rady.

Uživatelský avatar
ZVUK2000
Příspěvky: 3855
Registrován: 22 dub 2012, 02:00
Bydliště: Karvinsko

#8 Příspěvek od ZVUK2000 »

Dá se to realizovat jen pomocí 555 a samoblikající LED.

Uživatelský avatar
elektrom
Příspěvky: 4
Registrován: 14 črc 2012, 02:00

#9 Příspěvek od elektrom »

Ze všeho nejradši mám ty, kteří něco píší aniž by si přečetli topic.

Každopádně se mi to podařilo zprovoznit!!!

Zásek byl hlavně v kompilátoru a jeho nastavení:
Je třeba nastavit interní oscilátor (Project/Edit Project.../Oscillator Selection - INTOSC oscillator) a frekvenci oscilátoru zde tedy nastavit zpět na 4 MHz (v datasheetu to mají správně, jen z počátku došlo k nepochopení)

Výsledný kód, kdyby ho někdo potřeboval (dioda bliká po 1 sekundě):

Kód: Vybrat vše

program PIC12F675_LEDBLINK;
begin
  GPIO := 0x00;
  TRISIO := 0x00;       // all ports as output
  ANSEL := 0x00;        // turns off the ADC module
  ADCON0 := 0x00;       // turns off the A/D converter
  CMCON := 0x07;        // turns off the comparator
  VRCON := 0x00;        // turns off Vref for min current

  while 1 do
    begin
      GPIO.GP2 := 1;
      Delay_ms(1000);
      
      GPIO.GP2 := 0;
      Delay_ms(1000);
    end;
end.
(Změna blikání už je jen věcí úpravy kódu ve while cyklu)

Uživatelský avatar
frantajetel11
Příspěvky: 1922
Registrován: 13 lis 2008, 01:00
Bydliště: Kladno

#10 Příspěvek od frantajetel11 »

elektrom píše:Ze všeho nejradši mám ty, kteří něco píší aniž by si přečetli topic.
No on si asi přečet hlavně první příspěvek. Odpadnul by ti minimálně stabilizátor, ale když chceš tuhle složitost řešit procesorem, tak řeš...

Odpovědět

Zpět na „Řešení problémů s různými konstrukcemi“