nem megy a proci!!
nem megy a proci!!
Stk500-as táblát használok és ma vettem procit atmega16pu és atmega32pu-t
eddig atmega16pi volt és ezekenek valamiért nem megy aa portc 2-5 -ig egyik se a többbi mind! meg néztem a neten a pi és pu közti külömbséég a green vagyis full ólommentes.
miért nem megy a proci szerintetek?
eddig atmega16pi volt és ezekenek valamiért nem megy aa portc 2-5 -ig egyik se a többbi mind! meg néztem a neten a pi és pu közti külömbséég a green vagyis full ólommentes.
miért nem megy a proci szerintetek?
Re: nem megy a proci!!
...mert a JTAG-ot nem tiltottad le a fuse bit-eknélszovhoz írta:Stk500-as táblát használok és ma vettem procit atmega16pu és atmega32pu-t
eddig atmega16pi volt és ezekenek valamiért nem megy aa portc 2-5 -ig egyik se a többbi mind! meg néztem a neten a pi és pu közti külömbséég a green vagyis full ólommentes.
miért nem megy a proci szerintetek?
Kezdők problémái fejezet
. 4. bekezdés :PPPP
http://avr.tavir.hu/modules.php?name=Co ... age&pid=54
U.i.: mindenki belefut 1x...

http://avr.tavir.hu/modules.php?name=Co ... age&pid=54
U.i.: mindenki belefut 1x...
Kapcsolási rajz?
Programkód?
A RESETelés program eltévedés, Stacktúltöltés, Reset, BOD, Tápfeszingadozás, direkt jmp ugrás, hibás RETURN, tápfesztüske miatt is lehet....
Szóval rajz + programrészlet?:)
Villámvédelem: beindukálódik a vezetékbe -> a Chip bemeneten tápfesz +0,3V lehet adatlap szerint...
Ide szupresszor és/vagy PKE sorozatú dióda, uni vagy bipoláris. Unipoláris esetén + védődióda kell.
Direkt villámlás ellen NINCS védelem. Másodlagos hatás ellen a benylet energia függvénye. De jellemzően szupresszor, szikraköz és áramkörcsere....
Programkód?
A RESETelés program eltévedés, Stacktúltöltés, Reset, BOD, Tápfeszingadozás, direkt jmp ugrás, hibás RETURN, tápfesztüske miatt is lehet....
Szóval rajz + programrészlet?:)
Villámvédelem: beindukálódik a vezetékbe -> a Chip bemeneten tápfesz +0,3V lehet adatlap szerint...
Ide szupresszor és/vagy PKE sorozatú dióda, uni vagy bipoláris. Unipoláris esetén + védődióda kell.
Direkt villámlás ellen NINCS védelem. Másodlagos hatás ellen a benylet energia függvénye. De jellemzően szupresszor, szikraköz és áramkörcsere....
Kód: Egész kijelölése
$regfile = "M16def.dat"
$crystal = 16000000
$hwstack = 128 ' default use 32 for the hardware stack
$swstack = 40 'default use 10 for the SW stack
$framesize = 40 'default use 40 for the frame spa
Config Watchdog = 2048
Config Adc = Single , Prescaler = Auto , Reference = Internal
' input ----------------------
Config Pina.0 = Input
Config Pina.1 = Input
Config Pina.2 = Input
Config Pina.3 = Input
Config Pinb.2 = Input
Config Pinb.6 = Input
Config Pinb.7 = Input
Config Pind.0 = Input
Config Pind.1 = Input
Config Pind.2 = Input
Config Pind.3 = Input
Config Pind.6 = Input
' output --------------------
Config Porta.6 = Output
Config Porta.7 = Output
Config Portb.3 = Output
Config Portb.4 = Output
Config Portb.5 = Output
Config Portc.0 = Output
Config Portc.1 = Output
Config Portc.2 = Output
Config Portc.3 = Output
Config Portc.4 = Output
Config Portc.6 = Output
Config Portd.4 = Output
Config Portd.5 = Output
' megszakításhoz ------------------------
On Int0 1s1
On Int2 1s2
Config Int0 = Rising
Config Int2 = Rising
Enable Interrupts
Enable Int0
Enable Int2
' megszakításhoz vége ----------------------
Rem portok I/0 alias
Akkuled Alias Porta.6
Motorled Alias Porta.7
M1m2 Alias Pinb.0
E1 Alias Portb.3
F12 Alias Portb.4
Riaszt Alias Portb.5
Fgomb Alias Pinb.6 ' fel állítása
Lgomb Alias Pinb.7 ' le állítása
S12 Alias Portc.0
Tapled Alias Portc.1
Riasztled Alias Portc.2
E2 Alias Portc.3
Autoled Alias Portc.4
Keziled Alias Portc.6
Sk Alias Pind.0
Fazis Alias Pind.1
Rgomb Alias Pind.3
Lfazis Alias Portd.4
L12 Alias Portd.5
1leout Alias Pind.6
' Változók -------------------------
Dim W As Word , Channel1 As Word
Channel1 = 0
Dim Z As Word , Channel2 As Word
Channel2 = 1
Dim X As Word , Channel3 As Word
Channel3 = 2
Dim Y As Word , Channel4 As Word
Channel4 = 3
'számoló dim
'---------------------------------------------------
Dim B As Integer ' 1 számólo 1s1 b - h
Dim C As Integer ' 2 számoló 1s2 c - m
Dim H As Integer ' S1
Dim Hmax As Integer
Dim Hmin As Integer
Dim M As Integer 'S2
Dim Mmax As Integer
Dim Mmin As Integer
Rem vész számolás leállítás
Dim F As Integer
Dim G As Integer
Dim D As Integer
'Dim E As Integer
Dim I As Integer
Dim J As Integer
Dim K As Integer
Dim U As Byte
U = 0
Dim N As Integer
N = 0
Dim Stopflag As Byte
Dim Stopflag1 As Byte
Dim A As Byte
A = 0
'subok ---------------------------------------------------
Declare Sub Adccurrent1(byref Channel1 As Word , W As Word )
Declare Sub Adccurrent2(byref Channel2 As Word , Z As Word )
Declare Sub Adccurrent3(byref Channel3 As Word , X As Word )
Declare Sub Adccurrent4(byref Channel4 As Word , Y As Word )
Declare Sub Fazissub
Declare Sub Gomb
' kalibráció -------------------------------------------
Riasztled = 0
Autoled = 0
H = 0
M = 0
E1 = 1
E2 = 1
H = 0
M = 0
F = 0
G = 0
Rem teljes kitolás
F12 = 1
While F12 = 1
Waitms 300
F = H
G = M
Waitms 305
If F = H Then ' motor 1 figyeli hogy adott időn belül jön e impulzus ha nem akkor megállítja
Riaszt = 0
Motorled = 1
E1 = 0
F12 = 0
Else
Motorled = 0
E1 = 1
F12 = 1
End If
If G = M Then ' motor 2 figyeli hogy adott időn belül jön e impulzus ha nem akkor megállítja
Riaszt = 0
Motorled = 1
E2 = 0
Else
Motorled = 0
E2 = 1
F12 = 1
End If
Wend
F12 = 0
Motorled = 0
Riaszt = 1
H = 0
M = 0
E1 = 1
E2 = 1
H = 10000
M = 10000
F = 10000
G = 10000
Rem teljes visszahúzás
L12 = 1
While L12 = 1
Waitms 300
F = H
G = M
Waitms 305
If F = H Then ' motor 1
Riaszt = 0
Motorled = 1
E1 = 0
L12 = 0
Else
Motorled = 0
E1 = 1
L12 = 1
End If
If G = M Then ' motor 2
Riaszt = 0
Motorled = 1
E2 = 0
Else
Motorled = 0
E2 = 1
L12 = 1
End If
Wend
L12 = 0
Motorled = 0
Riaszt = 1
Rem max érték kiszámítása
E2 = 0
E1 = 0
Waitms 30
I = H
Hmax = 9960 - I
J = M
Mmax = 9960 - J
Rem kitolás 40 impulzusig
Hmin = 40
Mmin = 40
'E2 = 1
'E1 = 1
H = 0
M = 0
While H <> Hmin
E2 = 0
E1 = 1
F12 = 1
Wend
F12 = 0
While M <> Mmin
E1 = 0
E2 = 1
F12 = 1
Wend
F12 = 0
E1 = 0
E2 = 0
Rem kalibráció vége
'Writeeeprom
'Writeeeprom
Stop Adc
W = 0
Z = 0
Start Adc
G = 0
U = 0
Stopflag = 0
Stopflag1 = 0
' Főprogram <><><><><><><><><><><> <><><><><><><><><><><>
Do
Start Watchdog
If Pind.1 = 1 Or Stopflag = 1 Or Stopflag1 = 1 Then
Call Fazissub
Else
Riasztled = 0
If Tapled = 0 Then
Riaszt = 1
End If
K = 0
Rem fazis esetén motorok fel start
Incr U
If U = 2 Then G = M
If Sk = 1 Then
Lfazis = 0
If U = 200 And M = G And E2 = 1 Then ' motor 2 figyeli hogy adott időn belül jön e impulzus ha nem akkor megállítja
Motorled = 1
Stopflag = 1
E2 = 0
U = 0
End If
If Stopflag = 0 Then
F12 = 1
If M < Mmax Then
E2 = 1
End If
If M = Mmax Then
E2 = 0
End If
If M > Mmax Then
E2 = 0
End If
Else
E2 = 0
End If
End If
Incr A
If A = 2 Then D = H
If Sk = 1 Then
Lfazis = 0
If A = 200 And H = D And E1 = 1 Then ' motor 2 figyeli hogy adott időn belül jön e impulzus ha nem akkor megállítja
Motorled = 1
Stopflag1 = 1
E1 = 0
A = 0
End If
If Stopflag1 = 0 Then
F12 = 1
If H < Hmax Then
E1 = 1
End If
If H = Hmax Then
E1 = 0
End If
If H > Hmax Then
E1 = 0
End If
Else
E1 = 0
End If
End If
End If
Rem fazis esteén motorok fel vége
Call Adccurrent1(channel1 , W)
Call Adccurrent2(channel2 , Z)
Call Adccurrent3(channel3 , X)
Call Adccurrent4(channel4 , Y)
If Sk = 0 Then
Keziled = 0
Autoled = 1
Call Gomb
Else
Keziled = 1
Autoled = 0
End If
Reset Watchdog
Loop
Rem főprogream vége <><><><><><><><><><><> <><><><><><><><><><><>
' INT-ek ------------------
1s1:
If F12 = 1 Then Incr H
If 1leout = 1 Then Decr H
Return
1s2:
If F12 = 1 Then Incr M
If 1leout = 1 Then Decr M
Return
' SUBRUTINOK ----------------------
Sub Adccurrent1(byref Channel1 As Word , W As Word ) ' adc 1 sub
W = 0
W = Getadc(channel1)
If W >= 350 Then
E1 = 0
Motorled = 1
End If
End Sub
Sub Adccurrent2(byref Channel2 As Word , Z As Word ) ' adc 2 sub
Z = 0
Z = Getadc(channel2)
If Z > 350 Then
E2 = 0
Motorled = 1
End If
End Sub
Sub Adccurrent3(byref Channel3 As Word , X As Word ) ' adc 3 sub
X = 0
X = Getadc(channel3)
If X >= 500 Then Akkuled = 0 Else Akkuled = 1 ' riasztas
If X <= 500 Then Riaszt = 0
End Sub
Sub Adccurrent4(byref Channel4 As Word , Y As Word ) ' adc 4 sub
Y = 0
Y = Getadc(channel4)
If Y >= 550 Then Tapled = 0 Else Tapled = 1
If Y <= 550 Then Riaszt = 0
' riasztas
End Sub
Sub Gomb
Lfazis = 0
If Fgomb = 0 Then
Lfazis = 0
L12 = 0
F12 = 1
If M < Mmax Then
E2 = 1
End If
If M = Mmax Then
E2 = 0
End If
If M > Mmax Then
E2 = 0
End If
Else
If Lgomb = 1 Then E2 = 0
End If
If Lgomb = 0 Then
Lfazis = 0
F12 = 0
L12 = 1
If M > Mmin Then
E2 = 1
End If
If M <= Mmin Then
E2 = 0
End If
Else
If Fgomb = 1 Then E2 = 0
End If
If Fgomb = 0 Then
Lfazis = 0
L12 = 0
F12 = 1
If H < Hmax Then
E1 = 1
End If
If H = Hmax Then
E1 = 0
End If
If H > Hmax Then
E1 = 0
End If
Else
If Lgomb = 1 Then E1 = 0
End If
If Lgomb = 0 Then
Lfazis = 0
F12 = 0
L12 = 1
If H > Hmin Then
E1 = 1
End If
If H <= Hmin Then
E1 = 0
End If
Else
If Fgomb = 1 Then E1 = 0
End If
End Sub
Sub Fazissub
Riasztled = 1
If Sk = 0 Then
Lfazis = 0
Else
Lfazis = 1
F12 = 0
L12 = 0
End If
' ha automata módban van akkor a motorok leengedése a min értékig
If Sk = 1 Then
If M > Mmin Then
E2 = 1
End If
If M <= Mmin Then
If Sk = 0 Then
E2 = 1
Else
E2 = 0
End If
End If
End If
If Sk = 1 Then
If H > Hmin Then
E1 = 1
End If
If H <= Hmin Then
If Sk = 0 Then
E1 = 1
Else
E1 = 0
End If
End If
End If
If K > 1 Or K < 1 Then Portb.5 = 0
If K = 2 Then K = 0
If Pind.3 = 0 And Portb.5 = 0 Then K = K + 1
If K = 1 Then Portb.5 = 1
If K > 1 Or K < 1 Then Portb.5 = 0
If K = 2 Then K = 0
End Sub
Enddeeddig ezt nem csinálta.
Villám nem sújtott csak kültéren lessz a cumó IP65-ös védetségű dobozba van szerelve, érdekelne hogy mi történik vele ha közel villámlik .
Szupresszor helyet zénert használok nagyon tág a fesz köszöbje! egy 5v-osnak akár 7-9v is lehet. ezért 5.1 zénert használok.Villámvédelem: beindukálódik a vezetékbe -> a Chip bemeneten tápfesz +0,3V lehet adatlap szerint...
Ide szupresszor és/vagy PKE sorozatú dióda, uni vagy bipoláris. Unipoláris esetén + védődióda kell.
Direkt villámlás ellen NINCS védelem. Másodlagos hatás ellen a benylet energia függvénye. De jellemzően szupresszor, szikraköz és áramkörcsere....
tápfesz ingadozás nem lehet.
az 5v 20mv a tüske maxon a digi szkópom szerint.
stacket teh mondtad mennyi legyen.
fusebitek közzül egy sincs beállítva az avr studioban.
external cristal van 16k +64ms.
A hozzászólást 1 alkalommal szerkesztették, utoljára szovhoz 2008. augusztus 7. csütörtök, 12:02-kor.
Kimenetek védve vannak szupresszor + dióda.
Bemenetek zéner diódás védelememel vannak ellátva.
ez így jó szerinted?
táp szűrése tökéletes.
panelon nincs rövid zár.
a kapcsoló nem hibás mert még nincs is beszerelve
csak egy csipesszel zárom öössze a lábait egyenlőre, ha tökéletes akkor fogom csak beszerelni.
a gombon 100nf kondivan de ha még rá teszek egy 330n-t akkor azonnal befagy a gomb nyomás után a nélkül sokat kell nyomkodni hogy befagyon.
a gomb 4.7kohm-ossal van fel húzva.
a külső kristály 16mhz-es.
Bemenetek zéner diódás védelememel vannak ellátva.
ez így jó szerinted?
táp szűrése tökéletes.
panelon nincs rövid zár.
a kapcsoló nem hibás mert még nincs is beszerelve
a gombon 100nf kondivan de ha még rá teszek egy 330n-t akkor azonnal befagy a gomb nyomás után a nélkül sokat kell nyomkodni hogy befagyon.
a gomb 4.7kohm-ossal van fel húzva.
a külső kristály 16mhz-es.
rövidzár nincs!
a csipesszel nyomkodtam a nyákon a lábakat eddig is és tegnap este adta a fejéát fel ez a dolog.
aróta ezzel sz...!
csak ablakokat mozgat áramkimaradás esetén, de aksikkal fel van vértezve az egész rendszer, automata aksi töltő rendszerrel vanaak felépítve.
watchdog benne van. illetve egy kis attiny külön felel a risztásért de ha az kinyiffan akkor is riaszt.
stack nem kevés azokat ne növeljem illyetve a softvareben van probléma vagy nincs?
pont azt teszi amit kell a rendszer ez az egy hiba hogy szegény újra indul valamiért!!
a csipesszel nyomkodtam a nyákon a lábakat eddig is és tegnap este adta a fejéát fel ez a dolog.
aróta ezzel sz...!
csak ablakokat mozgat áramkimaradás esetén, de aksikkal fel van vértezve az egész rendszer, automata aksi töltő rendszerrel vanaak felépítve.
watchdog benne van. illetve egy kis attiny külön felel a risztásért de ha az kinyiffan akkor is riaszt.
stack nem kevés azokat ne növeljem illyetve a softvareben van probléma vagy nincs?
pont azt teszi amit kell a rendszer ez az egy hiba hogy szegény újra indul valamiért!!
a probléma kiiktatva!
A megoldás a gnd vezetékelés benem tartása volt. potenciál külömbség alakult ki.
mivel a gnd csomópont a proci alól indul ennek az egy nyomógombnak a gnd 10 cm vel előtte csatoltam le!!!!
tehát erre figyeljen oda mindenki!
ezt soha nem gondpoltam volna!!!
De mindíg tanul az ember! ez Mérnöki munka volt!
Jah és a skopon se láttunk semmi hibát!
A megoldás a gnd vezetékelés benem tartása volt. potenciál külömbség alakult ki.
mivel a gnd csomópont a proci alól indul ennek az egy nyomógombnak a gnd 10 cm vel előtte csatoltam le!!!!
tehát erre figyeljen oda mindenki!
De mindíg tanul az ember! ez Mérnöki munka volt!
Jah és a skopon se láttunk semmi hibát!
Egy fontos kérdésem lenne még.
a proci két int bementére egy egy reed relé kapcsolódik és a láb meg a relé közt 20-25 méter vezeték lessz.
elegendő e a 1500ohm-os ellenálás rá?
mivel a párásodástól szeretném meg védeni vagy mekkorát tegyekk ennek a leendő problémának a kiküszöbölésére?
ha értitek mire gondolok. Köszi!
a proci két int bementére egy egy reed relé kapcsolódik és a láb meg a relé közt 20-25 méter vezeték lessz.
elegendő e a 1500ohm-os ellenálás rá?
mivel a párásodástól szeretném meg védeni vagy mekkorát tegyekk ennek a leendő problémának a kiküszöbölésére?
ha értitek mire gondolok. Köszi!