Sida 1 av 2

PIC16F84: stigande 0-nivåer

Postat: 17 februari 2005, 09:01:41
av Bacchus
Jag försöker styra en motordrivkrets (UDN2916) med hjälp av en PIC-processor (16F84). Det hela borde inte vara så svårt, men fel blir det...


Drivkretsen driver motorn om de båda ingångarna (I0,I1) är låga.
Det funkar fint om dessa jordas.

Använder jag istället processorns utgångar satta till 0, så stiger 0-nivåerna till omkring 1.5V, och drivkretsen stannar.

Varför kan jag inte lägga 'nollor' direkt på drivkretsens ingångar med hjälp av processorns utgångar?

Jag har hela tiden trott att man ska kunna styra direkt från utgångarna.

Postat: 17 februari 2005, 09:09:23
av Icecap
Har du initialiserat PIC:ens port till utgång?

Postat: 17 februari 2005, 09:18:45
av Bacchus
Jag använder port B, och har satt bitarna jag använder till utgångar.
Har sedan satt nämnda pinnar till TTL-0.

Har mätt på pinnarna och sett att det stämmer.

Sedan på med drivkretsen och nivåerna far upp med 1.5V.

I specen för UDN2916 står att ingångarna styrs av TTL-nivåer.
Då ska det väl funka.

Postat: 17 februari 2005, 09:31:34
av matseng
Har du belastningen inkopplad på drivkretsen när du mäter? I sådana fall kan det bero på späningsfall i jordförbindelesn till picen.

Dra separata jord och matningsspänningsledingar för pic och drivkrets och eventuellt andra förbrukare och samla upp dom i var sin gemensam uppsamlingspunkt där du sedan ansluter inkommande kraft.

Postat: 17 februari 2005, 10:54:37
av Schnegelwerfer
Jag har varit med om exakt samma sak med en PIC, och då berodde det på att jorden till PIC:en lossnat .

Postat: 17 februari 2005, 19:34:29
av Bacchus
Har sett över alla jordanslutningar och det ser ok ut.
Drivkretsen är inte belastad när jag mäter.

Mystiken kvarstår...

Fler ideer?

Postat: 17 februari 2005, 20:04:01
av Icecap
När du mätar att nivån stiger, mätar du då på själva PIC:ens ben?
(Ut-pinnen gentemot GND-pinnen)

Postat: 17 februari 2005, 20:09:29
av Bacchus
Jag mäter mellan jord och pinnarna.
Sedan märker jag ju på motodrivkretsen att den lägger ut 0V, som den ska, vid 1:a på ingångarna.

Postat: 17 februari 2005, 20:19:43
av matseng
Har du kopplat in rätt pinnar på UDN2916 till picen? Dvs (8+9) & 10 för ena paret respektive (17+20) & 16 för det andra?

Postat: 17 februari 2005, 20:35:03
av Bacchus
ja det har jag.

Postat: 17 februari 2005, 20:48:21
av matseng
För att inte behöva fundera på huruvida det är pic eller udn som strular så prova att plocka ut picen och koppla en av de strulande udn-pinnarna till jord via ett motstånd på mellan 1K och 10 K. Mät sedan vad du får för spänning då.

Postat: 17 februari 2005, 20:56:32
av Bacchus
Med 2k mellan endera av ingångarna och jord så har jag 0.06V på samma pinne.

Postat: 17 februari 2005, 20:58:44
av Bacchus
Lämnar man ingångspinnarna oanslutna så har jag 1.6V ut (på ingångarna...)

Trasig?

Postat: 17 februari 2005, 21:09:17
av matseng
Nejdå, det verkar helt ok. Om det inte finns nån speciell pull(up/down) i udn'en så kan den ligga på valfri nivå när den är flytande.

Och eftersom den gick fint ner till jord via ett motsånd (som kan pulla bra mycket mindre ström än vad picen klarar av) så verkar är det nog inte något problem med den.

Snarare så verkar det som om du sätter picen i högimpedansläge (input) när det ska lägga ut 0'a.

Lägg ut 0 på pinnarna och kolla med en lysdiod mot plus. Tänds den som den ska?

Postat: 17 februari 2005, 21:37:19
av Bacchus
Hoppsan!

Testade PIC:en senast i går. Då körde jag den i en testkoppling och lät den blinka ett antal dioder.

Nu funkar det inte alls. Verkar inte gå att ställa port B som utgång längre.

Måste ha förstört den när jag kopplade upp den mot drivkretsen.

Blir en runda till ELFA igan. :(