Forum: Mikrocontroller und Digitale Elektronik BASCOM-AVR -- alternative zu shiftin/shiftout??


von Kristina (Gast)


Lesenswert?

Hi Leute!

Ich glaub bei meinem Programm will das Shiftin/Shiftout nicht richtig.
Bei Shiftout soll die Datenleitung auf Null runtergezogen werden, aber
das passiert nicht. Es gibt nur eine Absenkung von 5 auf 2,5Volt und
nicht auf 0V, dadurch denke ich, passiert was, dass ich keine
eindeutigen Signale und Daten von meinem Sensor bekommen, der uaf das
eindeutige absenken auf 0V erfordert. Ein zusätzliches Reset hat nichts
getan, es sieht nun wie eine Treppe aus.
Meine Frage ist nun, hat jemand eine Idee, wie man dies umgehen kann,
oder hat jemand eine Vorgehensweise parat, die Shiftin/Shiftout
ersetzten könnten.

Vielen dank im Voraus.

Bye, kris :-)

von Forest (Gast)


Lesenswert?

Schon mit zusätzlichen Pull-Down Widerständen probiert? Pass aber auf
das du die Datenleitungen nicht zu sehr belastet. 20mA ist glaube ich,
maximun.
mfg

von Kristina (Gast)


Lesenswert?

Hi Forest!

Vielen dank für deinen gut gemeinte und echt gute Idee, doch leider
glaube ich, dass dies nicht zu realisieren ist, da ich zwischen sensor
und mikrocontroller auf der datenleitung schon einen pullup widerstand
habe, der in dem datenblatt punkt 2.2.2
(http://193.196.117.123/projekte/saunaaufgusssteuerung/sensor/datenblatt_sht11_d_lo_0202_a.pdf)
gefordert ist und ich habe ihn eingebaut, da sonst nix funktioniert
hat.
ich habe zusätzlich och ein max232 auf der platine und einen 7805.
ne idee, wo ich deinen pulldownwiderstnd hinbauen könnte, da ich glaube
pullup und pulldopwn gleichen sich aus, wenn ich des recht evrstehe???

mfg
Kris :-)

von Forest (Gast)


Lesenswert?

Was für ein MC benutzt du denn? Denn wenn der MC von sich aus schon mit
Pull-up widerständen ausgestattet ist, und du dann auch noch pull up
widerstände dranhängst, kann es sein das der Strom der datenleitung
nicht mehr ausreicht um die Spannung auf 0V herunter zu ziehen.

von Kristina (Gast)


Lesenswert?

einen ATmega8 der Firma Atmel

von Forest (Gast)


Lesenswert?

Hab gard in euern Projekt rumgestöbert. Ihr habt den 80c535 benutzt
oder? Im Datenblatt steht der hat an einigen Datenleitungen pull up
widerstände intern. Nehmt einfach die Widerstände aus der Schaltung
raus, und probiert es.
mfg

von Forest (Gast)


Lesenswert?

Ups, doch ein anderen. Aber bei dem ist es genauso!

von Dirk (Gast)


Lesenswert?

Hi,

eine andere Alternative waere sich einen eignen Shiftout / Shiftin
Befehl zuschreiben.

Beispiel:
8 Bit Shiftout

temp = &b00001111
for i = 1 to 8
if temp.0 = 1 then
reset portc.0
waitms 100
else
set portc.0
waitms 100
end if
shiftright temp.0
next i

Es ist nur ein kurzes Beispiel sollte sich aber fuer deine Zwecke
umschreiben lassen.

Mfg

Dirk

von Kristina (Gast)


Lesenswert?

danke an euch beiden und an alle noch kommenden

zu forest: meinst du ich sollte da meinen pull-up- als pull-down
verwenden?

zu dirk: des funktioniert, aber er macht danach nichts mehr. der sensor
hat auch einen clock, der ist in dieser zeit inaktiv, meinst du ich
sollte damit mal was amchen?

mfg und schönen abend. viel spaß beim schwitzen .-)

kris

von Dirk (Gast)


Lesenswert?

Hi,

damit man besser ueberlegen kann waere es sehr interessant welchen µC
und welchen Sensor du nutzt zuwissen. Gib mal bitte die Daten kann man
weiterueberlegen.

Mfg

Dirk

von Forest (Gast)


Lesenswert?

Hi, nochmal
Ich meinte du kannst dein Pull up aus der schaltung ausbauen!
Der ATmega8 hat an seinen Port's schon pull up widerstände, alles in
dein winzig kleinen schwarzen Gehäuse :o) schau doch mal in das
Datenblatt (http://www.atmel.fi/dyn/general/tech_doc.asp?doc_id=7252
Seite 5)

@Dirk hättest du das Posting aufmerksam mitverfolgt, hätte sich deine
Letzte frage erübricht!

mfg

von Dirk (Gast)


Lesenswert?

Hi,

oh hab es uebersehen. Du solltest aber auf jeden Fall die SCK und SCL
Leitung mit einem Pullup von 4k7 versehen. Programmbeispiele fuer
Bascom findet man auf der Kuehnel HP. ABER WIESO benutze fuer Bascom
nicht die I²C Bus Routinen, da der SHT1x ein I2CBus Baustein ist. Man
kann es aber auch mit dem Shiftout und Shiftin Befehl machen, dann muss
man sich aber an das I2C Bus Protokoll halten (Start/Stopbedingungen
usw.)

Mfg Dirk

Mfg

Dirk

von Kristina (Gast)


Lesenswert?

Hallo und einen lieben Dank!

An Dirk:

     SCL = DATA???

     kann ich auch einen 10kohm Pull-up verwenden??

     was für routinen meinst du???

     kannst du mir bitte einen konkreten link geben??

An Forrest:

     wenn ich die pull-ups rausnehme, funktioniert nix mehr.

von Dirk (Gast)


Lesenswert?

Hi,

hier ist von Meselc ein Appnote : http://www.mcselec.com/an_116.htm

Pullups: Es sollte auch mit 10k funktionieren solltest aber lieber 4,7k
nehmen wegem dem Strom.

Mfg

Dirk

von Kristina (Gast)


Lesenswert?

He Dirk,

die Appnote ist meine Grundlage gewesen, die auch net so toll war.
Ich wollte eigentlich die anderen angesprcohenen Programmbeispiele
wisen :-)

bye, kris :-)

von Dirk (Gast)


Lesenswert?

Hi,

hm der Fehler liegt zwischen meinen Ohren. Finde leider auch nur das
Sampel.


MFg

Dirk

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.