welke stm32

De 1N400x is ook al bijna obsolete:

Arco - "Simplicity is a prerequisite for reliability" - hard en software ontwikkeling: www.arcovox.com

Waarom denk je dat die dioden overschotten zijn?

Omdat ze waarschijnlijk massaal werden aangekocht. Duur waren ze niet, ook toen al niet, zelfs in degelijke kwaliteit. En ze werden vermoedelijk toegepast in (nagenoeg) alle producten, dus als ze toch eens op waren dan viel zowat de hele productie stil. Dat vermijdt men liever, als aankoopdienst. Doet u me nog maar 10000 stuks aub.

hoe beter de vraag geschreven, zoveel te meer kans op goed antwoord

Op 19 juli 2020 14:48:34 schreef buckfast_beekeeper:
[...]

In die redenering worden er dus massaal TH componenten vervaardigd, uitsluitend voor de hobby gebruiker.

kun je een referentie geven voor die "massaal vervaardigde TH componenten"? Nieuwe componenten worden nagenoeg uitsluitend in SMD packages gemaakt (helaas steeds meer in BGA, QFN, etc.), en ook van oudere componenten, vooral het kleine gruis, zijn de oplages in SMD vele maken groter. Zelfs de grotere SMD packages zoals 1206 en 0805 zijn al steeds moeilijker verkrijgbaar, het meest gangbare is 0402, voor weerstanden en condensators.

De enige plaats waar je nog TH tegenkomt is bij grote halfgeleiders en elco's, en ook daar is de trend duidelijk. Maak eens een vergelijking tussen een moderne TO-220 MOSFET een en TO-263 met dezelfde werkspanning en ongeveer dezelfde prijs.

@TS: Wat zoek je verder nog in een microcontroller? Zoals gezegd hoeft het aan I/O pinnen vaak geen direct probleem te zijn. Als je in de toekomst Ethernet zou willen, zit je min of meer aan de STM32F4 vast; de F0, F1, en F3 hebben die mogelijkheid niet. Je zou ook naar de F7 kunnen kijken, maar ik zou je sterk aanraden ver van de H7 vandaan te blijven; de support daarvan is nog heel slecht, en ik heb er, samen met een paar andere zeer ervaren programmeurs, grote problemen mee gehad.

Hier is de selectietool van ST: https://www.st.com/en/microcontrollers-microprocessors/stm32-mainstrea…

[Bericht gewijzigd door SparkyGSX op 19 juli 2020 16:52:59 (26%)]

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken

TH elco's worden nog gebruikt omdat (vooral grotere) beter vastzitten. Bij stoten of vallen van apparatuur komen smd elco's makkelijker los...
En bij mosfets is TH vaak makkelijker als er reparaties in het veld uitgevoerd moeten worden...

Arco - "Simplicity is a prerequisite for reliability" - hard en software ontwikkeling: www.arcovox.com
buckfast_beekeeper

Golden Member

Op 19 juli 2020 15:03:18 schreef EricP:
Waarom denk je dat die dioden overschotten zijn? [...]

Waren allemaal stukjes van 10 tot zowat 100 stuks. Bij de start van een nieuwe run lieten ze die restjes echt niet zitten. 1k, 10k, 100k, 2k2, .... allemaal metaalfilm en 2% kwam zo in stukjes tot bij me.

Op 19 juli 2020 16:41:48 schreef SparkyGSX:
[...]kun je een referentie geven voor die "massaal vervaardigde TH componenten"?

Wees eerlijk bekijk de TH stock bij Mouser of Farnell. Denk je echt dat Mouser 40 000 weerstanden 1k in stock heeft en er 50 000 bij besteld voor hobby gebruik?

Dat bedrijven vooral kiezen voor smd is de race naar kleiner en kleiner. Des te meer custom made er komt, des te moeilijker gaat het worden. Mijn tijd zal het nog wel uit doen vermoed ik.

In 1985 werd in Elektuur het eerste smd hobby project beschreven. Er werd deze tekst gepubliceerd

SMD's zijn in opmars, daar is geen houden meer aan. Langzaam maar zeker zullen de huidige, handzame elektronica-onderdelen van de markt verdwijnen. De elektronica-hobbyist zal daar terdege rekening mee moeten houden en met dit ontwerpje kunt u al vast wat praktische ervaring opdoen. We hopen dat u dit bouwprojektje tot een goed einde brengt. En hebt u nog sug-gesties om de montage van SMD's voor de hobbyist te vergemakkelijken, laat het ons dan even per briefje weten. Veel succes!

Ondertussen zijn we 35 jaar verder en zijn de TH nog niet definitief verdrongen.

Op 19 juli 2020 15:16:51 schreef Arco:
De 1N400x is ook al bijna obsolete:

Een document van september 2004, toch weer 6 jaar, en wat zie ik bij Mouser nog volop verkrijgbaar en niks obsolete >70 000 stuks voorradig van ON >82 000 van Taiwan Semiconductor, van Diode nog 15 000 stuks en een levertijd van 17 weken. Ze staan er zelfs nog als nieuw product van Taiwan Semiconductor. De 1N400X is dus zeker nog niet dood.

Van Lambiek wordt goede geuze gemaakt.
trix

Golden Member

Op 19 juli 2020 00:12:31 schreef Arco:
Heb je echt 6 displays nodig? (Is 1 groter display niet veel handiger?)

tuurlijk niet, mijn fout ik bedoelde:
6x t.b.v. display
(is nu gecorigeerd, ook al door henri62)

eigenwijs = ook wijs

@buckfast_beekeeper: 50.000 stuks van zo'n passief component is niets in de wereld van de elektronica. Kijk eens naar microcontrollers: voor de TS, die een STM32 wil, zijn er exact 0 opties in through-hole. Afgezien van een handjevol PICs zijn alle 32-bitters die ik kan vinden SMD packages.

Leuk dat je nog wat TH weerstanden, diodes, en condensators kunt krijgen; ik heb nooit gezegd dat er niets meer geproduceerd werd, alleen dat er nauwelijks nog nieuwe ontwerpen in TH worden gemaakt. Voel je vrij om dit te ontkrachten door een bedrijf te noemen waar dit nog wel op grote schaal gebeurd.

Waarom zouden componenten meer custom worden? Dat is juist heel erg contra-productief, als je goedkoop wilt produceren, tenzij je het over echt hele grote aantallen hebt (miljoenen exemplaren).

[Bericht gewijzigd door SparkyGSX op 19 juli 2020 19:22:01 (26%)]

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken

Op 18 juli 2020 22:54:23 schreef SparkyGSX:
De "jonge generatie" snapt wel hoe moderne controllers werken ;)

Je noemt mij jong? Ik voel me vereerd. :-)

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
trix

Golden Member

nu ben ik bij reichelt aan het zoeken naar een geschikt nucleo bord met een STM32F4 erop(daar bestel ik vaker). en ik vind er 4 stuks:
nucleo F401RE
nucleo F411RE
nucleo F446RE

alleen hebben deze alleen maar: USB SPI en I2C. geen UART dus.
nou maak ik in mijn project gebruik van een RS485 verbinding die met een UART word gestuurd (via een MAX485).

vraag:
gaat RS485 altijd met een UART of kan je dat b.v. ook doen met SPI ?

eigenwijs = ook wijs

Iedere controller heeft wel een uart. Die F411 heeft er drie...

Arco - "Simplicity is a prerequisite for reliability" - hard en software ontwikkeling: www.arcovox.com

Die hebben ze echt wel, maar wij kunnen jouw vergelijking bij Reichelt niet zien.

Soms zie je controllers die geen "UART" meer hebben, maar dan is die functionaliteit samengevoegd met een andere periferal. Dat is bij de F4 niet het geval.

Een SPI bus is echt iets anders, daar kun je geen geen RS485 mee doen; met een paar trucjes zou je er nog mee kunnen zenden, maar ontvangen gaat niet.

[Bericht gewijzigd door SparkyGSX op 19 juli 2020 20:32:04 (24%)]

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
Arco - "Simplicity is a prerequisite for reliability" - hard en software ontwikkeling: www.arcovox.com
trix

Golden Member

inderdaad hier wel, dan zullen ze er wel gewoon op zitten :) .

eigenwijs = ook wijs

Info is gewoon van de ST site...

Arco - "Simplicity is a prerequisite for reliability" - hard en software ontwikkeling: www.arcovox.com

Sommige controllers hebben hardware ondersteuning voor RS485. Het DE/!RE lijntje kan dan direct door de controller aangestuurd worden na het verzenden van het laatste bit van de data die uit de UART komt. Erg handig als je met high speed data aan de slag gaat want je hoeft dan de lijn niet meer zelf in software terug te zetten. Dat ga je merken als je dus ook DMA dingen gaat doen.

Open over het "geklungel met SPI": Ik bedoel dat het vooral geklungel is als je een complexer device aan moet sturen waar je eerst een register moet schrijven en dan wat later de data moet lezen. Bijvoorbeeld ADC's en dat soort spul. Vaak ook nog een status bit moet checken etc.
Voor die "lees" actie moet je dus een dummy write doen om de bitjes uit te lezen. En zorgen dat je SS lijn gedurende deze hele transfer actief blijft anders krijg je ook soms verassingen.

Voor bulk uitlezen van data zoals SRAM's is het nog goed te doen, je stuurt het adres (kiepert de eerste terug gelezen bitjes weg van deze adres-fase) en doet dan dummy writes om de data uit te lezen (met auto increment vaak).

Henri's Law 1: De wet van behoud van ellende. Law 2: Ellende komt nooit alleen.
trix

Golden Member

wat zijn eigenlijk: DMA dingen
naar mijn idee heb ik daar nog nooit van gehoord.

trouwens net een nucleo met een: STM32F411RET6 besteld.

eigenwijs = ook wijs

DMA: direct memory access.
Het is een techniek waarbij (grote) datatransfers tussen memory en i/o verlopen zonder tussenkomst van de cpu; de diverse bussen worden dan tijdelijk van de cpu overgenomen door een dma-controller.
Zelfs de goeie ouwe Apple ][ had daar al voorzieningen voor, en ik meen me te herinneren dat er (SASI!) harddiskcontrollers waren die er ook gebruik van maakten.

hoe beter de vraag geschreven, zoveel te meer kans op goed antwoord
trix

Golden Member

eigenwijs = ook wijs
Stijnos

Golden Member

goede keus!
Slecht moment ;)
Ik zie al weer 20 topics in het verschiet, haha
Zal echt wennen zijn in het begin.

https://stm32f4-discovery.net/
is wellicht interessant voor je. Die heeft best wat duidelijke recht toe rechtaan libs gemaakt.
Je kan anders best overspoelt raken door CubeMx.
Het zal je in het begin vast tegenvallen, maar als je het eenmaal doorhebt, heb je zoveel meer flash, ram en goede peripherals!

Alle moderne hoge snelheid PC interfaces maken gebruik van DMA/ SATA/USB/NETWORK/VIDEO.

Er zijn verschillende soorten DMA.

Memory/Memory, Memory/IO, IO/Memory (en nog wat andere varianten die ik maar even weglaat ter vereenvoudiging)

Dit mechanisme werkt in vele controllers ongeveer zo:

Stel je wilt 100 bytes verzenden naar een UART via DMA. Die 100 bytes staan in een array.

Het komt er op neer dat je in je DMA controller het adres van het array opgeeft (source pointer) en de lengte (of eind adres) en het register nummer van de UART TX (waar de data dus naar toe moet, de "destination").

Dan heb je ook nog iets nodig wat de DMA controller start c.q. zorgt dat de transfers blijven lopen. Dat gaat in bijna alle controllers via dezelfde pinnen als de interrupts van de UART.

Je zegt dan tegen de DMA controller: Als je een TX-EMPTY interrupt ziet schrijf dan 1 byte naar het "destination" adres en hoog je source pointer op met 1. (Het destination adres blijft constant)

Dan geef je eenmalig een trap tegen de DMA controller en die doet alles automatisch voor je.

De DMA controller zelf heeft ook weer een interrupt die zegt: "Hallo ik heb alles vezonden!" dus in dit geval krijg je nadat je 100 bytes verstuurd hebt een interrupt.

PS Je moet op de CPU zelf de TX-EMPTY interrupt dus niet aanzetten want die gebruikt dan de DMA controller.

Je ziet dat op deze manier heel veel CPU tijd gewonnen wordt en je dus veel meer dingen kunt doen in de tussentijd.

Op dezelde soort manier kun je ook data ontvangen, het SOURCE adres is dan RX-DATA register van je UART en de buffer waarin je de data wilt ontvangen is je DESTINATION. Maar nu zet je de DMA controller in een iets andere mode zodat die het DESTINATION adres ophoogt en dat de trigger van het RX-AVAILABLE interrupt lijntje af komt.

Bij een memory/memory transfer kun je (je raad het al) opgeven dat zowel het SOURCE als DESTINATION adres opgehoogd moeten worden en dat je trigger bijvoorbeeld altijd 1 is.
Op die manier kun je een supersnelle memory copy maken.
(Niet alle controllers kunnen dat).

Henri's Law 1: De wet van behoud van ellende. Law 2: Ellende komt nooit alleen.

CubeMX is echt een gedrocht, de oude periferal libraries zijn echt veel handiger is gebruik. Het idee dat je met een HAL (hardware abstraction layer) niet meer hoeft te weten hoe de onderliggende hardware werkt, en zomaar zou kunnen overstappen op een andere CPU, is een illusie, en betekend vooral dat je talloze slimmigheidjes in de hardware niet meer kunt gebruiken.

Ik zou je aanraden om de laatste versie van Atollic Truestudio downloaden, maar misschien ben ik bevooroordeeld omdat ik die al jaren gebruik.

@henri62: mooie uitleg! Je ziet dan ook gelijk dat DMA op de UART RX vooral handig is als je al weet hoeveel bytes er gaan komen; als je een protocol hebt waarbij een bericht wordt afgesloten met één of meerdere speciale karakters (EOT, CR of CRLF bijvoorbeeld) is het niet handig; je DMA controller staat dan te wachten op meer data, terwijl alles al binnen is.

[Bericht gewijzigd door SparkyGSX op 19 juli 2020 22:15:47 (26%)]

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken

Over die gekozen chip: Is zeker cool.

Bevat dus ook een DMA controller, en een DSP engine. Die laatste zou je kunnen gebruiken om edge detectie te doen op je gescande bit matrix.

Let er wel op dat de CPU zelf 3V3 is, wel zijn de meeste pinnen 5V tolerant zo te zien maar dat vind wel een beetje knoeiwerk als je daarvan gebruik wilt maken. Dus je I/O interfaces uiteindelijk gaat maken de ingangen netjes 3V3 maken.

Eerst het bordje eens leren kennen en er eventueel je LCD-tje er aan hangen en daar "Hello world" op toveren.

Nu zie ik ook dat ze op de reichelt site hebben zitten slapen met het invoeren van de peripherals (een hoop weggelaten) super slordig.

[Bericht gewijzigd door henri62 op 19 juli 2020 22:24:48 (11%)]

Henri's Law 1: De wet van behoud van ellende. Law 2: Ellende komt nooit alleen.

Op 19 juli 2020 22:10:51 schreef SparkyGSX:
@henri62: mooie uitleg! Je ziet dan ook gelijk dat DMA op de UART RX vooral handig is als je al weet hoeveel bytes er gaan komen; als je een protocol hebt waarbij een bericht wordt afgesloten met één of meerdere speciale karakters (EOT, CR of CRLF bijvoorbeeld) is het niet handig; je DMA controller staat dan te wachten op meer data, terwijl alles al binnen is.

Inderdaad dat klopt, soms zit er in een DMA controller een timeout mogelijkheid. Of je maakt deze timeout zelf. Maar dat kan alleen als je weet dat er iets komt.

Ben je een slave device dat is dat een stuk lastiger.

Henri's Law 1: De wet van behoud van ellende. Law 2: Ellende komt nooit alleen.
Stijnos

Golden Member

Op 19 juli 2020 22:10:51 schreef SparkyGSX:
CubeMX is echt een gedrocht, de oude periferal libraries zijn echt veel handiger is gebruik. Het idee dat je met een HAL (hardware abstraction layer) niet meer hoeft te weten hoe de onderliggende hardware werkt, en zomaar zou kunnen overstappen op een andere CPU, is een illusie, en betekend vooral dat je talloze slimmigheidjes in de hardware niet meer kunt gebruiken.

Ik zou je aanraden om de laatste versie van Atollic Truestudio downloaden, maar misschien ben ik bevooroordeeld omdat ik die al jaren gebruik.

@henri62: mooie uitleg! Je ziet dan ook gelijk dat DMA op de UART RX vooral handig is als je al weet hoeveel bytes er gaan komen; als je een protocol hebt waarbij een bericht wordt afgesloten met één of meerdere speciale karakters (EOT, CR of CRLF bijvoorbeeld) is het niet handig; je DMA controller staat dan te wachten op meer data, terwijl alles al binnen is.

Je bedoeld de Standard Peripheral Library?

Die heb ik in mijn laatste project ook "moeten "gebruiken. Ik dacht ruk, maar achteraf vind ik hem heel prettig werken. Lekker recht toe recht aan.
Matched goed met de registers in de datasheet. Jammer dat hij niet meer gesupport wordt en ik met deze lib de usb HID en mass storage helaas niet aan de gang kreeg op mijn STM32F412