Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
mrfrenzy
Co Admin
Inlägg: 14859
Blev medlem: 16 april 2006, 17:04:10

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av mrfrenzy »

Ja med så låg resistans blir det ju hög effekt, använder man 560+150 Ohm så behövs ingen polyswitch, men sätte rman polyswitch också kan man använda klena SMD-motstånd.

viewtopic.php?p=1565148#p1565148
DanielM
Inlägg: 2193
Blev medlem: 5 september 2019, 14:19:58

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av DanielM »

Klas-Kenny skrev: 24 oktober 2020, 14:55:17 Nu beror det ju på vilka felfall man vill täcka in men, det blir ju inte "oförstörbart" med den lösningen.

Kör man på 50mA lär ett 0.25W motstånd brinna upp då polyswitchen inte löser ut.
Men där emot vid kortslutning mot exempelvis 24V så skyddar polyswitchen utmärkt.


Krävs ett mycket mer effekttåligt motstånd för att det ska bli "oförstörbart".
Allså. Jag ska ju skydda för ström som går över 30mA helst också. Det är därför jag valde reläet, som förkastades av TomasL.

Jag kräver att det ska vara oförstörbart. Så detta är väll ett bra förslag? 0.03A, dvs 30mA.

https://www.aliexpress.com/item/32955961431.html
DanielM
Inlägg: 2193
Blev medlem: 5 september 2019, 14:19:58

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av DanielM »

Vad tror ni om detta?

https://www.mouser.se/ProductDetail/Bel ... ffpA%3D%3D

Det är SMD 0603 och har en utlösningsström på 30mA. Tror ni att detta PTC-motstånd kan lösas ut vid 20mA också? Låt oss säga att jag låter 20mA flöda igenom PTC-motståndet under lång tid?
DanielM
Inlägg: 2193
Blev medlem: 5 september 2019, 14:19:58

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av DanielM »

Rick81 skrev: 11 oktober 2020, 13:18:49 Den inbygga STM32 bootloadern går bara på PA9,PA10. Visserligen kan man köra I2C och annat också med inte provat det
Ursäkta om jag drar upp denna fråga igen. Men programmerar man inte en STM32 via SWDIO och SWCLK, inte USART1?
Användarvisningsbild
AndLi
Inlägg: 17127
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av AndLi »

Det finns flera sätt att programera en STM32, sådant som man missar när man inte ens öppnar databladet utan bara klickar sig fram via happy pathen i cube...
DanielM
Inlägg: 2193
Blev medlem: 5 september 2019, 14:19:58

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av DanielM »

Tackar. Jag tror jag behåller som jag har nu. Dvs jag har UART1 och UART2. UART1 för att bränna in bootloadern på uC och SWDIO och SWCLK för att bränna in programmet. UART2 är till för kommunikation. Jag tycker att man borde göra allt i ett och samma verktyg.

En fråga! Jag behöver väll inte ange i CubeMX att jag ska använda USART1? Alltså jag kan lämna den tom typ så här?
Markering_004.png

Hur som helst så tycker jag att jag borde vara klar nu. :D
- 3 SDADC 16-bit differential 4-20mA
- 2 SDADC 16-bit singel 4-20mA
- 6 Digitala ingångar
- 8 ADC 12-bit singel 4-20mA
- 14 PWM
- 5 Digitala utgångar
- 3 DAC 0-3.3v 12-bit
- 2 UART
- SWDIO
- SWCLK

Dock är inte DAC utgångarna skyddade om man skulle råka skicka in 24V in dom. Jag har ingen aning hur jag ska skydda DAC utgångarna då jag vill ju att man ska kunna skicka ut en lämplig bra ström.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
AndLi
Inlägg: 17127
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av AndLi »

Varför har du olika vägar? Och det vanligaste skulle jag säga är tvärt om... in med bootloader via swdio och kör in appen via den via en uart eller vad man nu har... men på stm32 kan du köra in bootloadern med via uart då den redan har en inbyggd bootloader
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av Rick81 »

Ditt projekt är typexempel på där man vill använda inbyggda UART bootloader för programladdning då du via raspberry pie kan uppgradera STM32 utan använda ST-link. I kommersiella produkter vill man ju inte skicka med en ST-link för varje produkt som man vill kunna uppgradera remote.

Tänk bara på att du måste kunna styra NRST och bootpinnar från raspberry pie, knappar eller nåt annat för att få processorn stanna i bootloader.

Du måste inte mappa upp UART i STM32cube då bootloader kör innan din applikation startar
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av Rick81 »

DAC utgångarna skyddar du enkelt med dioder ( men tänk på att du får ett spänningsfall som du får kompensera i mjukvara)

Gjorde en snabb googling på 4-20 mA uingångar, verkar som vanliaste är använda OPförstärkare för omvandla ström till spänning. Har du kollat det?
DanielM
Inlägg: 2193
Blev medlem: 5 september 2019, 14:19:58

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av DanielM »

AndLi skrev: 25 oktober 2020, 03:40:47 Varför har du olika vägar? Och det vanligaste skulle jag säga är tvärt om... in med bootloader via swdio och kör in appen via den via en uart eller vad man nu har... men på stm32 kan du köra in bootloadern med via uart då den redan har en inbyggd bootloader
Jag fick för mig av Rik81 att Uart1 behövs för att programmera en STM32. Uart1 är till för bootloadern och SWDIO och SWCLK är till för att programmera in C-koden till uC.
Kan jag programmera in en bootloader via SWDIO och SWCLK och även bränna in progammen via SWDIO och SWCLK så väljer jag det hellre.
Rick81 skrev: 25 oktober 2020, 11:57:37 Ditt projekt är typexempel på där man vill använda inbyggda UART bootloader för programladdning då du via raspberry pie kan uppgradera STM32 utan använda ST-link. I kommersiella produkter vill man ju inte skicka med en ST-link för varje produkt som man vill kunna uppgradera remote.

Tänk bara på att du måste kunna styra NRST och bootpinnar från raspberry pie, knappar eller nåt annat för att få processorn stanna i bootloader.

Du måste inte mappa upp UART i STM32cube då bootloader kör innan din applikation startar
Jag vill använda ST-link. Nucleo korten har ju inbyggt ST-link som man programmerar med. Jag tolkade dig att UART1 är obliatorisk för att ens kunna programmera en STM32. Men nu har jag ju SWDIO och SWCLK fritt fram att använda och jag ska köpa en ST-link.
Jag har möjglighet att styra NRST och BOOT0 från en skruvterminal :)

En liten sammanfattning.
- Jag vill kunna programmera en STM32 via ST-Link, precis som jag gör med CubeMX. Bara "Run -> Run As -> STM32 Application".
- Jag vill kunna bränna in en bootloader via ST-Link (Det ska ju bara ske en gång) (Om det redan finns en bootloader så behöver jag inte denna punkt)
- Jag vill ha kommunikation från/till USART1 till en raspberry Pi där jag kan skicka kommandon.

Jag förstår nu att man kan programmera en STM32 via Raspberry's UART.
Rick81 skrev: 25 oktober 2020, 12:48:23 DAC utgångarna skyddar du enkelt med dioder ( men tänk på att du får ett spänningsfall som du får kompensera i mjukvara)

Gjorde en snabb googling på 4-20 mA uingångar, verkar som vanliaste är använda OPförstärkare för omvandla ström till spänning. Har du kollat det?
Okej. Tackar! Jag får lägga dit en diod då! Typ så här. Använder transientskydd också. Man vet aldrig. En diod har alltid en läkström.
Markering_006.png
Jag tänker inte omvandla ström till spänning i detta fall :)
Men jag känner till att man kan omvandla spänning till ström via OP förstärkare.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Mr Andersson
Inlägg: 1397
Blev medlem: 29 januari 2011, 21:06:30
Ort: Lapplandet

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av Mr Andersson »

Bootloadern ligger i ROM och går inte att ersätta.
För att lägga in din egen applikationskod kan du använda (från databladet)
USART1 (PA9/PA10), USART2 (PD5/PD6)* or USB (PA11/PA12)
eller JTAG/SWD.

*) verkar inte finnas på LQFP64
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av Rick81 »

ag tänker inte omvandla ström till spänning i detta fall
Det är ju precis det problem du brottas med, omvandla 4-20 mA till spänning...


Du behöver nog inte ha transient skydd på DAC utgången...

Vanligtvis lägger man in en egen bootloader, ex har jag produkter med egen bootloader som kan programladdas via UART eller 4G. På så sätt använder jag UART får programladda min bootloader och sedan UART/4G för ladda in applikation. På så sätt behöver jag inte ha extra anslutning för SWD.
DanielM
Inlägg: 2193
Blev medlem: 5 september 2019, 14:19:58

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av DanielM »

Mr Andersson skrev: 25 oktober 2020, 18:14:52 Bootloadern ligger i ROM och går inte att ersätta.
För att lägga in din egen applikationskod kan du använda (från databladet)
USART1 (PA9/PA10), USART2 (PD5/PD6)* or USB (PA11/PA12)
eller JTAG/SWD.

*) verkar inte finnas på LQFP64
Jag kommer använda ST-Link V2, dvs SWDIO och SWCLK för att programmera denna uC. Precis som man gör med Nucleo-kortet. Då finns det ju en inbyggd ST-Link V2 på kortet.
Rick81 skrev: 25 oktober 2020, 19:02:00 Det är ju precis det problem du brottas med, omvandla 4-20 mA till spänning...

Du behöver nog inte ha transient skydd på DAC utgången...

Vanligtvis lägger man in en egen bootloader, ex har jag produkter med egen bootloader som kan programladdas via UART eller 4G. På så sätt använder jag UART får programladda min bootloader och sedan UART/4G för ladda in applikation. På så sätt behöver jag inte ha extra anslutning för SWD.
Nej. Fel! Jag ska skicka ut 4-20mA från DAC:en :) Jag vill omvandla 4-20mA till 0.7-3.0V via SDADC(16-bit ADC) och ADC.

Bra tips! Jo, känner igen att det finns trådlös "USB-kommunikation" nu för tiden. Men i detta fall så är jag behöv utav alla pinnar :) Så jag ska bara programmera denna EN gång, sedan är det klart.

Så om jag får göra en sammanfattning:

- 14 PWM med MOSFET som "Relä"
- 10 ADC ADC på 12-bit singel
- 3 ADC på 16-bit differential
- 2 ADC på 16-bit singel
- 3 DAC 0-3.3V 16-bit
- 6 Digitala ingångar
- 5 Digitala utgångar
- 1 USART på USART1
- Programmeras via SWDIO och SWCLK
- Passar att anslutas med en Raspberry Pi

Skydden för ADC och SDADC har jag skyddat med 30mA PolyFuse + transientskydd. Jag vet dock inte om jag ska ha en högre utlösningsström på PolyFuse t.e.x 60 mA. Mitt 150 Ohms har jag ökat till 0.75W från 0.25W.
Skydden för digitala ingångarna är höga motstånd på 10kOhm och transientskydd.
Skydden för DAC är dioder på 35V (lågt spänningsfall) och transientskydd. Jag vet att det finns säkert bättre sätt. Men jag tror jag behåller detta transientskydd. Det handlar liksom om ören.

Jag har även gjort som många här rekommenderade. Att placera ut vias på lämpligt avstånd så att jordplattorna ovan och under får en bra anslutning med varandra. Jag har kollat med DRC och hittar inga fel.
Finns det mer att göra? Jag tar emot alla tips. :)
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av Rick81 »

Nej. Fel! Jag ska skicka ut 4-20mA från DAC:en :) Jag vill omvandla 4-20mA till 0.7-3.0V via SDADC(16-bit ADC) och ADC.
Jag menade på ingångsstegen.

Men hur löser du återkoppling på 4-20 mA på utgången? Dvs så den anpassar utströmmen mot störningar osv.?
DanielM
Inlägg: 2193
Blev medlem: 5 september 2019, 14:19:58

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av DanielM »

>> Jag menade på ingångsstegen.

Ja. På ingångsstegen så har jag faktiskt löst detta igenom att dra strömmen över ett 150 Ohms motstånd. I detta all så är det 12-bit ADC och 4-20mA över 150 Ohms motstånd är teoretiskt 0.6-3.0V. För ADC:n blir det då 744-3722. Differensen blir då 2978.

Om jag har en givare mellan 0 till 400 och givaren har +-1 så har jag en nogrannhet på 400/2978 = 0.134. Så det ska nog bli helt fint med att dra 4-20mA över 150Ohms motstånd :tumupp:

>> Men hur löser du återkoppling på 4-20 mA på utgången? Dvs så den anpassar utströmmen mot störningar osv.?

Jag planerar mäta ingången's resistans och sedan använda mig utav en voltdividerar.

Vad tror du? Kan jag skicka iväg mitt kort för tillverkning nu?
Skriv svar