digitális potméter
digitális potméter
egy attinyvel szeretnék digitális potmétert hajtani!
MCP4011-103E/SN ezt néztem ki olcsó nagyon csak 140 ft jó lessz próbálkozni.
Néztem az adatlapját ennek a potinak 2 lábon vezérli.
az én meglátásom szerint a vezérlése egy lábon jelzi hogy jön az adat a másikon küldi azt utánna lezárja hogy vége!
valami ötlet kódrészlet hogyan oldanátok meg?
még dac is érdekelne. 0-10v szabályozást szerenék csinálni csak a proci ugye digi ez meg már analóg a poti olcsó megoldás. és csak 2 láb.
MCP4011-103E/SN ezt néztem ki olcsó nagyon csak 140 ft jó lessz próbálkozni.
Néztem az adatlapját ennek a potinak 2 lábon vezérli.
az én meglátásom szerint a vezérlése egy lábon jelzi hogy jön az adat a másikon küldi azt utánna lezárja hogy vége!
valami ötlet kódrészlet hogyan oldanátok meg?
még dac is érdekelne. 0-10v szabályozást szerenék csinálni csak a proci ugye digi ez meg már analóg a poti olcsó megoldás. és csak 2 láb.
-
Hooligan01
Adatlapja: http://ww1.microchip.com/downloads/en/D ... 21978c.pdf
Működése:
Adatlap 31. oldal, Figure 5-2 - increment
Adatlap 32. oldal, Figure 5-3 - decrement
Egyszerű mint a faék..
Működése:
Adatlap 31. oldal, Figure 5-2 - increment
Adatlap 32. oldal, Figure 5-3 - decrement
Egyszerű mint a faék..
azt értem hogy a cs -vel állítom hogy mikor megy az adat de ha folyamtsoan küldöm neki? akkor folymatosan le kell nyomjam 0-ra?
és a másik lábon hogy adjam ki a jelet magas és alacson gyors váltásával?
vagy
és a másik lábon hogy adjam ki a jelet magas és alacson gyors váltásával?
vagy
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 Portb.5 = Output 'U/D
Config Portb.6 = Output 'CS
Cs Alias Portb.6
Ud Alias Portb.5
Dim A As Byte
Cs = 1
Do
Cs = 0
For A = 0 To 254
Portb.5 = A
Next A
Cs = 1
Loop-
Hooligan01
Látom nem megy az Angol....
Tehát :
A wiper(csúszka) maximum értéke 0x3F, tehát 0-63. Nem csordul túl egyik irányban sem.
Hehe, nincs közepe
Increment - növelni.
Decrement - csökkenteni.
Növelésnél a felfutó éleket számolja.
Csökkentésnél a lefutó éleket számolja.
Ennek fényében a kód:
Igen, jól látod, amíg a CS alacsony, addig tolhatod neki az irányadatokat.
De mint írtam is, egyik irányba sem csordul túl.
Tehát :
A wiper(csúszka) maximum értéke 0x3F, tehát 0-63. Nem csordul túl egyik irányban sem.
Hehe, nincs közepe
Increment - növelni.
Decrement - csökkenteni.
Növelésnél a felfutó éleket számolja.
Csökkentésnél a lefutó éleket számolja.
Ennek fényében a kód:
Kód: Egész kijelölése
Novel:
Set Ud
Reset Cs
Reset Ud
Set Ud
Set Cs
Return
Csokkent:
Reset Ud
Reset Cs
Set Ud
Reset Ud
Set Cs
Return
De mint írtam is, egyik irányba sem csordul túl.
-
Hooligan01
Oké értem eddig is értetem, csak a biztonság kedvéért kérdeztem!
Amúgy a megvalósítása projectnek, hogy egy hőszenzort ADC beolvasok - mondjuk bejön 22 fok.
Egy potin beállítom, hogy 20 fok (analóg potin)!
És a digitális potin kell kiadjam a jelet a ventillátornak, hogy addig hűtsön max. gázzal amíg nincs a kettő közti hőmérséklet. Utána szépen lassan vegye vissza az impulzus csomagok méretét 0-ig - amikor 0 impulzust adok a digitális potinak akkor 20 fok kell legyen már a hőmérőn!
Remélem érthető?
Kijívítottam a baragadt billentyűket. Valamint - talán a hibás , billentyűk miatt hiányzó - vesszőket is beírtam. Plusz a Shifttel a mondatkezdő nagybetűk is javításra kerültek.... Szerk. Admin
Amúgy a megvalósítása projectnek, hogy egy hőszenzort ADC beolvasok - mondjuk bejön 22 fok.
Egy potin beállítom, hogy 20 fok (analóg potin)!
És a digitális potin kell kiadjam a jelet a ventillátornak, hogy addig hűtsön max. gázzal amíg nincs a kettő közti hőmérséklet. Utána szépen lassan vegye vissza az impulzus csomagok méretét 0-ig - amikor 0 impulzust adok a digitális potinak akkor 20 fok kell legyen már a hőmérőn!
Remélem érthető?
Kijívítottam a baragadt billentyűket. Valamint - talán a hibás , billentyűk miatt hiányzó - vesszőket is beírtam. Plusz a Shifttel a mondatkezdő nagybetűk is javításra kerültek.... Szerk. Admin
Hello
Lehet nem ide tartozik de emiatt nem akarok új témát indítani.
Egy ellenállásosztót szeretnék vezérelni ami egy műveleti erősítőhöz megy és azt erősíti föl 12 v-ra.
Ehhez ugye kapcsolgatni kell a lábak ki és bemenetét. A fórumon még régebben olvastam hogy hogyan is lehetséges ez de most sehol se találom és fejből készítettem el a progit de sajnos nem stimmel valami.
Kép a kapcsolásról:

Esetleg ha segít fel tudom tölteni hogy mit mutat a Scope, de szerintem a progival van a baj. Vagy az is lehet hogy rosszul számolok valamit.
Köszönöm a segítséget és nézzétek el ha valami nagy baromságot írtam.
Lehet nem ide tartozik de emiatt nem akarok új témát indítani.
Egy ellenállásosztót szeretnék vezérelni ami egy műveleti erősítőhöz megy és azt erősíti föl 12 v-ra.
Ehhez ugye kapcsolgatni kell a lábak ki és bemenetét. A fórumon még régebben olvastam hogy hogyan is lehetséges ez de most sehol se találom és fejből készítettem el a progit de sajnos nem stimmel valami.
Kód: Egész kijelölése
Sub Fesz ' Feszültség beállítása
Select Case Feszval
Case 21 : ' 2.2v beállítása
Config Pinb.0 = Input ' 2k ell bemenet
Config Portb.1 = Output ' 700 kimenet
Config Portb.2 = Output ' 330 kimenet
Reset Portb.1 ' 700ohm osztó bekapcs
Reset Portb.2 ' 330 osztó bekapcs , eggyüttes eredő: 224ohm
Case 22 : ' 2.6v beállítása
Config Portb.0 = Output
Config Pinb.1 = Input
Config Portb.2 = Output
Reset Portb.0
Reset Portb.2
Case 23 : ' 2.9v beállítása
Config Pinb.0 = Input
Config Pinb.1 = Input
Config Portb.2 = Output
Reset Portb.2
Case 24 : ' 4.2v beállítása
Config Portb.0 = Output
Config Portb.1 = Output
Config Pinb.2 = Input
Reset Portb.0
Reset Portb.1
Case 25 : ' 5.1v beállítása
Config Pinb.0 = Input
Config Portb.1 = Output
Config Pinb.2 = Input
Reset Portb.1
Case 26 : ' 8v beállítása
Config Pinb.0 = Input
Config Portb.1 = Output
Config Portb.2 = Output
Reset Portb.0
Case 27 : ' 12v beállítása
Config Pinb.0 = Input
Config Pinb.1 = Input
Config Pinb.2 = Input
End Select
End Sub
Esetleg ha segít fel tudom tölteni hogy mit mutat a Scope, de szerintem a progival van a baj. Vagy az is lehet hogy rosszul számolok valamit.
Köszönöm a segítséget és nézzétek el ha valami nagy baromságot írtam.
Nem-nem! Vagy leszakad (bemenet) vagy GND legyen.
Persze lehet kimenet +5V is, de akkor furi kimeneti feszértékek
jelennek meg az osztó kimenetén, pl. a PWM jel 2.5-5V tartományba felhúzódik.
(persze, ha kell ilyen is...akkor jól jön)
Tehát az osztók talpontja úgy működik, mint egy mechanikus GND-re kötött kapcsoló. Ahogy nézem Protheus-t használ a kollega, ott fullra leszimulálhatja a programját és virtuális szkópon nézegetheti a jelalakot.
JAni
Persze lehet kimenet +5V is, de akkor furi kimeneti feszértékek
jelennek meg az osztó kimenetén, pl. a PWM jel 2.5-5V tartományba felhúzódik.
(persze, ha kell ilyen is...akkor jól jön)
Tehát az osztók talpontja úgy működik, mint egy mechanikus GND-re kötött kapcsoló. Ahogy nézem Protheus-t használ a kollega, ott fullra leszimulálhatja a programját és virtuális szkópon nézegetheti a jelalakot.
JAni
Szerintem az elején be kellene kapcsolni PB.3-ast:
A többi kimenetet, pedig igény szerint 0V-re kapcsolva jön létre a feszosztás.
A müv.erősítő bemenete soha nem lebeghet, mert begerjed! (Erre vigyáz a programozásnál!)
Kód: Egész kijelölése
Sub Fesz ' Feszültség beállítása
Config Portb.3 = Output
Set Portb.3 ’Default +12V bekapcs!
Select Case Feszval
Case 21 : ……….
A müv.erősítő bemenete soha nem lebeghet, mert begerjed! (Erre vigyáz a programozásnál!)