Ai in gebruik bij ontwerpen met hardware

Grumble

Happy Nerding
Lid sinds
21 juli 2008
Berichten
1.496
Locatie
Eibergen
Ik ben wel begonnen met Ai (Mistral Vibe) bij het bouwen van modules te gebruiken, maar daar blijkt het nog heel erg onwetend te zijn wat betreft hardware.
Ik moet zo ongeveer alles voorkauwen en de stompzinnige dingen die het uitbraakt zijn niet zelden ten hemel schreiend, zo erg dat ik af en toe gewoon aan het schelden ben op Vibe als het voor de zoveelste keer in een cirkeltje redeneert en weer bij af is met een stompzinnige opmerking...
Ik ben eerder met chatgpt bezig geweest, en dat ging ook niet écht van een leien dakje zeg maar, ,aar omdat chtgpt in Amerikaanse handen is en er zomaar de stekker eruit getrokken kan worden en/of al je data naar de VS gestuurd wordt, ben ik gaan zoeken naar een Europeese Ai die hetzelfde of beter kan zonder de bovengenoemde nadelen.
Toen kwam ik uit bij Mistral, een Franse Ai met Vibe, een agebt voor werk en programmeren. Bijkomend voordeel is dat ik een Education Plan heb, dankzij mijn weerkzaamheden bij een universiteit.
Toch viel het me op dat ook Mistral (Vibe) net zo ongeschoold lijkt als chatgpt, waar ik me ook groen en geel heb geërgerd.
Als voorbeeld éénn van m'n laatste projectjes waar ik mee bezig ben, ik heb een begin gemaakt met een Arduino sketch waarin de gebruikte pennen met hun benaming en de declaratie van in/uigang met of zonder pullup weerstanden staan.
Ik had iets slims bedacht (vond ik) door 8 pennen van een esp32 (die met 3.3volt gevoed wordt) als één port te gebruiken waarvan de richting ingang (met pullups) of uitgang kan zijn. Deze port heb ik verbonden mat de A0...A7 van een 74LS639. De uitgang van die 74LS639 gaat naar een ic (in dit geval toevallig een 8255 PPI) wat met 5 volt gevoed wordt en de richting waarin de 8 bits data moet gaan wordt bestuurd door een DIR inpput. De D0...D7 pennen van de 8255 PPI, kunnen zowel ingang als uitgang (tri-state).
Nou vond ik dat zelf wel een mooie manier van level shifting, maar Mistral Vibe (en overigens chatgpt ook) vonden dat maar niets en er ging heel wat getyp en gescheld (tja...) voordat de Ai begreep wat ik bedoelde.
Het bleef maar over externe pullup weerstanden kletsen, haalde steeds de richting die DIR varzorgde doorelkaar enz...
Afentoe werd ik wel eens wanhopig hoor, dan typte ik: lamaar, ik doe het zelf wel...
En dat kawm die doodleuk met: Succes met je project... terug :(

een paar stukjes uit de discussie:

Opzet in het kort:
Bedrading
D0–D7 van de 8255 → B-kant van de SN74AS639, A-kant → 8 ESP32 GPIO's
A0, A1, /CS, /RD, /WR van de 8255 rechtstreeks aan ESP32 GPIO's (5 pins), RESET aan een GPIO of RC-netwerk
Transceiver: /OE (G) aan /CS koppelen (of aan GND als hij altijd actief mag zijn), DIR aan je /RD-lijn — bij lezen richting ESP32, anders richting 8255
Let op: de B-uitgangen van de '639 zijn open-collector → pull-ups (2,2–4,7 kΩ) naar 5V aan de 8255-kant nodig
Levels — belangrijk
De 8255 is 5V, de ESP32 is niet 5V-tolerant. De AS639 op 5V voeden geeft A-kant highs van ~3,4–3,8V — buiten spec voor de ESP32. Veiliger: serieweerstanden (~1 kΩ) op de A-kant als noodoplossing, of vervang de '639 door een 74LVC245 op 3,3V (5V-tolerante ingangen) of TXS0108E.

ik schrijf:
NEE, FOUT
Screenshot 2026-08-30 184916.png

De A bus is open collector en de B bus is tri-state

Ai:
Je hebt gelijk — en de fout zit dieper dan alleen de tabel. Ik had de transceiver verkeerd om gedacht. Hier de rechtzetting:
De echte fout: verkeerde kant
De '639 heeft 3-state A-uitgangen en open-collector B-uitgangen. Ik hing de 8255 aan de B-kant en de ESP32 aan A — precies verkeerd om. Dan krijgt de ESP32 volle 5V 3-state-uitgangen op zijn pins (vandaar mijn gepruts met serieweerstanden).
Goed om:
8255 aan de A-kant (3-state, 5V TTL — prima voor de 8255)
ESP32 aan de B-kant (open-collector) met pull-ups naar 3,3V (2,2 kΩ)
De open-collector B-kant trekt alleen naar laag; de pull-ups naar 3V3 bepalen het high-niveau. Ingebouwde levelshifter — waarschijnlijk precies waarom die '639 gekozen is. Geen extra weerstanden of LVC245 nodig.
blablabla

Ik:
A Bus outputs are open collector
B Bus outputs are tri-state

Ai:
Au. Dan was mijn "correctie" dus wéér verkeerd om — en was de oorspronkelijke bedrading nog goed ook. Definitief, nu mét het juiste datasheet-feit:
A-uitgangen = open-collector, B-uitgangen = 3-state. Dus:
8255 aan B (3-state, 5V TTL — prima)
ESP32 aan A (open-collector) met pull-ups naar 3,3V aan de A-kant, 2,2 kΩ enz....

Gaar word ik daarvan, en dit is maaréén stukje....
Maar wat wel waar is dat áls je eenmaal door deze brei heenkomt er wel een mooi stukje software voor je ligt.
Bijvoorbeeld:
 
Back
Top