Suche Ersatztyp LM1819 oder CS8190

#5910163
Lesenswert?

Deine Idee, einen Mikrocontroller zu benutzen war doch nicht schlecht
Beitrag "IC für Drehspulinstrument"
der Vorschlag von Matthias den Sinus und Cosinus per PWM auszugeben, ich 
vermute den Kreuzdrehspulen ist die Kurvenform ziemlich egal. Zwei 
Dreieckschwigungen könnten ausreichen, die kann man als 
Treppenspannungen erzeugen. Der Kreis, den ein Oszilloskop mit den 
beiden Spannungen auf X- und Y anzeigen würde wird vermutlich so zum 
Vieleck (mit Ausbeulungen in vier Ecken durch die Spitzen der 
Dreiecke?).
(Firma: matzetronics) #5910166
Lesenswert?

Selbst eine Gleitkommaoperation für Sinus und Cosinus ist bei der 
Trägheit des Instrumentes an sich ein Klacks. Als Ausgabe eignet sich 
z.B. der 16-Bit Timer 1 mit seinen beiden PWM Ausgängen. Ins OCA 
Register der Sinuswert und ins OCB Register der Cosinus, gekappt auf 
16-Bit und fertig ist die Laube.

Ich muss das selber mal ausprobieren, hier liegt noch ein 
Windrichtungsanzeiger für Segelboote als Kreuzspulinstrument.
OP #5910167
Lesenswert?

Christoph db1uq K. schrieb:
> Deine Idee, einen Mikrocontroller zu benutzen war doch nicht schlecht
> Beitrag "IC für Drehspulinstrument"

Das mache ich nach wie vor noch so. Mit dem Unterschied, dass der 
Ausgang vom uC in Freq(in) vom CS8190 geht.

Christoph db1uq K. schrieb:
> der Vorschlag von Matthias den Sinus und Cosinus per PWM auszugeben, ich
> vermute den Kreuzdrehspulen ist die Kurvenform ziemlich egal. Zwei
> Dreieckschwigungen könnten ausreichen, die kann man als
> Treppenspannungen erzeugen.

Stimmt. Aber ich wüsste jetzt grad nicht wie ich per uC Sin und Cos 
ausgeben kann. Ausserdem hat CS8190 einen Vorteil bei Unterspannung geht 
es automatisch in return to zero zurück.
(Firma: matzetronics) #5910172
Lesenswert?

Philipp G. schrieb:
> Das mache ich nach wie vor noch so. Mit dem Unterschied, dass der
> Ausgang vom uC in Freq(in) vom CS8190 geht.

Das ist aber von hinten durch die Brust ins Auge. Den ganzen Job des 
CS8190 kann heute der MC so nebenbei.

Philipp G. schrieb:
> Aber ich wüsste jetzt grad nicht wie ich per uC Sin und Cos
> ausgeben kann.

Hatte ich im letzten Beitrag schon mal grob beschrieben.

Christoph db1uq K. schrieb:
> ich
> vermute den Kreuzdrehspulen ist die Kurvenform ziemlich egal.

Dem ist so, einem z.B. Drehspulinstrument ist der Rechteck völlig egal, 
es mittelt ihn aus. Nur der von dir erwähnte Vorwiderstand ist nötig, 
damit 100% PWM genau Vollausschlag des Instrumentes geben.
(Firma: matzetronics) #5910658
Lesenswert?

Matthias S. schrieb:
> Ich muss das selber mal ausprobieren, hier liegt noch ein
> Windrichtungsanzeiger für Segelboote als Kreuzspulinstrument.

Angeregt durch die Frage habe ich das Dings heute mal in Betrieb 
genommen, ein Navico WD200 von 1988. Und siehe da, es ist bereits ein 
LM1819 verbaut :-P
Hier als Voltmeter geschaltet - in der Windfahne, die ich nicht habe, 
war offensichtlich ein Endlospoti.
Gast #5911298
Lesenswert?

Philipp G. schrieb:
> Ich suche für die Ansteuerung eines Kreuzdrehspulinstruments einen
> Ersatztyp für die oben genannten ICs.

Verstehe ich nicht

Erst möchtest du ein Drehspulinstrument, welches eine Platine besitzt, 
nach Abmontieren der Platine direkt ansteuern

Beitrag "IC für Drehspulinstrument"

Und nun suchst du einen IC um es eben nicht mehr direkt anzusteuern, 
sondern per spezialisierten IC.

Warum lässt du nicht einfach die Platine dran auf der der passende IC 
schon drauf war ?

Dabei wäre es so einfach, wie schon beschrieben wurde, ein 
Kreuzspulinstrument direkt von einem uC aus anzusteuern, ein LM1819 kann 
auch nur 20mA:
1
------+
2
   PB0|---+
3
      |   |
4
   PB1|-- |
5
      |  \|
6
      |  (X)
7
      |   |\
8
   PB2|---+ |
9
      |     |
10
   PB3|-----+
11
------+
1
unsigned char sin256(unsigned char angle) { return 255*fabs(sin(angle*2*3.1415/256)); }
2
static unsigned char count;
3
volatile unsigned char position; // 0..255 = 0..359 Grad
4
void every100us(void) // in timer tick oder main loop with 100us delay
5
{
6
   unsigned char flipsin,flipcos;
7
   count++;
8
   digitalWrite(PB0,flipsin=posision<128);
9
   digitalWrite(PB1,flipcos=position+64<128);
10
   digitalWrite(PB2,flipsin?count<sin256(position):!(count<sin256(position)));
11
   digitalWrite(PB3,flipcos?!(cound<sin256(position+64)):(count<sin256(position+64)));
12
}
oder zumindest ähnlich (never tested).
OP #5911372
Lesenswert?

Hans schrieb:
> Den CS8190 gibt es als SMD Version noch bei digikey.
>
> 
https://www.digikey.de/product-detail/de/on-semiconductor/CS8190EDWFR20G/CS8190EDWFR20GOSCT-ND/2120588
>
> Warum also ein Ersatztyp?

Den hab ich bestellt. Warum Ersatztyp? Weil ich mir zwecks Verdrahtung 
ein DIL Gehäuse wünsche.

MaWin schrieb:
> oder zumindest ähnlich (never tested).

Danke Dir mawin das probiere ich gleich abends aus.

PB0, PB2 = Spule1
PB1, PB3 = Spule2

Ist das so richtig?
OP #5911400
Lesenswert?

MaWin schrieb:
> Schön, aber warum nun den Spezial-IC kaufen und trotzdem programmieren ?
>
> Warum dieses Hin und Hergeeiere ?

Ich will auf dem Labortisch einfach beides probieren. Vielleicht fiebt 
es ja ohne das Spezial IC. Und dann möchte ich noch return to zero bei 
Unterspannung auch ohne das IC lösen (Das Ic macht das über eine Diode 
beim Eingang und einem grossen C).
Gast #5913002
Lesenswert?

Philipp G. schrieb:
> zudem geht nichts mehr als 10Uhr Position.
> Code: siehe mawin

Ja gut, da passt ein Phasenübergang halt nicht. Man müsste halt die 
Wdrte über die Position mal ausgeben um es gdradeziehen zu können. 
Vielleicht trifft der code besser:
1
void every100us(void)
2
{
3
   int flipsin=255*sin(position*3.14/128);
4
   int flipcos=255*sin((position+64)*3.14/128);
5
   count++;
6
   digitalWrite(PB0,flipsin<0);
7
   digitalWrite(PB1,flipcos<0);
8
   digitalWrite(PB2,flipsin<0?-flipsin<count:count<flipsin);
9
   digitalWrite(PB3,flipcos<0?-flipcos<count:count<flipcos);
10
}
OP #5913295
Lesenswert?

Matthias S. schrieb:
> Die originale Platine sollte dir auch Hinweise über die Spannung
> für die Ansteuerung und etwa nötige Vorwiderstände geben.

Jein, die Idee war ja die ganze Zeit den so direkt wie möglich am Uc 
betreiben zu können. Die Vorwiderstände habe ich so dimensioniert dass 
20mA nicht überschritten werden. Vielleicht ist die blöde Mechanik 
dahinter einfach zu träge. Ich mach die mal weg.

OEM läuft das Ding mit 12V, aus dem Treiber raus.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren